Keyboard shortcuts

Press or to navigate between chapters

Press S or / to search in the book

Press ? to show this help

Press Esc to hide this help

2.9 PMHF——从FIT到统计信心,你的系统能活过一万年吗?

SPFM = 99.2%。LFM = 95.4%。两个数字都绿了:也就是都满足了ASIL D的定量要求。

你把椅背后仰,盯着天花板。99.2%的单点覆盖、95.4%的潜伏检出率……像两张完美的体检报告。但一个念头从心底浮上来:

一个免疫功能覆盖到99%的人,他最终死于感染的概率到底是多少?一万个人里死一个?还是一亿人里死一个?

SPFM和LFM是“覆盖率“:百分比。百分比没法回答概率问题。一个汽车在高速公路上以120km/h行驶,转向ECU的硬件随机失效导致致命事故的概率,不能用一个百分比来回答。它必须是每单位时间内的平均概率。因为汽车运行的每一秒都在掷一次骰子。

这就是PMHF(Probabilistic Metric for random Hardware Failures,随机硬件失效概率度量)存在的全部理由。它把SPFM和LFM所描述的“静态免疫覆盖率“,转化为一个动态的、时间相关的、能用统计学工具校准的数字:每小时发生安全目标违背的平均概率

你直起身,重新打开FMEDA表格。在某个汇总单元格里,你的PMHF计算结果是8.3 FIT。你需要证明8.3 FIT < 10 FIT(ASIL D的等价阈值)。此刻,一个CAN收发器在表格中闪烁着。它自己就吃掉了2.1 FIT的PMHF预算。你盯着那个数字,开始盘算:是不是该给它单独加个诊断?

一、PMHF的精确定义与“FIT“的本质

1.1 定义

ISO 26262-5:2018 Clause 9.4.2定义了PMHF:

PMHF(Probabilistic Metric for random Hardware Failures):在车辆运营寿命期间,因随机硬件失效而导致每一项安全目标被违背的平均概率,以每小时的量级表示。

关键词逐条拆解:

  • “随机硬件失效”(Random Hardware Failures):PMHF只覆盖随机硬件故障,不包括系统性故障(Systematic Failures)。系统性故障由流程(开发流程、质量体系)来管控,不进入PMHF的计算公式。
  • “每一项安全目标”(Each Safety Goal):PMHF是按安全目标分别计算的,不是对“整车“算一个笼统的数字。如果你的ECU包含3个ASIL D安全目标,你需要为每个目标分别展示PMHF满足<10⁻⁸/h。
  • “平均概率”(Average Probability):不是瞬时概率,是运营寿命内的长期平均值。这一假设允许使用指数分布模型(恒定失效率)。
  • “每小时”(per Hour):量纲是1/h,不是“每次运行“或“每次驾驶循环“。

1.2 FIT:一个对人类直觉极其不友好的单位

FIT(Failure In Time)的定义:

$$1 \text{ FIT} = 1 \times 10^{-9} \text{/h} = \text{每10亿小时内发生一次失效}$$

把10亿小时换算成人类可感知的时间尺度:

  • 10亿小时 ≈ 114,155年
  • 1 FIT ≈ 一块硬件连续运行11.4万年,预期失效一次

现在来直观感受一下ASIL D的PMHF阈值:

ASIL等级PMHF目标等价FIT值等效人类时间:预期一次失效需要…
ASIL D< 10⁻⁸ /h< 10 FIT超过 10⁸ 小时 ≈ 11,415年
ASIL C< 10⁻⁷ /h< 100 FIT超过 10⁷ 小时 ≈ 1,141年
ASIL B< 10⁻⁷ /h< 100 FIT超过 10⁷ 小时 ≈ 1,141年

ASIL D的10 FIT意味着:如果全球有100万辆搭载你转向ECU的汽车在道路上行驶,每辆平均每年行驶300小时,那么一年总运营时间为3亿小时。在3亿小时内,10 FIT的PMHF预期会导致约3次安全目标违背事件。

3次。 对于转向失效率来说,这个数字远远不够好。这就是为什么很多主机厂对供应商提出比ISO 26262更严格的PMHF要求(比如≤ 2 FIT或≤ 1 FIT)。

1.3 PMHF、SPFM、LFM三者为什么必须共存?

你已经学过SPFM(覆盖99%的单点/残余)和LFM(检出90%的潜伏者)。如果这两个指标都达标了,为什么不直接用它们替代PMHF?答案在于三者的统计范围完全不同:

指标衡量的内容量纲是否含时间维度
SPFM单点+残余故障占总失效的比例无量纲(%)
LFM潜伏故障在非单点失效中的比例无量纲(%)
PMHF安全目标违背的平均概率1/h

