3. 硬件随机失效机理
各位好,我是老周。做功能安全十多年了,带过不少新人。我发现一个规律:FMEDA做得好不好,就看这六个概念吃得透不透。今天咱们就把它们一个个掰开揉碎。
这六个概念分别是:失效率(λ)、诊断覆盖率(DC)、安全失效分数(SFF)、硬件故障裕度(HFT)、单点故障度量(SPFM)、潜在故障度量(LFM)。它们之间不是孤立的,而是环环相扣的一套逻辑。
3.1 失效率(λ)—— 一切计算的起点
失效率λ,说白了就是一个器件在单位时间内出故障的概率。单位是 FIT(Failures In Time),1 FIT = 1次故障/10⁹小时。
举个例子:一个电阻的λ是 10 FIT,意味着10亿小时内平均坏10次。换算成年,大约是 0.0000876 次/年。嗯,确实很小。
λ的来源主要有三种:
- 标准手册:如 IEC 62380、SN 29500、MIL-HDBK-217
- 供应商数据:原厂提供的可靠性报告
- 现场数据:自家产品返修统计(这个最准,但需要积累)
我在项目中遇到过一件事:一个客户坚持用 MIL-HDBK-217 的λ值,结果算出来的 SFF 死活不达标。后来换成 IEC 62380 的模型,一下就过了。为什么?因为 MIL 标准偏保守,适合军工;IEC 标准更贴近工业场景。选对标准很重要。
3.2 诊断覆盖率(DC)—— 你的安全机制到底多有效
诊断覆盖率 DC,衡量的是安全机制能检测出多少故障。公式很简单:
DC = λ_detected / λ_total
其中 λ_detected 是被安全机制检测到的故障率,λ_total 是该安全机制覆盖范围内的总故障率。
DC 的取值通常分几个等级:
| DC 范围 | 等级 | 典型实现 |
|---|---|---|
| DC < 60% | 低 | 简单看门狗、单次校验 |
| 60% ≤ DC < 90% | 中 | ECC、CRC、双核锁步 |
| 90% ≤ DC < 99% | 高 | 冗余比较、自检序列 |
| DC ≥ 99% | 极高 | 三模冗余、硬件投票 |
3.3 安全失效分数(SFF)—— 你的系统有多“安全”
SFF 是安全失效占总失效的比例。公式:
SFF = (λ_safe + λ_dangerous_detected) / (λ_safe + λ_dangerous)
其中:
- λ_safe:安全失效(失效后系统进入安全状态)
- λ_dangerous_detected:危险失效但被检测到
- λ_dangerous:危险失效(包括检测到和未检测到的)
ISO 26262 对 SFF 有明确要求:
| ASIL 等级 | SFF 要求(单点故障) |
|---|---|
| ASIL A | 无要求 |
| ASIL B | ≥ 90% |
| ASIL C | ≥ 97% |
| ASIL D | ≥ 99% |
你想想看,ASIL D 要求 99% 的 SFF,意味着危险失效中只有不到 1% 是“漏网之鱼”。这要求你的诊断覆盖率必须极高,而且安全失效的比例也要足够大。
3.4 硬件故障裕度(HFT)—— 能扛几次故障
HFT 指的是系统在不丧失安全功能的前提下,能容忍的硬件故障数量。
- HFT = 0:一个故障就可能导致安全功能丧失(单点故障)
- HFT = 1:可以容忍一个故障,第二个故障才出问题
- HFT = 2:可以容忍两个故障
ISO 26262 对 HFT 的要求:
| ASIL 等级 | HFT 要求 |
|---|---|
| ASIL A | 0(可接受单点故障) |
| ASIL B | 0(但需满足 SFF 要求) |
| ASIL C | 1(除非 SFF ≥ 97%) |
| ASIL D | 1(除非 SFF ≥ 99%) |
3.5 单点故障度量(SPFM)—— 单点故障的“漏网率”
SPFM 衡量的是单点故障中被安全机制覆盖的比例。公式:
SPFM = 1 - (λ_single_point / λ_total)
其中 λ_single_point 是未被安全机制覆盖的单点故障率。
ISO 26262 对 SPFM 的要求:
| ASIL 等级 | SPFM 要求 |
|---|---|
| ASIL A | 无要求 |
| ASIL B | ≥ 90% |
| ASIL C | ≥ 97% |
| ASIL D | ≥ 99% |
我记得有一次评审,对方问:“你们 SPFM 算出来 99.2%,但为什么还有 0.8% 的单点故障没覆盖?” 我回答:“那 0.8% 是电源引脚短路到地,我们评估过,这个故障模式发生的概率极低,而且系统会立即进入安全状态。” 对方点头了。所以,SPFM 不是追求 100%,而是证明剩下的部分可接受。
3.6 潜在故障度量(LFM)—— 潜伏的“定时炸弹”
LFM 衡量的是潜在故障(即未被检测到的故障)中被安全机制覆盖的比例。公式:
LFM = 1 - (λ_latent / λ_total)
其中 λ_latent 是未被安全机制检测到的潜在故障率。
ISO 26262 对 LFM 的要求:
| ASIL 等级 | LFM 要求 |
|---|---|
| ASIL A | 无要求 |
| ASIL B | ≥ 60% |
| ASIL C | ≥ 80% |
| ASIL D | ≥ 90% |
3.7 六个指标的内在逻辑
这六个指标不是孤立的,它们之间有清晰的逻辑链条:
- λ 是基础数据,决定了所有后续计算
- DC 决定了 λ 中有多少被检测到
- SFF 由 λ 和 DC 计算得出,反映整体安全水平
- HFT 是架构层面的冗余能力
- SPFM 聚焦单点故障的覆盖情况
- LFM 聚焦潜在故障的覆盖情况
用一句话总结:λ 是原料,DC 是加工,SFF 是成品率,HFT 是备胎数量,SPFM 和 LFM 是质检报告。