一文讲透从IP层面如何实现汽车功能安全
素),也有可能与使用的工具有关。减少故障的一种方法是执行严苛的质量管控流程,必须包括详细的规划、审查和量化评估。合理的规划使用工具认证非常重要,管理与追踪需求变更的能力也同样关键。ARM的Compiler 5编译器已经通过南德集团(TÜV SÜD)认证,助力安全研发,客户无需对编译器进行额外认证。
还有一种故障类型被称为随机硬件故障。它们可能是图2显示的永久性故障,比如短路;也有可能是由于天然辐射而造成的软性故障。这类故障可以利用集成在软硬件的方案进行处理,因此系统级的技术也同样重要。举例来说,逻辑内建自测试(BIST)可以应用于系统启动和关闭,区分软性和永久性故障。
图2:故障类型
应对措施
故障检测和控制措施的选择和设计是流程设计师最喜欢的环节,因为他们可以同时用系统级和微架构级的技术大展手脚。建立故障模式概念和效果分析(FMEA)是个不错的开始,列举出所有可能出现的故障模式及其后果的严重程度。有了这些信息,加上设计师对复杂系统的深入理解,即可鉴别出最严重的故障模式,并设计出应对措施。
应对潜在故障的方法较多,下面列出了一些最常用的技术:
1、多样化检查器:使用另一条电路检查主电路是否发生故障。举个例子,检查器可以为中断控制器计数,持续记录人为及系统引起的中断总数。
2、完整锁步复制:该技术主要用于Cortex-R5处理器,对一个IP元件(如一个处理器)进行多次实例化,利用循环产生操作延迟,生成时间和空间冗余。大容量存储通常由多个实例共享,以降低所需面积。尽管这一技术非常可靠,但也极为昂贵。
3、选择性硬件冗余:这个方案里,只有硬件的关键部分可以复制,如仲裁器。
4、软件冗余:硬件冗余通常非常复杂,而且会产生间接成本,是对资源的不合理使用。硬件运算的替代方法就是,在多个处理器内核上运行同一次计算,检查结果是否匹配。
5、错误检测和校正码是另一种为人熟知的技术,通常被用于保护存储器和总线。代码类型多种多样,但目标只有一个,既通过少量附加位获得更高冗余,无需复制所有底层数据。汽车系统中,这一尖端技术可以利用足够多的冗余检测出一个存储字的2位错误;并支持错误修正。
故障日志
检测出故障后就必须进行记录,以帮助监管软件判断系统的健康和安全状况。安全故障(如存储器修正)和危险故障(如不能挽回的硬件故障)必须分别记录。
故障记录通常从故障计数开始,可以由系统级架构记录有信号事件(类似于中断)的数量;或者由IP计数器记录。为了解这些事件发生的原因,最好还能将过去的事件作为参考,判断当前时间的发生原因。为支持这一需求并进行调试纠错,可以允许一些IP捕捉额外信息,如被侦查的存储地址。因为该地址通常会由软复位保存,所以可以在系统启动和系统自检过程中被读取。
有一点需要牢记,故障也可能发生在安全架构本身。与硬件故障不同的地方是,后者通常可以在使用过程中被很快发现,但安全检查器中的故障可能是潜伏的,它已经无法侦测危险故障,但故障却已经悄悄地蔓延开了。这样的故障被称为潜伏故障,定期测试检查器是个不错的方法。
安全完整性等级
不同的标准体系反应安全等级的方法也各不相同,但其主要目的是直观的反映功能的关键性。比如说,控制挡风玻璃雨刮、安全气囊或制动器的ECU,完整性必须高于控制车速表或泊车传感器的ECU,因为前方视野至关重要,突然刹车或气囊充气可能造成致命后果,驾驶员也会凶多吉少;而车速表或泊车传感器对安全停车的重要性就低得多了。
换句话说,安全完整性等级是与人避免危险情况的必要性和能力相关的;而各项标准的作用就是指导人们如何定义安全完整性等级,并提供相关参数,帮助其对系统完整性进行量化。
IEC 61508将安全完整性等级(SIL)分成4级,第4级为最高完整性。与之相似,ISO 26262提出了汽车安全完整性等级(ASIL),最低为ASIL A,最高为ASIL D。此外,就表二所示,针对ASIL B到ASIL D,ISO 26262分别就单点故障、潜伏故障和硬件故障概率指标(PMHF,业内也称及时故障)提出了建议参数。可检测故障的比例被称为诊断覆盖率。
ARM Cortex-R系列 汽车功能安全 芯片 相关文章:
- 基于ARM+FPGA的大屏幕显示器控制系统设计(06-30)
- 基于ARM和μC/OS-II的车载定位终端的设计(06-24)
- 解读物联网时代下的ARM mbed 操作系统(05-03)
- 用ARM和FPGA搭建神经网络处理器通信方案(07-19)
- ARM新一代Cortex-A73架构解析 千元机也能有高端SoC(05-06)
- 阿里巴巴将大量采用ARM处理器 Intel怎么办?(11-14)