整车操作系统的各种特征,以及Android系统在其中所扮演的角色

描述

在软件定义汽车的时代,Vehicle OS需要应对日益严峻的软件开发与集成的挑战,其中之一便是如何将面向特定域开发的软件解决方案无缝集成到整车的架构中。这些软件解决方案并非基于特定的E/E架构开发,但必须能够与之无缝交互。本文将阐述统一的整车操作系统的各种特征,以及Android系统在其中所扮演的角色。

许多整车厂正在从机械主导汽车向软件定义汽车(SDV)转型。越来越多的用户可以体验到的功能需要通过软件来实现,而非通过机械或机电部件。因此,整车厂需要通过软件更新,在车辆全生命周期内为其部署或改进功能,从而开辟新的业务领域。

如果要充分发挥SDV的潜力,须满足如下三个条件:

>

E/E(电子/电气)架构必须支持硬件算力(HW)和软件(SW)的解耦。因此,未来的大多数车辆都将基于中央/域控(Central/Zonal)架构,包含三种ECU:高性能计算机(HPC)、区域集成域控(Zonal)和传感器/执行器ECU,如图1。

>

HPC和区域集成域控需要搭载车规级的高性能微处理器和微控制器。此类芯片已经面世,计算能力也在逐代提高。

>

要应对软件开发和集成方面日益严峻的挑战,需要一个功能强大的软件平台和生态系统,即Vehicle OS(整车操作系统)。这对于HPC和区域集成域控来说尤其关键,因为两者通常采用异构的硬件/软件架构,运行数十到数百个应用程序。

传感器

Vehicle OS

目前业内对“Vehicle OS”(又称“Car OS”和“Automotive OS”)一词的使用和解释尚未达成共识,如下是Vector对Vehicle OS的定义:

Vehicle OS是所有车辆域软件和服务的开发运行平台,由Base Layer和Software Factory(软件工厂)组成,需要支持不同开发者之间的合作。

>

Vehicle OS的软件运行环境称为Base Layer,在实例化时会因其所运行的平台(微控制器、微处理器和Backend)而有所差异。

>

作为Vehicle OS的基础架构,Software Factory支持Base Layer和软件应用的自动化开发、集成和部署。

>

整车厂和供应商之间紧密而敏捷的合作是成功的关键。

Vehicle OS将覆盖代码量较大的ECU,尤其是HPC、区域集成节点和Backend。整车厂越来越将这些领域视为其价值链的核心要素,并将在更大程度上主导Vehicle OS的开发。

Base Layer

Base Layer有两种基本类型:一种用于车载ECU(In-vehicle Base Layer),另一种用于相关的Backend(Backend Base Layer)。本文的重点是车载Base Layer,由多个架构层的软件模块组成:从与硬件相关的基础架构软件,到操作系统(OS)和中间件解决方案,再到整车定义的系统功能,如图2所示。这个软件的超集(Superset)适用于整个Vehicle OS。在特定ECU上实例化Base Layer时,只考虑该ECU所需的模块。

对于操作系统和中间件层,AUTOSAR Classic Platform已被大量用于微控制器软件的开发,相应的Base Layer同样基于该标准。考虑到图片的对称性,OS在图2中显示为一个单独的组件(实际上AUTOSAR Classic Platform已经包含OS)。微处理器的情况与微控制器不同。在微处理器中,通常会使用多个基于POSIX的操作系统和不同的中间件,这是因为不同的车辆域对基础架构和中间件有不同的需求,并且遵循各自的开发流程。因此,在某些情况下,特别是在车载信息娱乐系统(IVI)和ADAS/AD领域,通常会使用特定的软件解决方案。

与AUTOSAR Classic Platform不同的是,AUTOSAR Adaptive Platform不定义自己的操作系统,而是基于POSIX操作系统。除了支持通过零拷贝机制进行ECU内部高效数据交换以及SOME/IP等通信协议之外,AUTOSAR Adaptive Platform还支持更多车载用例,如诊断和网络管理等。在定义中间件时,AUTOSAR Adaptive Platform特别强调功能安全和网络安全,同时也没有忽视对数据吞吐量的高要求。基于这些特点,AUTOSAR Adaptive Platform已成为ADAS/AD应用及其它车辆域(如车身和舒适性等)的中间件。在信息娱乐域,受消费电子产品启发甚至源自消费电子产品的软件解决方案越来越多。由于其来源和定位,往往需要进行针对车辆的专用集成。Android车辆操作系统就是一个典型例子,稍后将对其进行更详细地讨论。

传感器

Software Factory

