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的核心要求差异:

三大功能安全标准对FMEDA的核心要求 三大标准对FMEDA的核心要求 FMEDA 分析 IEC 61508 SIL 1-4 | PFH/PFD | 架构约束 ISO 26262 ASIL A-D | SPFM/LFM/PMHF ISO 13849 PL a-e | MTTFd/DCavg/CCF 共同点 都需要定量分析失效率 | 都需要评估诊断覆盖率 | 都需要处理共因失效 侧重:架构约束 + 定量PFH 侧重:单点/潜伏故障度量 侧重:架构类别 + MTTFd 注:ISO 26262和ISO 13849均继承自IEC 61508,但各有行业定制化要求 FMEDA 是连接“标准要求”与“硬件设计”的桥梁

2.7 我的个人建议:如何选择标准?

如果你刚入行,我建议你先吃透IEC 61508。它是所有标准的基础。你把它里面的FMEDA逻辑搞明白了,后面学ISO 26262和ISO 13849,最多一周就能上手。

如果你已经在做具体项目:

  • 汽车电子:直接学ISO 26262,重点理解SPFM和LFM的计算逻辑。
  • 工业机械/机器人:学ISO 13849,重点理解架构类别和MTTFd的转换。
  • 流程工业/核电:学IEC 61508,重点理解PFD和PFH的区别,以及β因子的取值。

最后提醒一句:标准是死的,项目是活的。FMEDA不是算完数字就交差。你得能解释清楚:为什么这个电阻的失效率取这个值?为什么这个安全机制的诊断覆盖率是90%而不是99%?这些“为什么”,才是你作为功能安全专家的价值所在。