汽车基础软件漫谈——第三回:汽车基础软件的起源与演进

发布于 2022-04-20 16:14:58

欲知大道,必先为史。本节重点谈谈汽车基础软件的起源与演进。

进化.jpg

汽车基础软件不是随着汽车电子控制器一起诞生的,而是伴随着控制器功能日益复杂而逐渐形成的。早期的汽车电子控制器由于功能较少,软件比较简单,并没有基础软件的说法。随着控制器中软件功能的日益增多,软件架构设计的重要性日益凸显,如何提高软件的复用率,避免重复开发,提高开发效率受到越来越多的关注。

首先,国际领先的汽车电子控制器研发组织是汽车基础软件的创造者(这其中不仅有Tier1,还有OEM,因为纵观全球汽车零部件格局,汽车零部件公司大致分两种:一种是创立之初就是独立零部件厂商;另一种则是诞生于汽车整车厂体系下。前者比如博世、麦格纳,后者比如电装、德尔福)。

上世纪八九十年代,在领先的电子控制器研发组织内,控制器中的软件逐渐被细分为若干相对独立的模块,从最顶层看,整个系统的软件逐渐被分为与产品功能直接相关的应用软件和不直接相关的基础软件两大部分,从而使得研发组织内部的各个产品之间和同一产品的不同代系之间的软件复用率大幅提升,减少重复开发。

举个例子,下图展示了Bosch在2010年左右设计的同时兼容传统发动机控制和新能源汽车电机控制的软件架构。其中上半部分为应用软件ASW,而下半部分可以理解为基础软件,其中包括HDS(硬件相关软件)、Dia(诊断软件)、ComSys(通信软件)、DE(传感器与执行器等设备封装软件)、CDrv(复杂驱动)五个部分。这一结构已经很接近我们今天所看到的AUTOSAR分层架构了,而这一软件架构其实早在2005年左右在Bosch内部就已非常成熟,并广泛地应用于发动机、变速箱等控制器。
5928325ff66e704551f548fa7052043f.png
来源:《Experiences from a Large Scale Software Product Line Merger in the Automotive Domain》 2011, Robert Bosch GmbH

其次,欧洲整车厂是基础软件标准化的推动者。

与国内的整车厂不同,欧美的整车厂大多拥有较强的电子控制器自主开发能力。随着汽车上所集成的电子控制器数量持续增多,整车电子电气系统分布式网络控制(Networked and Distributed)的特征日益明显,整车厂们发现集成的难度越来越大。德国和法国的OEM及其供应商通过调查发现,大量的工作花费在了开发和调试操作系统、通信和网络管理以及输入输出设备驱动等软件上,以确定应用功能表现异常的原因。也就是说为了分析系统功能异常的原因,花费了大量精力在基础软件层面上。同时发现,各家控制器供应商都投入了巨大的费用用于开发和维护与应用功能无关的软件,即重复开发基础软件,且各家为应用软件提供的基础软件在接口和协议方面相互不兼容。

为此,在1995年,欧洲整车厂们牵头制定了汽车基础软件领域的首份行业标准:OSEK/VDX标准。
OSEK.png

OSEK/VDX组织的目标是开发一套标准的API,从而减少应用软件重复开发带来的工作量并提高应用软件可移植性和复用率。其结果是产生了三个相对独立的标准:操作系统、通信和网络管理。在今天看来,这些被标准化的内容是汽车基础软件的重要组成部分,但还远不够完整。以I/O技术栈为例,当时OSEK/VDX组织已意识到并没有对这部分开发对应的标准,而采用了推荐各家在公司内部自行开发自家标准的方式来处理这一问题。

从技术和商业两个方面来看,OSEK/VDX标准在一定程度上满足了整车厂最初的目标,但仍然不够。随着汽车电子的发展,这些领先的整车厂逐渐将重点聚焦在与用户使用体验直接相关的应用功能软件,以打造品牌的差异性,硬件和基础软件则交由供应商提供,产生了OEM和Tier1联合开发控制器软件的模式(我们将在下一节介绍与此相关的更多信息)。

为了使得这些自主研发的应用软件方便地集成到不同控制器供应商的产品中,打破供应商的制约,在2003年,进一步成立了AUTOSAR组织,制定了有史以来定义最全面的基础软件标准——AUTOSAR标准,最大程度地实现了应用功能软件与控制器硬件的解耦,也就是我们现在常说的“软硬件解耦”。AUTOSAR组织的目的其实和OSEK/VDX组织差别不大,只是AUTOSAR在内容方面进行了大幅扩展,在细节方面进行更具体的定义,以期更好地满足整车厂的下列愿望,如下图所示:

  • 自主开发车辆应用软件,实现差异化竞争;
  • 自主开发的应用软件可以方便地在不同供应商的控制器之间移植;
  • 自主开发的应用软件可以方便地在不同车型之间移植;
  • 自主开发的应用软件可以方便地在不同应用场景之间移植;

a6ad4926dc351c50c15ba09ccfeac837.png

需要特别指出的是,以上这些愿望都是整车厂的愿望,而不是供应商的。 因此在早期,Bosch、Conti等零部件巨头对AUTOSAR并没有热情,甚至是抗拒。这使得AUTOSAR标准早期的推广并不顺利,直到发展到R4.0版本才相对较为成熟,这也是当前业内普遍采用的版本。以Bosch为例,其产品从2015年左右才开始大规模采用AUTOSAR标准开发基础软件。同时,直到近几年,在宝马等车厂的一些项目中,Bosch的产品仍然因为对AUTOSAR的支持能力不足而没有获得项目定点。

最后,开源——基础软件标准化的新尝试。

AUTOSAR标准虽然已经定义的非常细,但毕竟仍然只是个标准,而不是具体的实例。其所倡导的“在标准上合作,在实现上竞争”的理念,在实际落地过程中也出现了各种各样的问题,导致各家基于同一个标准开发的AUTOSAR产品彼此之间并不兼容,更没有体现出各家竞争所依赖的产品亮点,使得整车厂们的愿望被大打折扣。Bosch对此深有感触,并在2013年牵头发起了一个类开源项目:COMASSO,以期联合各方共同开发一套符合AUTOSAR标准的基础软件及其工具。其背后的动机可参考如下来自其官网的描述:

After 10 years of AUTOSAR development we observe the existence of various implementations without competition relevant differentiation, causing integration effort in case of SW exchange and reuse. We want to reduce this higher integration effort in case of SW exchange and reuse by supporting a common implementation of the AUTOSAR standard. This provides the members a higher degree of freedom to concentrate on innovation.
COMASSOlogo.png

从2013年Bosch和ETAS共同成立COMASSO开始,这个项目已运行近十年,虽已有20多家组织加入,但相对于AUTOSAR超过300家会员的规模,不能说成功,最多算是不温不火,知名度较低,影响力有限。原因可能是受制于其开源模式不够彻底。但这未尝不是一种新的尝试,或许在未来的某个恰当时机,将犹如Linux一样被普遍采用。

综上所述,汽车基础软件的诞生是汽车软件日益复杂的必然结果,符合软件发展的客观规律,是各个研发组织自我进化的自然结果。而汽车基础软件的标准化则体现了汽车行业的特点,是由整车厂牵头推动才形成的,体现了整车厂的意志,对于供应商而言,由于自己的一部分业务被整车厂收回了,因而其实是弊大于利。

展望未来,汽车基础软件的标准化是继续走下去,还是出现类似手机行业Android和苹果iOS等不同阵营的操作系统实例,以及是否会出现安全可靠的开源解决方案,让我们拭目以待。

0 条评论

发布
问题