HPC和其它集成大量软件的ECU通常不再按照传统的V模型进行开发,而是遵循DevOps等敏捷开发方法,通过整车厂和供应商之间的密切合作来实现。这些节点的应用软件通常面向Feature开发,同一时期会有大量的源代码分支。因此,不同分支的合并以及对源代码更改的快速验证就显得尤为重要。即使在较小的ECU项目中,应用软件和Base Layer的集成也非常耗时,工作量随着要集成的应用程序数量指数级增加,这些应用程序通常在不同地区/时区的开发中心并行开发。因此,手动的集成方法已不再可行,Software Factory通过尽可能完全自动化地进行软件集成来解决这一问题(图3)。集成所需的一些信息已在系统设计中提供,通常位于AUTOSAR交换格式(ARXML)中。缺失的集成条件或集成指令,如调度信息或对特定Base Layer的配置,可以通过修改可读性较强的配置文件轻松添加。

Software Factory基于常见的DevOps工具,如GitHub和GitLab,并辅以汽车开发专用工具,如自动化的配置工具和专用集成管道。与Base Layer类似,Software Factory必须兼容各种标准和现有生态系统,并与之交互,以实现集成过程的完全自动化。

传感器

Android

Android是为智能手机开发的操作系统。这类设备配备图形化的触摸式界面,并具有丰富的音视频功能。智能手机可以处理消费电子产品和移动通信的典型接口,还能动态添加和替换应用程序(app)。安卓系统为应用程序提供一个标准化、高度独立于硬件且易于使用的运行环境,以及一个包含软件开发工具包(SDK)、仿真器、文档和示例的生态系统。在此基础上,一个庞大的全球应用程序开发者社区被建立起来。该解决方案的可扩展核心是Google提供的安卓开源项目(AOSP)。

由于IVI系统的需求特征与智能手机的需求特征高度相似,因此显然可以在车载域中使用安卓系统。在使用AOSP时,整车厂可以自行开发地图服务、语音助手和应用程序商店等重要功能,或以Google车辆服务(GAS)的形式从Google获得商务授权。目前,市场上已经有各种基于AOSP的IVI系统,有使用GAS的,也有不使用GAS的。

Android Automotive OS

纯粹基于AOSP的IVI系统还需投入更多的开发才能进行批量生产。Google已经认识到这一点,并推出Android车辆操作系统(AAOS)的增强功能,极大地方便了其在汽车领域的使用。其中一个例子是摄像头硬件抽象层,可以在启动过程的一开始,就能显示后视摄像头的图像。另一个例子是车辆硬件抽象层(VHAL),代表为IVI应用程序设计的车辆属性模型,提供的属性包括电池尺寸和充电状态,以及目标和实际的内部温度。配置适当的权限后,应用程序可以更改设置值,从而允许用户通过图形界面控制空调系统。由于IVI系统是许多车辆功能的中央控制单元,VHAL通常会根据整车厂特定的基础进行扩展,因此包含的属性比Google提供的标准属性更多。

VHAL支持开发具有高度复用性的应用程序。在目前的实现中,VHAL为不同车辆及其各自在IVI系统中的开发提供合适的解耦。但将AAOS集成到特定IVI ECU时,需要针对不同车辆的特性进行调整。不同车辆通常以不同的方式建立网络连接,例如通过专用以太网接口、Inter Partition通信、进程间通信(IPC)或者多种方式相结合。

VHAL Generation

ECU之间的车载通信通常依据AUTOSAR方法并以ARXML进行描述,因此可以利用这些信息将车辆侧提供的信号和服务与相应的VHAL属性联系起来。这里需要考虑的是,Android应用程序希望其行为符合VHAL标准,但在对车辆通信建模时,其它考虑因素也至关重要。因此,信号和服务不一定能够一对一映射到VHAL属性。此外,在系统启动或软件更新等关键操作阶段的行为也必须被考虑到。ARXML建模的通信元素和预期的VHAL行为之间进行适当地转换可以简化初始集成,还能显著减少未来AAOS更新或车辆通信需求变化时的适配工作,如图4所示。

传感器

Conclusion

整车操作系统作为一个覆盖所有相关生态系统的强大软件平台,是实现SDV的前提条件。AUTOSAR在嵌入式运行环境和相关开发流程中发挥着重要作用,但是并不能涵盖所有域的完整解决方案。不同车辆域的特定需求需要不同的软件解决方案,这会导致整个系统的异构,给系统集成带来新的挑战,例如Android车辆操作系统与车载通信ECU的连接。然而,在这种情况下,可以基于现有AUTOSAR系统设计信息生成VHAL来最大程度地减少集成工作。

Vector正在通过嵌入式软件模块和工具链不断扩展其Vehicle OS产品组合,以确保不同车辆域软件解决方案之间的交互并在系统级别支持或简化它们的集成。例如,提供用于将AAOS有效连接到车辆网络信号/服务的VHAL Adapter,以及支持将AAOS作为AUTOSAR Adaptive Platform运行环境的MICROSAR Adaptive。

 

打开APP阅读更多精彩内容
声明:本文内容及配图由入驻作者撰写或者入驻合作网站授权转载。文章观点仅代表作者本人,不代表电子发烧友网立场。文章及其配图仅供工程师学习之用,如有内容侵权或者其他违规问题,请联系本站处理。 举报投诉

全部0条评论

快来发表一下你的评论吧 !

×
20
完善资料,
赚取积分