SPFM和LFM是静态快照:“假设失效发生,你的防线覆盖率是多少”。PMHF是动态风险流:“随着时间推移,你的防线被击穿的概率累积有多快”。

可以通过一个医学类比来理解三者的关系:假设你在一座传染病流行的城市里生活。

  • SPFM = 你的免疫系统对已知病原体的单次暴露清除率(99%意味着你接触一次病毒,有99%的概率不会因此生病)。
  • LFM = 你已经接种的疫苗中还有效的比例(90%意味着10%的疫苗实际上已经失效了,但你没发现,因为还没遇到对应病原体)。
  • PMHF = 你最终在一年内因感染死亡的概率(< 10⁻⁸/h 意味着在一年8760小时里,死亡概率约为 8.76×10⁻⁵ ≈ 万分之0.88)。

SPFM高 + LFM高 + 高暴露频率 仍然可能导致PMHF超标。反过来,如果暴露频率极低(比如失效率本身非常小的简单系统),即使SPFM和LFM不够高,PMHF也可能轻易达标。

二、PMHF的两种合规方法:定量分析 vs. 失效等级分类

ISO 26262-5:2018提供了两种证明PMHF满足目标值的方法。理解这两种方法的区别和适用场景,是实际工程中必须掌握的技能。

2.1 方法一:PMHF定量计算(Clause 9.4.2)

这是最直接但也最消耗工程资源的方法:对每一个硬件元素,结合其失效模式、失效影响、诊断覆盖率、多点故障检测间隔等因素,建立一个完整的概率模型,计算所有可能导致安全目标违背的故障传播路径的总概率。

PMHF定量计算的大致框架是:

$$PMHF = \frac{\text{运营寿命期间安全目标违背的期望次数}}{\text{运营总时间}}$$

实际操作中,通常通过FMEDA对每个硬件元器件的每个失效模式逐个评估:

  1. 单点/残余路径:λ_SPF_i + λ_RF_i 直接贡献PMHF:因为这些故障本身就是安全目标违背;
  2. 潜伏多点故障路径:对于每个潜伏故障(MPF_L),需要计算它和另一个独立故障在重叠时间段内同时发生的概率。这涉及两个故障的失效率乘积乘以故障暴露窗口;
  3. 安全故障(S):不贡献PMHF;
  4. 检测到的/感知到的多点故障:不直接贡献PMHF,但如果在修复期间出现第三个故障,可能产生三阶耦合:高ASIL系统需要考虑此类“边角案例“。

工作实例:

回到你转向ECU的FMEDA。你的PMHF定量计算总结如下(简化示意):

贡献来源计算方式贡献(FIT)
单点故障Σλ_SPF2.3
残余故障Σλ_RF1.7
MPF_L组合路径1(看门狗潜伏 × MCU跑飞)λ_WDG_L × λ_MCU_跑飞 × T_LAT1.8
MPF_L组合路径2(电源监控潜伏 × 主电源瞬降)λ_PWRMON_L × λ_主电源瞬降 × T_LAT1.2
MPF_L组合路径3(关断路径开路 × 需关断事件)λ_SDOFF_L × λ_需关断事件 × T_LAT0.9
其他二阶/高阶组合逐项计算0.4
PMHF总计8.3 FIT

其中 T_LAT 是每个潜伏故障在组合失效之前未被检测到的有效暴露时间。T_LAT的取值与MPFDI以及车辆的运营时间分布有关:ISO 26262-5:2018 Annex C.3提供了指导性的计算方法。

8.3 FIT < 10 FIT,PMHF达标。但你已经注意到那个CAN收发器单独贡献了2.1 FIT的单点残余。它如果因为ESD事件锁死,MCU会丢失全部CAN通信,安全目标直接违背(“防止转向通信丢失”)。如果你给CAN通信增加一个端到端保护(E2E Profile 1),这部分λ_SPF可能降为λ_RF(K_DC=90%),节省约1.9 FIT,总PMHF可降至6.4 FIT:远低于10 FIT,裕量大幅增加。

2.2 方法二:EEC——Each Cause评估法(Clause 9.4.3)

如果你觉得逐项计算所有耦合路径的蒙特卡洛太痛苦(特别是高复杂度系统),ISO 26262给你了一条替代路径:EEC(Evaluation of Each Cause of safety goal violation,安全目标违背的各原因评估法)

EEC的底层逻辑是“分类定级“而非“逐项计算“。它对每个可能导致安全目标违背的“原因“(硬件故障及组合)分配一个失效等级(Failure Rate Class)

失效等级阈值上限(/h)说明
Class 1< 目标/100对于ASIL D:< 10⁻¹⁰/h。极低风险,可忽略。
Class 2≤ 10 × Class 1对于ASIL D:≤ 10⁻⁹/h
Class 3≤ 10² × Class 1对于ASIL D:≤ 10⁻⁸/h
Class i≤ 10ⁱ⁻¹ × Class 1以此类推

