ARTICLE DETAIL

建站实战干货

来自一线的建站与推广经验沉淀,每一条都经过真实交付验证。

FMEDA实操指南:从零搭建失效模式与诊断分析表

2026/10/4 1:02:27 拓冰建站 浏览量
FMEDA实操指南:从零搭建失效模式与诊断分析表 1. 项目概述1.1 什么是FMEDA为什么它这么难上手FMEDAFailure Modes, Effects and Diagnostic Analysis即失效模式、影响与诊断分析很多零基础的朋友第一次接触这个词通常是在ISO 26262功能安全项目的任务清单里。你被分到一个安全相关硬件模块领导说“去做一份FMEDA”你打开搜索引擎一查资料要么全是英文要么就是只剩结论没有计算过程很难直接拿来用。FMEDA和传统的FMEA最大的区别在于“诊断”两个字。FMEA解决的是“这个器件坏了会出什么事”而FMEDA需要进一步回答“这个器件坏了系统能不能发现它坏了发现了之后能不能安全地处理掉”。它要把每一个失效模式拆开算清残余风险是多少最后汇总成几个硬指标比如SPFM、LFM和PMHF。这些指标如果不过关整个系统的功能安全目标就无从谈起。这份内容主要面向需要独立完成硬件FMEDA、又没有人手把手带的工程师同时适合功能安全经理、项目负责人用来理解FMEDA报告背后的逻辑。我会直接从一张空白表格开始把每一步怎么做、数据哪里来、公式怎么填、坑在哪里全部过一遍。目标是你读完以后不需要再四处找人问“FMEDA到底怎么算”。1.2 一次完整的FMEDA需要产出什么做FMEDA不是交一张表格了事它最终要回答三个问题。第一硬件中是否有“单点故障”会导致安全目标被直接违反第二是否存在“潜伏故障”累积到一定程度才会导致安全目标被违反第三整个生命周期内随机硬件失效导致安全目标被违反的平均概率是否低于某个阈值这三个问题分别对应SPFM、LFM和PMHF。你可能听过一些缩写但不知道它们怎么从几十个器件的几百条失效模式里汇总出来。实际上FMEDA的所有工作最后都归结为一张表每个器件有哪些失效模式、每条失效模式占比多少、失效率多少、是否有安全机制覆盖、诊断覆盖率多高、最后归类成哪一类故障。把这些行和列填清楚后面的指标计算就是加减乘除的问题。所以零基础做FMEDA的第一步不是去背标准条款而是先把这张表的“骨架”搭明白。骨架对了数据往里填结果自然就出来了。1.3 做FMEDA前需要哪些输入材料如果你已经准备开始先别急着打开Excel。FMEDA不是凭空编出来的它需要几份输入材料。第一份是硬件原理图和器件清单BOM。这是最基本的所有分析对象都从这里来。第二份是系统安全概念和安全目标文档你要知道这个硬件在整车或整机里承担什么安全功能安全目标是什么比如“防止非预期的加速”对应到硬件就是“某个输出信号不能无故拉高”。第三份是安全机制清单即设计中针对每个风险采用了什么样的检测和控制手段比如看门狗、电压监测、CRC校验等。第四份是失效率数据来源比如IEC 62380、SN 29500或IEC TR 62380报告或者供应商提供的FIT值。我见过不少同事拿到任务就开始列器件结果分析完发现安全目标写错了整张表推倒重来。所以宁可多花半天把输入材料梳理清楚也不要急着填表。输入材料不齐输出结果就像没有地基的房子。2. 核心概念拆解与知识准备2.1 从FMEA到FMEDA一字之差背后的逻辑变化想理解FMEDA可以先回忆一下FMEA的做法。传统的硬件FMEA通常只做到“影响分析”比如一个电阻开路会导致输出电压异常进而导致某个功能失效。它关注的是“有什么失效模式”“严重度多高”“发生概率多大”“怎么探测”。但FMEA对“探测”的处理往往比较笼统通常给一个打分比如“探测难度大”它不能精确回答“这个故障有多少比例被检测到了剩下多少残留在系统里”。FMEDA把这一点量化了。它引入“诊断覆盖率”Diagnostic Coverage简称DC这一核心参数。诊断覆盖率用百分比表示意思是当一个故障模式发生时安全机制能够检测出来并把系统带入安全状态的概率。举个例子假设一个传感器漂移故障的年失效率是100 FIT系统里有一个监控模块能检测到传感器信号超出正常范围这个监控机制的诊断覆盖率是90%。那么在FMEDA里这100 FIT会被拆成两部分90 FIT对应被诊断覆盖的部分属于“已处理”剩下10 FIT是没被发现的残余风险会导致安全目标被违反。这就是FMEDA和FMEA本质上不同的地方——它把“风险有多大”具体到了数字层面。2.2 四个必须提前弄清楚的关键参数第一是失效率λ单位用FIT表示1 FIT等于每10^9小时发生1次失效。这个值不是猜出来的它要从标准手册查或者使用供应商提供的数据。选数据源时要保持一致不要一个器件用IEC 62380、另一个器件用SN 29500否则汇总后的失效率会自相矛盾。第二是故障模式分布。一个器件不是只会坏一种方式比如一个电阻可能开路也可能漂移。你需要知道每种故障模式占多大比例这些比例同样来自失效模式数据库或标准资料。查不到的时候可以参考类似器件的失效分析报告做估算但这个估算必须有依据不能拍脑袋。第三是诊断覆盖率DC。这往往是最难确定的一个参数。它既取决于安全机制本身的能力也取决于安全机制的诊断时机和系统诊断间隔。换句话说不是设计里加了一个看门狗DC就能标90%你必须分析看门狗到底能够多快地识别故障能不能在故障发生到安全目标被违反之前做出响应。第四是故障分类。每条失效模式最终要归类到单点故障SPF、残余故障RF、潜伏故障LF、安全故障SF或多点故障MPF中的某一类。分类错了后续指标计算就会全错这点要特别小心。2.3 安全机制与诊断覆盖率之间的关系安全机制可以理解成一个“哨兵”它的任务是发现故障或者容忍故障。哨兵的能力越强DC就越高。常见的哨兵类型包括看门狗定时器监控程序是否跑飞、电压监测监控电源是否在正常范围、CRC校验检测通信数据或存储数据是否被篡改、双核锁步两个核比较计算结果是否一致、RAM内置ECC检测并纠正存储单元的位翻转。在评估DC时还要考虑一个问题“哨兵自己坏了怎么办”安全机制本身的失效率也必须纳入FMEDA。这就是为什么表中往往会有一个额外的“安全机制故障”行。如果安全机制自己失效了原本被它覆盖的故障就会“暴露”出来变成潜伏故障。很多零基础的人在做FMEDA时只分析主功能电路把安全机制忽略了这是不完整的。安全机制也是硬件也会坏必须一并分析。你可以专门为每一个安全机制建立独立的失效模式分析也可以把它作为主功能电路的一部分以“安全机制自身失效”的形式列出来关键是不要漏。3. 手把手做FMEDA完整实操过程3.1 第一步划分分析边界与分析粒度拿到原理图以后第一步不是直接拆器件而是先明确“我分析到什么粒度”。如果整个系统太大通常先按安全相关项Item划分成一个一个相关项再把每个相关项拆成硬件部分和软件部分。硬件部分你还可以继续往下拆拆成传感器、控制器、执行器或者按功能拆成电源电路、信号采集电路、通信电路、输出驱动电路和分析处理电路。对于零基础初学者我建议第一版FMEDA先按“芯片级或模块级”做粒度划分不要一上来就精细到每个电阻电容。比如一个电源管理芯片你可以把它当作“带内部多个功能单元的单颗器件”按芯片内部功能单元拆成带隙基准、LDO输出、过压保护等子项。等到你积累了一定经验再往下拆到具体引脚和内部晶体管级别。粒度的选择会直接影响工作量。拆得越细分析越精准但工作量成倍增长。在项目初期安全目标和风险等级已经明确的情况下先做粗粒度分析可以快速暴露主要风险点。等方案基本定型后再针对高风险功能做细粒度完善。这样既不会遗漏重要问题也不至于在低风险电路上浪费大量时间。3.2 第二步建立失效率数据库并分配器件失效率失效率不用自己发明常见来源有IEC 62380、IEC TR 62380、SN 29500、MIL-HDBK-217以及各个供应商提供的失效数据。汽车行业经常看到IEC 62380因为它考虑了工作温度和实际应力环境相对贴近车规场景。举例说明一颗普通贴片电阻在IEC 62380模型下失效率通常与封装类型、工作环境温度、功耗相关。如果查到的结果是0.3 FIT意思是这颗电阻在标准工作条件下每10亿小时大约发生0.3次故障。对应的一个复杂SoC芯片的失效率可能高达几百甚至上千FIT因为内部集成了大量逻辑门和存储单元。这里要特别强调一点不同数据源给出的同一器件失效率可能相差很大不是因为某个数据源错了而是因为统计口径不同。比如有些是“早期失效”有些是“稳态失效”有些包含了“基础失效率”有些则是“带降额后的失效率”。不管用哪个数据源关键是要在FMEDA文档里写清楚出处、版本和假设条件方便审核时追溯。3.3 第三步确定故障模式、占比与安全机制一颗器件不会只有一个故障模式。以一颗稳压芯片为例它可能是输出短路、输出开路、输出电压偏高、输出电压偏低、无输出。每一个故障模式对系统的影响都不一样各自占的失效比例也不同。占比数据可以从SN 29500的附件、ISO 26262相关的失效模式库、或供应商的FMEA报告中找到。查不到精确占比时可以按经验假设但必须加注说明。比如“假设输出电压偏高和偏低各占20%无输出占30%其余按均匀分布处理”。这样的假设听起来粗糙但它暴露了不确定性审核员可以据此要求你补充数据而不是看到一个“神秘精确数”。充填完故障模式和占比之后接着要针对每个故障模式判断系统里有没有安全机制来检测或控制这个故障如果有就写下来并估算诊断覆盖率DC。举个例子稳压芯片输出电压偏高导致后级MCU供电超过耐压值。系统里有一个电压监测芯片能在电压超过1.1倍额定值时触发复位信号让MCU停止输出并进入安全状态。经过分析这个电压监测机制对这个故障模式的DC可以评定为95%。那这条故障模式就可以标记为“残余故障”剩余5%的失效率成为残余失效率。3.4 第四步故障分类的判定方法故障分类是FMEDA里最需要谨慎处理的环节。判断原则通常是这样先看这个故障模式会不会违反安全目标。如果不会违反安全目标直接归为“安全故障”SF不影响SPFM和LFM也不会贡献PMHF。如果会违反安全目标再看有没有安全机制覆盖以及覆盖之后剩余暴露量如何没有任何安全机制或者安全机制完全来不及响应归为“单点故障”SPF。有安全机制但安全机制不能做到100%覆盖未覆盖的残余部分归为“残余故障”RF。如果有两个故障要同时出现才违反安全目标且其中一个已经发生了但系统没有检测到那么先发生的这个故障归为“潜伏故障”LF。如果两个故障同时发生才违反安全目标且两个故障都不被检测这种一般作为“多点故障”处理在SPFM和LFM里的计算权重可能不同具体要看标准条款。这里最容易出错的是“潜伏故障”和“单点故障”的区分。很多初学者把没有安全机制覆盖的故障全部算成单点故障忽略了“需要多故障同时发生”的情况。但实际中也很常见比如一个电阻短路不会直接导致危害要配合另一个下游器件失效才导致危害。前者如果没有检测机制就是潜在的潜伏故障而不是单点故障。所以一定要结合安全概念来做分类不要只看一个器件。3.5 第五步计算SPFM、LFM和PMHF计算之前先把每一条失效模式的“残余失效率”算出来。残余失效率的计算公式是残余失效率 器件失效率 × 故障模式占比 × (1 - 诊断覆盖率)举个例子一颗芯片失效率是200 FIT其中“输出无输出”这个故障模式占比为30%相关安全机制的DC为90%那么该故障模式的残余失效率 200 × 0.3 × (1 - 0.9) 6 FIT。把所有单点故障失效率和残余故障失效率加起来除以所有相关故障的总失效率通常会排除安全故障就可以算SPFM。以ISO 26262为例SPFM 1 - (单点故障失效率之和 残余故障失效率之和) / (所有相关故障失效率之和)。LFM 1 - (潜伏故障失效率之和) / (所有潜在潜伏故障失效率之和即所有不属于“安全故障”的故障失效率之和)。PMHF则是根据系统各安全相关硬件部分的失效率、诊断覆盖率、诊断测试时间、以及单点故障和潜伏故障的贡献按标准里给出的公式计算最终单位通常是FIT或每小时失效概率。表头里我建议把每一行的“分类”和“残余失效率”放成两列这样SUMIF一拉SPFM和LFM的分母分子都能直接统计出来。Excel公式示例SUMIFS(残余失效率列, 分类列, SPF) SUMIFS(残余失效率列, 分类列, RF) 1 - 上方结果 / 相关故障总失效率3.6 第六步用Excel搭建自动计算表这里直接给一个可以照抄的表头结构。我的建议是每一行对应一个器件的一个故障模式一整份表至少包含以下列序号器件编号/位号器件名称与型号功能描述安全相关功能说明故障模式故障模式占比失效率FIT安全机制描述诊断覆盖率DC故障分类SPF/RF/LF/SF/MPF残余失效率FIT是否违反安全目标注释/数据来源其中“残余失效率”一列用公式自动计算这样你改DC或者改占比最终指标会立刻刷新不用手动重算。我在实际项目中会给每个页签做独立汇总区域页签底部列出SPFM、LFM和PMHF的计算过程和结果这样每次评审只要翻到最后一页就能直接看到三个关键指标。审核员问起中间数据再一层层往上翻逻辑非常清晰。4. 关于FMEDA模板的设计与优化4.1 如何设计一份好用的FMEDA模板fmeda模版很多人在搜索“fmeda模版”拿到手的往往是一个复杂到连行列都看不明白的Excel文件。这里我想说一句模板只是工具关键是模板背后的分析逻辑清晰。一份好的模板应该满足三点。第一列与列之间层级清晰哪些是输入、哪些是计算列、哪些是汇总结果一眼能分辨。第二公式自动计算不需要手工填残余失效率或者指标值。第三留有备注区和数据来源列方便追溯和审核。如果你要自己搭建建议把不同模块用不同颜色标注。比如输入数据用浅黄色中间计算用浅灰色最终结果用浅绿色。但要注意配色不要影响打印效果有些公司对文档格式有要求打印成黑白时颜色信息可能会丢失所以最好同时在关键单元格加文字注释。4.2 模板中常见的坑错行、错位与错误引用模板设计时最容易被忽视的问题就是引用错位。比如你在Excel中给第10行到第200行设置了公式如果中途插入或删除一整行有些SUMIF区域的引用范围可能自动变化导致最后汇总结果悄悄出错。这个我踩过好几次坑后来学乖了把所有汇总公式改成固定区域比如直接写成SUMIFS(范围, 条件1, 条件2)不要使用整列引用。整列引用看着方便但很容易把页签里的示例数据和辅助列算进去。另一个坑是故障分类的文本写法不统一。比如有的人写“SPF”有的人写“单点故障”还有的人写“单点”你的Excel公式如果按“SPF”条件求和那么写“单点”的行就不会被统计进去。解决办法是建一个数据有效性下拉选项限定只能从“SPF、RF、LF、SF、MPF”里选避免手工输入造成归类不一致。4.3 模板的自动化从手动填写到半自动生成如果项目比较大几十到上百个IC每个IC有几十条失效模式手工一行一行填表格会非常痛苦。我习惯先把“器件清单”页签维护好包含器件位号、型号、失效率、故障模式及占比。然后FMEDA主体表通过VLOOKUP或INDEX/MATCH从器件清单里自动带出基础数据我只填写每个故障模式对应的安全机制和DC。这样做有两个好处。第一当器件失效率数据源需要更新时只需要改“器件清单”页所有相关分析行自动更新不会出现主表改一半、漏改其他的情况。第二格式上更加统一。因为故障模式都是从清单里带出来的不会出现同一种故障模式各种写法的混乱局面。还要补充一点FMEDA模板不是“写一次就完事”的。硬件设计一旦发生变更比如更换了某颗芯片、增加了保护电路、调整了诊断策略FMEDA必须同步更新。所以我通常会在模板最上方加一个“修订记录”区域记录每次修订日期、修订内容、修订人。这样项目评审时你有没有响应设计变更审核员一眼就能看到。5. 芯片的瞬态故障需要计算到FMEDA中吗5.1 先搞清楚什么是瞬态故障这是一个很典型的疑问因为大部分FMEDA案例都默认在分析永久性故障比如短路、开路、器件损坏。但现代芯片尤其是小制程工艺的SoC还面临一类“瞬态故障”——故障是暂时的不会对硬件造成永久损坏但会让逻辑翻错、存储数据翻转、或者信号异常。最典型的瞬态故障是单粒子翻转SEU来自中子辐射或α粒子高海拔和飞行环境更明显。此外还有电压噪声、电磁干扰引起的瞬时逻辑错误。在某些场景下瞬态故障对功能安全的影响不亚于永久故障因为如果没有检测机制一个RAM位翻转可能直接导致控制逻辑出错。5.2 瞬态故障在FMEDA中的处理原则答案不是简单的是或否要看硬件类型和安全机制。如果这颗芯片中包含了存储单元比如RAM、寄存器、Flash就需要重点关注瞬态故障。ISO 26262关于随机硬件失效的评估在多数情况下并不仅限于永久故障软错误率SER也应纳入考量。如果芯片是纯组合逻辑比如简单的缓冲器、阻容器件瞬态故障的贡献通常可以忽略但前提是你要在分析报告里说明为什么忽略比如“该器件为无源存储功能的纯模拟器件不涉及数据保持瞬态故障不予考虑”。在实际项目中我会把存储类器件的软错误率SER单独计算并作为一个故障模式放入FMEDA。具体做法是先确定器件在某应用环境的软错误率比如某个SRAM的软错误率为100 FIT再根据设计中采用的ECC或奇偶校验机制确定DC。如果DC是90%那么残余软错误率就是10 FIT这项残余失效率会直接计入SPFM或PMHF。5.3 瞬态故障与故障模式占比如何结合瞬态故障和永久故障的处理方式略有不同。永久故障可以按短路、开路等故障模式拆分比例而瞬态故障通常是“位翻转”“逻辑翻转”这类单一故障模式不需要再拆成短路和开路。所以你在表中可以直接新增一行器件写“MCU内部SRAM”故障模式写“瞬态位翻转”占比写100%失效率用SER值。如果安全机制是ECC纠正所有单比特错误并检测双比特错误那么“可纠正的位翻转”可能不直接导致安全目标被违反而是作为可被纠正的安全故障或已诊断的多点故障处理。“可检测但未纠正的双比特错误”则可能归为残余故障或潜伏故障。分类的原则和永久故障一致看故障会不会违反安全目标以及安全机制是不是及时有效。5.4 瞬态故障不应被忽略的几种场景有很多人对瞬态故障“选择性忽略”的理由是标准没有强制要求。但如果你做的是满足ASIL D的转向、刹车、动力控制相关硬件瞬态故障通常不能忽略。理由很简单在这些场景下控制逻辑里的一个瞬态错误就可能导致极其严重的后果而且瞬态故障发生率并不低尤其当芯片使用先进制程、工作在大气中子环境中时。即使标准允许你在某些假设下忽略瞬态故障你也必须提供合理的论据。比如你经过分析得出该芯片的SER极低或者此类瞬态错误导致的功能失效与安全目标无直接关联才能在报告中写“不适用”。最忌讳的是因为嫌麻烦而不分析审核阶段被问到时完全无法自圆其说。6. 常见问题与排查技巧实录6.1 常见问题速查表这里整理几个我实际被问过或者自己踩过的问题直接给结论和解决思路。问题原因解决办法SPFM算出来低于目标值但感觉设计已经够好了把大量高失效率的“安全故障”排除了但实际很多故障没有足够覆盖率优先提高关键安全机制DC或增加创新安全机制覆盖相关故障LFM怎么都过不了潜伏故障占比太高很多故障没有诊断手段增加周期性诊断测试把潜伏故障转成已诊断故障或缩短诊断测试间隔某一行“残余失效率”出现负值(1-DC)里DC填了大于1的值用Excel数据有效性限制DC范围在0到1之间并在公式里加IF判断汇总指标和审核员计算结果对不上分类名称不统一SUMIF统计遗漏统一使用下拉选项禁止自由文本不同人算出的PMHF相差很大诊断测试时间、维修率等参数设置不一致在模板顶部明确写出所有假设参数和引用条款逐项核对供应商给的失效率和标准手册差很多统计口径或封装测试条件不同在报告中记录数据来源并说明为何采用该数据6.2 做FMEDA必须避开的几个经典错误第一个经典错误是“所有故障模式都按均匀分布”。有的器件有5个故障模式就直接每个占20%这样做在数据缺失时勉强可以接受但如果有供应商数据或行业失效数据库支持一定要优先采用具体占比。均匀分布会高估某些不常见故障模式对SC指标的贡献导致结论偏向乐观或悲观。第二个经典错误是“DC越高越好所以全部标99%”。诊断覆盖率的估算必须有安全机制的实际响应时间、测试覆盖率作为依据。如果一个安全机制只是周期性检查一种参数它的DC不可能覆盖所有相关故障模式。标高了指标好看但安全分析失真标低了需要重新做设计。我的建议是DC数据尽量引用参考标准和供应商材料的推荐值没有参考时用工程判断并写清依据。第三个经典错误是“只分析IC不分析外围无源器件”。很多人把一颗电源芯片的失效率算了一遍却忽略了它的输入电容、输出电容、采样电阻也可能故障。外围无源器件虽然单个失效率低但数量巨大累计起来占比并不小有时候甚至会成为SPFM的钉子户。6.3 从零基础到独立完成我的一点实操心得我做FMEDA早期最痛苦的阶段不是不知道失效率怎么查而是不知道“分类”到底怎么分。后来我把标准里关于单点故障、潜伏故障的定义打印出来贴在显示器边上每次做分类都对照一遍出错率明显降低。第二个心得是做FMEDA一定要尽早让功能安全评审人员介入。不要等自己在Excel里埋头算了两周才拿出来评审而是先做一轮草稿把分析粒度、故障分类思路和关键DC假设同步给他。对方早一点提意见你早一点修改总好过最后发现整个分析框架要推翻重来。我在一次项目中就吃过这个亏定了“按芯片级”分析但审核人员希望按“内部功能模块级”结果几乎重做了一遍。第三个心得是如果你的公司有历史项目的FMEDA底稿一定不要浪费。新项目的器件虽然变了但故障模式类型、安全机制写法、DC参考值都有很强的复用性。把历史底稿整理成自己团队的“失效模式知识库”后续项目会轻松非常多。这也算是我给零基础朋友的一个长期建议第一次做先把流程跑通第二次做尽量形成自己的积累第三次做就应该能从“照着模板填”变成“知道我为什么这么填”。7. 写在最后的小建议如果你正准备做第一份FMEDA不要被那些密密麻麻的表格和标准条款吓退。它本质上就是一个“逐层拆解、逐项量化”的过程先拆功能再拆器件再拆故障模式最后拆概率。每一步都需要耐心但不需要天才。这份文档里的步骤就是我反复用过、踩过坑之后沉淀下来的路径照着走大概率能少走很多弯路。最后再分享一个实操小技巧。在做完全部FMEDA之后不要急着删掉过程中生成的临时计算表。那些中间数据往往比最终结论更有价值因为它们记录了你的判断过程。功能安全审核的核心从来不只是看结果数字而是看这些数字是怎么来的。把每一步出处都想清楚你的FMEDA就站得住脚。