本文由Roman Pallierer 博士,Börge Schmelz 博士联合创作
诸如可供替代驾驶概念和自动驾驶趋势等发展对车辆内部的 E/E 架构提出了很高的要求。特别是自动驾驶功能需要越来越强大的控制单元。此外, 功能之间越来越多地相互联网,并与连接的基础设施(如云端系统)联网(图 1)。通过使用来自各种车辆传感器以及外部来源(例如高度精确的地图资料)的数据,该软件可创建精确的环境模型,例如同时由多个驾驶功能使用的模型。同时,必须能够在车辆的整个生命周期内更新软件以考虑新功能或新的安全风险。该软件承担的驾驶任务越多,与外界的连接越多,对控制单元的功能安全、信息安全、可靠性和完整性的要求就越高。
图 1 车内 E/E 架构的演变
虽然经典 AUTOSAR 是为具有静态功能的控制单元而设计的,但具有自适应 AUTOSAR 的控制单元可以在生命周期中通过附加功能和安全更新等进行增强。
鉴于这些复杂的要求,当今的大部分静态系统(经典AUTOSAR)很快就会达到极限。因此,少数功能非常强大的控制单元正在取代可信域控制器架构。这增加了灵活性,并允许跨域边界动态分配功能。这种新架构在硬件方面通过(多核)处理器的开发以及汽车以太网的可用性来实现,汽车以太网消除了各个模块之间信息交换的带宽限制。
软件变得更加灵活
相应的软件需要更灵活的架构以适应可以代表这些动态的环境。这就是为什么经典 AUTOSAR 已经成为控制单元的标准架构, 而提供自适应AUTOSAR 平台来进行补充。这实现了动态软件配置,并且通过基于服务的通信和异构计算,它提供了确保必要性能的机制。此外,更易于更新或添加软件功能,而无须重新启动整个系统。
尽管如此,经典 AUTOSAR 并没有过时。该标准专为具有有限计算能力的控制单元而设计,与自适应 AUTOSAR 不同,它仅提供操作系统的静态配置。然而,除了主要配置工作的缺点和软件增强的有限可能性之外,这种静态配置确实在安全相关软件组件的实现方面提供了许多优点。
因此, 将经典 AUTOSAR 系统与自适应 AUTOSAR 相结合,以实现必要的性能以及自动驾驶等技术的 E/E 架构的安全性是有道理的。但两种标准如何在中央控制单元上有效地协同工作?
极具性能和安全核心的多核架构
特别是安全相关和CPU 密集型功能的组合始于硬件级别。中央控制单元使用 Elektrobit 软件, 包含一台高性能计算单元,该计算单元包含多个多核处理器的组合(图 2)。
图 2 极具性能和安全核心的中央控制单元的架构
这些处理器分为具有集成安全硬件的性能核心和安全核心。在性能核心上运行的是多个性能分区,其中执行 CPU 密集型车辆和用户功能。它们还具有安全分区,可确保安全启动并确保应用程序经过身份验证。反过来,安全核心可以执行安全关键功能、真实性检查、监控和验证性能核心的结果。性能和安全核心的数量和组成原则上是灵活的,并且基于控制单元的项目要求。中央控制单元还通过具有多个千兆以太网通道的以太网交换机连接到其他控制单元。
已有最初的硬件解决方案可用于这种性质的高性能中央控制单元,例如瑞萨的 R-Car H3、英特尔的 Denverton 和英伟达的Parker(T186),它集成了强大的性能处理器和安全控制器的组合。
这种中央控制单元构成了满足 5 个关键要求的软件架构的基础:
①在一个控制单元上集成车辆功能;
②执行安全相关功能;
③安全启动整个系统;
④优化通信;
⑤更新和添加车辆功能。
集成车辆经典和自适应AUTOSAR功能
以前在各种( 单个) 控制单元上运行的功能现在可以集成在一个中央单元上。性能核心的硬件资源由虚拟机管理程序分开管理。虚拟机管理程序虚拟化硬件,并在此过程中将分区作为虚拟机提供多核异构。通过这种方式, 集成商可以创建各种自适应 AUTOSAR 分区以及经典AUTOSAR 分区。后者使用基于经典 AUTOSAR 的操作系统和基础软件。作为软件组件 (SWCs) 存在的车辆功能可以像经典AUTOSAR 控制单元一样集成。自适应 AUTOSAR 操作系统使用POSIX 兼容的操作系统和自适应AUTOSAR 基础软件。该结构允许基于经典 AUTOSAR 的车辆功能以及基于自适应 AUTOSAR 的车辆功能集成在控制单元上。
与性能核心相比,安全核心的硬件设计符合 ISO 26262 的更高安全级别(汽车安全完整性等级,ASIL),并提供用于检测错误的特殊机制。应用现有经典AUTOSAR 控制单元的既定安全概念。
符合ASIL D 设计的控制器与经过安全认证的操作系统和其他经认证的基础软件组件相结合,可用于运行时监控和安全通信,可根据ASIL D 实现具有最高安全要求的功能集成。由于总体概念,虽然没有考虑到安全性,但这些功能强大的内核可以监控性能核心,也可以满足所需的安全要求。
安全的系统启动
总体启动概念允许中央控制单元在规定的时间范围内安全启动( 图 2)。启动过程中单元的顺序和交互对于满足系统可用性方面的时间要求以及使安全规范尽可能快地配置来说就显得特别重要。为此,需要定义各个核心的角色,以便从主站启动从站及其分配的组件。
出于逻辑原因, 首先启动安全核心, 即其监控功能和较短的启动时间。提供多个虚拟以太网端口需要使用高性能以太网交换机。它通过安全控制器连接,以实现以太网通信的快速可用性。然后启动性能核心, 从安全分区开始, 该分区具有保护所有较低级别和更高级别应用程序的功能。
优化通信
为了改善车辆功能之间的通信, 经典 AUTOSAR 和自适应AUTOSAR 都使用基于服务的通信概念 SOME/IP。为了确保各个分区对中央控制单元内的以太网硬件交换机进行调节访问, 需要一个特殊的虚拟以太网交换机驱动程序。这不仅可以调节与其他控制单元的通信, 还可以同时调节分区之间的有效内部通信(图 3)。
图 3 虚拟以太网交换机驱动程序调节与
其他控制单元的通信和分区之间的通信
自适应 AUTOSAR 的主要功能之一是能够在运行期间追溯更新控制单元上的各个功能。与经典 AUTOSAR 相比,这可以在不更换和不重新启动控制单元整个软件的情况下完成。但是,它确实需要以受控方式完成,以防止任何错误甚至有害的更新。因此, 在安全分区上运行的加密过程将用于所有自适应AUTOSAR 应用程序。它们审核要加载的功能的签名,并且只有在成功进行身份验证后才允许更新这些功能。
通过嵌入式Linux实现更灵活的软件开发
在经典 AUTOSAR 中还指定了操作系统,而使用现有 POSIX 操作系统是自适应 AUTOSAR 的基本要求。这构成了灵活软件开发的基础。标准化编程接口使开发人员能够彼此独立地创建应用程序并将它们自由地分发给车辆中的控制单元。这里的先决条件是操作系统为应用程序提供符合 IEEE 1003.13 的 POSIX 类 PSE51 的 接 口 。 除 了 Wind River 的 VxWorks、Green Hills 的 Integrity 和 QNX 等专有操作系统外,开源软件操作系统 Linux 也有望成为替代方案。但是它适用于自适应 AUTOSAR 系统吗?
与商业 POSIX 操作系统不同,当倾向于提供预编译为二进制代码时,Linux 在开发和集成期间可用作源代码。这可以实现更透明的开发过程,部分是通过改进客户的调试来完成的。Linux 内核也可以扩展,这意味着客户有机会添加自己的内核模块。
此外,Linux 提供的功能远远超出了所需的 POSIX 标准。Linux 也已经在各种行业中使用, 并通过来自数十亿安装用户的反馈进行了优化。汽车行业也已经使用 Linux,目前主要是信息娱乐和人机界面领域。内核本身不断通过 Linux 社区进行优化和增强。Linux 可以通过免费软件许可证 (GPLv2) 获得,因此不需要许可证费用。客户通过设置、定制和配置以及定制交付的鉴定和维护等服务产生成本。
尽管如此,将 Linux 与自适应 AUTOSAR 配合使用确实提出了针对汽车的许多挑战(图 4)。
图 4 将 Linux 与自适应 AUTOSAR 配合使用,
必须满足许多特定于汽车的要求
软件更新和安全性
连接到互联网的控制单元会受到持续攻击。这些攻击可能来自外部,但它们也可能由控制单元本身的有害应用触发。除了上述加密过程外,还会在内核中添加特殊扩展(如 seccomp-bpf) 以限制应用程序的系统调用。
除了开发版本之外,每年还会引入特殊版本的 Linux 内核, 并提供两年的长期支持。对于具有典型 4 年开发周期的车辆,系统必须由制造商和供应商专门设计,以便在开发期间和之后的运营中更换内核,同时系统保持与现有应用程序的二进制兼容性。使用 Linux 容器技术可确保内存和 CPU 以及共享资源层面的安全性。它还可以单独更换单个容器。该解决方案已在其他行业中证明了其价值,并且 Elektrobit 首次在该汽车行业项目中使用该解决方案。
车辆中的许多敏感功能和应用程序,例如仪表板和倒车摄像头, 需要在 2 s 内启用或执行。这是通过配置和优化Linux 内核、图 3 虚拟以太网交换机驱动程序调节与其他控制单元的通信和分区之间的通信裁剪不必要的服务以及根据紧急程度或可用性需求组织启动过程来实现的。
可测试和保护此类复杂系统是在汽车行业中使用 Linux 的先决条件。选项包括免费提供商业测试环境或转包给专业公司。开源自动化开发实验室(OSADL) 等组织提供支持服务。
让自适应AUTOSAR为批量生产做好准备
凭借其 4 个主要版本,经典 AUTOSAR 成为成熟的标准已经有 10 余年,而目标是将自适应 AUTOSAR 更快地开发成一个成熟的标准。为此,规范的每次交付都附带一个参考实现,用作概念验证(POC)。
此外,使用现有的自适应操作系统,有时是免费的实现,例如 Linux,可以节省时间和精力。现在的挑战是将自适应 AUTOSAR 的实现部分转换为适合批量生产的软件。将使用经典 AUTOSAR 的既定方法检查实现部分的质量。这些要求包括定义代码和测试覆盖的质量特性,这些特性必须用于根据发布过程检查实现部分。根据这些结果,将决定采用和扩展或使用自适应
AUTOSAR 实现部分。
自适应 AUTOSAR 标准仍在开发中。要在一系列项目中使用, 必须按时提供必要的功能组件, 任何延迟或计划的 AUTOSAR 版本中缺少这些元素都将影响项目进度。必须向项目提供尚未完全定义的任何进一步要求并反馈到标准中。至关重要的是,自适应 AUTOSAR 所需的新开发及其可能的用途将由客户快速评估,以便继续推动标准的开发。在使用 Elektrobit 软件的中央控制单元上巧妙地组合经典和自适应 AUTOSAR 具有非常大的潜力, 也将大大加快适用于未来几代车辆的高性能计算平台的自适应 AUTOSAR 的推出。