EEC的判据是:所有不可忽略的原因的等级之和,其相应的总和上限不得使PMHF超过目标值。 换言之,你不能让多个Class 3级的原因堆叠起来把总PMHF推高到目标之上。实践中,EEC方法要求将每个“原因“归入适当的失效等级,并证明高等级原因的数量已被控制在一个极其有限的范围内。

EEC方法的优势在于它为高度复杂的硬件系统(比如集成了大量外设和通信接口的SoC)提供了一条相对“经济“的合规路径:不需要对每一个二阶耦合路径都做精确的概率建模。但代价是分析结果通常比定量PMHF方法更保守(即倾向于分配给更高的等级),可能迫使你在设计上增加不必要的安全机制。因此,简单的中小型系统优先推荐PMHF定量方法,大型复杂系统才考虑EEC。

2.3 多系统PMHF分配(Clause 9.4.2.3)

如果你的ECU只是整车的一部分。当然它是:PMHF目标值不一定全由你一个ECU承担。ISO 26262-5:2018允许在多个系统之间分配PMHF:

在整车层面对PMHF目标值进行系统间分配时,允许总体不超过目标值的10倍(即一个数量级范围内)。

这意味着:

  • 转向系统的PMHF ≤ 10⁻⁸/h;
  • 制动系统的PMHF ≤ 10⁻⁸/h;
  • 动力系统的PMHF ≤ 10⁻⁸/h;
  • 三者总和等于 3×10⁻⁸/h ≤ 10 × 10⁻⁸/h = 10⁻⁷/h,在数量级上仍可接受

这个规则背后的统计原理是:多个独立系统的安全目标违背是互斥且罕见的事件,它们在运营寿命中的叠加概率远低于各自数值的简单相加。但“不超过一个数量级“是硬约束。你不能把10⁻⁸/h分配给10个系统各占10⁻⁸/h然后说总和10⁻⁷/h可以接受。实际上10×10⁻⁸/h已经触碰了分配上限。

三、从SPFM/LFM到PMHF:一条完整的风险传导链条

现在你已经掌握了硬件安全分析的三大定量指标。把它们串成一条逻辑链,看看从“找出所有故障“到“证明安全性“的完整路径。

Step 1: 创建FMEDA表。 所有安全相关的硬件元器件,列出全部失效模式,每个失效模式标上失效率(FIT)。

Step 2: 故障分类。 每个失效模式归入SPF、RF、MPF_D、MPF_P、MPF_L、S六类中的一类。注意:SPF在PMHF计算中被标记为“不可接受暴露“,必须通过添加安全机制转化为RF或MPF_D。

Step 3: 评估诊断覆盖率。 对于每个安全机制,评估其对残余故障的K_DC,RF和对潜伏多点故障的K_DC,MPF,L。这两个覆盖率是独立的。

Step 4: 计算SPFM。 如果不满足ASIL等级要求 → 返回Step 3,增加K_DC,RF(更强的安全机制)或增加冗余硬件。

Step 5: 计算LFM。 如果不满足ASIL等级要求 → 返回Step 3,增加K_DC,MPF,L(更频繁的检测)或缩短MPFDI。

Step 6: 计算PMHF。 综合所有SPF、RF、MPF_L的二阶耦合路径,得出每小时的最终安全目标违背概率。如果不满足ASIL阈值 → 返回Step 3~5,从源头削减各路径的失效率贡献。如果所有子项贡献≤目标值,PMHF达标。

这六步构成了硬件安全定量分析的完整闭环。注意:SPFM和LFM的通过只是PMHF达标的必要条件,而不是充分条件。 一个系统可以让SPFM=99.3%和LFM=91.2%双双通过ASIL D,但因为某些特定的潜伏故障耦合路径暴露窗口过长,PMHF可能仍然超过10 FIT。

四、免疫系统映射:PMHF是“终生感染致死风险“

将PMHF并入免疫系统的整体模型中,完成三个指标的最终对应:

核心映射表

功能安全概念免疫学对应量纲类比
SPFM基础免疫应答覆盖率——暴露一次病原体,免疫系统能成功清除的概率单次暴露清除率(%)
LFM免疫记忆的完整性——疫苗产生的记忆细胞有多少比例真正处于“可召回“状态记忆细胞有效率(%)
PMHF终生感染致死风险率——综合了暴露频率、免疫清除率、记忆细胞有效率、以及多重感染同时爆发的耦合概率每单位时间的死亡率(1/时间)

综合场景类比

