路途网

当前位置: 首页 > 点评

观焦点:一部汽车数亿行代码!软件是如何吞噬汽车的?

美国克莱门森大学国际汽车研究中心汽车工程系主任Zoran Filipi表示:“没有其他行业像汽车业一样经历着如此迅速的技术变革。这种发展的推动力来自即将到来的需求、越来越严格的二氧化碳排放标准,同时还伴随着以前所未有的速度发展的自动化与信息娱乐,而且还需要满足客户对性能、舒适性以及实用性的期望。”

面向汽车业,未来几年将发生更大的变化。为了减缓全球气候变化,越来越多的汽车制造商都承诺逐步淘汰内燃机动力汽车,并最终由能够自动驾驶的电动汽车取而代之。

过去十年间,内燃机动力汽车取得了快速发展,但它的结局早已在冥冥之中注定。


(资料图片)

慕尼黑技术大学信息学名誉教授、汽车软件专家Manfred Broy指出:“过去软件是汽车的一部分,而如今软件决定了汽车的价值。车辆的成功对于软件的依赖超出了对机械的依赖。”他表示,如今几乎所有汽车制造商或业内人士所谈论的车辆创新都与软件有关。

十年前,只有高端汽车才包含100多个基于微处理器的电子控制单元(Electronic Control Unit,ECU),这些ECU在车身内形成了网络,执行着1亿多行甚至更多的代码。而如今,像宝马7系这样拥有先进驾驶辅助系统等技术的高端汽车可能包含150个或更多的ECU,像福特F-150此类的皮卡甚至达到了1.5亿行代码。即使是低端汽车也包含大约100个ECU以及1亿行代码,因为以前所谓的豪华选项功能(如自适应巡航控制、自动紧急制动等),如今已成为标准配置(见图2)。

根据全球领先的专业服务机构德勤公司估算,截至2017年,一辆新车成本的40%可归于基于半导体的电子系统,与2007年相比该成本翻了一番。据估计,到2030年,该数字将接近50%。德勤公司还进一步推测,如今每一辆新车都装有价值约600美元的半导体,由多达3千多个类型的芯片组成(见图3)。

Vard Antinyan是沃尔沃汽车的软件质量专家,他撰写了大量有关软件及系统复杂性的文章,他解释说,截至2020年,“沃尔沃拥有大约120种ECU,我们从中选择ECU来创建每辆沃尔沃汽车中的系统架构。这些ECU总共包含1亿行源代码。”Antinyan表示:“这些源代码包含1000万行条件语句以及300万个函数,而源代码中大约有3000万处都调用了这些函数。”

根据ECU的计算能力、ECU控制功能、需要处理的内部与外部信息和通信,以及是否由事件或时间触发,还有强制性的安全和其他监管要求,每个ECU中驻留的软件数量和类型都不相同。在过去的十年中,为了确保操作质量、可靠性和安全性,投入的ECU软件越来越多。

采埃孚(全球最大的汽车零部件供应商之一,以下简称ZF)软件解决方案与全球软件中心副总裁Nico Hartmann表示:“为检测不当行为以确保质量和行驶安全的软件数量正在增加。”Hartmann指出,十年前专门用于确保操作质量的ECU软件只有大约三分之一,而如今通常都会超过一半或更多,尤其是在关键的行驶安全系统中。

沃尔沃车辆中包含哪些ECU和相关软件(如豪华款SUV XC90拥有大约110个ECU),取决于几个因素。与所有汽车制造商一样,沃尔沃针对不同的细分市场提供每种车型的不同版本。Antinyan指出:“即便是相同型号的沃尔沃,在瑞典购买到的车辆也可能会不同于美国地区出售的。”每辆车不仅需要满足区域监管制度,而且每个车主也可以选择不同的发动机、驾驶系统、安全系统或其他功能。而车主选择的标准、各项配置以及法律要求的设备,这些将共同决定嵌入车辆的ECU、软件和相关电子设备的数量和类型,确保能够无缝协同工作。

有些汽车制造商拥有数十万种车型的构建组合。他说,为了针对某些车型中可能出现的各种电子设备组合进行现场测试,“可能需要使用十亿种不同的测试配置。”然而Whydell表示,在车辆研发过程中,原始设备制造商可以使用“面包板”对多个ECU构建组合进行实验室测试,无须针对每种情况单独造一辆车。

即使是经过严密测试的流行模型,售后也会定期发现错误,并发布软件补丁。有些补丁本身还需要补丁,通用汽车就曾出现过这种情况:畅销款2019年雪佛兰的Silverado以及GMC Sierra轻型卡车和凯迪拉克CT6的召回,都是因为这个原因。

Whydell指出,还有一个因素导致变体管理更具挑战性:“几乎所有ECU设计和软件都外包给供应商,原始设备制造商负责集成ECU”,他们可以根据所需的可定制功能创建统一的系统。Whydell表示,个别供应商往往对原始设备制造商如何集成ECU没有深入了解。同样,原始设备制造商对驻留在ECU中软件的了解也有限,这些软件通常都被当作“黑匣子”,能够支持信息娱乐、车身一致性控制、远程信息处理、动力传动系统或自动驾驶辅助系统等多种功能之一。

