软件定义汽车将需要多种机制,保证汽车在各种情况下的安全和正常行驶。这些机制的专有解决方案需要大量的验证工作,并且很难与不同的软件架构集成。安全关键型分布式通信是否有标准化软件框架?

向软件定义汽车转变

多年来,传统车身系统中执行分立功能的电子控制单元(ECU)数量一直在增加,这些单元的可编程性较弱。然而,目前先进的汽车设计开始有所转变,逐步转向只分布在几个(域)处理器上的灵活且可互操作的软件。分布式软件执行自动驾驶、娱乐中控、动力和车身控制等协调任务,同时共享处理器、网络和传感器,能够降低系统成本。转向软件定义汽车是汽车行业最重要的趋势之一,软件功能将成为重要的差异化优势。

要在这个领域赢得竞争,汽车制造商需实现快速轻松构建模块化分布式应用,而运行这些应用需要可编程、可靠且低成本的半导体设备。因此,具有易于使用的应用编程接口(API)的标准化软件平台(如POSIX和AUTOSAR)日益受到欢迎。这些软件平台的一个关键组件是中间件,它是各种操作系统和高级应用之间的软件层(见下图)。简单地说,中间件是一个软件库,它使分布式系统组件能够相互通信。软件定义汽车的安全性在很大程度上取决于中间件和底层网络处理器,依靠这两者才能实现分布式进程之间可靠的实时数据通信。

打开网易新闻 查看更多图片

面向自动驾驶的S32G处理器上的安全检查工具原型

一流的自动驾驶(AD)系统通常采用双通道架构来实现冗余,即在正常情况下控制AD系统的主通道旁边部署备用通道。如果主通道出现故障,汽车控制将切换回备用通道。这样能够同时提高AD系统的安全性和可用性。这种架构需要一个安全检查工具来验证主通道的运行状态,并在必要时触发安全机制,如安全停车。显然,安全检查工具的计算和通信功能非常关键,这对其容错和可靠性提出了很高的要求。

恩智浦S32G汽车网络处理器非常适合执行具有各种安全机制的高度可靠的AD系统。S32G中的Arm® Cortex®-A53内核提供高性能计算能力,ASIL D Cortex-M7安全内核锁步模式适合运行安全关键型功能。此外,面向服务型网关的S32G GoldBox参考设计上集成的SJA1110以太网交换机提供了时间敏感网络(TSN)功能,可与网络上分布的高级AD应用进行实时可靠的通信。

除了完整性较高的硬件外,在S32G中的Cortex-A53和Cortex-M7内核上运行的数据分发服务(DDS)中间件软件负责管理分布式系统的数据和通信。DDS中间件协议基于对象管理组织®(OMG®)标准化的发布-订阅模式。DDS已集成到各种关键的汽车平台生态合作体系中,例如AUTOSAR Adaptive和ROS2。DDS提供低延迟数据连接、可靠性和可扩展的以数据为中心的通信。此外,DDS附带了一组丰富的内置服务质量(QoS)策略,可控制DDS行为,如资源消耗和通信可靠性。如需了解DDS的基本原理和QoS策略,可以尝试互动式Shape演示应用或观看演示视频。

请注意,面向资源极度受限环境的DDS通过使用OMG DDS-XRCE协议实现。这是客户端到代理协议,意味着DDS-XRCE客户端节点通过外部代理节点与DDS网络通信。DDS-XRCE非常适合为物联网设备开发轻量级DDS应用,但在安全关键型系统中使用时,该代理可能会成为单点故障。然而,运行在S32G Cortex-M7上的RTI Connext®DDS Micro无需任何桥接或代理,可直接与功能齐全的DDS网络进行通信,从而消除了单点故障。ISO 26262汽车安全环境中也可构建集成RTI Connext DDS Micro,其安全等级最高可达ASIL D级。

以下是对实施冗余自动驾驶通道特别有意义的DDS QoS策略:

“截止日期”表示是否满足数据发送和接收时间要求。每当不满足发送和/或接收时间限制时,数据写入器和数据读取器都会通知应用。

“活跃度”表示新的数据写入器(DDS发布者节点)是否加入或仍然存在于网络中。

“独占所有权”和“所有权强度”规定,只有具有最高强度值的数据写入器才能写入特定实例。

“传输优先级”表明数据写入器或数据读取器发送的数据具有特定优先级。要了解此QoS策略如何将DDS主题链接到TSN流的更多信息,请查看我们关于DDS和TSN集成的在线研讨会以及我们在GitHub上集成DDS-TSN的开源示例项目。

一旦DDS中间件层就绪,就可以使用DDS内置QoS策略。这简化了开发过程,极大地提高了软件组件的互操作性和可重用性。DDS多种发行版本,可满足分布式AD组件的不同系统要求。在分布式AD系统中实施DDS既设立了一个通用的通信和数据管理框架,也毫不费力地增加了系统多样性。此外,基于DDS构建的系统可以使用单个DDS XML文件轻松建模和配置。XML文件格式使系统开发更加容易,可帮助架构师和应用开发人员在系统层面设计软件定义汽车。

使用DDS QoS策略的安全机制

如果组合得当,DDS QoS策略可启用各种故障处理机制和安全措施,应对性能限制。DDS中间件层为在其上运行的所有AD组件设立了一个通用框架。无需太多工程工作即可实现不同规模的各种安全机制,例如故障切换到完全冗余的AD通道或组件的无缝接管。下面将详细介绍在概念验证演示设置中实现的安全机制。

无缝故障切换

故障切换是安全关键型系统中广泛使用的安全机制。它通常依赖故障静默组件,这些组件在发生故障时停止产生输出。通常,当主AD通道发生静默故障时,系统应退回到冗余安全通道,操纵汽车进入安全状态。该机制可以使用DDS活跃度和所有权QoS策略来实现。如果主通道中的汽车控制数据写入者发生静默故障或失去与系统其余部分的通信,那么由所有权强度较低的安全通道的数据写入者生成的样本将自动对汽车执行器可见,并开始无缝控制车辆。同时,使用安全检查工具来监测由于数据写入者故障而导致的DDS网络活跃度变化。系统可以根据此类诊断信息实施恢复机制,例如重启。