您可以捐助,支持我们的公益事业。

1元 10元 50元





认证码:  验证码,看不清楚?请点击刷新验证码 必填



  求知 文章 文库 Lib 视频 iPerson 课程 认证 咨询 工具 讲座 Model Center   Code  
会员   
   
 
     
   
 
 订阅
一文读懂汽车操作系统
 
作者:Pirate Jack
  1129  次浏览      16 次
 2022-8-4
 
编辑推荐:
本文主要介绍了什么是汽车操作系统、汽车操作系统有哪些种类、当前有哪些主流汽车操作系统及未来汽车操作系统的趋势。希望对您的学习有所帮助。
本文来自微信公众号车端,由火龙果软件Linda编辑、推荐。

智能汽车,智能驾驶座舱,软件定义汽车等概念是当前汽车行业热门的关键词。其实他们的核心就两个东西第一电子电器架构(汽车行业的主战场-电子电器架构以及软件),第二汽车操作系统。

那么汽车操作是不是什么新鲜事物呢?其实汽车操作系统犹如在安卓和苹果IOS流行之前一样,当时一统天下的诺基亚也是有塞班系统的。当下的汽车其实也是都有系统的。那么为什么这个时候汽车操作系统会被强调呢?

主要是汽车基本安全要求和消费者日益需求的信息娱乐,增强现实,自动驾驶催生了汽车操作系统的特殊性。 没人希望车开在路上死机蓝屏,没人希望车开在路上卡滞缓存因为这些可不是日常电脑手机设备重启解决,这也不是就是丢失几个辛辛苦苦处理的office文件那么简单,汽车发生此类故障可是会产生对驾驶员对周边人员产生生命财产损失的事情。但传统汽车行业也不能死守必须变革符合市场需求。所以汽车操作系统软件被再次强调。

本文将从汽车操作系统的以下几个方面去分享:

什么是汽车操作系统

汽车操作系统有哪些种类

当前有哪些主流汽车操作系统

未来汽车操作系统的趋势

希望能够让你大概了解汽车操作系统以及当前技术和市场情况

1 什么是汽车操作系统

操作系统的主要职责是管理系统中的硬件资源和活动:调度应用程序,将文件写入磁盘,通过网络发送数据等等。对于汽车同理,操作系统负责管理整车应用程序,应用程序可以是媒体广播,也可能是刹车,转向等。操作系统概念来自于计算机电脑,如下图UNIX是当前绝大部分开源共享软件的鼻祖,此类系统同样应用于汽车行业。

2 汽车操作系统有哪些种类

当然操作系统在不同的行业有不同的解释和分类本文主要从汽车角度出发。

按照汽车开发着角度汽车操作系统主要分

1)GPOS(Normal General Purpose Operating System通用操作系统)或许多人称之为的普通OS与RTOS(Real Time Operating System实时操作系统)之间的基本区别为 RTOS必须确保系统在可预测的时间限制内进行响应.

2)GPOS用于时间要求不严格的系统/应用程序,所以一般用于娱乐系统,实现人机交互,例如当前的安卓系统,AliOS等。

GPOS由于在图形化,应用层面多样化更多使用在人机交互界面呈现方面。

RTOS用于时间紧迫的系统。所以一般用于安全相关的,车辆运动等控制,需要符合ISO 26262 ASIL安全等级开发设定,例如黑莓的QNX等。

按照整车功能控制来分:

1)娱乐系统,一般安卓类的系统他有很好的应用开发生态。

2)仪表显示系统,一般采用Linux类的系统,他可以稳健的实现图形化。

3)驾驶控制系统,一般采用RTOS类的系统 ,他可以保证控制的时效性。

很多人会有疑问,为什么需要这么多控制系统,不能融成一个?这里就回到前面的话题整车安全可靠等级和娱乐系统多元化需求。以及当前电子电器架构决定。

当然可以站在消费者使用者角度如下分的:

1)基本汽车操作系统:它是指基本的汽车操作系统,例如Linux,QNX,包括所有基本组件,例如系统内核,底层驱动程序和虚拟机。

2)定制的汽车操作系统:它是在汽车操作系统(与OEM和一级供应商一起)的基础上进行深度开发和定制的,最终将座舱系统平台或自动驾驶系统平台变为现实。例如百度车载操作系统和VW.OS。