2020年,时任大众汽车集团首席执行官、现任董事长的Herbert Diess发表的评论说明,由汽车制造商开发的软件几乎寥寥无几。当时他承认:“几乎没有一行软件代码来自我们。”根据大众汽车可以看出,车辆内的软件之中只有10%由内部开发,其余90%是由数十家供应商提供。据报道,在有些原始设备制造商中,这一数字可以达到50%之多。

如此多的软件供应商,每一家都有自己的开发方法,他们使用了自己的操作系统和语言,这显然又增加了另一层复杂性,尤其是在执行验证和核查方面。最近Strategy Analytics和Aurora Labs对整个汽车供应链中软件开发人员进行的一项调查就突出了这一点。其中有一个问题询问了评测一个ECU中的代码变化对另一个ECU的影响难度,大约37%的人表示很难,31%表示非常困难。

汽车公司及其供应商意识到,他们必须展开更多合作,才能更严格地控制数据配置管理,并防止由于ECU代码突然变更而引发意外后果。但双方都承认还有很长的路要走。

然而,十年前,“车辆软件的设计需要保证行驶安全,而信息安全是次要的。”车辆网络安全专家、美国运输部克莱门森大学互联多式联运中心主任Mashrur Chowdhury说道。我们需要注意这一点,因为大部分软件都是十年或更早以前设计的,在当时信息安全并不是需要优先考虑的大环境下,这些软件仍在现如今的ECU中使用。

此外,在过去十年中,车辆内外的通信呈爆炸式增长。据估计,2008年,豪华汽车的ECU之间数据信号交换只有2500个。沃尔沃的Antinyan表示,如今沃尔沃汽车中的120个ECU连接了7000多个外部信号,而汽车内部交换的信号数量要高出两个数量级。咨询公司麦肯锡估计,这些信息每小时的数据量可轻松超过25GB。

此外,原始设备制造商还需要通过软件更新管理系统,确保安全地管理无线软件更新。他们鼓励汽车制造商“维护每台车辆的ECU、每辆组装车辆中使用的操作软件组件的数据库,以及整个车辆生命周期内应用的版本更新历史日志。”这份软件清单可以帮助汽车制造商快速确定哪些ECU和特定车辆会受到某个网络漏洞的影响。

根据金融咨询公司Stout Risius Ross编制的《2020年汽车缺陷和召回报告》显示,2019年是创纪录的一年,因电子元件缺陷而被召回的车辆高达1500万辆。其中一半的召回都涉及软件的缺陷,这个比例创下了自2009年以来的新高。另外,近30%的缺陷与软件集成有关,也就是软件与车辆中其他电子组件或系统的接口引发了故障。三菱汽车曾经召回了60000辆SUV,原因是其液压单元ECU中的软件错误干扰了多个安全系统。

最后,超过50%的缺陷都有一个特征:虽然不是由软件缺陷引起的故障,但仍然可以通过软件更新进行补救。福特汽车曾召回了Fusion和Escape车辆的某些型号,原因是冷却液可能会进入发动机气缸孔,并永久损坏发动机。福特的解决方法是,重新编写车辆的动力传动系统控制软件,以减少冷却液进入发动机气缸的可能性。Stout的数据显示,在过去五年中,利用软件修复车辆硬件问题的现象在稳步上升。

此外,其他新的车辆安全系统的运行也并非完全顺利。美国汽车协会(American Automobile Association,AAA)针对可以帮助驾驶员转方向或制动/加速的先进驾驶辅助系统进行的一项研究表明,这些系统往往会在没有任何通知的情况下停止辅助,即刻将控制权交还给驾驶员。测试表明,平均每13公里就会出现某种类型的问题,包括很难让车辆保持在车道中正常行驶,或者不要让车辆太靠近其他车辆或护栏。

由于传感器的微小错误校准也会大大降低这些安全功能的有效性,“因此,供应商开发了自动校准系统,可以消除或简化手动操作,”ZF的Whydell说道。这有助于提高校准精度,同时还可以降低维修成本。

随着电子产品维修成本的攀升,保险公司判定报废的成本可能更低。理赔管理公司Mitchell International最近的一份报告称:受汽车电子设备维修成本的影响,报废车辆的平均车龄一直在下降。报告指出,随着“车辆复杂性的增加”,预计这一趋势将持续下去。

令汽车制造商的处境雪上加霜的是,为了开发电动汽车,他们必须跨越软件的鸿沟。ZF的Whydell观察到,在车辆中,使用当今最新架构的软件管理难度非常大。对此,不少人也非常赞同这种看法。

毕竟,历史是血与泪的教训。

来源:CSDN

会员权益:(点击可进入)谈思实验室VIP会员

关键词:
x 广告
x 广告