CQ9传奇电子 CQ9电子舱驾一体的硬件如英伟达双Orin,高通双SA8650和高通SA8775都能胜任,硬件难度很低,而软件异常复杂,难度很高,传统的仿真开发技术完全无法适应,开发周期太长,成本太高。
高通推荐的是和AWS合作基于原生云开发,该平台与传统的云端开发与仿真方案相比,具有明显的区别和显著的优势:
首先,传统方案通常需要在实车环境完全具备的情况下才能进行数字化仿真。相比之下,本方案允许团队在早期阶段就开始利用混合云平台资源进行仿真测试;
其次,传统方案通常只能针对应用层软件进行SiL仿真测试,而无法在HiL阶段替代实车环境。在开发过程中,团队必须依赖实车或开发套件硬件环境进行某些阶段的测试。而该方案可以完全替代硬件环境,从底层到应用层软件的全流程开发、测试和仿真都可以在云平台上进行;
此外,对于在传统异构云平台开发的软件,需要进行二次编译和性能调优才能在实车环境中运行,这一过程既耗时又复杂。而该方案得益于车、云同构的硬件架构以及完全一致的软件栈,使得车企可以在全套软件的开发-测试-仿真全流程中完全摆脱车载域控制器的限制。在“软件定义汽车”时代,该平台可以为OEM提供一套更高效、更灵活的软件开发与测试方案,软件开发效率提高的同时大大降低了开发成本。这种方案不仅适用于当前的汽车软件开发需求,也为未来的汽车软件开发提供了新的方向。
高通数字底盘开发平台有两个关键元素:一是SA8775物理HPC,这里的HPC指高性能计算,也可以指异构计算;还有一个关键元素是运行在AWS EC2上的虚拟SA8775 HPC,包含了高通基于web的开发环境QCC即Qualcomm Code Collab。
根据上图不难推测出高通SA8775舱驾一体软件架构的核心元素,一是高通自己开发的开源虚拟机Gunyah,二是Red Hat红帽的车载OS,三是Podman,可以看作是Docker的升级版。其他还有C2C,即云到云动态服务,SOME/IP中间件。AAOS是谷歌的车辆安卓OS。
上图是英伟达最新的DRIVE OS 6.0 Linux SDK,英伟达还有一个QNX版本。英伟达还是比较传统的设计,英伟达也自己开发了虚拟机,这对QNX不是好事,两大巨头都自主开发了虚拟机。
先来看高通自己开发的虚拟机Gunyah,这是高通在2021年推出的虚拟机,最早用于适配安卓14的手机领域。Gunyah是由高通创新中心作为小型微内核开发的1型管理程序。从一开始就以不同于其他管理程序的方式设计Gunyah。其主要优点包括:去特权虚拟机,包括主虚拟机;内存以及输入/输出隔离,中断指定,基于EL2的调度以及由管理程序辅助的设备模拟,针对汽车(汽车工业软件可靠性联合会)、移动设备和物联网优化的性能,不需要将Linux作为主机虚拟机即可全面运行。
Gunyah设计目标,特别考虑电池功率器件,小型化,占用资源少,可以用在IoT领域,高通应该也有考虑将Gunyah用在Zonal的MCU上。
Gunyah包含一个资源管理器(RM),可用于所有虚拟中央处理器的访问以及虚拟机的内存管理。与其他管理程序不同,Gunyah中的设备隔离利用了骁龙硬件。针对架构对该硬件中的系统内存管理单元(SMMUs)和输入/输出内存管理单元(IOMMUs)实施了标准化。
未来高通的Gunyah也很有可能推广到座舱领域,特别是目前有很多大型游戏是基于Windows的,Gunyah可以依托安卓14虚拟出一个Windows环境,届时车内像电脑打游戏成为可能,而目前车内只能玩基于Linux的大型游戏,这种游戏数量非常少。
Gunyah是开源软件,相比不开源的QNX,使用Gunyah的成本更低。此外,汽车软件尤其智能驾驶演进迅速,也只有开源系统才能迅速适应变化。
接下来看一看红帽的车载OS。红帽Red Hat成立于1993年,是全球最大的开源软件公司,2018年IBM以340亿美元的价格收购了红帽,该公司2021年收入大约40亿美元,主要产品就是定制化的Linux,企业级Linux市场占有率高达72.3%。
红帽车载OS的上游社区,高通之所以选择与红帽合作,主要还是看重红帽的上游生态,特别是Eclipse基金会和SOAFEE,前者是全球最大的开源软件基金会,该基金会下属特别设立了一个SDV软件定义汽车小组,战略会员包括博世、大众、微软、三星哈曼、ZF和奔驰。高级会员还包括NXP、大陆汽车、ETAS、法雷奥、LG、通用汽车,高通于2023年8月加入。SOAFEE是ARM和亚马逊AWS主导的基于云的汽车软件开发,核心成员包括ARM、大众、博世、红帽、LG、大陆汽车、AWS,高通于2023年加入。红帽的原生云软件开发与高通的理念契合,因此高通选择红帽作为合作伙伴。
红帽OS只负责ASIL-B级任务,ASIL-D级任务由高通SA8775内部的安全岛MCU运行独立安全软件达成,也可以外接英飞凌的TC397这样的安全MCU达成。
最后是Podman,这实际不算是软件架构,这是一种工具。常规的基于云开发的软件系统会使用Docker,Docker是一个开放源代码的开放平台软件,用于开发应用、交付应用和运行应用。Docker允许用户将基础设施中的应用单独分割出来,形成更小的颗粒,从而提高交付软件的速度。Docker容器与虚拟机类似,但二者在原理上不同。容器是将操作系统层虚拟化,虚拟机则是虚拟化硬件,因此容器更具有便携性、更能高效地利用服务器。
Podman 提供与Docker非常相似的功能。正如前述,它不需要在你的系统上运行任何守护进程,并且它也可以在没有root权限的情况下运行。Podman 可以管理和运行任何符合 OCI(Open Container Initiative)规范的容器和容器镜像。Podman 提供了一个与 Docker 兼容的命令行前端来管理Docker镜像。Docker在实现CRI的时候,它需要一个守护进程,其次需要以root运行,因此这也带来了安全隐患。Podman不需要守护程序,也无需root用户运行,从逻辑架构上,比docker更加合理。在docker的运行体系中,需要多个daemon才能调用到OCI的实现RunC。
唯有这种基于标准化、开源化和原生云的全新软件开发体系才能支撑舱驾一体,它可以大大缩短开发周期,降低开发成本,这种开发不再依赖某些技术大拿,知识产权非常可靠,对人力资源管理和知识产权管理都很有帮助,这也是欧美企业一贯的做事方针,也是现代化企业尤其软件部分所应该遵循的方针。
免责说明:本文观点和数据仅供参考,和实际情况可能存在偏差。本文不构成投资建议,文中所有观点、数据仅代表笔者立场,不具有任何指导、投资和决策意见。