3)ROM汽车操作系统:定制开发基于Android(或Linux),而不是更改系统内核。MIUI是应用于手机的典型系统。奔驰,宝马,蔚来,XPeng和CHJ Automotive通常更喜欢开发ROM auto OS。

4)超级自动APP(也称为电话地图系统)是一种多功能的APP,集地图,音乐,语音,社交等功能于一体,可满足车主的需求。例如Carlife和CarPlay。

3 当前有哪些主流汽车操作系统

GPOS 类偏使用场景为娱乐界面交互系统

当前此类系统大部分都脱胎于和发源于Linux的变种(Linux是免费开源标准),不论安卓还是中国的AliOS 甚至国潮华为鸿蒙系统。

1)Linux - 软件行业的朋友再熟悉不过了,但其实汽车行业很少直接采用因为会牵扯大量的开发,其实特斯拉的系统就是依托硅谷人才对Linux进行开发,当前传统汽车行业正联合对Linux进行开发例如下面介绍的AGL,Genivi。

2)AGL- 是一个协作性开源项目,它将汽车制造商,供应商和技术公司召集在一起,以加快开发和采用用于联网汽车的完全开放的软件堆栈。AGL以Linux为核心,正在从头开始开发一个开放平台,该平台可以用作事实上的行业标准,以实现新功能和新技术的快速开发,Toyota,大众,戴姆勒,现代,马自达,本田,三菱,斯巴鲁,日产,上汽等采用。

3)Genivi -GENIVI Alliance成立于2009年,已成功完成了提供基于Linux的开放式车载信息娱乐(IVI)平台的初始任务,并扩大了范围,以帮助汽车制造商及其供应商开发标准方法

4)安卓 - 安卓系统其实对于手机时代是大家熟悉了再也不为过的系统,他的生态应用非常丰富例如比亚迪就就采用才会有车机抖音等,当然还有不少基于安卓进行修改的。

5)阿里AliOS - 上汽采用,以及上汽高端智已汽车应该采用这个。

6)华为鸿蒙 - 目前很少看到应用案例,可能长安。

7)微软windows CE - 早期福特sync系统采用被弃用。

RTOS 类偏使用于驾控安全,自动驾驶方面。

1)黑莓QNX Neutrino-RTOS系统黑莓的QNX占主,和Linux一样脱胎于Unix。目前基本主流主机厂例如奥迪,宝马,福特,通用,本田,现代,捷豹路虎。,起亚,玛莎拉蒂,奔驰,保时捷,丰田和大众都在采用。

2)Green Hills INTEGRITY RTOS - 它有军工,飞机等背景,例如波音飞机等采用,它的客户更多为汽车T1/T2供应商例如英伟达,高通,英特尔等等。

3)WindRiver VxWorks -它有军工,飞机等背景,当前博世,宝马,福特,大众等采用。

4)NVIDIA DRIVE™ OS - 看过我们之前文章(自动驾驶 - 只需要一个聪明的人工智能取代人类驾驶)里面介绍过NVIDA的自动驾驶方案里面提及这个系统,具体可以点击了解,当前小鹏汽车采用这个系统作为其自动驾驶系统。

5)Mentor Nucleus® OS -西门子子公司Mentor提供的一系列服务可帮助汽车制造商和OEM满足集成ADAS,驾驶员信息和信息娱乐的日益增长的趋势。的Nucleus®实时操作系统就是这些服务之一。另外,Mentor推出了DRS360自动驾驶平台,该平台旨在提供5级自动驾驶车辆所需的低延迟,高精度感应。

当然以上各类系统不是严格的只使用于各自的方向,同时各方都在拓展,例如QNX,很多汽车的交互系统就采用QNX. 有统计黑莓的QNX目前占据汽车操作系统市场绝大部分市场有1.7亿多汽车采用其系统。

4 未来汽车操作系统趋势

智能驾驶以及驾驶座舱

丰富的娱乐和增强型显示,不但注重车辆的功能实现还注重人机交互之间的呈现。所以这里会更加依赖图形界面更加丰富的GPOS。

更加强大的智能驾驶,需要更强大的智能控制系统。所以满足安全需求的RTOS也会得到更加的重视。

多操作系统共存

