软件系统的出现
急剧攀升的软件代码量、庞杂的总线通信导致汽车电子系统日渐复杂。
根据ADAC(全德汽车俱乐部,德国最大的交通协会)统计,德国2004年有40%的车辆故障最终归咎于软件问题或电子部件故障。为此,必须在保证电子系统整体可控的前提下研发新功能,软件工程师绝不能容忍自己迷失在亲手创建的庞大系统中。
正如汽车行业的那句老话:Divide et Impera!维基百科对应的中文词条将它翻译为“分而治之”。德语将这句拉丁语翻译为Teile und beherssche!,直译中文是拆解和掌控。

首先,如上图所示将电子系统研发拆解为软件系统、硬件系统、传感器和执行器研发四大部分,经过V模型流程研发,最终再次集成。这个V模型涵盖了从系统层面到软件层面以及集成后的功能测试和系统测试等流程,是当今汽车行业广泛应用的开发流程。因为其形状如字母V而因此得名。
下面将以下图所示的软件系统开发为例,分步骤介绍V模型。

1、分析终端客户需求、定义逻辑系统架构
这一步是根据终端客户的需求以及法规需求定义出整车软件系统的逻辑架构。其中包含各大功能块的定义,功能块接口定义和功能块之间的通信定义。这一步仅考虑满足原始需求,不会涉及任何技术层面的具体分析。
2、分析逻辑系统架构需求、定义技术层面系统架构
逻辑系统架构为定义具体的技术层面系统架构提供了基础。在这一步中开始讨论具体的技术问题,哪些功能将通过软件实现、软件块分装在哪些电子控制单元以及电控单元之间采用什么通信协议等等。软件系统初现雏形。
3、分析软件需求、定义软件架构
这里开始具体到电控单元中对于软件本身的需求分析。根据需求,定义出合适的软件架构。同时,还要考虑电控单元存储资源的最优使用、为满足安全法规的冗余系统设计等等。这里,会把软件进一步细分为更小的软件部件,定义各个部件之间的接口、分层和边界。
4、定义软件部件
针对每个软件部件会继续定义出需求。这里的需求集中在功能层面,尚不考虑具体的软件实现方式等。
5、设计、实现及测试软件部件
依据具体的需求,工程师开始分别搭建不同的软件部件。在前面一系列的拆解、分析和定义后,终于抵达了软件最核心最具体的世界——代码。与人们熟知的程序员直接写代码稍有区别,传统的汽车软件研发采用的是基于模型开发。
如下图所示,逻辑运算通过模型的方式表达出来,相比于代码更加直观,便于日后的标定工作和维护。在一个电控单元中,有上千个这样的功能函数,如下图所示的功能模型组合到一起,会形成一份上万页的文件。这份文件是接下来所有流程的基础。

当然这套模型只是工程师之间便于交流的高级语言,最终它们会被人工或计算机转为代码进入控制器中工作。
早年间,模型到代码中间的转换工作由人工完成。这造成的问题是,代码无法统一化和标准化。面对一个软件逻辑模型,程序员可以用多种方法完成代码编译工作,达到同样的功能效果。
但是,代码运行所占用的硬件资源或严谨度会大不相同。因此,近年来转码工作逐渐被机器取代。软件工程师事先定义标准的编译规范,保证最终代码统一和标准。
每一个软件部件完成后,要进行相应的软件测试。这里还不会聚焦功能层面的测试,仅仅针对软件本身。
例如软件中是否因设计不当产生死循环、每个信号定义的范围是否恰当、会不会造成溢出错误或者会不会出现除以零的运算情况等等。针对这些,工程师要事先定义测试方案,由计算机进行全方位全覆盖的软件逻辑测试。例如,对于if, else语句需要把每一种可能的情况都测试检查到。
6、集成及测试软件部件
单一软件部件研发测试完成后,将它们集成到一起就形成了每个电控单元中完整的软件包。
这套软件包在集成后依然需要测试,检查各部件之间是否兼容,是否有开放接口等等。
7、系统集成及测试
当软件包集成测试结束,它们将被刷进每一个电子控制器中。每个控制器与相应的传感器、执行器等用线束相连,最后控制器之间接通总线通信。
这样整套电子系统终于诞生。如新生儿一般,这套系统依然十分脆弱和稚嫩,还有很大的潜力等待被开发。
系统集成后的第一批测试往往是问题重重。因为系统高度复杂,各个研发部件被分工研发,即便之前有严格的测试流程,仍会有许多漏网之bug。如果分工研发的各部门之间没有在开发过程中充分交流,集成后可能会出现各类兼容性问题。
针对每一个问题,工程师们都不会忘记前面提到的拆解和掌控。拆解表象问题,找到根源,修复软件bug,掌控整套系统。

