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)。
  • 安全机制:诊断覆盖率是安全机制有效性的直接体现。
  • 失效率分配:覆盖率越高,允许的残余失效率越低。

我建议你记住这张图,它把标准里的逻辑串起来了:

诊断覆盖率在功能安全标准中的位置 诊断覆盖率在功能安全标准中的位置 风险分析 → ASIL/SIL 等级 安全目标(Safety Goal) 硬件设计 + 安全机制 诊断覆盖率(DC)计算 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 秒内就导致危险,那这个覆盖率就没意义。

我的建议:做覆盖率分析时,别只看数字。要问自己三个问题:

  1. 这个覆盖率是怎么算出来的?
  2. 覆盖了哪些失效模式?
  3. 有没有遗漏的共因失效或系统性失效?

这三个问题问完,你心里就有底了。

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 是基础。但两者在诊断覆盖率上的底层逻辑是相通的——覆盖率越高,残余风险越低,但实现成本也越高。

一句话总结:

诊断覆盖率不是“算出来”的,是“设计出来”的。标准给了你目标,但怎么达到,靠的是对失效模式的深刻理解和扎实的工程实践。