汽车既需要安全,但同时现在大家又非常重视汽车智能和娱乐,成年人一般不做选择全都要(没有办法主机厂做不了选择,只有两者都要才能满足当前产业和消费者需求)。怎么办呢?所以在现有架构不重大变更的前提下,采用虚拟机hypervisor(关注我们下集我们会分享hypervisor相关内容)既可以使用图形界面丰富的linux 系列,同时也使用对安全和驾控方面安全性要求高的实时操作系统。

标准化生态化

汽车被看成继手机之后第二个离不开的东西,手机因为通讯而生但又改变通讯变成人类的生活方式,汽车可能会同样,那么围绕汽车生活的应用肯定会是需要开放和生态化。那么任何主机厂在考虑他的GPOS的时候必须考虑生态化,如果需要生态化的话就必须标准化可以让更多的人参与进来设计程序满足日益丰富不同的客户需求。

下图国际主流主机厂的反应应该显示这种态势。

总体上朝开源,标准化的操作系统来应对未来汽车生活生态化的需求。上面大概介绍了什么是汽车操作系统。显然对于操作系统来讲,这是IT电脑界玩了几十年的东西,但是到了汽车上面显得不是那么简单,好像又是一个新的种类,吸引了大量的人力和资金,所以本文根据相关文章进行整理来看看。

为什么汽车操作系统复杂?

汽车操作系统开发要考虑哪些问题?

汽车操作系统未来趋势发展?

希望能给大家一些知识和信息帮助,帮助大家看懂汽车操作系统。

5 复杂的汽车操作系统

操作系统提供计算机硬件和应用程序之间的接口。通过遵循编程到操作系统中的规则和程序来限制应用程序使用硬件。操作系统还包括简化应用程序开发和执行的服务。这些服务包括管理应用程序将使用的所有硬件资源——将程序加载到内存中、与传感器和执行器通信、存储结果以及许多其他功能。

所以广义的操作系统范围非常广泛,小到一个芯片上运行的输入输出;大到多个多个芯片组成的域或者异构芯片(例如《理想L9的智能座舱,驾驶技术以及供应链》中的高通芯片)上运行的交互系统。

当前汽车操作系统面对的复杂性体现在——多ECU,豪车高达150多个ECU,就特斯拉Model Y ECU也多达26个 ,多种冲突需求,以及不断发展的新ECU,所以汽车操作系统的复杂性体现在如下几个方面:

汽车操作系统能力范围需求广泛:

单任务和多任务操作系统,有些系统需要讲究时效性,有些系统需要同时运行多个程序。

单用户和多用户操作系统,可以支持一个用户或者多个用户在线,未来汽车是需要跟电脑一样,不同的用户登陆进去有不同的模式和应用。

一体化内核和微内核操作系统,微内核有模块化结构

虚拟机管理程序操作系统,可以支持多个系统共存运行

功能安全认证操作系统,ISO26262 和ASIL 评级认证

多控制单元ECU对操作系统的不同需求

当前汽车动辄几十个ECU,相对电脑手机一个或者几个他的复杂的应用需求更多,例如娱乐系统和智能驾驶ECU需求不同

有的ECU需要功能安全,通常需要实时响应

有的需要融合多个ECU,例如域控里面的ECU 集合。

多控制单元ECU导致操作系统的多生态支持

软件平台的生态,软件平台来支持操作系统

软件开发支持生态,多种选择来支持ECU软件开发

芯片处理器的支持,系统是否支持多种芯片平台运行

ECU软件开发,传统,现代,发展并存

一体化的开发环境,传统ECU软件创建方法

网络为中心的开发平台,增长软件创建方法

功能安全软件开发,新兴软件创建方法

依然不断出现的新兴ECU需求

网络安全的软硬件,组成操作系统,嵌入式以及云端软件

OTA实时软件升级,操作系统支持,嵌入式以及云端软件

车联网以及ECU数据提取,操作系统支持,嵌入式以及云端软件

所以汽车的操作系统复杂性,伴随着汽车供应链的历史和发展,短时间还难以消除,但长期应该是化繁为简,需要几个十年的发展过程。

6 汽车操作系统的开发

开发操作系统大概是目前主机厂们都在暗暗较劲的一个主要项目,但显然汽车操作系统很多种类。一般我们谈汽车系统都会听到以下:

