一、硬件指标概览:SPFM、LFM、PMHF 三大核心指标
各位工程师朋友,咱们今天聊聊功能安全硬件指标。说实话,我刚入行那会儿,看到 SPFM、LFM、PMHF 这三个缩写,头都大了。后来做了几个项目才明白,这三个指标就是功能安全的「三驾马车」。你搞懂了它们,硬件设计就有了方向。
1.1 为什么非要算这些指标?
你想想看,一个系统出了故障,后果是什么?可能是设备停机,可能是数据丢失,严重的话还会伤到人。功能安全的目的,就是把这些风险降到可接受的水平。
那怎么衡量「风险降到位了」?光靠拍脑袋不行。ISO 26262 标准给出了三个硬指标:
- SPFM(单点故障度量)—— 衡量系统对「一个点坏了就完蛋」这种故障的防护能力
- LFM(潜伏故障度量)—— 衡量系统对「坏了但没发现,直到另一个故障才爆发」这种隐患的检测能力
- PMHF(随机硬件失效率)—— 衡量系统整体出致命故障的概率,单位是 FIT(每十亿小时一次)
说白了,这三个指标就是回答三个问题:
- 单个故障会不会直接要命?(SPFM)
- 隐藏的故障会不会被及时发现?(LFM)
- 系统整体到底有多可靠?(PMHF)
核心观点: 这三个指标不是学术概念,是实实在在的「安全红线」。过不了指标,你的产品就拿不到 ASIL 等级认证。
1.2 SPFM:单点故障度量
SPFM 的全称是 Single Point Fault Metric。我习惯叫它「单点故障覆盖率」。什么意思呢?就是看你的安全机制能覆盖掉多少单点故障。
举个例子:一个刹车信号从传感器传到 ECU,中间只有一根线。这根线断了,刹车就没了。这就是单点故障。如果你加了一根冗余线,或者加了个诊断电路能检测断线,那这个故障就被覆盖了。
计算公式很简单:
SPFM = 1 - (λ_SPF + λ_RF) / λ_total
其中:
- λ_SPF:单点故障的失效率
- λ_RF:残余故障的失效率(安全机制没覆盖到的部分)
- λ_total:所有硬件故障的总失效率
我在项目中遇到过一件事:一个客户的产品 SPFM 算出来只有 85%,而 ASIL D 要求 ≥ 99%。后来一查,发现是电源监控电路没做冗余。加了个看门狗,指标就上去了。嗯,有时候就是一层窗户纸。
避坑指南: 我曾经以为 SPFM 越高越好,其实不是。SPFM 高意味着安全机制多,但安全机制本身也会失效。要平衡。
1.3 LFM:潜伏故障度量
LFM 的全称是 Latent Fault Metric。这个指标关注的是「潜伏故障」—— 就是那种坏了但没被发现的故障。
你想想看,一个故障藏在那里,系统还在正常运行。直到另一个故障发生,两个故障叠加,系统就崩了。这种「双点故障」最危险。
LFM 的计算公式:
LFM = 1 - (λ_MPF_latent) / (λ_total - λ_SPF - λ_RF)
说白了,就是看你能检测出多少潜伏故障。检测得越及时,LFM 越高。
我记得有个项目,LFM 怎么算都差一点。后来发现是诊断间隔设得太长了。故障发生了,但诊断程序要 10 秒才跑一次。把间隔缩短到 1 秒,LFM 就达标了。有时候细节决定成败。
注意: LFM 和 SPFM 是互补的。SPFM 管「单点故障」,LFM 管「潜伏故障」。两个都要达标,缺一不可。
1.4 PMHF:随机硬件失效率
PMHF 的全称是 Probabilistic Metric for Random Hardware Failures。这个指标衡量的是系统整体出严重故障的概率。
单位是 FIT(Failures In Time),1 FIT = 每十亿小时一次故障。ASIL D 的要求是 < 10 FIT,也就是每十亿小时故障少于 10 次。
PMHF 的计算稍微复杂一点,要考虑所有安全相关故障:
PMHF = λ_SPF + λ_RF + λ_MPF_latent × (1 - 诊断覆盖率)
实际上,很多工具(比如 ISO 26262 的 FMEDA 模板)会自动算。但你要理解背后的逻辑:
- 单点故障和残余故障直接贡献 PMHF
- 潜伏故障要乘以一个时间因子(因为故障可能藏一段时间才被发现)
我个人的习惯是,先算 SPFM 和 LFM,再算 PMHF。因为前两个指标能帮你定位问题,PMHF 是最终结果。
1.5 三个指标的关系
这三个指标不是孤立的。它们共同构成了硬件安全的「铁三角」:
从图中可以看出:
- SPFM 和 LFM 是「过程指标」,告诉你设计做得好不好
- PMHF 是「结果指标」,告诉你系统到底有多安全
- 三者缺一不可,任何一个不达标,认证都过不了
实战建议: 我建议你在设计初期就建立这三个指标的预算。比如 ASIL D 要求 SPFM ≥ 99%,LFM ≥ 90%,PMHF < 10 FIT。把这些指标分配到每个模块,设计起来就有目标了。
1.6 常见误区
最后说几个我踩过的坑:
- 误区一:指标越高越好 —— 不是的。指标高意味着安全机制多,成本高、功耗大、还可能引入新的故障模式。达标就行,别过度设计。
- 误区二:只算 PMHF 就够了 —— 不够。PMHF 是最终结果,但 SPFM 和 LFM 能帮你找到设计短板。我见过有人 PMHF 达标了,但 SPFM 只有 80%,结果认证被拒。
- 误区三:忽略诊断间隔 —— 诊断间隔直接影响 LFM 和 PMHF。间隔太长,潜伏故障的风险就大。我曾经有个项目,诊断间隔从 10 秒改到 1 秒,LFM 提升了 5 个百分点。
小技巧: 用 FMEDA 工具自动计算这三个指标。但记住,工具只是辅助,理解背后的物理意义才是关键。我习惯先手算一遍,再用工具验证,这样心里有底。
好了,这一章就到这里。三个指标的定义和物理意义,你心里应该有数了。下一章我们聊聊怎么具体计算这些指标,我会带你看一个完整的 FMEDA 案例。