辽阳企业网站建设团队,免费做团购网站的软件有哪些,厦门网站制作计划,济南网站建设公司川芎网络三、智能座舱操作系统
3.1 概述
车载智能计算平台自下而上可大致划分为硬件平台、系统软件#xff08;硬件抽象层OS内核中间件#xff09;、功能软件#xff08;库组件中间件#xff09;和应用算法软件等四个部分。狭义上的OS特指可直接搭载在硬件上的OS内核#xff1b;…三、智能座舱操作系统
3.1 概述
车载智能计算平台自下而上可大致划分为硬件平台、系统软件硬件抽象层OS内核中间件、功能软件库组件中间件和应用算法软件等四个部分。狭义上的OS特指可直接搭载在硬件上的OS内核而广义OS从下至上包括从BSP、操作系统内核、中间件及库组件等硬件和上层应用之间的所有程序。 硬件抽象层
硬件抽象层里包含BSP和Hypervisor。
Hypervisor 是一种运行在基础物理服务器和操作系统之间的中间软件层可允许多个操作系统和应用共享硬件,也可叫做VMM virtual machine monitor 即虚拟机监视器。Hypervisors是一种在虚拟环境中的“元”操作系统。他们可以访问服务器上包括磁盘和内存在内的所有物理设备。
BSP(board support package)即板级支持包也是介于主板硬件和操作系统之间的一层主要目的是支持操作系统使之能够更好的运行于硬件主板。
操作系统内核
OS内核又称为“底层OS”提供操作系统最基本的功能负责管理系统的进程、内存、设备驱动程序、文件和网络系统决定着系统的性能和稳定性。
智能座舱作为新能源汽车的核心部分通常需要运行多个不同的软件应用和服务例如车辆信息娱乐系统、导航系统、车辆诊断系统、驾驶辅助系统等。这些应用和服务需要在智能座舱中使用不同的操作系统内核来管理系统资源、控制硬件设备和提供系统服务。以下是一些常见的操作系统内核的例子
Linux内核Linux是一种开源的操作系统内核广泛应用于各种嵌入式系统和移动设备中包括新能源汽车智能座舱。Linux内核具有高度的可定制性和灵活性可以根据座舱系统的需求进行定制和优化。例如很多智能座舱系统使用基于Linux内核的Android Automotive操作系统提供丰富的应用和服务支持。QNX内核QNX是一种实时操作系统内核被广泛应用于汽车领域。QNX内核具有高度的实时性和可靠性适用于对系统响应时间和稳定性要求较高的智能座舱应用例如车辆的安全和驾驶辅助系统。AUTOSARAutomotive Open System Architecture内核AUTOSAR是一种开放的汽车电子系统架构包括了一系列的软件规范和标准。AUTOSAR内核是一种用于汽车电子系统的标准化操作系统内核可以提供统一的软件接口和服务实现不同硬件和软件模块之间的互操作性和可替换性。许多新能源汽车厂商使用AUTOSAR内核来构建其智能座舱系统。Windows内核作为一种常见的桌面操作系统Windows内核在某些新能源汽车智能座舱中也有应用。例如一些电动汽车厂商采用基于Windows内核的操作系统来构建其车辆信息娱乐系统提供丰富的图形界面和多媒体功能。
中间件
中间件作为底层操作系统和这些应用程序之间的桥梁是对软硬件资源进行管理、分配和调度的平台充当着软件和硬件解耦的关键角色。 具体来说中间件通常对传感器、计算平台等资源进行抽象对算法、子系统、功能采取模块化的管理通过提供的统一接口让开发人员能够专注于各自业务层面的开发而无需了解无关的细节。这为开发者快速、高效、灵活地开发和集成自动驾驶软件提供了极大的便利。
因此从系统软件的角度来说车载操作系统主要考虑的就是BSPHypervisorOS内核以及中间件等因素。目前座舱新应用层出不穷和手机关联度也比较高 Android是最佳选择但考虑到安卓背后的谷歌一家独大车厂无力掌控日本和欧洲车厂更倾向于 Linux。中美厂家都拥抱安卓 中国厂家尤其注重生态系统因此几乎全部选择手机版的安卓做一些微小修改。美国厂家则多选择车机版安卓。因为谷歌的某些应用在国内无法使用国内一般不使用完整的车机版安卓。
QNX几乎不会作为独立的智能座舱操作系统而被选用一般可以与Android共同作为Hypervisor之上的虚拟机VM而协同工作。
3.2 Android
Android是发行版本的Linux 系统复杂 功能强大。Android是由Google公司和开放手机联盟基于Linux开发的操作系统。Android被称为基于Linux开发的最成功的产品之一 应用生态最为丰富 主要应用于移动设备在国内智能座舱操作系统常基于Android开发。
Android的主要优点有
1) 开源 对中低端OS开发商具有很强吸引力
2) 灵活 可以根据自身需要对原生Android进行定制化改造
3) 可移植性强 Android手机上的APP不需要经过大的修改就可以应用在车机上 有利于国内互联网厂商切入汽车领域 快速建立起车载软件生态。
Android的缺点主要有
1) 安全性、稳定性差系统漏洞带来较高风险技术维护成本高
2) 过度依赖于Google。
在智能座舱操作系统的选择中虽然还没有哪一个系统的市场份额占据绝对优势但从软件定义汽车的角度出发以及新能源汽车的发展历程来看智能座舱域主要考虑的是应用的生态和智能化的发展。在实践中可以看到Android系统体现出越来越大的优势。这里面最重要的原因就是智能座舱的生态环境可以与手机等消费类电子产品的生态打通在手机上流行的应用APP同样可以移植到汽车的智能座舱环境中来。比如说导航类APP音乐类APP视频类APP内容类APP可以方便地实现车机手机统一账户统一资源等。
Android凭借国内丰富的应用生态切入汽车智能座舱系统。虽然安全性、稳定性不足但由于车载信息娱乐系统对安全性要求相对较低 Android仍然凭借其上述优点在国内车载信息娱乐系统领域占据主流地位。尤其是各大互联网巨头、自主品牌、造车新势力纷纷基于Android进行定制化改造 推出了自己的汽车操作系统 如阿里Al iOS、百度小度车载OS、比亚迪Di Link、蔚来NIO OS、小鹏X martOS等。
Android AUTO vs AAOS vs 传统Android
谷歌也分别推出了 Android Auto 和 Android Automotive OSAndroid Auto 是一个超级 App不是一个操作系统但 Android Automotive OS 就是一个操作系统简称 AAOS。Android 官网上 Android Auto 这个分类 是和 Android TV、Web OS by Google 并列。而在 Android 官网开发者页面处我们能发现更多谷歌意图独立车载系统的想法。 在 Google 官方的「Android developer guide」安卓开发者引导 中 Android Automotive OS 和 Chrome OS 也 是 以 「 OS operation system操作系统」命名的。AAOS 确实是为了解 决 Android 本身在车机方面的一些问题。Automotive OS 采用了 与传统安卓差异较大的显示和交互逻辑 「区块」成为 Automotive OS 最基本的设计语言。在操作准确度要求非常高的 车内环境里面触屏相对孱弱的反馈被谷歌以硕大的图标设计和菜单划分得以补偿。
1. Android Auto
首先Android Auto 不是 OS。它是集成在 Android OS 里的 feature。当通过 USB、Wi-Fi 将 Android Phone 连接到支持 Android Auto 的车机上后Android OS 将自动加载支持 Auto 模式下的 App 并将图像投屏到车机屏幕上。
跟 CarPlay 一样其本质上是投屏。Phone 提供计算、渲染车机只是 DisplayDisplay 和按键回传 Input 的事件Phone 处理好之后将新的帧数据回传进行 Display。 2. Android automotive OS
Android automotive 是在原手机Android 的系统架构基础上替换为与车相关的模块。主要包括:
Car App :包括OEM和第三方开发的App;Car 提供给汽车App特有的接口;Car Service :系统中与车相关的服务;Vehicle Network Service :汽车的网络服务;Vehicle HaL :汽车的硬件抽象层描述。 Android Automotive OS主界面是平均分配的四张功能卡片Google Map地图、语音助手Google Assistant、电话和应用随着地图的优先级降低整体高频车载功能的优先级提高快捷图标可以最大限度减少驾驶员会分心的情况。车辆重要的功能如摄像头和车辆控制等放置在靠近驾驶座的左上角方便司机触达。
3. 传统Android
国内新能源车企一般采用自研座舱OS的模式在传统Android版本的基础上修改出具有自身风格的智能座舱操作系统。这样做的好处毋庸讳言类似手机OS一样可以带来更大的用户便利性以及更强的用户黏性。这一点与外资车企具有相当大的不同。我们从国内车企来看蔚来小鹏理想均采用自研OS基于传统Android版本进行修改。AITO问界采用华为鸿蒙车机也类似于Android的操作界面。
蔚来 小鹏 理想 问界 那么厂商根据标准Android版本进行定制化开发与Android Automotive OS的区别在哪里呢 咨询ChatGPT的回答如下
1. 界面设计Android Automotive OS的用户界面与传统的Android系统有很大的不同。它的界面更加简洁、易于操作更适合在驾驶过程中使用。
2. 应用程序Android Automotive OS的应用程序与传统的Android系统也有所不同。它的应用程序更加专注于驾驶和车辆信息如导航、音乐等而不是传统Android系统中的社交媒体、游戏等应用。
3. 安全性Android Automotive OS在安全性方面比传统的Android系统更为重视。它采用了更加严格的安全措施以确保驾驶过程中的数据和信息安全。
4. 系统架构Android Automotive OS的系统架构与传统的Android系统也有所不同。它采用了更加模块化的设计以便于车载设备的集成和维护。
总之Android Automotive OS是专门为汽车设计的操作系统相比传统的Android系统更加注重驾驶和车辆信息的应用同时也更加注重安全性和系统架构的优化。 目前还很难说Android automotive OS与厂家基于Android自研修改的OS哪个能脱颖而出。但或许基于不同的市场环境和用户生态这些智能座舱OS都还在埋头发展零和游戏的时刻尚未到来。
3.3 Linux
这里的Linux特指非Android的Linux发行版软件或者基于开源Linux内核所修改而来的厂商自研OS。虽然说Android也是架构在Linux 内核之上的但由于它早已具有独立而强大的生态因此一般单独介绍。我们通常提的基于Linux开发新的操作系统是指基于Linux Kernel进一步集成中间件、桌面环境和部分应用软件。
Linux 领域再分为三类一类是完全独立的开发版本如特斯拉二是松散联盟性质的 Genivi最后是车规级 Linux 的 AGL。
独立开发的Linux
这里的代表之作为Tesla。Tesla的座舱采用x86 CPULinux版本。对于不同的车型来说Telsa交替采用英特尔或AMD的SOC芯片作为座舱SOC采用自研FSD芯片作为ADAS SOC。它的软件平台基于Linux 内核所打造。
特斯拉的座舱软件平台使用的是基于Linux的自主开发操作系统称为Tesla OS。这个操作系统是特斯拉自己开发的基于Debian Linux但是经过了大量的修改和自定义以适应特斯拉车辆的特殊需求和功能。Tesla OS不仅包括车辆的座舱软件平台还包括车辆的控制系统和网络系统等。特斯拉的座舱软件平台是由一组定制的应用程序组成的包括导航、娱乐、通信、驾驶辅助和车辆设置等。这些应用程序都是基于Tesla OS开发的可以通过车载屏幕、语音控制和手机应用程序等方式进行访问和操作。
Tesla OS采用Linux 4.4开源操作系统 支持PyTorch的深度学习编程框架 基于Kafka开源流实时数据处理平台 可支持信息娱乐系统(IVI) 和驾驶辅助系统(ADAS) 等。特斯拉选择Linux一方面由于Linux开源自由的优点 避免受制于操作系统厂商另一方面则发挥其内核紧凑高效、可以充分发挥硬件性能的优点满足了特斯拉对汽车性能的要求。 Genivi
GENIVI是一个开源的汽车软件联盟致力于开发和推广开放标准和技术以支持汽车电子系统的开发和集成。该联盟成立于2009年由一些主要的汽车制造商、供应商和软件开发公司组成包括宝马、戴姆勒、通用汽车、飞利浦、英特尔、纳芙特、Wind River、Harman和Bosch等。GENIVI的目标是创建一个基于开放标准的汽车软件平台以促进汽车电子系统的发展和创新。
GENIVI的软件平台基于开放标准的Linux操作系统包括许多开源软件组件和工具如QT、GStreamer、DBus、WebKit、BlueZ、Systemd等。GENIVI的软件平台提供了许多功能如车载娱乐、导航、通信、驾驶辅助、车辆诊断和远程服务等。该平台还提供了一个开发框架使开发人员可以快速开发和部署汽车应用程序和服务。
许多汽车制造商和供应商正在使用GENIVI的软件平台以开发其汽车电子系统。一些使用GENIVI的汽车制造商包括宝马、戴姆勒、通用汽车、PSA、雷诺等。同时一些汽车供应商和软件开发公司也在使用GENIVI的软件平台如飞利浦、英特尔、纳芙特、Wind River、Harman、Bosch等。
AGL
AGL 即 Automotive Grade Linux车规级 Linux。成立于 2016 年 1 月但是第一版 AGL 发布是在 2014 年的 6 月 30 日实际 上就是 Tizen 的修改版Tizen 源自三星Tizen 是三星电子开发 的一款基于 Linux 核心的开放源代码移动操作系统可适用设备 包括智能手机、平板电脑、智能手表、上网本、车载消息娱乐 设备IVI和智能电视。该项目最初由 Linux 基金会以及 LiMo 基金会合力推出目的在于取代 MeeGo 与 LiMo 平台。在 Linux 基金会中由技术指导小组TSG管理。
AGL 的顶级白金会员有亚马逊、马自达、电装、瑞萨、铃木、丰田、松下。白银会员则有爱信精机、奔驰、福特、高通、 上汽、大众。其他重要会员还有阿尔派、ARM、博世、BOSE、 中国移动、大陆、德赛西威、富士通、本田、现代、三星哈曼、 HERE、日立、GreenHills、英特尔、JVC 建伍、李尔、LG、马瑞 利、Mentor、Microchip、三菱、NEC、东软、日本精机、NXP、 英伟达、三星、先锋、索尼、东芝、Telechips、德州仪器。 目前采用 AGL 的车型主要有新一代奥迪 MIB3TOP、丰田凯美瑞、马自达 3 和斯巴鲁傲虎及力狮。还有一款奔驰的 MPV。 大众在 2019 年 4 月加入 AGL。
AGL 的主要优势之一是它的统一代码库UCB这是一个 新的 Linux 发行版它基于 AGL 和另外两个汽车开源项目Tizen 和 GENIVI Alliance。UCB 是第二代 Linux 汽车系统。它从底层开 始开发一直到特定的汽车应用软件。完成了操作系统大约 70% 的工作。
目前 AGL 应用都在 IVIIn-Vehilcs Infotainment上AGL 正 努力开拓在仪表和 ADAS 领域不过这两个领域对实时性要求较高阻力很大。
YOCTO
Yocto是一个开源的嵌入式Linux发行版它提供了一个开发框架可以帮助开发人员快速构建定制的Linux系统。Yocto的目标是使嵌入式Linux开发更加简单、快速和可靠使开发人员能够轻松地创建定制的Linux发行版以满足特定的嵌入式设备需求。
Yocto项目包括一个工具集可以用于构建和管理嵌入式Linux系统包括构建工具链、交叉编译器、调试器、库、应用程序和文件系统等。Yocto还提供了一个强大的软件包管理系统可以让开发人员轻松地添加、删除和更新软件包。
许多汽车厂商目前仍在使用Yocto特别是在车载娱乐系统和智能座舱软件的开发中。Yocto提供了一个灵活的开发框架使开发人员能够快速构建和定制Linux系统以满足特定的汽车应用需求。同时Yocto还提供了丰富的软件包和工具使开发人员能够快速开发和部署嵌入式应用程序。
使用Yocto的汽车厂商有通用丰田福特雷克萨斯捷豹路虎等。
根据以上信息可以看到很多汽车厂商都曾经使用了不止一个Linux发行版本来作为自己旗下车型的智能座舱软件平台。这说明在Linux系统在传统汽车企业中的地位。
3.3 QNX
QNX是目前车载软件中使用得最多的操作系统。
Gordon Bell和Dan Dodge在1980年成立了Quantum Software Systems公司他们根据大学时代的一些设想写出了一个能在IBM PC上运行的名叫QUNIXQuick UNIX的系统直到ATT发律师函过来才把名字改成QNX。从QNX的最初命名可以看出QNX是一种类UNIX的操作系统其遵守POSIX规范也就是说在Linux(也遵守POSIX规范)上编写的应用程序可以不作修改重新编译后可以直接在QNX上运行。
2004年音响设备制造商 Harman 国际工业公司收购了QNX。2010年黑莓手机BlackBerry制造商RIM宣布收购哈曼国际工业集团旗下的QNX软件公司。
在汽车领域QNX早已是最大的操作系统供应商。据不完全资料显示QNX在车用市场占有率达到75%目前全球有超过230种车型使用QNX系统包括哈曼贝克、德尔福、大陆、通用电装、爱信等知名汽车电子平台都是在QNX系统上搭建的。几乎全球所有的主要汽车品牌包括讴歌、阿尔法-罗密欧、奥迪、宝马、别克、凯迪拉克、雪弗兰、克莱斯勒、戴姆勒、道奇、菲亚特、福特、通用汽车、本田、悍马、现代、英菲尼迪、捷豹、吉普、蓝旗亚、马自达、马赛地、迷你宝马、三菱、尼桑、欧宝、庞迪克、保时捷、萨博、土星、双龙、丰田和大众汽车等目前都采用了基于QNX技术的系统。
QNX的特点
QNX是一个微内核嵌入式非开源安全实时的操作系统。它的软件架构分层如图所示 从上图可以看到在硬件层之上QNX提供了板级支持包BSPRTOS微内核软件中间件以及支撑应用的增强服务层等。
微内核
QNX是典型的微内核结构操作系统 有一个非常小的微内核Neutrino 约为12K。内核提供了中断处理定时器处理线程的建立与调度等任务。另外有一个进程process manager来负责进程的建立和地址空间管理的功能 与内核运行在内核空间。其他功能模块运行在用户空间。QNX对所有的进程均提供了内存保护 包括文件系统 资源管理器 应用程序等。
QNX是一个典型的RTOS系统其内核支持实时抢占式调度。
QNX 使用基于优先级的虚拟 CPU 共享模式每个虚拟 CPU 拥有自己的优先级和时间任务安排序列scheduling确保高安全优先级 OS 能够从低优先级 OS 那里抢占更多的物理 CPU 资源。虚拟 CPU 拥有估计资源预算能力进而在物理 CPU 上实现自适应分区。能够最大化利用硬件资源。
半虚拟化
QNX Hypervisor采用半虚拟化的方式来支持硬件设备的虚拟化操作。在一个双内核虚拟机架构体系中VM2为Android 虚拟机VM1 为QNX Host 虚拟机 Hypervisor为 QNX提供的Hypervisor。对于硬件资源的虚拟化Android VM访问硬件资源可以有2种方式
1. Front-Back End 服务方式
为避免全虚拟化的性能问题可以采用 GuestOS 与 Hypervisor 协作的半虚拟化技术。这种技术一般应用于 IO 设备虚拟化 采用前后端的方式来实现 。在 Guest OS (如 Android VM2 中实现前端驱动在 Hypervisor 或 Host OS (如QNX Host VM1) 中实现后端驱动前后端一般按照 VirtIO 标准来实现后端驱动作为硬件的实际访问方。
2. Pass-through 直接访问方式
Hypervisor 支持将硬件资源直接分配给其上虚拟机中 VM2 使用无需通过 Hypervisor 进行地址和指令翻译。例如 : 串口资源、USB 资源等接口比较丰富的资源可以通过 Pass-through 直接分配给某虚拟机使用。设备控制器一般都是以 MMIO 方式来访问的所以只需要将控制器地址区域映射到 VM 就 可实现设备控制器的分配同时还需要分配一个设备硬件中断对应的虚拟中断到该 VM直接透传的方式 就是 VM 独占访问该硬件所以在性能上是最好的。
功能安全
QNX已经获得了ASIL-D的认证。QNX的安全性和可靠性使其成为满足汽车电子系统安全标准的理想选择。QNX的ASIL-D认证证明了其满足最高级别的汽车安全标准可以在高度安全性和可靠性的环境中运行。QNX的ASIL-D认证包括QNX Neutrino实时操作系统、QNX Momentics开发工具和QNX Hypervisor虚拟化平台等产品。QNX的ASIL-D认证是基于国际标准ISO 26262开展的该标准是用于开发汽车电子系统的安全标准。
智能座舱的应用案例
在国内新能源车企的智能座舱软件平台中由于普遍采用了高通的SOC作为座舱芯片因此基本会采用QNXAndroid双虚拟机的方式。其中一个典型的应用就是QNX实现仪表盘Android实现中控娱乐屏应用。
底层是采用QNX的hypervisor技术实现硬件资源的虚拟化。
上层分为2个虚拟机VM。其一是QNX Host它主要实现仪表盘的图形生成渲染等任务。根据上述半虚拟化的实现由QNX实际控制SOC芯片中的GPU和DPU等硬件资源。
由于QNX具有实时性和安全性的特点它适合为仪表盘功能提供应用服务。
第二个虚拟机是Android VM。由于Android具有良好的生态环境和丰富的应用资源在中控娱乐屏的使用上具有较大的优势因此非常适合用于多元化的娱乐域应用场景需求。