2、功能安全标准概览:ISO 26262、IEC 61508对诊断覆盖率的要求、ASIL等级与覆盖率目标
聊诊断覆盖率,绕不开两个标准:IEC 61508 和 ISO 26262。
IEC 61508 是功能安全的“老祖宗”,覆盖工业、流程、机械等领域。ISO 26262 则是汽车行业的专用版,脱胎于 IEC 61508,但针对车辆电子电气系统做了大量调整。
我个人习惯,把 IEC 61508 看作“通用安全语言”,ISO 26262 是“汽车安全方言”。两者核心逻辑一致,但细节差异很大。
2.1 标准体系与核心逻辑
两个标准都遵循一个基本思路:识别风险 → 设定安全目标 → 分配安全要求 → 验证实现。
诊断覆盖率(DC)是验证环节的关键指标。它衡量的是:当硬件发生随机失效时,安全机制能检测出来的比例。
核心公式(简化版):
诊断覆盖率 = 检测到的失效率 / 总失效率
说白了,就是你的安全机制“抓”住了多少故障。
我在项目中遇到过不少团队,把诊断覆盖率当成“算数题”,算完就完。其实不然,覆盖率背后是对失效模式的深刻理解。
2.2 ASIL等级与覆盖率目标
ISO 26262 引入了 ASIL(Automotive Safety Integrity Level) 的概念。ASIL 分四个等级:A、B、C、D,D 是最严格的。
ASIL 等级决定了你需要达到的诊断覆盖率目标。标准里给出了明确的推荐值:
| ASIL 等级 | 单点故障指标(SPFM) | 潜在故障指标(LFM) | 诊断覆盖率要求(DC) |
|---|---|---|---|
| ASIL A | — | — | 无硬性要求 |
| ASIL B | ≥ 90% | ≥ 60% | ≥ 90% |
| ASIL C | ≥ 97% | ≥ 80% | ≥ 97% |
| ASIL D | ≥ 99% | ≥ 90% | ≥ 99% |
我的经验:ASIL D 的 99% 覆盖率听起来很吓人,但别被数字唬住。实际项目中,很多失效模式通过简单的机制就能达到 99%。真正难的是那些“隐藏很深”的失效,比如共因失效、时序相关的故障。
IEC 61508 也有类似的分级,叫 SIL(Safety Integrity Level),分 1 到 4 级。SIL 3 大致对应 ASIL D,SIL 2 对应 ASIL C,以此类推。
2.3 诊断覆盖率在标准中的位置
标准里,诊断覆盖率不是孤立存在的。它和几个关键概念绑在一起:
- 硬件架构指标:单点故障指标(SPFM)、潜在故障指标(LFM)、硬件随机失效概率度量(PMHF)。
- 安全机制:诊断覆盖率是安全机制有效性的直接体现。
- 失效率分配:覆盖率越高,允许的残余失效率越低。
我建议你记住这张图,它把标准里的逻辑串起来了:
2.4 诊断覆盖率的分类
标准里把诊断覆盖率分成几类,我列个表方便你对照:
| 分类 | 描述 | 典型应用 |
|---|---|---|
| 低覆盖率 | DC < 60% | 非安全相关功能,或冗余设计已覆盖 |
| 中覆盖率 | 60% ≤ DC < 90% | ASIL B 部分场景,或作为辅助诊断 |
| 高覆盖率 | 90% ≤ DC < 99% | ASIL C 主流要求 |
| 超高覆盖率 | DC ≥ 99% | ASIL D 核心安全机制 |
我曾经踩过的坑:有个项目,团队把某个模块的覆盖率算到了 99.5%,但实际测试时发现,一个关键的共因失效模式根本没被覆盖。为什么?因为计算时只考虑了独立失效,忽略了共因失效。所以,覆盖率数字好看 ≠ 系统真的安全。
2.5 标准对诊断覆盖率的具体要求
ISO 26262 第 5 部分(硬件层面)明确要求:
- 每个安全机制必须明确其诊断覆盖率。
- 覆盖率可以通过 FMEDA(失效模式、影响与诊断分析)计算。
- 覆盖率数据可以来自:供应商数据、行业指南、实测数据、仿真数据。
IEC 61508 第 2 部分也有类似要求,但更强调“诊断测试间隔”和“诊断测试覆盖率”的关系。你想想看,如果一个诊断机制每 10 秒跑一次,覆盖率 99%,但故障在 1 秒内就导致危险,那这个覆盖率就没意义。
我的建议:做覆盖率分析时,别只看数字。要问自己三个问题:
- 这个覆盖率是怎么算出来的?
- 覆盖了哪些失效模式?
- 有没有遗漏的共因失效或系统性失效?
这三个问题问完,你心里就有底了。
2.6 标准之间的差异与衔接
ISO 26262 和 IEC 61508 虽然核心逻辑一致,但有几个关键差异:
| 维度 | IEC 61508 | ISO 26262 |
|---|---|---|
| 安全等级 | SIL 1 ~ 4 | ASIL A ~ D |
| 诊断覆盖率要求 | 按 SIL 等级分档 | 按 ASIL 等级分档,更细化 |
| 硬件指标 | PFDavg / PFH | SPFM / LFM / PMHF |
| 共因失效处理 | β 因子模型 | 诊断覆盖率 + 独立性要求 |
| 适用领域 | 工业、过程、机械 | 汽车电子电气系统 |
如果你做的是汽车项目,直接按 ISO 26262 走。如果是工业控制器或传感器,IEC 61508 是基础。但两者在诊断覆盖率上的底层逻辑是相通的——覆盖率越高,残余风险越低,但实现成本也越高。
一句话总结:
诊断覆盖率不是“算出来”的,是“设计出来”的。标准给了你目标,但怎么达到,靠的是对失效模式的深刻理解和扎实的工程实践。