车载操作系统详解

发表时间: 2024-02-05 08:33

在汽车领域通常情况下我们所说的车载操作系统特指内核,其通过对系统的进程、内存、驱动、网络等方面的管理,为汽车软件提供了高性能、高稳定的运行环境。同时,作为车载系统软件层最基础且核心的部分,它是管理和控制汽车硬件与软件资源的底层,是汽车实现智能化的基础设施,由于其所具有的重要性,因而通常也被称作底层操作系统。在现如今汽车技术状态下,按照区域功能实现的不同,大致可将车载OS内核分为车控OS内核、智能座舱OS内核以及自动驾驶OS内核三类。

图1 车载OS分类

车控OS内核:主要应用在基于MCU芯片平台进行开发的如动力、底盘以及车身控制等领域的车辆传统控制单元(ECU)的实现中。此领域产品功能通常要求操作系统具有高实时性、高可靠性以及高交互性,在此需求下,系统需能在毫秒甚至微妙级别内完成相关的资源分配及任务同步等动作,同时其功能安全等级通常需达到ASIL D级别。当前主流的车控OS内核可兼容OSEK/VDX和AUTOSAR CP标准。

OSEK/VDX是被广泛应用的汽车行业标准,其主要包含操作系统规范、通信规范、网络管理规范和实现语言四部分,AUTOSAR CP的OS是在OSEK/VDX的基础上进行的扩展,如今已成为了汽车传统应用领域的主流OS。

图2 车控OS应用特性

智能座舱OS内核:主要应用在具有高算力的SOC芯片平台的座舱复杂功能的开发中,是实现座舱智能化与多源信息融合的运行环境。当前该系统主要应用于如中控媒体等产品中,为用户提供导航、语音、网联等智能化的功能服务。由于座舱功能在失能后对于车辆内外人员的安全性影响相对于其他领域的功能失能而言要低些,因此应用于此领域的OS在ASIL上通常也不会太高。

就当前状态而言,应用于智能座舱的OS有如Android Automotive OS、QNX、Linux等,其中Android Automotive OS是谷歌基于Android操作系统开发的专用于汽车领域的操作系统,其继承了Android开源生态的特点,目前已被广泛应用到了车载娱乐系统中。但由于此系统在功能安全上的性能不足,因此在具有一定功能安全的座舱产品中,如在仪表、T-BOX、ADAS等系统中Android Automotive OS暂无法被应用。

随着汽车智能化的推行,座舱功能的个性化已成为驱动汽车消费的一大关键因素,同时为了打开手机移动终端与车端的联合生态,对于智能座舱的娱乐性、互联性功能愈加被得以重视,在此状态之下,具有开源优势的Linux以及在手机端拥有大量成熟资源的Android开始被众多企业所青睐。

在国内新势力及科技企业中,基于Android进行定制化改造后推出自有座舱OS的有如百度车载OS、比亚迪Di-Link、蔚来NIO-OS、小鹏Xmart OS等企业,在传统车企中基于Android Automotive OS开发的有吉利的GKUI、奇瑞的Cloudrive等企业。

图3 智能座舱OS应用特性

自动驾驶OS内核:是面向高性能、高带宽下的异构芯片的自动驾驶领域产品,其相对于智能座舱而言具有更高的安全性和可靠性要求,与车控OS相比,需要强大的计算能力以满足图像识别和决策计算的要求,同时需要强大的数据吞吐能力以满足多传感器数据的实时接入与处理。在大模型加持下,需要OS具有高度的灵活性、扩展性以及可编程性,为满足系统的可调性与测试性,需要其具备快速学习和易用的特性。

但由于基于Android等系统进行开发的产品其在功能安全、信息安全上的要求暂无法满足应用需求,同时基于OSEK/VDX的传统嵌入式实时操作系统在面对日益增长的大量车载数据而显得力不从心。因此为了应对自动驾驶技术对系统的高安全性、高带宽等要求,在继承了OSEK/VDX传统OS高实时、高安全特性的基础上,发展出了运行于异构大算力、高带宽环境下的微内核RTOS(Real Time Operating System)实时操作系统。不过在当前异构硬件架构下,各单元所加载的内核在功能安全等级上也有所不同,通常AI内核支持QM到ASIL-B的安全等级,计算单元内核则支持最高到ASIL-D的安全等级。

微内核RTOS以标准POSIX接口为基础,其特点是内核代码量少,且系统服务运行在用户空间中,当某个服务发生故障时,由于服务与内核的分离,并不会影响到内核稳定性。也正是由于RTOS不像Android和Linux那般具有开源的生态,所以此系统也才更适宜车载应用中对功能安全具有一定高要求的部分。不过较为封闭的RTOS在面对未来日益开放的软件生态也开始显的有点不合群了,目前在汽车领域中应用微内核RTOS的厂家主要有BlackBerry、QNX、风河VxWorks、华为鸿蒙OS等。

图4 自动驾驶OS应用特性

随着汽车属性的变化,座舱功能愈加复杂且多样,如今座舱功能已难以再独立存在,更多的是融合自动驾驶功能后的智能化生态的展现。在此背景下,智能座舱功能与自动驾驶应用的边界也变得愈加模糊。在应对多域融合的产品开发上,业内通过结合跨域融合后的产品特性以及未来软件的开发生态特性,逐渐演化出了可应用于此两个领域的操作系统,如Safety Linux OS。

基于Linux而开发的操作系统具有内核紧凑、高效等特性,与QNX等微内核解决方案相比,其具有更加强大且丰富的功能与组件,可通过开源及丰富的生态应用提升定制开发的灵活度。同时由于该系统对硬件外设驱动的支持性高,在当前车载操作系统中逐渐成为了主要应用之一。

但由于现阶段其在功能安全以及稳定性上的局限,基于Linux的车载操作系统还难以被应用在具有车规级功能安全要求的仪表系统以及高阶自动驾驶的产品中。该系统当前主要被用于可支持更多应用和接口的信息娱乐系统以及相对较低阶的自动驾驶功能中。在国内企业中,如阿里Ali OS、鸿蒙OS等皆有基于Linux进行系统独立或混合开发。

为了进一步推行该系统的车载应用,当前Safety Linux OS以ASIL B为目标进行产品开发,功能安全的提升或有望在未来的高阶自动驾驶中被进一步得到应用。

如上所述,由于车载操作系统的开发具有工作量大、周期长、成本高、特性明显与多样等特性,因此针对车载领域的应用进行全新操作系统的开发就显得不那么明智了。在业内无论是科技企业还是主机厂,不管是‘自主开发’还是其他形式,其系统统一采取的方式是都是基于现有系统进行的扩展与应用。

公众号文章链接:车载操作系统介绍