汽车SoC安全故障的自动识别(下):案例展示和指标分析

本文是关于汽车SoC安全故障自动识别的下篇,通过对AutoSoC基准套件的案例研究,展示了安全故障识别方法在实际应用场景中的应用。在AutoSoC的CPU、UART和CAN模块上进行实验,分析了不同模块的安全故障,并通过故障仿真和形式分析相结合的方式提高了诊断覆盖率。实验结果显示,CPU和CAN模块的诊断覆盖率分别提升了6%和4%,表明该方法对于提高汽车功能安全具有显著效果。
摘要由CSDN通过智能技术生成

   概 要   

《汽车SoC安全故障的自动识别》专题连载共分为“上、下”两个篇章此文为该连载系列的“下”篇章,在该专题连载的“上”篇章中,我们已经对安全故障的背景知识及识别方法有了较全面地了解及认知。那么在此文中,我们将对安全故障自动识别的具体案例进行研究,并结合实验设置及结果进行阐述。

1、案例研究:AutoSoC基准套件

我们将提出的应用程序相关安全故障的识别方法,在AutoSoC标准套件上进行评估。AutoSoC是一个开源测试套件,以可配置SoC的形式,整合了所有必需的组件。该套件通过提供各种硬件配置、安全机制和代表性软件应用程序来支持汽车领域的研究。在本节中,我们详细说明其CPU和其他功能块。

1.1.AutoSoC架构

AutoSoC根据汽车领域使用的商用CPU的特性开发,具有两个主要处理单元,即安全岛和应用专用模块,如图1所示。安全岛处理ISO26262相关的所有安全关键进程,而应用专用模块是执行应用程序进程的硬件。需要强调的是,安全岛和应用程序模块具有专用的软件堆栈来执行不同的应用程序。而且,交互模块为内部通信部署Wishbone总线。此外,图1中的其余模块用来满足通信、网络安全和通用基础设施的要求。

由于AutoSoC是模块化的,因此它具有多种配置,我们使用的是一个叫做AutoSoC QM的配置。

此配置是对标套件的全功能版本。按照图1所示的AutoSoC的功能模块划分,AutoSoC QM配置只有应用专用模块,但我们的工作适用于AutoSoC的所有可用配置。

AutoSoC开发中使用的主CPU是OpenRISC的mor1kx实现。该实现提供了开发SoC所需的所有工具和示例,例如CPU、内存、调试单元、通信协议和总线。在软件资源方面,AutoSoC包含了多种选择,有的来自mor1kx封装,有的根据汽车功能安全分析自行开发。显然,这些软件资源既可用作BareMetal,也可用作多处理器系统(RTEMS)实时操作系统的实时执行程序。此外,我们还开发了巡航控制应用(CCA),用于安全故障识别。该应用程序基于BareMetal和RTEMS操作系统,涵盖多项任务:从UART和CAN读取车辆传感器数据、计算执行命令和设置发动机参数。此外,AutoSoC具有针对CPU (mor1kx_cpu)的STL程序,这些STL程序是为AutoSoC的在线测试开发的。而且,开源AutoSoC包中提供的可用STL包含16个测试程序。

最后,AutoSoC在寄存器传输级(RT-Level)和门级都可用。使用Cadence GPDK045(45nm CMOS通用工艺设计套件)进行合成。本文提出的方法使用AutoSoC的门级模型进行了演示。

图1. AutoSoC功能模块

1.2.串口IP

AutoSoC套件包括一个UART IP,它融合了行业标准National Semiconductors的16550A设备功能。此外,由于它是业界和学术界广为人知,且广泛使用的通信标准,我们的安全故障识别方法也扩展到了UART。

UART是一个电路模块,它采用可配置速度的异步串行通信。同时,它通过从外围设备或CPU接收数据来进行数据传输。此外,UART包括一个中断系统和控制功能,可最大限度地减少通信链路的软件管理。而AutoSoC中使用的UART IP,在与Wishbone总线完全兼容的32位总线模式下运行。如图2所示,UART内核由接收逻辑、控制和状态寄存器、调制解调器控制模模块、发送逻辑、波特发生器逻辑和中断逻辑组成。其中,传入的串行消息由RX移位寄存器接收,其波特率可通过波特发生器逻辑进行编程。如果传入的报文没有问题,则接收到的报文被放置在接收FIFO模块中。相反,TX移位寄存器处理写入传输FIFO模块的数据传输。此外,控制和状态寄存器允许规范和监测所使用的异步数据通信的格式。而调制解调器控制可以将控制信号传输到UART的调制解调器寄存器。UART IP则还有波特率发生器逻辑模块来控制发送和接收数据速率。最后,中断逻辑允许通过UART启用和禁用中断生成。

AutoSoC基准套件包括上述UART IP和一些测试程序,用于试验UART的功能,为研究人员开发和验证他们的方法提供了基准。

图2. UART IP框图

1.3. CAN控制器IP

CAN是博世于1986年推出的一种通信总线标准。在汽车领域广泛用于控制器单元之间的串行通信。CAN有几个好处:成本低,具有自诊断和修复数据错误的能力。这些特性促进了CAN在汽车和其他一些行业(如医疗或航空航天)中的普及。由于它具有汽车行业的代表性,我们在CAN上验证所提出的安全故障识别方法。

AutoSoC对标套件采用SJA1000的开放式硬件实现,它是飞利浦半导体在2000年代初期开发的CAN独立控制器。图3显示了SJA1000 CAN的框图。CAN收发器是将其他节点连接到CAN的模块,CAN控制模块控制CAN帧的接收和发送。接口管理逻辑通过

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值