操作系统内核,操作系统内核包括管理硬件和软件的所有关键功能。操作系统一般可以分为两种:宏内核和微内核操作系统。宏内核架构包括内核空间中的所有核心操作系统功能——所有系统调用和操作系统服务都集中在一个地方。Linux 是领先的宏内核操作系统。

微内核操作系统具有几乎最少数量的软件,可以提供实现操作系统所需的机制。额外的操作系统服务被组织为分层服务,可以根据需要由微内核激活。这意味着微内核操作系统具有模块化架构。优点是微内核具有较小的代码空间,并且可以比单片内核操作系统更安全。模块化操作系统结构更适合大多数汽车 ECU。QNX 是领先的微内核操作系统,还有国内的华为鸿蒙系统某些领域应用分支。

hypervisor虚拟机,hyervisor虚拟机管理程序是一个小型软件平台,用于管理多个操作系统平台及其应用程序。虚拟机从1960年代一直用于计算机行业,是 IT 数据中心的一项关键技术。它不是什么新鲜技术,但现代智能汽车由于对于安全以及开放生态的需求,所以hypervisor应用非常广泛,例如《苹果最新发布的下一代Car Play是一个汽车操作系统?》中分享的车机显示中的仪表和中控系统通常就运行了hypervisor

功能安全操作系统,许多 ECU 需要具有功能安全认证的操作系统。这意味着需要具有各种汽车安全完整性等级 (ASIL) 的 ISO 26262 认证。该标准确定了四种 ASIL:ASIL A、B、C 和 D。ASIL D 是具有最高的完整性要求。所有基于 AUTOSAR 的操作系统《汽车行业软件主流标准 - 自适应AUTOSAR与传统AUTOSAR》——例如 Vector 的 Microsar 操作系统、ETAS 的 RTA-OS 和 Elektrobit 的 EB Tresos 安全操作系统,都具有功能安全等级。还有汽车 ECU 中常用的其他三种产品:Green Hills Integrity RTOS、Wind River 《为什么风河软件Wind River Systems受到T1安波福的青睐?》VxWorks 和 BlackBerry QNX。

功能安全操作系统一般都是管理小范围ECU,无法管理具有大型复杂软件代码的 ECU,例如信息娱乐系统和新兴领域的高级驾驶员辅助系统 (ADAS) ECU 和自动驾驶汽车 (AV) ECU,但QNX 是个例外,它是信息娱乐领域的领导者,在 ADAS 和 AV 域控方面也有很多应用例,如《小鹏的自动驾驶XPILOT以及智能座舱Xmart OS》小鹏的自动驾驶运行代码运行在QNX。

信息娱乐中对高性能操作系统的需求为 Linux 版本打开了大门,并使其成为过去五年中最受欢迎的信息娱乐操作系统。Linux 的一个缺点是缺乏功能安全认证。当需要功能安全应用的开发系统时候,虚拟机hypervior就出来帮助运行一个安全功能。目前Linux 众多汽车机构都在发力研究,所以在不久的将来会有越来愈多的功能安全版本。

开发汽车操作系统最难的是操作系统生态以及开发支持,操作系统成功的关键是庞大的支持生态系统。支持操作系统的软件平台越多,它就越成功,这就是为什么华为的鸿蒙系统成不成功,不是华为能不能做出系统,而是以后华为鸿蒙到底能不能做出生态来,这才是最重要的,安卓为什么能够流行,想想安卓现在的生态覆盖多么广。

操作系统生态首先是要能够在多种芯片上运行,也就是要有芯片生态。现在汽车 ECU 大多都是基于 ARM 的IP为主的微处理器为主,所以系统基本上紧盯着ARM的架构IP。

另外所有 MCU 应用软件都必须通过操作系统运行,这意味着成功的操作系统应该有良好的软件开发生态支持。目前车载处理器的复杂性和工作量不断增加。传统的 ECU 软件开发最初是通过来自多个供应商的软件开发套件 (SDK) 完成的。

软件定义汽车时代,SDK 已被集成开发环境 (IDE) 所取代,这些环境具有更好的功能并已扩展到基于 Web 的 IDE 系统,可以让主机厂实现车端和云端数据互通。Eclipse IDE 已成为汽车和许多其他行业最流行的软件开发系统。Eclipse 由 Eclipse 基金会管理,该基金会是 IBM 于 2001 年创立的非营利性公司。

