2. 功能安全基础
做FMEDA分析,不能光会算数字。你得知道这些数字背后的“规矩”是什么。
说白了,功能安全标准就是一套游戏规则。不同行业,规则不同。你拿汽车行业的ISO 26262去套工业机器人,那肯定行不通。反过来,用IEC 61508去分析汽车转向系统,甲方也会觉得你不专业。
这一章,我们就来捋一捋,这几个主流标准到底对FMEDA提了什么要求。我个人习惯,先看标准再动手,不然方向错了,后面全白干。
2.1 安全完整性等级(SIL / ASIL)——FMEDA的“靶心”
FMEDA算来算去,最终要回答一个问题:这个安全机制,到底够不够安全?
衡量“够不够安全”的尺子,就是安全完整性等级。
- SIL(Safety Integrity Level):IEC 61508定义的,分SIL 1到SIL 4。SIL 4要求最高,一般用在核电、航空这种“出事了就完蛋”的场合。
- ASIL(Automotive Safety Integrity Level):ISO 26262定义的,分A、B、C、D。ASIL D要求最高,比如刹车、转向系统。
- PL(Performance Level):ISO 13849定义的,分a、b、c、d、e。PL e对应最高可靠性,常见于安全光幕、安全门锁。
核心逻辑:FMEDA的输出(PFH、SPFM、LFM等指标)必须满足对应等级的目标值。达不到?要么改设计,要么降等级。
我在项目里遇到过,有人把SIL 2的要求直接套在ASIL B的系统上。结果算出来的失效率怎么都过不了。后来一查,目标值差了一个数量级。嗯,这种低级错误,犯一次就记住了。
2.2 IEC 61508:FMEDA的“老祖宗”
IEC 61508是所有功能安全标准的基础。它把安全生命周期分成了16个阶段,FMEDA主要在第9部分(硬件安全完整性)和第6部分(定量分析指南)里被提及。
2.2.1 IEC 61508对FMEDA的硬性要求
- 架构约束:必须满足HFT(硬件故障裕度)要求。比如SIL 3的系统,HFT至少为1(即单点故障不能导致安全功能丧失)。
- 定量目标:必须计算PFH(每小时危险失效概率)或PFD(需求时失效概率)。
- 诊断覆盖:必须给出每个安全机制的DC(诊断覆盖率),并证明其有效性。
- 共因失效:必须评估β因子,处理冗余通道之间的共因失效。
我的经验:IEC 61508的FMEDA表格是最经典的。它把每个元器件分成“安全失效”、“危险可检测失效”、“危险不可检测失效”三类。你把这个逻辑吃透了,后面做ISO 26262和ISO 13849的FMEDA,基本就是换汤不换药。
2.3 ISO 26262:汽车行业的“铁律”
ISO 26262是IEC 61508在汽车行业的“定制版”。它对FMEDA的要求更细,也更严。
2.3.1 关键指标变了
ISO 26262引入了两个新指标,专门用来衡量“单点故障”和“潜伏故障”:
| 指标 | 全称 | 针对什么 | ASIL D目标值 |
|---|---|---|---|
| SPFM | 单点故障度量 | 单点故障和残余故障 | ≥ 99% |
| LFM | 潜伏故障度量 | 潜伏故障(未被诊断覆盖的) | ≥ 90% |
| PMHF | 随机硬件失效概率度量 | 整体随机硬件失效率 | < 10 FIT(1 FIT = 10⁻⁹/h) |
你想想看,SPFM和LFM这两个指标,本质上就是FMEDA算出来的。你每个元器件的诊断覆盖率、安全失效占比,最终都会汇总成这两个百分比。
避坑指南:我曾经在做一个ASIL C的BMS项目时,SPFM算出来98.5%,觉得差不多了。结果评审专家说,ASIL C要求SPFM ≥ 97%,但你的LFM只有82%,而ASIL C要求LFM ≥ 80%。虽然都过了,但专家建议我优化一下诊断策略,把LFM提到85%以上,留点余量。后来我改了改看门狗和自检逻辑,LFM提到了87%。这个经验告诉我:别卡着线设计,给自己留点余地。
2.4 ISO 13849:机械安全的“实用派”
ISO 13849主要用在机械安全领域,比如冲压机、机器人、传送带。它不像ISO 26262那么“学术”,更强调工程实用性。
2.4.1 用PL代替SIL
ISO 13849用PL(Performance Level)来划分等级。PL和SIL有对应关系,但不完全等同:
| PL | 对应SIL | PFH范围(每小时危险失效概率) |
|---|---|---|
| a | 无 | ≥ 10⁻⁵ 到 < 10⁻⁴ |
| b | SIL 1 | ≥ 3 × 10⁻⁶ 到 < 10⁻⁵ |
| c | SIL 1 | ≥ 10⁻⁶ 到 < 3 × 10⁻⁶ |
| d | SIL 2 | ≥ 10⁻⁷ 到 < 10⁻⁶ |
| e | SIL 3 | ≥ 10⁻⁸ 到 < 10⁻⁷ |
2.4.2 ISO 13849对FMEDA的特殊要求
- MTTFd(平均危险失效时间):ISO 13849更倾向于用MTTFd来评估元器件可靠性,而不是直接算PFH。FMEDA需要把失效率转换成MTTFd。
- DCavg(平均诊断覆盖率):它不要求每个安全机制单独算DC,而是算整个子系统的平均诊断覆盖率。
- CCF(共因失效):ISO 13849有一个专门的CCF评分表(附录E),通过打分来评估共因失效防护措施是否到位。
我的建议:做机械安全项目的FMEDA时,别死磕ISO 26262那套SPFM/LFM。ISO 13849更看重“架构类别”(Category 1-4)和“MTTFd”。你先把架构类别定下来,再算MTTFd和DCavg,最后查表确定PL。这个流程比ISO 26262简单直接得多。
2.5 三大标准对FMEDA要求的对比总结
为了方便你快速查阅,我整理了一张对比表:
| 维度 | IEC 61508 | ISO 26262 | ISO 13849 |
|---|---|---|---|
| 等级体系 | SIL 1 - 4 | ASIL A - D | PL a - e |
| 核心指标 | PFH / PFD | SPFM, LFM, PMHF | MTTFd, DCavg, CCF |
| 诊断覆盖率 | 按安全机制单独计算 | 按安全机制单独计算 | 计算子系统的DCavg |
| 共因失效 | β因子模型 | β因子模型 + 诊断隔离 | CCF评分表(附录E) |
| FMEDA侧重点 | 架构约束 + 定量分析 | 单点/潜伏故障度量 | 架构类别 + MTTFd |
2.6 一张图看懂:标准与FMEDA的关系
下面这张SVG图,帮你理清三个标准对FMEDA的核心要求差异:
2.7 我的个人建议:如何选择标准?
如果你刚入行,我建议你先吃透IEC 61508。它是所有标准的基础。你把它里面的FMEDA逻辑搞明白了,后面学ISO 26262和ISO 13849,最多一周就能上手。
如果你已经在做具体项目:
- 汽车电子:直接学ISO 26262,重点理解SPFM和LFM的计算逻辑。
- 工业机械/机器人:学ISO 13849,重点理解架构类别和MTTFd的转换。
- 流程工业/核电:学IEC 61508,重点理解PFD和PFH的区别,以及β因子的取值。
最后提醒一句:标准是死的,项目是活的。FMEDA不是算完数字就交差。你得能解释清楚:为什么这个电阻的失效率取这个值?为什么这个安全机制的诊断覆盖率是90%而不是99%?这些“为什么”,才是你作为功能安全专家的价值所在。