8、标定
系统测试结束后将进入软件标定阶段,这也是软件开发中的重要阶段。在软件实现阶段,工程师会在软件中预留一些可标定参数而不是固定的数值,等待标定。
这是基于成本考量,车型繁多的整车厂不可能为每款车型单独开发一套软件系统。一般的解决方案是研发平台软件,适用于多款车型。然而每款车型都有自己的特点,平台软件无法让这些特点发光,标定可以。
通过改变不同的参数数值,可以让车辆实现不同的驾驶性能,这也给了标定工程师很大的发挥空间。
9、系统测试及接受度测试
标定完成后,就进入了整套流程的最终阶段。依据流程一开始提出的需求,忽略那些具体的技术实现手段,站在整个系统的高度检验它是否达到了终端客户的需求。
到了这一步,整套软件系统已经十分成熟。在正式进入量产前会从一个时间点开始,停止所有软件和标定变更,为最终量产做准备。
整套V模型走下来可以看到,左侧和右侧的每个环节相互对应。需求为定义测试方案提供基础,而测试结果又会带动进一步的开发和完善。
图片
你或许会问,如果从V模型的左上角好不容易一路走到右上角,结果最后一步测试发现当初第一步的系统构架出了设计问题,那岂不是为时已晚?难道还要一切重新来过?的确,软件系统十分复杂,研发周期长。如果只是沿着V模型慢慢悠悠从左到右走一遍,等最后一步才发现问题,那确实一切都来不及了。
因此,在实际研发中会持续不断地集成、持续不断地测试,工程师们会把V模型从左到右重复走许多遍。

研发初期连原型车都还没有的时候,软件测试会依靠整车仿真系统在计算机中进行,发动机、变速箱、电子控制器、总线等都虚拟存在于工程师电脑中(SiL, Software in the Loop)。在仿真系统中,汽车可以如真实般开动,模拟各种工况提供给工程师测试。
随着车型研发推进,某些电子控制器研发完成,他们可以取代那些虚拟的电子控制器进入测试环境,但是其他部件仍为虚拟仿真(HiL, Hardware in the Loop)。
直到有一天,原型车研发完成,软件集成和测试进入试验台架。最终,原型车调试完毕落地,软件测试进入实车阶段。
可以说,软件开发的起始点非常早,从虚拟到现实一路走来,一直延续到最后的量产前夕。其实目的只有一个,通过不断集成和测试,尽可能发现所有问题,保证汽车的驾驶性、舒适性和安全性。

Sam GIU 焉知自动驾驶

科学家在大肠杆菌里存储了一句话:“hello world!“(怎么还是这一句……)

DNA是生物体内的主要信息存储媒介,在此之前科学家也已经尝试过将信息转换成碱基编码,存储到体外合成的DNA分子当中。而这一次,科学家则把信息存进了活的大肠杆菌。他们给每一个英文字母指定了对应的二进制编码,并将其对应成特定的DNA序列;然后通过CRISPR基因编辑系统,将一段DNA打进大肠杆菌中。在微弱的电刺激下,这些DNA会有不同的表达,通过对应关系就能判断出其中存储的信息。

通过这种方法,科学家在大肠杆菌里编码了一句12字符的信息:“hello world!”。研究者认为,活细菌内具有DNA保护机制,能让DNA更稳定,信息存储得更久。但也有人担心,活细菌的突变过程可能会影响编码信息。#微博公开课#

图示:把hello world变成生物学数据 | Sung Sun Yim et al.

