:硬件架构指标——SPFM、LFM、PMHF的达标攻略)
今天咱们就来彻底搞懂这三个指标SPFM “单点故障有多少被防住了” ️LFM “潜伏的炸弹有多少被排掉了” PMHF “这车开一辈子出事的概率有多高” 三大指标速查表先上干货——ASIL等级对应的硬指标ASIL等级SPFM单点故障度量LFM潜伏故障度量PMHF随机硬件失效概率ASIL B≥90%≥60%10⁻⁷ /小时100 FITASIL C≥97%≥80%10⁻⁷ /小时100 FITASIL D≥99%≥90%10⁻⁸ /小时10 FIT注意ASIL B和ASIL C的PMHF目标值一样都是10⁻⁷/h但SPFM和LFM的要求不同。所以三个指标必须同时达标——SPFM过了但LFM没过照样不及格。FIT是什么1 FIT 每10⁹小时失效1次。10 FIT ≈ 连续运行1.14万年才允许发生1次失效。指标一SPFM单点故障度量——“有多少单点故障被防住了”SPFM在算什么SPFM衡量的是单点故障和残余故障占所有安全相关故障的比例有多低。SPFM 1 − (残余故障率 / 安全相关总失效率)用大白话翻译系统里所有可能导致安全事故的故障中有多少比例是被安全机制覆盖了的SPFM99%意味着100个可能出问题的故障里有99个被安全机制挡住了只有1个可能漏网。ASIL-D为什么要求≥99%对ASIL-D来说单点故障和残余故障的失效率必须小于总故障率的1%。换句话说100个故障里最多只能有1个是“裸奔”的——没有任何安全机制保护。诊断覆盖率怎么影响SPFM诊断覆盖率DC是SPFM的“核心变量”。诊断覆盖率等级数值对SPFM的影响低Low60%40%的故障会变成残余故障 → SPFM很难达标中Medium90%10%的故障会变成残余故障 → 还行高High99%只有1%的故障会变成残余故障 →ASIL-D必备指标二LFM潜伏故障度量——“有多少潜伏的炸弹被排掉了”LFM在算什么LFM衡量的是双点故障中“潜伏”的比例有多低。LFM 1 − (潜伏故障率 / 安全相关总失效率)用大白话翻译系统里那些“单个故障不会出事但两个故障一起发生就会出事”的故障中有多少比例能被检测到而不是悄悄潜伏着为什么“潜伏故障”很危险潜伏故障就像一颗定时炸弹——它单独存在时不会引爆但一旦另一个故障发生两颗炸弹一起爆炸后果不堪设想。潜伏故障本身不会导致安全目标被违反但它会降低系统的故障检测能力为未来的灾难埋下隐患。举个栗子你的车有主刹车和备用刹车两套系统双点冗余。备用刹车系统有一个潜伏故障——它其实已经坏了但因为平时不用你根本不知道。有一天主刹车系统也坏了第二个故障发生——这时候你才发现备用刹车早就坏了两个都坏了车刹不住了如果备用刹车的故障能被检测到LFM高你就会提前知道并维修灾难就可以避免。ASIL-D为什么要求≥90%对ASIL-D来说潜伏故障的失效率必须小于安全相关总失效率 - QM部分的10%。也就是说最多只能有10%的双点故障是“潜伏”的——剩下的90%必须能被检测到。指标三PMHF随机硬件失效概率——“这车开一辈子出事的概率有多高”PMHF在算什么PMHF是整个硬件设计最硬核的“终极成绩单”。它代表的是在整个车辆生命周期内因随机硬件故障导致安全目标被违反的概率。PMHF的计算公式PMHF的简化计算公式如下PMHF Σλ_SPF Σλ_RF Σ(λ_DPF_detected × λ_DPF_latent × T_lifetime)拆开来看符号含义大白话λ_SPF单点故障失效率“一个故障就直接完蛋”的概率λ_RF残余故障失效率“有安全机制但没覆盖到”的概率λ_DPF_detected可探测双点故障失效率“第一个故障能被发现”的概率λ_DPF_latent潜伏双点故障失效率“第一个故障没被发现”的概率T_lifetime车辆预期使用寿命“车开多少年”关键洞察双点故障的贡献是两个失效率相乘再乘以时间——因为需要两个故障同时发生才会出事概率比单点故障低得多。PMHF的“及格线”ASIL等级PMHF目标值换算成FITASIL B 10⁻⁷ /小时100 FITASIL C 10⁻⁷ /小时100 FITASIL D 10⁻⁸ /小时10 FITASIL-D的PMHF要求是ASIL-B/C的十分之一——这就是为什么ASIL-D认证那么难。SPFM不达标怎么办三大优化策略我们算出来主控MCU的SPFM只有98.1%离ASIL-D要求的99%还差0.9%。差0.9%怎么补有三种策略策略一提高诊断覆盖率 问题总线/接口失效的诊断覆盖率只有90%贡献了1.0 FIT的残余故障。解决方案把诊断覆盖率从90%提升到99%。优化前优化后诊断覆盖率90% → 残余故障率 10 × 10% 1.0 FIT诊断覆盖率99% → 残余故障率 10 × 1% 0.1 FIT效果残余故障率降低0.9 FITSPFM从98.1%提升到99.0%✅策略二增加冗余设计问题逻辑单元失效的失效率是40 FIT虽然DCLS覆盖了99%但还有0.4 FIT的残余。解决方案增加三模冗余TMR让三个核心做多数投票。优化前DCLS优化后TMR诊断覆盖率99% → 残余0.4 FIT诊断覆盖率99.9% → 残余0.04 FIT效果残余故障率再降0.36 FITSPFM进一步提升。策略三更换更高可靠性的组件问题某些组件的基础失效率本身就偏高。解决方案选用车规级、失效率更低的元器件。优化原则SPFM不达标要么提高诊断覆盖率加安全机制要么降低基础失效率换更好的芯片要么增加冗余上TMR。三者可以组合使用。芯片厂商 vs 系统集成商谁背什么KPI这是一个经常被混淆的问题。芯片厂商如英飞凌、NXP的责任芯片厂商开发的是SEooC独立安全单元——不依赖特定车辆环境的通用芯片。芯片厂商的FMEDA计算的是芯片本身的SPFM、LFM、PMHF。比如英飞凌AURIX TC3xx系列芯片本身的SPFM、LFM是基于芯片内部的安全机制DCLS、ECC、LBIST等计算出来的。芯片厂商的KPI芯片本身的SPFM/LFM/PMHF达标。系统集成商如Tier 1、整车厂的责任系统集成商把芯片集成到具体的系统中比如把AURIX MCU用到ACC控制器里。系统集成商的FMEDA要考虑芯片本身的失效率来自芯片厂商的数据系统级别的安全机制比如双MCU冗余、外部看门狗、电源监控等系统级别的诊断覆盖率系统集成商的KPI整个系统的SPFM/LFM/PMHF达标。简单说芯片厂商保证“芯片本身是安全的”系统集成商保证“用这个芯片做的系统是安全的”。实战案例从“不及格”到“优秀”的优化之路 初始状态不及格❌指标计算值ASIL-D目标状态SPFM98.1%≥99%❌ 差0.9%LFM89.5%≥90%❌ 差0.5%PMHF12 FIT10 FIT❌ 差2 FITStep 1优化总线/接口的诊断覆盖率问题总线/接口失效的诊断覆盖率只有90%。行动增加CRC校验 超时监控的冗余设计诊断覆盖率提升到99%。效果SPFM从98.1%提升到99.0%✅Step 2优化潜伏故障的检测问题部分双点故障没有被检测到导致LFM只有89.5%。行动增加周期性自检Periodic Self-Test定期检查备用通道的状态。效果LFM从89.5%提升到91.0%✅Step 3优化PMHF问题PMHF12 FIT离10 FIT还差一点。行动SPFM和LFM达标后PMHF自然下降。再加上替换部分高失效率的被动元件。效果PMHF从12 FIT降到8.5 FIT✅最终状态全部达标✅指标优化前优化后ASIL-D目标状态SPFM98.1%99.0%≥99%✅LFM89.5%91.0%≥90%✅PMHF12 FIT8.5 FIT10 FIT✅恭喜硬件设计通过ASIL-D“体检”硬件指标计算中容易踩的“坑”坑1只算SPFM忽略LFM和PMHF❌ “SPFM到99%了肯定过了”✅ 三个指标必须同时达标。SPFM过了但LFM没过照样不及格。坑2诊断覆盖率“拍脑袋”❌ “我觉得看门狗能覆盖95%”✅ 参考ISO 26262-5附录D中给出的诊断覆盖率建议值。坑3芯片厂商的指标和系统集成商的指标混为一谈❌ “芯片厂商说这个芯片SPFM达标了所以我系统肯定达标”✅ 芯片达标 ≠ 系统达标。系统集成商需要重新计算整个系统的指标。坑4PMHF只算单点故障不算双点故障❌ PMHF Σλ_SPF Σλ_RF只算单点✅ PMHF Σλ_SPF Σλ_RF Σ(λ_DPF_det × λ_DPF_lat × T_lifetime)坑5忘了考虑安全机制本身也会失效❌ 假设安全机制100%可靠✅ 安全机制本身也有失效率也需要纳入FMEDA计算。✅三个指标必须同时达标缺一不可✅SPFM不达标的优化策略提高诊断覆盖率、增加冗余设计、更换高可靠性组件✅芯片厂商算芯片本身的指标系统集成商算整个系统的指标——两者不能混为一谈✅PMHF公式包含单点故障、残余故障和双点故障三部分