软件定义汽车这个概念已经提出来两三年了,对于汽车,尤其是电动车来说,从来没有一个时代对软件如此的重视。过去的2021年,汽车行业处于大变革之中,电动汽车继续高歌猛进,市场占有率突破10%,比亚迪和新势力交付创新高。与此同时,消费者在购买电动车的时候越来越看重智能化,而在智能化中,软件扮演的作用越来越大。
自从上世纪90年代开始,汽车上开始有了软件驱动,到现在软件开始重新定义汽车,软件的形态已经发生了诸多变化,未来将如何发展,下面我们来探讨一下。
电气架构向“中央集成式”进阶
在汽车上,总是先有电气架构,才有软件,电气架构是根基,而软件则是根基上的枝叶。
简单来说,电气架构对于一辆车来说,就是整个汽车所有控制器、传感器、线束的总布置方案,电气架构能实现整车功能、运算、资源的协调统一。
以前我们不怎么提到电子电气架构这个概念,是因为整个汽车可能也就几个控制器,用不上架构来对他进行协调管理。而且大部分的部件都是机械控制,众多机械部件不需要控制器和软件来驱动,更不需要所谓架构设计,大家各干各的就能让车跑起来。
而当汽车智能化,电动化来到之后,控制器变多了:不仅仅是燃油车上控制器多了起来,电动车上的控制器更多:发动机、变速箱、ESP/ABS、车窗、安全气囊、空调压缩机等都需要控制器,现在传统燃油车上大概有几十个控制器,比如宝马7系大概有40多个;而像蔚来这样的智能电动车上,则会有上百个大大小小的控制器。
那么在这种情况下,原有的电气架构已经不能满足要求,现在需要更合理,更科学的电子电气架构。
谈到电子电气架构的时候,就必须要说到这张图:
这是博世对电子电气架构的升级过程预测,基本上整个行业也都在按照这个架构演化。博世认为电子电气架构将从分布式ECU向域控制过渡,最终往中央集中架构方向发展。
分布式架构是老平台乘用车,以及现在大部分商用车使用的架构,一个控制器对应控制一个部件,大家各管各的,相互之间的信号交互非常有限。这种架构的不方便之处就是一旦控制器多了,控制器之间的信号交互处理就很麻烦,会导致整车线束变长,也给软件的开发带来很多难度。
比如一个班级里如果没有组长,仅仅有班长一个人,他要跟所有学生交流信息和收发作业,那对于班长来说,他的工作量就很大了,他需要面对班里几十个学生,沟通费时费力。
此时域控制器概念出现了。域集中式把整车分为几个域,这种架构在目前所有电动车(特斯拉除外),部分燃油乘用车上使用,是当下比较主流的电子电器架构。域集中式架构把整车分为5-7个域(动力域、底盘域、车身域、信息娱乐域和ADAS域),但是也有部分厂商(华为和大众方案)将整个汽车分为三个域(功能类似的合并为一个域),最高决策层还是域控制器。
每个域都管理自己的一亩三分地,各个域上由一个域控制器统一管理,各个域控制器通过以太网或者高速CAN进行连接,而每个域的内部,各个控制器通过低速CAN进行连接。
比如混合动力汽车,动力域上就有发动机,变速箱,电机,以及电池管理系统等部件,这些部件除了自己会有一个控制器(ECU)控制,还会有一个域控制器(VCU)对他们统一进行协调管理。
这就是一个班开始有了小组长(域控制器)作为各个组的接头人,组长负责组员之间的信息传递和收发作业。
但是在域集中式电子电器架构里,是没有班长这个概念的,只有小组长(域控制器)这一层级,而且整个架构是按照功能为划分的,比如动力相关的都放在动力域,智能驾驶相关的都放在ADAS域里。
而中央集成式电子架构就有了班长这个概念,而且域的划分也不再以功能为划分,而是以车辆物理界限为划分,比如特斯拉Model3就有三个区域控制器和一个中央计算平台(CCM):左车身控制器,右车身控制器,前车身控制器,中央控制器CCM,其中CCM是最高决策控制器,负责管理各个核心的控制器。
『特斯拉电子电气架构』
目前的行业内,只有特斯拉采用这种中央集成式电气架构。采用这种电气架构有很多好处,能够显著减少成本,从各个域控制器变成了单独几个区域控制器。比如Model 3相比上一代平台,线束长度从3公里下降到了1.5公里,零部件数量从3万个下降到了1万个。这也是Model 3价格便宜,利润率高的一个原因。
中央机构毫无疑问将是未来智能汽车的下一代产品,宝马下一代电气架构也将采用中央集成式电气架构,丰田也将采用类似特斯拉的中央集成式方案。除此之外,国内企业如华为、智己汽车等也都在发力新架构。
◆多种操作系统将同时共存
在汽车智能化之前,操作系统一直是基于AUTOSAR架构下的RTOS实时性操作系统,这种操作系统最大的特点就是高实时性。实时性意味着高确定性,意思是驾驶员踩下油门希望获得加速度时,软件就一定会在规定的时间内,输出相应的扭矩。从广义的角度来看,实时意味着系统的时序行为是确定的,核心在于“确定”,在确定时间完成任务,注意不是任务完成的速度。
跟实时操作系统对应的是分时操作系统,如最常见的Linux系统。分时的意思是一心可以二用,可以同时为几个应用服务,比如你的手机可以一边听歌一边看网页,而RTOS做不到这点。
在去年特斯拉刹车门事件后,曾经有传言说特斯拉是因为采用了非实时的Linux操作系统,才会导致很多非预期加速事件,对此笔者认为这传言可能是对汽车操作系统不太了解。在智能化汽车背景下,行业内确实有实时性和非实时操作系统之争,这两种操作系统各有各的好,他们的关系并不是对立的,将来会以一种合作共存的方式存在于汽车控制器内。
在阐述我的观点前先来了解下这两种操作系统的优缺点:
市场上广泛运用的实时性操作系统是黑莓的QNX操作系统,这是一款嵌入式、非开源、安全实时的系统。QNX是微内核架构,内核一般只有几十KB,驱动程序、协议栈、应用程序等都在微内核之外的受内存保护的空间内运行,可实现组件之间相互独立,避免因程序指针错误造成内核故障。因其内核小巧,运行速度极快,安全和稳定性高,是全球首款通过ISO26262 ASIL-D 安全认证的实时操作系统。
QNX的主要特点便是安全和稳定,因此对于电机扭矩控制,或者发动机扭矩控制这种对实时性要求较高,容不得任何运算延迟的控制器,肯定要采用QNX这种实时操作系统。
但是QNX结构复杂,开发难度大,非开源,能支持的应用生态很少,而且还需要满足一系列的车规级认证,因此对于智能座舱、车身控制器、智能驾驶域这种比较个性化的需求,就很难满足了。
目前市场上非实时的操作系统比较常见的是Linux系统。Linux 是一款开源、功能更强大的操作系统,具有内核紧凑高效等特点,可以充分发挥硬件的性能。它与QNX 相比最大优势在于开源,具有很强的定制开发灵活度。我们通常提的基于Linux 开发新的操作系统是指基于Linux Kernel 进一步集成中间件、桌面环境和部分应用软件。
在智能化的背景下,单一的实时操作系统已经不能满足复杂算法、大数据量、高算力的要求,因此非实时性的操作系统也开始在汽车上占有一定比例。
智能座舱域和车身域,可使用完全的分时操作系统,不需要实时操作系统。比如你的车载大屏,能支持一边导航,一边放音乐,就是因为使用了分时操作系统,能支持多任务的同时进行,并且如果有卡滞或者延迟,也不会影响车辆安全驾驶。
对于智能驾驶域(这里的智能驾驶域不包括动力域),仅包括道路识别、路径规划、车速计算等部分,可以采用经过实时性改造的Linux系统。这样的操作系统既能够满足多线程,多任务,高算力的计算,又能够达到准实时的要求。
而动力域,负责提供扭矩计算,驱动电机,则继续采用高实时操作系统。动力域与智能驾驶域紧密配合,当开启自动驾驶时,智能驾驶域操作系统负责高算力计算,而动力域操作系统负责实时驱动,输出扭矩。虽然在有些电气架构里,这些都属于智能驾驶域,但操作系统还是有以上区分。
操作系统项目指标LinuxQNX其他RTOS实时性能需要进行实时性改造微妙级延时微妙级延时开放性源代码开放封闭商用或开放许可协议GPL商用N/A费用无授权费用(商用收费)Royalty&License较低或免费功能安全ASIL B有可能ASIL DN/A软件生态应用生态链完善汽车领域应用广泛有限优势技术中立,支撑复杂功能性能强,安全性高实时性好,启动快劣势系统复杂进程间通信、系统调用开销等进程间通信、系统调用开销适用范围智能座舱、信息娱乐、TBOX、ADAS、某些域控制器等仪表盘、智能座舱、信息娱乐、导航、ADAS、域控制器等仪表盘、ADAS、整车控制器等未来的汽车里,一定是有多种操作系统同时共存的,我们不能简单说特斯拉就一定是Linux系统,传统车就一定是RTOS实时系统。无论是分时系统还是实时系统,他们没有孰优孰劣之分,只有合适与不合适之分。
汽车软件行业目前也在经历很大的变化,从业者分布也能看出来,以前汽车软件并没有专门的学科,从业者多是从嵌入式工程师转过来,鲜有从互联网来到汽车软件行业的。而从今年开始,越来越多的计算机专业,软件专业的人才涌入到了汽车软件行业,也正是说明了智能驾驶,电气化需要更多专业的算法和软件人才,汽车软件也会在这些新鲜血液的带领下,吸收一些互联网的元素,形成一个独具特色的软件行业。(文/汽车之家行业评论员 何柳)
郑重声明:本文版权归原作者所有,转载文章仅为传播更多信息之目的,如作者信息标记有误,请第一时间联系我们修改或删除,多谢。