4. 故障监控核心概念

在功能安全工程中,故障(Fault)、错误(Error)、失效(Failure)并不是三个可以互换的同义词,它们描述的是同一因果链上不同阶段的状态。理解这条链,是设计 RH850 故障监控机制、计算 FTTI 以及评估安全机制有效性的前提。ISO 26262 对这三个术语有严格定义,工程实践中若混淆,往往会导致诊断覆盖率虚高、安全目标无法论证。

一、核心原理:故障—错误—失效的因果链

三者构成一条单向传播链:故障是原因,错误是中间状态,失效是最终表现。故障是系统或部件中可能导致错误的异常物理条件,例如电阻开路、存储单元位翻转、时钟抖动超限。错误是故障在系统内部引起的、与正确值或正确状态不一致的表现,例如寄存器中某一位由 0 变为 1。失效则是系统或部件在规定的条件下无法完成规定功能,是错误传播到服务边界后对外可见的结果。

关键点在于:故障不一定立即导致失效。如果错误被安全机制及时检测并处理,系统仍可维持功能或进入安全状态。这正是故障监控存在的意义——在错误传播为失效之前将其拦截。RH850 的锁步核、ECC、看门狗、时钟监控等机制,本质上都是在链的不同位置设置拦截点。

故障 → 错误 → 失效 因果链与安全机制拦截点 故障 Fault 物理/软件异常条件 如:位翻转、开路、抖动 原因层 错误 Error 内部状态与正确值不一致 如:寄存器位翻转、数据错 中间状态层 失效 Failure 对外功能无法完成 如:输出错误、功能丢失 表现层 安全机制拦截区(在错误传播为失效之前) 锁步核比较 检测执行错误 ECC 校验 检测/纠正存储错误 看门狗 检测程序流异常 时钟/电压监控 检测环境异常 故障容错时间间隔 FTTI 故障发生 错误被检测 安全状态达成 检测时间 反应时间 FTTI = 检测时间 + 反应时间(必须小于故障导致危害的最短时间)

二、故障容错时间间隔 FTTI 的工程含义

故障容错时间间隔(Fault Tolerant Time Interval, FTTI)是指从故障发生到必须进入安全状态之间的最大时间窗口。它由两部分组成:故障检测时间与故障反应时间。安全机制必须在 FTTI 内完成检测并执行响应,否则错误将传播为危害性失效。

在 RH850 项目中,FTTI 通常由整车或系统层分配,例如某 EPS 系统要求 FTTI ≤ 100 ms。工程师需要反推:锁步核比较周期、ECC 中断响应延迟、看门狗超时窗口、安全状态切换时间之和,必须小于该值。若某一环节超限,就需要缩短诊断周期或提高安全机制优先级。

FTTI 计算示例:

FTTI 预算 = 100 ms
  ├─ 锁步核比较与错误上报:≤ 10 ms
  ├─ ECC 中断响应与处理:≤ 5 ms
  ├─ 看门狗超时窗口:≤ 50 ms
  ├─ 安全状态切换(关断输出):≤ 20 ms
  └─ 余量:15 ms
合计 = 100 ms,满足 FTTI 要求

三、安全机制与故障分类的对应关系

安全机制的设计必须针对具体的故障模式。ISO 26262 将故障分为单点故障、残余故障和多点故障。单点故障是未被任何安全机制覆盖、直接导致失效的故障;残余故障是安全机制未完全覆盖的部分;多点故障则需要两个及以上故障组合才导致失效。RH850 的安全机制通常组合使用,以覆盖不同故障类型。

故障类型典型示例RH850 安全机制覆盖目标
单点故障CPU 执行单元位翻转锁步核比较检测执行错误
残余故障ECC 无法纠正的双位错误ECC + 中断上报检测并进入安全状态
多点故障时钟漂移 + 看门狗失效时钟监控 + 独立看门狗组合覆盖
潜伏故障未触发的诊断电路失效上电自检 + 周期自检缩短潜伏时间

四、案例场景:RH850 锁步核错误拦截

假设 RH850 主核与锁步核在某一周期执行同一条指令,主核因 α 粒子撞击导致 ALU 输出错误,锁步核输出正确。比较器在下一个周期检测到不一致,触发错误信号。此时:

  • 故障:α 粒子撞击导致晶体管状态翻转;
  • 错误:主核 ALU 输出与锁步核不一致;
  • 安全机制:锁步比较器检测到差异,上报错误;
  • 响应:系统在 FTTI 内进入安全状态,避免失效。

若比较器本身失效且未被自检覆盖,则该错误可能传播为失效。因此,锁步核通常还需要配套的比较器自检和错误注入测试,以覆盖潜伏故障。

工程提示:在 RH850 中,锁步核错误通常通过 ECM(Error Control Module)或 ICU 上报,需在启动代码中配置错误响应策略,并确保中断优先级高于普通任务,以满足 FTTI 约束。

五、常见误区与复盘

误区一:把故障等同于失效。故障是原因,失效是结果。安全机制的价值正是在两者之间拦截。

误区二:认为有安全机制就一定安全。安全机制本身也可能失效,必须评估其诊断覆盖率和潜伏故障时间。

误区三:忽略 FTTI 中的反应时间。检测到错误只是第一步,若安全状态切换耗时过长,仍会超出 FTTI。

误区四:只关注单点故障。多点故障和潜伏故障同样需要系统化分析,否则安全论证不完整。

复盘时建议使用故障树或 FMEA 表格,逐条列出故障模式、对应安全机制、检测时间、反应时间和残余风险。只有将故障—错误—失效链与 FTTI 预算对齐,RH850 的故障监控设计才具备可论证的安全完整性。