历史上的今天
返回首页

历史上的今天

今天是:2024年12月07日(星期六)

2021年12月07日 | 在软件定义汽车中使用DDS中间件的安全机制

2021-12-07 来源:EEWORLD

在软件定义汽车中使用DDS中间件的安全机制


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


向软件定义汽车转变


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


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


image.png?imageView2/2/w/550


面向自动驾驶的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网络活跃度变化。系统可以根据此类诊断信息实施恢复机制,例如重启。


无缝接管


即使发生故障的AD组件不是故障静默的,系统也可以实施接管安全机制,在不影响系统可用性的情况下主动否决故障或不可靠的组件。可以使用DDS独占所有权和所有权强度QoS策略来实现接管。这些QoS策略控制允许哪个数据写入者向数据读取者发送数据。当安全检查工具检测到主数据写入者未正常运行(例如错过截止日期或发送越界数据)时,会触发所有权强度更高的健康数据写入者将数据发送到数据读取者。


故障切换与接管相结合的混合方法


DDS截止日期、活跃度、独占所有权和所有权强度可以结合在一起,实现同时利用故障切换和接管机制的混合机制。例如,通过监测DDS网络的活跃度,安全检查工具可以在节点静默故障时灵活地触发故障切换机制,或者在运行的节点未故障静默并发布错误数据或错过截止日期时激活接管机制。由于所有权强度QoS值不同,系统在主通道和安全通道之间无缝切换时,也可以轻松处理系统中的过渡故障。


安全机制评估


为了在真实环境中评估在S32G上实施的基于DDS的安全机制,恩智浦与RTI(Real-Time Innovations)公司的汽车工程专家团队合作。RTI是一家领先的自动驾驶系统软件框架提供商,经营名为Connext DDS的DDS产品和工具组合。我们携手将恩智浦安全检查工具集成到基于Auoware.Auto的自动代客停车(AVP)演示中,Auoware.Auto是Autware基金会的一个开源项目。该演示展示了汽车如何自动驶入代客停车场。Autoware.Auto是一个基于ROS2的成熟的端到端自动驾驶框架,它使用DDS作为底层中间件。


演示设置架构


硬件在环评估演示设置的架构如下图所示:


大多数Autoware.Auto AD堆栈(如定位、感知、预测、路径规划)都运行在恩智浦BlueBox汽车高性能计算开发平台Layerscape处理器的ROS2/DDS上。本例中的DDS中间件是RTI的Connext Pro,通过RTI的rmw_connextdds RMW层组件与ROS2集成。


恩智浦车联网GoldBox中的S32G在演示中充当区域控制器,其中线控驱动软件接口在S32G Cortex-A53内核的ROS2/DDS上运行。在真实汽车中,该接口用于将以太网数据包中的车辆控制命令转换为执行器的CAN消息。在模拟环境中,使用它将数据在Autoware.Auto和开源LG SVL端到端模拟平台使用的格式之间进行转换。安全检查工具带有安全接管和故障切换机制,基于运行在S32G Cortex-M7内核上的RTI DDS Connext Micro。


外部模拟PC上运行的LG SVL模拟器可模拟道路使用者、自主车辆执行器和传感器的数据。


image.png?imageView2/2/w/550


使用基于DDS的安全机制处理故障的演示视频


在评估设置中,我们将类似于现实问题的故障注入AD系统,并观察基于DDS的安全机制如何处理这种情况。下面的演示视频展示了安全检查工具是如何监测、检测和应对系统故障的,如软件崩溃、掉电和网络连接中断。


结论


为了顺应向软件定义汽车转变的发展趋势,汽车系统软件需要模块化、可靠和可扩展。正如Autoware.Auto AVP实验所示,恩智浦S32G ASIL D Cortex-M7处理器内核能够很好地在自动驾驶系统中充当安全检查工具。RTI Connext DDS中间件为整个汽车系统的强大处理器和资源受限的微控制器提供了一个通信框架,从而促进了这一进程。DDS凭借其丰富的服务质量策略,在软件定义汽车中实现了多种安全机制,其工程工作量低,互操作性强。


作者:


Jochen Seemann

image.png?imageView2/2/w/550

Jochen Seemann是恩智浦半导体的嵌入式软件架构师。他毕业于巴登-沃尔滕堡合作州立大学应用计算机科学专业,在工业PC接口全栈软件开发方面拥有5年经验。Jochen还担任过5年的汽车领域一级软件工程师和架构师,主要致力于IVI和自动驾驶产品的工作。此外,他还促进了开源Qt框架的开发。


Yuting Fu

image.png?imageView2/2/w/550

Yuting Fu是恩智浦半导体公司的系统工程师。她拥有埃因霍温理工大学和柏林理工大学嵌入式系统硕士学位。Yuting编写了3本与自动驾驶系统车辆安全机制有关的科学出版物。此外,她还是经过认证的IEC 61508功能安全专家。


Andrei Terechko

image.png?imageView2/2/w/550

Andrei Terechko是恩智浦半导体公司的高级首席架构师。Andrei拥有15年跨国公司工作经验,10年初创公司工作经验。目前,他致力于自动驾驶的安全机制和架构工作。Andrei与他人合作申请了15项专利、合著了20多本国际出版物和公开演讲稿。


Emilio Guijarro Cameros

image.png?imageView2/2/w/550

Emilio Guijarro是Real-Time Innovations (RTI)的高级汽车应用工程师,在国防和汽车行业(包括汽车娱乐中控系统)方面拥有超过15年的工作经验。他于2019年加入RTI,致力于将DDS集成到汽车用例和特定开发环境(包括AUTOSAR生态系统)。


