
谈谈安全机制的诊断覆盖度
安全机制是ISO26262功能安全产品设计的核心,安全分析FMEA和FMEDA中都会用到安全机制的诊断覆盖度,本文深入探讨如何确定安全机制的诊断覆盖度。
1. 何谓安全机制?
ISO26262:2018 part 1对安全机制(Safety Mechanism)定义如下:
technical solution implemented by E/E functions or elements, or by other technologies, to detect and mitigate or tolerate faults or control or avoid failures in order to maintain intended functionality or achieve or maintain a safe state.
简单的说,安全机制包括faults (or failure) detection和handling,以使系统能够安全地运行,不造成功能安全risk。
一个完整的安全机制,应该具备以下属性:
- faults (or failure) detection
- faults (or failure) handling
- 安全机制的性能(timing方面的要求)
- 安全机制的有效性(诊断覆盖度)
很多人把安全机制和诊断混为一谈,两者有关联,但是不能画等号。诊断相当于去医院体检,安全机制相当于去医院看病。
- 体检对时间要求没那么苛刻,晚几天没关系;看病对时间要求比较苛刻,有些急病,不及时去看医生,后果不堪设想。
- 体检输出体检报告,体检人根据体检报告采取相应措施,通常没有那么急迫;看病则需要针对检查出的问题,立即进行处理。
2. 如何确定安全机制的诊断覆盖度
安全机制的诊断覆盖度是针对某个failure mode的,不是针对某个element的。
我们结合ISO26262:2018 part-5 附图B.2进行讨论:
2.1 单点故障的诊断覆盖度
针对图中Case-1的情况,某个failure mode是单点故障,所采用的安全机制是为了解决单点故障。
情形1:如果所采用的安全机制能在ISO26262-5附录D中找到对应,诊断覆盖度可采用标准中推荐的值。Low = 60%;Medium = 90%;High = 99%。
例如:传感器信号范围检查,对应ISO26262-5 table D.9中诊断覆盖度为Low(60%)。
这里要特别注意notes中的内容,此安全机制(信号范围检查)只对短地、短电源、开路有效(诊断覆盖度60%),对于传感器信号偏移是无效的。
情形2:如果所采用的安全机制能在ISO26262-5附录D中找到对应,但是结合项目中的产品设计,你认为实际的诊断覆盖度比标准推荐的值高。此时需要提供相关的分析或测试结果作为佐证。
例如:传感器信号范围检查,标准推荐的诊断覆盖度为Low。但结合产品设计,此传感器信号有效范围为“20 - 300”,传感器开路故障对应的值为“400 - 420”。这种情况,开路时检测到的信号范围一定不在信号有效范围里,此时可以声称传感器范围检查的诊断覆盖度为高。
情形3:如果所采用的安全机制不能在ISO26262-5附录D中找到对应。则需要提供相关的分析或测试结果作为佐证,用于支持项目中确定的安全机制诊断覆盖度。
例如:电机控制中,对电流的故障检测,可采用三相电流求和的安全机制,来对电流传感器的故障进行检测。这个安全机制在ISO26262标准中没有明确对应的安全机制,需要项目进行分析说明此诊断覆盖度的值。
2.2 多点故障的诊断覆盖度
针对图中Case-2的情况,某个failure mode不是单点故障,是多点故障,所采用的安全机制是为了解决多点故障。此类安全机制的诊断覆盖度的判断方法,同本文2.1中介绍的方法。
针对图中Case-3的情况,某个failure mode是单点故障,有安全机制可以解决此单点故障,但是此failure mode被安全机制探测出来的部分和安全机制本身构成多点故障。此种情况下,对于此failure mode的诊断覆盖度:
- 如果系统通过报警提示给驾驶员。这种情况,诊断覆盖度可声称100%(为什么呢?)
- 如果驾驶员能感知到故障或者感知到系统进入安全状态。这种情况,要分析有多少驾驶员能感知到或者多大程度上能感知到。诊断覆盖度,需要case by case分析;ISO26262-5附录中这个例子,诊断覆盖度为80%,就是这种情况。
- 如果驾驶员无法感知,也没有通过故障报警提示。这种情况,诊断覆盖度为0%。
3. 常见问题
- 如果能探测出故障,但是没有处理或者没能力处理,此种情况诊断覆盖度为0%。
例如:能诊断出继电器粘连,但是只有这一路继电器控制输出,无法切断输出(假设:切断输出是安全状态)。因此,诊断出来了,也无法进入安全状态,产品仍然是不安全的。 - 安全机制,对于单点故障,应满足FTTI时间,如果无法满足FTTI时间要求,此种情况诊断覆盖度为0%。
正如本文前面提到的,去医院看病发现了问题,如果不及时采取措施,同样会病入膏肓。 - 针对某个failure mode,采用了多个安全措施,如何确定诊断覆盖度呢?
例如:两个安全机制对同一个failure mode的诊断覆盖度为Medium(90%);并且这两个安全机制是独立的(这点很关键,可通过DFA分析举证),可声称组合起来做到High(99%)。
同理,2个Low(60%)的安全机制,可以做到Medium(90%);2个High(99%)的安全机制,可以做到99.9%。
但是注意,以下这两种情况,是不可行的:
项目中,如果还遇到过本文没谈到的情况,欢迎与我们交流(sale@iqichina.com)。
文章转载自公众号:仨人谈起
