2. 功能安全基础

在功能安全诊断覆盖率工程中,所有诊断设计、覆盖率计算与验证活动,最终都要回到三个基础概念:安全生命周期、安全完整性等级(SIL)以及随机硬件失效与系统性失效的区分。它们分别回答“安全活动按什么顺序做”“做到什么程度算合格”“失效从哪里来、如何被诊断覆盖”这三个根本问题。理解这三者之间的关系,是后续诊断覆盖率建模与量化的前提。

一、安全生命周期:安全不是一次测试,而是一条闭环链路

安全生命周期(Safety Lifecycle)是功能安全标准(如 IEC 61508、ISO 26262)规定的结构化活动序列。它把安全从“事后检测”转变为“全过程管理”,覆盖从概念、设计、实现、验证、运行到退役的完整阶段。其核心思想是:安全需求必须可追溯,安全活动必须可验证,安全状态必须可维护。

典型的安全生命周期可划分为以下阶段:

  • 概念与范围定义:确定被控对象、边界、危害与风险接受准则。
  • 危害分析与风险评估:识别危害事件,评估严重度、暴露率与可控性,导出安全目标。
  • 安全需求分配:将安全目标分解为安全功能需求与安全完整性需求,并分配到硬件、软件或外部措施。
  • 系统设计与实现:完成架构设计、诊断设计、冗余设计,并实现安全机制。
  • 集成与验证:通过测试、分析、评审确认安全需求被满足。
  • 运行、维护与变更管理:监控现场失效,执行定期诊断,管理变更对安全完整性的影响。
  • 退役与去功能化:确保退役过程不引入新的危害。

在诊断覆盖率工程中,安全生命周期最重要的价值在于:诊断覆盖率不是设计完成后的“补算”,而是从安全需求阶段就要定义、在设计与验证阶段逐步证明的属性。诊断覆盖率的证据链必须与生命周期各阶段的活动对应。

二、安全完整性等级:把“安全程度”变成可度量的等级

安全完整性等级(Safety Integrity Level,SIL)是对安全功能可靠程度的离散分级。IEC 61508 将 SIL 分为 SIL 1 至 SIL 4,等级越高,要求的安全完整性越高,允许的残余风险越低。SIL 的评估通常基于两个维度:需求时失效概率(PFDavg,低要求模式)或每小时危险失效概率(PFH,高要求/连续模式),以及硬件安全完整性约束(如安全失效分数 SFF、诊断覆盖率 DC、共因失效 β 等)。

需要特别强调的是:SIL 不是对单个器件的评级,而是对安全功能整体能力的评级。一个安全功能可能由传感器、逻辑单元、执行器共同实现,其 SIL 取决于整条安全链的架构约束、诊断覆盖率与共因失效控制。诊断覆盖率越高,通常允许的硬件冗余越少,或在相同冗余下可获得更高的 SIL。

SIL 等级 低要求模式 PFDavg 高要求/连续模式 PFH(1/h) 典型应用倾向
SIL 1 ≥10⁻² 且 <10⁻¹ ≥10⁻⁶ 且 <10⁻⁵ 一般工业保护
SIL 2 ≥10⁻³ 且 <10⁻² ≥10⁻⁷ 且 <10⁻⁶ 过程工业联锁
SIL 3 ≥10⁻⁴ 且 <10⁻³ ≥10⁻⁸ 且 <10⁻⁷ 高风险流程、轨道交通
SIL 4 ≥10⁻⁵ 且 <10⁻⁴ ≥10⁻⁹ 且 <10⁻⁸ 极高风险场景
诊断覆盖率 DC 是影响 SIL 达标的关键参数之一。在相同架构下,提高 DC 可显著降低对冗余通道数量的依赖,但 DC 的提升必须由失效模式、诊断机制与验证证据共同支撑,不能仅凭经验赋值。

三、随机硬件失效与系统性失效:两类失效,两种诊断策略

功能安全将失效分为两大类,这一区分直接决定了诊断覆盖率工程的对象与方法。

随机硬件失效指由物理退化、应力、环境等随机因素引起的硬件失效,如电阻开路、电容短路、晶体管击穿、焊点疲劳等。其特点是可用概率模型描述,如指数分布、失效率 λ、诊断覆盖率 DC、安全失效分数 SFF 等。随机硬件失效是诊断覆盖率最直接的作用对象:通过在线诊断、自检、比较、看门狗、CRC 校验等手段,把危险失效转化为安全失效或可检测失效。