现在随着软件定义汽车的呼声越来越强烈,以 Web 为中心的软件开发正在迅速发展,颠覆传统汽车软件开发,例如亚马逊 AWS 尤其活跃。AWS 正在建立合作伙伴关系,以满足对包含 SaaS 功能的更好软件开发的需求。微软Microsoft Azure 和其他公司也在经历类似的增长。

汽车操作系统开发还需要关注新兴的ECU需求,操作系统还需要整合对新兴技术需求的支持。例如:

网络安全最为重要,所有操作系统都将安全作为核心功能。额外的硬件、软件和基于云的网络安全正在成为软件定义车辆的标准,并且需要尽可能多的支持,包括来自操作系统的支持。

OTA 软件更新也越来越重要,并且可以使用操作系统服务的额外支持。OTA 平台的嵌入式软件和云功能的功能正在增加。

ECU 数据提取是第三类,它是扩展联网汽车功能的一部分。它还可以从操作系统服务和新功能中受益。

最后汽车系统开发需要考虑的是成本,操作系统成本因素,有许多因素决定了开发操作系统的成本:

操作系统的许可成本,其中包括操作系统内核、中间件和库软件,如数学、浮点、图形等。Linux 内核操作系统是一个开源代码,是一个自由软件平台。在大多数情况下,Linux 中间件和一些库需要支付许可费。

操作系统的大小将影响使用其应用程序运行软件所需的硬件数量。总代码大小会影响所需的最大永久存储大小。在磁盘时代,这并不是什么大问题,因为大多数硬盘驱动器都足够大。如今,永久存储主要是 NAND 芯片或 eMMC 模块,这通常会增加操作系统大小的额外成本。

操作系统占用空间是运行操作系统及其应用程序所需的 RAM 量。同样,操作系统占用空间的大小会影响系统的内存成本。

另一个因素是硬件成本,其中操作系统可能会影响 MCU 成本。大型操作系统可能会增加所需的 MCU 性能,这可能会增加硬件成本。

所以通过成本考虑,大家可能发现为什么打造一个从零开始全新的汽车操作系统是非常难的事情, 基于Linux 操作系统的免费操作系统内核将提供足够的成本节约,是当前比较优的汽车操作系统开发路径。

7 汽车操作系统趋势

从上文看到的汽车操作系统的复杂性可知,中短期内汽车里面ECU还是会多数量多种类,所以多系统是趋势,汽车主机厂需要多种多个操作系统来覆盖广泛的ECU能力和功能。

所以其实当前汽车操作系统的最佳实践是,按照ECU电控单元或者处理器的复杂度,再结合他的安全需求和生态需求来选择多系统融合的方式。一般汽车中按照ECU的复杂度又分两类 - 低复杂性和高复杂性。

对于低复杂度的 ECU,他上面跑的系统基本是轻量化的,根据汽车供应链发展的历史基本上都是Autosar类的操作系统,他是一类基于经典AUTOSAR规则的微内核系统的统称,一般都是车辆诊断,通讯,运动等汽车基础控制。一般有Vector 的 Microsar OS、ETAS 的 RTA-OS和Elektrobit 的 EB Tresos Safety OS,还有Green Hills Integrity RTOS 等,他们拥有最高的安全和安全认证,这类系统在飞机航空航天上同样普遍使用。

对于复杂度高的ECU,或者大家现在又叫HPC高性能计算单元,或者整合成域控制器,之前文章《智能自动驾驶六大主流车载芯片及其方案》中讲到的高通,英伟达,还有恩智浦,德州仪器TI等的高性能芯片都属于这一类。这个主要牵扯到两个现代智能汽车很火的方面,智能驾驶和智能座舱。这两个方面的需求侧重点截然不同,智能驾驶更需要安全稳健,而智能座舱却更需要开放交互以及生态应用。

复杂集成的 ECU 主要使用 QNX , Linux 版本,安卓作为操作系统,在需要功能安全时优先使用 QNX,例如智能驾驶方面其中QNX 拥有比 Linux 版本更高的安全性和安全认证,并且很可能保持这一排名—即使某些 Linux 版本获得了 ISO 26262 认证。QNX 的微内核架构使操作系统更加安全,QNX也经历了几十年的行业验证,所以道路上绝大部分智能驾驶系统都采用QNX,例如蔚来,小鹏等一系列基于英伟达方案芯片的都采用QNX。

