3. 硬件随机失效机理

各位好,我是老周。做功能安全十多年了,带过不少新人。我发现一个规律:FMEDA做得好不好,就看这六个概念吃得透不透。今天咱们就把它们一个个掰开揉碎。

这六个概念分别是:失效率(λ)、诊断覆盖率(DC)、安全失效分数(SFF)、硬件故障裕度(HFT)、单点故障度量(SPFM)、潜在故障度量(LFM)。它们之间不是孤立的,而是环环相扣的一套逻辑。

核心观点:FMEDA本质上是一本“故障账本”。λ是收入,DC是支出,SFF/HFT是资产负债,SPFM/LFM是利润表。把这本账算清楚,项目才能过审。
FMEDA 六大核心概念关系图 FMEDA 分析 λ 失效率 DC 诊断覆盖率 HFT 硬件故障裕度 SFF 安全失效分数 SPFM 单点故障度量 LFM 潜在故障度量 左侧三个是FMEDA的输入参数,右侧三个是输出结果指标 λ 和 DC 决定 SFF;HFT 决定架构;SPFM/LFM 是最终度量

3.1 失效率(λ)—— 一切计算的起点

失效率λ,说白了就是一个器件在单位时间内出故障的概率。单位是 FIT(Failures In Time),1 FIT = 1次故障/10⁹小时。

举个例子:一个电阻的λ是 10 FIT,意味着10亿小时内平均坏10次。换算成年,大约是 0.0000876 次/年。嗯,确实很小。

我的习惯:做FMEDA时,我从来不用单个器件的λ直接算。我会先建一个λ库,把项目里所有器件按类型、封装、温度等级分类。这样后续复用起来特别快。

λ的来源主要有三种:

  • 标准手册:如 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% 极高 三模冗余、硬件投票
避坑指南:我曾经见过一个团队,给一个简单的电压监控电路报了 99% 的 DC。结果一查,他们只算了“过压检测”这一种故障模式,完全忽略了“欠压”和“检测电路自身失效”。DC 不是拍脑袋定的,必须覆盖所有相关故障模式。

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%)
关键点:HFT 和 SFF 是“二选一”的关系。你可以用高 SFF 来降低 HFT 要求,也可以用高 HFT 来降低 SFF 要求。但实际项目中,我建议两条腿走路——既做诊断覆盖,也做冗余设计。这样评审时更有底气。

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%
避坑指南:我曾经见过一个项目,LFM 怎么算都只有 50% 多,离 ASIL D 的 90% 差一大截。后来一查,问题出在“潜在故障”的定义上。他们把“所有未被检测到的故障”都算成潜在故障,但 ISO 26262 明确说了:只有那些在安全机制诊断间隔内未被检测到的故障才算潜在故障。把诊断间隔缩短,LFM 一下就上去了。

3.7 六个指标的内在逻辑

这六个指标不是孤立的,它们之间有清晰的逻辑链条:

  1. λ 是基础数据,决定了所有后续计算
  2. DC 决定了 λ 中有多少被检测到
  3. SFF 由 λ 和 DC 计算得出,反映整体安全水平
  4. HFT 是架构层面的冗余能力
  5. SPFM 聚焦单点故障的覆盖情况
  6. LFM 聚焦潜在故障的覆盖情况

用一句话总结:λ 是原料,DC 是加工,SFF 是成品率,HFT 是备胎数量,SPFM 和 LFM 是质检报告。

我的建议:刚开始做 FMEDA 时,别急着算。先把这六个概念的关系画成一张图,贴在工位上。每次算到某个指标卡住了,就看看这张图,思路会清晰很多。