系统性失效指由设计缺陷、规范错误、软件逻辑错误、集成错误、人为失误等引起的失效。其特点是确定性存在、不可用概率分布简单描述,不能通过提高诊断覆盖率来“算出来”,而必须通过流程、方法、评审、验证与确认来控制。例如:软件中的边界条件遗漏、需求歧义、接口协议不匹配、诊断逻辑本身存在漏洞等。

两者的对比如下:

  • 随机硬件失效:可用 λ、DC、SFF、PFD/PFH 量化;诊断覆盖率是核心控制手段;关注硬件架构约束与共因失效。
  • 系统性失效:不可用简单概率量化;依赖安全生命周期、开发流程、验证与确认;诊断覆盖率只能覆盖其“可检测表现”,不能消除根因。
常见误区:把诊断覆盖率当作“万能指标”,试图用高 DC 掩盖系统性失效。实际上,若诊断逻辑本身存在系统性缺陷,DC 的宣称值将失去意义。诊断覆盖率工程必须同时关注随机硬件失效的量化与系统性失效的流程控制。

四、三者的关系:一张图看清安全生命周期的闭环

安全生命周期提供活动框架,SIL 提供目标等级,随机硬件失效与系统性失效提供失效来源与诊断对象。诊断覆盖率则贯穿其中:在需求阶段定义目标,在设计阶段分配诊断机制,在验证阶段证明覆盖率,在运行阶段维持覆盖率。下图展示了这一闭环关系。

安全生命周期闭环中的诊断覆盖率工程 安全生命周期:概念 → 危害分析 → 需求分配 → 设计实现 → 集成验证 → 运行维护 → 退役 诊断覆盖率在需求阶段定义目标,在设计阶段分配机制,在验证阶段证明,在运行阶段维持 安全完整性等级 SIL SIL 1 ~ SIL 4 PFDavg / PFH 目标 架构约束:SFF、DC、β 随机硬件失效 物理退化、应力、环境 λ、DC、SFF 可量化 诊断覆盖率主要作用对象 系统性失效 设计缺陷、软件错误 需求歧义、集成失误 靠流程、评审、验证控制 诊断覆盖率 DC 工程 失效模式分析 → 诊断机制设计 → 覆盖率量化 → 验证证据 → 运行监控 目标:把危险失效转化为安全失效或可检测失效 反馈:覆盖率不足 → 改进诊断或调整架构 → 重新验证 生命周期约束与追溯

五、案例场景:从需求到诊断覆盖率的落地

假设某安全功能要求达到 SIL 3,采用 1oo2D 架构。在安全需求阶段,团队定义该功能的 PFDavg 目标为 <10⁻³,并识别出关键失效模式:传感器漂移、逻辑单元 RAM 位翻转、输出驱动短路。设计阶段,针对 RAM 位翻转采用 ECC 与周期性自检,针对传感器漂移采用双通道比较与合理性检查,针对输出短路采用回读诊断。验证阶段,通过 FMEDA 计算各失效模式的 DC,确认整体 SFF 满足 SIL 3 的架构约束。运行阶段,定期执行诊断测试并记录覆盖率证据。

这个案例说明:诊断覆盖率不是孤立参数,而是安全生命周期各阶段活动的汇聚点。随机硬件失效通过 DC 被量化控制,系统性失效则通过需求评审、设计规范、验证用例与变更管理被控制。

六、常见误区与复盘要点

  • 误区一:先设计后补 DC。诊断覆盖率应在安全需求阶段就定义目标,否则后期补诊断往往受架构限制。
  • 误区二:把 DC 当作 SIL 的唯一决定因素。SIL 还受 SFF、共因失效 β、架构约束与系统性失效控制的影响。
  • 误区三:混淆随机硬件失效与系统性失效。前者可量化、可诊断覆盖;后者必须靠流程与验证控制,不能靠提高 DC 解决。
  • 复盘要点:检查诊断覆盖率证据是否可追溯至具体失效模式、诊断机制与测试用例;检查安全生命周期各阶段是否闭环;检查 SIL 目标是否与架构约束一致。
核心结论:安全生命周期是框架,SIL 是目标,随机硬件失效与系统性失效是对象,诊断覆盖率是连接对象与目标的量化桥梁。只有把四者放在同一闭环中管理,诊断覆盖率工程才具备功能安全意义上的有效性。