但Linux 已超越 QNX 成为最受欢迎的主机厂欢迎的操作系统。其实我们之前文章《透过奔驰MB.OS看其如何做软件定义汽车》,《大众通往VW.OS的三步电子架构以及其MEB ID系列智能化不满意的背后》都讲到过他们都在开发自己的操作系统,而且大都基于Linux系统核心开发,主要是Linux是IT界主流的企业级系统而且开源丰富的开发生态,所以软件定义汽车时代,Linux 正在车端和云端联合崛起。

当然主机厂他们是否真的在开发系统呢?可能未必。开发操作系统是一项艰巨的任务,并且操作系统的生命周期可能为 30 到 40 年,并定期更新和不断的技术改进。Linux 大约有 30 年的发展,而 QNX 有近 40 年的发展。开发汽车操作系统需要大量的技术专长,但供应有限,而且需要多年的开发。所以汽车企业说的“开发汽车系统”应该都只是应用性更改适配而已。以丰田,日产英伟达等联合的AGL,以宝马通用等联合的GENIVI(现已更名为COVESA)都在对Linux系统开发定义规则。

当前应用Linux 出名的当属鼎鼎大名的特斯拉其系统,其应用的应该是Linux的变种Ubantu,ubantu 搞IT服务器的人可能再熟悉不过了,当然特斯拉,如上文讲到采用的是Linux ubantu ,至于是不是车规级没人管,毕竟我们常听到的车规级并不是强制性标准,但可以肯定的是未来越来越多车规级Linux。通用汽车发布的ultif软件——定义汽车平台未来车端和云端都会采用Red Hat Linux,大概2023年上车。奔驰的基于Linux操作系统大概24年上车,大众计划25年,所以Linux系列凭借开源和软件定义汽车车端和云端的数据完美结合是当前各家主机厂都在走或者想走的路线。

另外一块对于娱乐交互,安卓不言而喻,凭借其完美的应用和开发生态,基本上在娱乐系统方面已经开始走向巅峰,不管新新势力还是老牌欧美车企基本都在车机里面装了或者改了一个安卓系统《做汽车的吉利为何搭上做手机的魅族?也就是方便给吉利整合改一个》来实现各种网联应用,目前新势力的各种类手机的应用app都移植于安卓端,例如视频app,音乐音频app。

但是不少主机厂其实对安卓是又爱又恨,如果安卓统一汽车操作系统市场,那么汽车主机厂怕仅仅成为硬件的制造商,从而错过未来软件定义汽车的主权,所以特斯拉一开始就不考虑安卓,其他采用安卓系统一开始就不采用谷歌的应用市场。

 

 
   
1129 次浏览       16
相关文章

微服务测试之单元测试
一篇图文带你了解白盒测试用例设计方法
全面的质量保障体系之回归测试策略
人工智能自动化测试探索
相关文档

自动化接口测试实践之路
jenkins持续集成测试
性能测试诊断分析与优化
性能测试实例
相关课程

持续集成测试最佳实践
自动化测试体系建设与最佳实践
测试架构的构建与应用实践
DevOps时代的测试技术与最佳实践

最新活动计划
MBSE(基于模型的系统工程)4-18[北京]
自然语言处理(NLP) 4-25[北京]
基于 UML 和EA进行分析设计 4-29[北京]
以用户为中心的软件界面设计 5-16[北京]
DoDAF规范、模型与实例 5-23[北京]
信息架构建模(基于UML+EA)5-29[北京]
 
 
最新文章
中央计算的软件定义汽车架构设计方案解析
汽车电子控制系统中的软件开发过程
一文读懂汽车芯片-有线通信芯片
OTA在汽车上有哪些难点痛点?
智能汽车车用基础软件的内核和中间件
最新课程
Auto SAR原理与实践
MBSE(基于模型的系统工程)
基于SOA的汽车电子架构设计与开发(域控模式)
人工智能助力汽车行业升级
基于UML和EA进行系统分析设计
SysML和EA进行系统设计建模
更多...   
成功案例
奇瑞商用车 购买建模工具EA完全版
航空发动机研究院 购买建模工具EA完全版
联创汽车 购买建模工具EA完全版
江淮汽车 购买建模工具EA
更多...