。 本期文章是由Growth Hacking撰稿,作者阐述了一个完整且可靠的汽车软件平台需要具备哪些“特质”,全文共3200余字,以下是正文: 01.愿景总览一个完整且强壮可靠的软件平台,目标的设定基于整车的性能,安全和实时性等多维度的考量,兼顾支持多核异构HPC的硬件限制。(这里必须要强调的是一个度,安全和实时不是绝对的) 为了做到人无我有,人有我优的软件平台,需要有几点宏观的考量: 1,应对多域融合,复杂度,威胁等级不同应用的集成。 2,应对达到最高安全(ASIL-D)和安全级别,以保证各种工况的自动驾驶。 3,提供一个集成的、可扩展的工具环境,支持从系统设计到验证的快速反馈循环。 4,采用持续集成(CI)、持续验证(CV)和持续交付(CD)方法,来应对大规模软件的复杂性。 5,提供从简单微控制器到复杂微处理器的无缝解决方案,平台将基于开放标准构建。它将包括非通用CPU,如图形处理单元(GPU)和深度神经网络(DNN)引擎。标准将包括AUTOSAR和机器人操作系统(ROS)。 6,为从微控制器和高性能计算平台构建的系统提供一个高效、可扩展的运行调度环境。 02.相关技术软件平台的开发需要重视以下技术: 1,高性能是第一指标 2,最先进的用户体验 3,开放式的标准 4,Safety和Security 5,确定性执行和实时性 6,支持跨域异构的架构 03.High level的要求1、高性能
2、用户体验
3、开放的标准
4、功能安全
5、信息安全
6、确定性和实时性
04.系统总览软件平台系统模块的概述,包括所有可自主开发的和第三方组件,如下图所示(不同视角的抽象样例,接触不同种架构后会发现其中大量重合)。 (后台回复:AES19,获取高清图片) 提炼出软件平台中的“相同”与“不同”是明确需求阶段的重中之重。 05.ECU架构参考软件平台对应的 ECU通常是多核,上图所示。 HPC是以下组件的组合:
Ethernet:默认通信主干假定为以太网。补充TSN功能,可提供确定性。 PCIe:与以太网主干网相比,更高的带宽和更低的延迟。PCIe可用于满足这些要求,但是投入产出比还没有实际案例验证其必要性。 微控制器&软件平台 在安全岛上,软件平台被设计为软件功能应用程序(也称为软件组件、应用程序...)和复杂设备驱动程序的组合。遵循AUTOSAR方法。 微控制器软件架构基于AUTOSAR Classic。 微处理器&软件平台 微处理器软件架构将基于符合POSIX的操作系统。该架构将重点改进微处理器系统的功能。 软件平台将支持Linux/QNX等。 06.应用API软件平台将提供一个运行时环境,将用户从底层软件机制和硬件中抽象出来。在这个抽象的环境中需要考虑的技术点包括多核、内存、时间戳和确定性。 API遵循开放标准,标准包括:
07.软件平台与Adaptive AUTOSAR在性能核上,软件平台应提供Adaptive AUTOSAR(以下简称AP)兼容层,AP由下图所示的模块组成。 软件平台可以用商业化的堆栈,并需要将扩展规范(关于所需功能),以涵盖整车级别的技术要求,并支持在目标系统上部署。 首先对AP的选择需要提出一些细化的要求,这是比较复杂和核心的内容,对AP,CP,OS等等细化的需求明确后才可以清晰知道需要扩展开发的部分,这个还和遗留的架构和软件强相关。后续空了考虑单独出一期。 泛泛地说将有三类扩展模块:
08.ROS为了支持AD,现在很多开发者开始考虑提供ROS的兼容性框架。 早期阶段,建议可分两个阶段提供ROS支持:
需要考虑到已有的:ROS 2客户端library,ROS 2中间件接口(DDS绑定),与ROS工具套件的互操作性......到量产还有很多需要开发,集成的内容。 09.硬件加速单独列出这个话题,是因为在考虑整体软件平台的项目中,对硬件的依赖是无法回避和忽视的。我的观点是:在软件定义汽车的时代,硬件依旧极其重要。 比如智驾域软件平台应加强对GPU和神经元处理单元(NPU)等非通用CPU的支持。例如:
10.通信软件平台的重点之一是提供一个通信中间件,抽象出所有通信相关的内容。这包括平台软件、功能应用程序、非软件平台的ECU组件与传感器或执行器等车辆组件之间的通信。(整车是做一个完整的系统,弱化域的概念。这个和后续的调度部分也强相关) 通信中间件技术将基于:
软件平台通信bindings/transport 层软件平台需要提供以下通信绑定/传输层(可选但是不限于):
有一些都需要遵循的特性:
1 共享内存 平台需要提供一个高性能的共享内存管理系统。 2 以太网 平台将车内和车外通信的以太网网络技术兼容。同时探索与TSN设备的兼容性,以储备能力提供基于以太网的确定性通信。 3 PCIe 平台需要考虑提供基于PCIe的通信主干网,支持高带宽和低延迟要求。这项工作的范围仅限于通过基于PCIe的骨干网实现通信,并提供连接共享内存管理层和PCIe驱动程序所需的软件堆栈。储备技术,未见商业价值。 4 整车级通信 平台提供通过网关组件在经典总线(如CAN、CAN-FD和以太网)上进行通信的可能性。这将启用平台ECU(HPC)与其他车辆部件(如非平台ECU、执行器和传感器)之间的通信。 基于信号的通信平台将支持基于信号的安全相关通信。这种通信可以在平台托管的应用程序之间进行,也可以在平台应用程序和外部组件(如非平台ECU、执行器、传感器等)之间进行。 面向服务的通信平台的默认通信选项将包括具有动态发布/订阅机制的面向服务的通信。面向服务的通信能力将符合技术清单。对底层通信技术的访问将由所提供的应用程序API完全抽象。 面向服务的通信需要Scalable Service-Oriented Middleware Over IP (SOME/IP)和Data Distribution Service (DDS)。解决方案同时支持部分SOMEIP和DDS。 DDS的大规模使用有待验证。 11.调度首先明确一个目的,调度的核心是简化开发流程,提高平台开发可靠性。 平台将提供功能应用(内容)和网络(路径)调度机制。这些将用于满足需求要求,并简化功能应用程序的集成和验证过程。 调度的基础平台调度基础将遵循以下方法:
工具支持平台提供一个调度套件,支持用户创建、配置和验证自定义调度程序。 调度套件将遵循以下原则:
总结一下,软件平台话题的几个要素:
Growth Hacking SUN 汽车电子与软件特约撰稿人,汽车软件从业者。 |
|