210116#音乐剧 危险游戏# 你这么聪明还不知道啊
et座位getx倒数第四个![泪]
•赵理查第一段好多轻蔑的笑!i了i了!好像在说你在说什么p话?和你有关系吗?
•还记得在我妈仓库朋友里干的事吗[doge]
•求你了抱抱我之后,小钟的姿势和眼神!还有解领带!他在用眼神doi!他一定在脑子里想怎么上了这个男人!
•火焰的诱惑小钟索吻后!zwg!你tm吐什么舌头!人麻了[跪了]
•原来理查睡了以后,内森会有个想要趁机吃豆腐摸头的动作[跪了]是你们新加的还是我第一次发现[跪了]
•N:你信不信我现在就把它撕了 刚听完zwg不相信的笑有点好听(?)然后发现真要撕又紧张又无奈起身制止[跪了]
•“你难道不想成就一件大事吗?”的时候,zwg!你的手!摸胸摸的爽吗!你个色狼!
•钟内森:趁吃豆腐的时候悄悄帮我的理查德理一下领子谁都不会发现的[doge]
•“遇到你这样的废物我真tm倒霉”zwg这个男人,嘴里说着最狠的话,手上却在摸摸手臂安抚![跪了]
•从监狱开始哭,眼泪都蓄在眼眶,在最后 有一生的时间 走到最上面台阶的时候,两滴终于掉下,我甚至透过这两滴泪看到理查德终于解放了[泪]
赵钟nbcs牛逼卡司!
(我还剩最后一篇!我就还完债了![跪了] https://t.cn/EJfJmXM


发布     👍 0 举报 写留言 🖊   
✋热门推荐
  • [鲜花] ■要恆時精進,用盡方式去觀察煩惱的過患「懂得了知煩惱的過患」這件事情,一定要靠自己的親身體會,才會對煩惱有深刻的印象、才能真正地了知到煩惱有多不好
  • 这么久以来 到处都有人来问我微博是啥我的回答是我没有微博我不把微博公开的原因很简单疲惫的社交已经很多了我还不能有个地方自己想说什么就说什么想发照片发照片 360
  • 7功德见到、意想到、闻到、尝食到、影子照射到或触及到,如芝麻般大小极少量之殊胜甘露法药,刹那间本来需堕入三恶道之众生皆能转升三善道,更因得到以上见、想、闻、尝、
  • 心理咨询是一种对话,一种反思,一次心与心的敞开,一段灵与灵的郑重守护,最后付诸情感的流动和滋养。咨询心语:心理咨询是一种对话,一种反思,一次心与心的敞开,一段灵
  • #RoyShiki°# 仿佛你在哪里,光就在哪里❤️¹⁰⁰%无期限爱你物归原主,我归你能梦见你是我的过人之处遇见即是上上签ﻌﻌﻌ❤星河滚烫 你是人间理想•˶ɞ˶
  • 今天休息难得早醒 实在睡不着了就用yzh的手机看知乎 看到一篇文章写得好好 结果后面需要开会员 气的把他踢醒了 中午妈妈过来和我们一起做了粉蒸肉 下午yzh去上
  • #汪浚熙[超话]#❤️#汪浚熙 十四赴梦行并肩望流星# #汪浚熙0911生日快乐# 望入月光散出的光,恍惚梦醒才想起那时般的你应该也拼着一股不服输的劲向前吧
  • 这他妈太离谱了,我有很多理由可以证明他原本不可能走,但是当事实摆在眼前的时候,又在我意料之中。我的汇报图又又又被夸了[送花花][送花花])说个不认真的巧合我记得
  • 4、史萱解其实无需在意一个CP有多少同人呢,再过几年可能很多的你曾经看过的同人,再想重温都很难找到了。#sky光遇[超话]#失眠了,那就浅记录一下生活吧16号晚
  • 橋本選手、このミスに感謝しますね(如果着陆没有失误,就应该拿银牌。    天人合一和平颂,辽宁雄姿展翅宏      2021年 7月20日,“天人合一和平颂丝绸
  • #希壤[超话]##阳光信用[超话]#[鲜花] #阳光信用#[鲜花] #每日一善# [鲜花]平淡是天空的一片云,自然地飘着,轻松无牵绊;平淡是大海深处的一块礁石,
  • 你的孩子会受到牵连,人之所以为人是因为有思想有道德,如果你没有,那么只能等待法律的制裁了。而他之所以嚣张跋扈,横行霸道,作威作福,都是因为背后有人撑腰,有人帮他
  • 有人因为贴纸就觉得他们是cp在这破防?我还能嗑?
  • 我是土狗我只看这种纠缠不清强行分开会把灵魂都生生撕走一块的爱情说真的 开店是我的目标吗 我很清楚的知道不是想起自己这一路走来 似乎性格上永远不会让自己平淡下来
  • #海贼王[超话]#海贼王漫画情报中文文字情报1057话来了 第1057话:“终幕” 扉页:“凯撒的毒气攻击!” 第2页 老师:这是个黑暗天幕下的故事♪ 鬼岛上空
  • 生活方面精致又有品味,能够按照自己追求的方式过着舒适的日子。生活方面精致又有品味,能够按照自己追求的方式过着舒适的日子。
  • 复杂的世界,难测的人心,无论到了什么年纪,看清人,认准路,别拿真心喂了狼!你若善良的没有锋芒,有些人就会坏的肆无忌惮。
  • 南无莲池海会佛菩萨(三称) 《佛说阿弥陀经》 姚秦三藏法师鸠摩罗什译   如是我闻。一时佛在舍卫国,祇树给孤独园。与大比丘僧,千二百五十人俱,皆是大阿罗汉,众
  • 明起副热带高压又会来个“回马枪”高温再次上线,最高气温仍可达40度左右。明起副热带高压又会来个“回马枪”高温再次上线,最高气温仍可达40度左右。
  • 在这种麻痹中浑浑噩噩 直到我有勇气面对生活的那一刻 我做出选择 离开不适的环境 为梦想努力 努力够着自己喜欢的工作 站在讲台 努力让自己好起来 然后在一个很恰