微波EDA网,见证研发工程师的成长!
首页 > 硬件设计 > 硬件工程师文库 > 一文讲透从IP层面如何实现汽车功能安全

一文讲透从IP层面如何实现汽车功能安全

时间:08-30 来源:ARM 点击:

素),也有可能与使用的工具有关。减少故障的一种方法是执行严苛的质量管控流程,必须包括详细的规划、审查和量化评估。合理的规划使用工具认证非常重要,管理与追踪需求变更的能力也同样关键。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,业内也称及时故障)提出了建议参数。可检测故障的比例被称为诊断覆盖率。

Copyright © 2017-2020 微波EDA网 版权所有

网站地图

Top