假设一个个体(类比你的ECU)生活在某种病原体(类比硬件随机失效)持续暴露的环境中:

  • 抗体的覆盖率(SPFM) = 99%,意味着每次碰到病原体,有99%的概率被立即消灭;
  • 免疫记忆的有效率(LFM) = 90%,意味着10%的“记忆“已经丢失了(潜伏的漏洞);
  • 终生致命感染风险(PMHF) = 综合考虑了病原体每年有多少次进入人体的机会(暴露率 ≈ λ)、抗体战斗的胜率(SPFM)、记忆细胞能否及时唤醒(LFM)、以及两次感染同时爆发的联合概率(MPF_L的二阶耦合)。

最终,这个个体在一年之内死于感染的概率,就是PMHF × 8760 小时/年。对应ASIL D来说,PMHF < 10⁻⁸/h 意味着年致死风险 < 8.76×10⁻⁵:约万分之0.88。通俗地说:如果你让十万个人都配置了这个免疫系统(都开这台车),一年后大约有9个人会因免疫失败(硬件随机失效导致的安全目标违背)而死亡。

这个数字仍然听起来很高:十万分之一的年致死率对于汽车功能安全来说不够?记住,PMHF只覆盖硬件随机失效这一种风险来源。整车级别的安全目标违背概率还包括软件系统性故障、外部事件(传感器被遮挡、极端天气)、以及人为因素,PMHF只是拼图的一部分。在整车层面,ISO 26262和相关的安全标准会要求所有这些来源的总风险远低于单一来源。

五、无法实测的困境与统计信心的建立

5.1 为什么你永远“测不出“10⁻⁸/h

回到你最开始的困惑:如果你的转向ECU的PMHF目标<10⁻⁸/h(约每11,415年失效一次),你怎么可能通过实测来验证?

做一个简单的数学题:如果你拿1,000个ECU样本连续测试1年(8760小时),你总共积累了 1,000 × 8760 = 876万小时的测试时间。在<10⁻⁸/h的条件下,你期望观察到的失效次数 ≈ 876万 × 10⁻⁸ = 0.0876次:连一次失效的期望值都不到。即使你观察到了0次失效,统计层面上你也无法以95%的置信度断言真实PMHF < 10⁻⁸/h。要达到合理的统计显著性,你需要数十亿设备小时的测试数据。这在整车开发周期内是不可能的。

5.2 统计信心的替代来源

既然实测不行,你靠什么来“证明“PMHF达标?ISO 26262提供的是推理的链条而非实测的证据

  1. 元器件可靠性数据(Component Reliability Data):每个元器件的失效率λ来自行业标准(如IEC TR 62380, SN 29500, FIDES),这些数据基于数十年、数十亿器件小时的统计积累,具有统计学置信度;

  2. 诊断覆盖率的工程论证:K_DC不是“猜的“,而是基于安全机制的具体电路设计和故障注入仿真结果来论证的。如果你声称K_DC=99%,你必须能展示在99%的注入故障中安全机制确实正确响应了;

  3. FMEDA的完备性论证:你必须能论证你对所有安全相关元器件、所有失效模式都完成了穷举分析(FMEA的归纳性质保证了这一点);

  4. 独立审核(Assessment):由独立的功能安全审核员逐项审查你的FMEDA表格和推理链。这是对你论证逻辑的外部校验,而不是对PMHF值的实测验证。

这就好比你不能对每个新生儿都做一个“终生测试“来验证其免疫系统。但他父母给他的基因图谱(元器件数据)、出生后的疫苗接种记录(诊断覆盖率论证)、以及定期的体检安排(MPFDI和LFM),共同构成了对他未来健康状况的统计信心。

本篇小结

  1. PMHF = 每小时随机硬件失效导致安全目标违背的平均概率
  2. ASIL D/C/B的PMHF目标:<10⁻⁸/h (<10 FIT)、<10⁻⁷/h (<100 FIT)、<10⁻⁷/h (<100 FIT)
  3. 1 FIT = 每10亿小时一次失效 ≈ 11.4万年,PMHF无法通过实测直接验证
  4. 两种合规方法:PMHF定量计算(逐路径求和)和EEC失效等级分类
  5. SPFM → LFM → PMHF 构成递进的风险评估链路
  6. 统计信心来自四根支柱:元器件数据 + 诊断覆盖率论证 + FMEDA完备性 + 独立审核

【下集预告】: 10⁻⁸/h这个数字你说服了评估员,但当他把目光移到你的FMEDA表格上,指着第23行的CAN收发器问“822 FIT的失效模式分布你从哪拿的“时,你不能说“供应商说MTBF是120万小时“。MTBF是可靠性,FMEDA要的是每一种失效方式——短路占多少、开路占多少、漂移占多少。下一节,我们拿一颗真实的CAN收发器,一行一行走完FMEDA。