–结束–


推荐阅读

史海拾趣

CR Magnetics公司的发展小趣事

CR Magnetics公司成立于1986年,自创立之初,公司便致力于提供高质量的传感器、传感器组件等系列产品。凭借创始人的远见卓识和团队的共同努力,CR Magnetics很快在电子行业中崭露头角。公司总部位于美国密苏里州圣路易斯市,拥有先进的生产设施和仓库,为产品的研发和生产提供了坚实的基础。

DINTEK公司的发展小趣事

随着技术的不断进步和市场的不断变化,CR Magnetics意识到只有不断创新才能在竞争中立于不败之地。因此,公司加大了研发投入,积极引进新技术和新材料,不断推出具有创新性和竞争力的新产品。例如,公司研发的直流传感器在行业内享有很高的声誉,广泛应用于电池充电等领域。此外,公司还推出了一系列模拟量传感器、ANSI和商业级电流互感器等,满足了不同客户的需求。

AIM公司的发展小趣事

AIM公司深知质量是企业的生命线。因此,公司始终将质量管理放在首位,建立了严格的质量控制体系。从原材料采购到产品出厂,每一个环节都经过严格把关,确保产品的质量稳定和可靠。同时,AIM还注重品牌建设,通过提供优质的产品和服务,树立了良好的品牌形象和口碑。

Clever Little Box公司的发展小趣事

Clever Little Box公司成立于1964年,当时正值电子行业的蓬勃发展时期。创始人凭借对音频和电子技术的深厚理解,以及对市场的敏锐洞察,决定成立这家公司,专注于音频和电子组件的分销。创业初期,公司面临着资金短缺、市场竞争激烈等诸多挑战,但创始人凭借坚定的信念和不懈的努力,逐渐在市场中站稳了脚跟。

芯旺微电子(ChipON)公司的发展小趣事

芯旺微电子自2012年成立以来,始终致力于高可靠性MCU器件的研发设计。公司凭借其自主研发的KungFu内核架构处理器,迅速在汽车级和工业级混合信号MCU领域崭露头角。随着技术的不断积累和市场的深入拓展,芯旺微电子逐渐从一家初创公司发展成为国内车规级MCU市场的领军企业。

GSR Technology Ltd公司的发展小趣事

随着技术的成熟和市场的认可,GSR Technology Ltd开始寻求国际合作机会,以进一步扩大其市场影响力。公司与欧洲一家知名雷达制造商达成战略合作,共同开发面向全球市场的先进GSR系统。这一合作不仅提升了公司的产品竞争力,还为公司打开了欧洲市场的大门。随后,公司逐步在北美、亚洲等地设立分支机构,实现了全球化布局。

问答坊 | AI 解惑

运算放大器稳定性

  作者:Tim Green,德州仪器 Burr-Brown 产品线线性应用工程经理   在写“保持容性负载稳定的六种方法”部分时发生了一件有趣的事情。我们选择了具有“轨至轨”输出的 CMOS 运算放大器并测量了 ROUT,但在高频区域没有环路增益,因而无 ...…

查看全部问答>

向阳1号油耗GPS和普通GPS的区别在哪里

北京向阳天科技有限公司(www.xiangyangtian.com) 是一家专业从事数据传输及全球卫星定位产品(GPS)研发、 应用的专业公司。其产品在全国车辆GPS定位市场上占有一席地位。 公司产品包括车载GPS定位仪、车载GPS导航仪、车辆油耗型GPS定位仪、 ...…

查看全部问答>

关于,电源、地的问题?

是不是LM3SXXXX的电源、地引脚是否必须连接到一起,并在每对上加上旁路电容??可不可以只有部分连接电源,而其它的不连接电源呢??会不会供电不足啊?PS:顺便问下由LM3S1138移植其它型号,要改些什么?工程模板可以直接用1138的吗?…

查看全部问答>

android的g-sensor驱动

请问谁有Freescale MMA7455的android驱动啊,挂在I2C上。有的请发我邮箱tigerhily@163.com 谢谢了…

查看全部问答>

c# 关于rfid读取的问题

我的rfid是能读出RFID卡内的序列号并通过PS/2输出至电脑,相当于自动键盘输号。 我用C#怎么才能实现读取阿? 产品说可用常用的《WORD》、《记事本》等软件记录卡号,为什么读不出来?? …

查看全部问答>

请教各位兄弟,南京福特的工程研究中心怎么样?

如题, 网上看到FORD正在搞SYNC系统,主要是体现更好的的人机交互,包含语音识别,TTS语音合成,触摸等多种交互形式。 周五去要面试一下…

查看全部问答>

STM32F103VBT6也有Y版么?

                                 问了国内某代理商,销售到技术都不清楚这个,真是晕!我要最新的Z版,可是他们却不清楚这些,我发现很多代理商对ST ...…

查看全部问答>

TI例程enet_io用到的CGI函数有谁能介绍吗

以太网中网页控制,enet-io这个例程里用到了SSI和CGI的结合,但是有些函数跟本不是一下子就能理解的,参数调来调去不好理解,有谁能给解释吗?  …

查看全部问答>

LPC800 开发板 I2C 的使能问题。

我把周立功的LPC800例子里面的I2C中的I2C_EEPROM的程序改了一下,还是无法运行,请帮忙看一下。 void I2CInit (void) {     //原始程序用的最适宜做I2C的口,小板上没有        //LPC_IOCON->PIO0_10   ...…

查看全部问答>