3. 硬件随机故障与系统故障:故障类型区分、失效率(FIT)与目标值、诊断覆盖率(DC)概念

各位好,我是老周。今天咱们聊点硬核的——故障类型、FIT值和诊断覆盖率。这三个概念,是功能安全设计的基石。你想想看,如果连故障都分不清,怎么去防?如果连失效率都算不准,怎么定目标?如果连诊断覆盖率都搞不明白,怎么证明你的设计足够安全?

我在项目中见过不少工程师,一上来就堆诊断,结果成本上去了,效果却一般。说白了,就是没把这三个基础概念吃透。今天咱们就把它掰开揉碎了讲清楚。

3.1 故障类型区分:随机故障 vs 系统故障

功能安全里,故障分两大类:随机硬件故障和系统故障。这两者的本质区别,我习惯用一个比喻来解释。

随机硬件故障,就像你开车在路上,突然爆胎了。这事儿是随机的,跟你的驾驶技术没关系,跟轮胎的制造工艺、材料老化有关。你没法完全避免,只能通过定期检查、装胎压监测来降低风险。

系统故障,就像你开车时,因为设计缺陷,刹车踏板踩下去没反应。这事儿是系统性的,是设计、制造、使用过程中的错误导致的。只要找到根因,就能彻底消除。

核心区别一句话:

  • 随机硬件故障:不可完全避免,只能降低概率。由硬件老化、环境应力等引起。
  • 系统故障:可以完全避免,通过改进设计、流程来消除。由人为错误、规范缺陷等引起。

在座舱硬件设计中,我们主要关注随机硬件故障。因为系统故障更多靠开发流程、评审、测试来管控。但注意,这两者不是完全割裂的。一个系统故障,如果没被发现,长期存在,也可能表现为随机故障的触发条件。

举个例子。我曾经遇到一个项目,座舱的电源管理芯片,在低温环境下偶尔会复位。一开始我们以为是随机故障,查了半年,最后发现是PCB布局时,一个去耦电容离芯片太远,导致低温下电源纹波超标。这就是一个典型的系统故障,被误判为随机故障。嗯,这里要注意,排查故障时,别先入为主。

3.2 失效率(FIT)与目标值

聊完故障类型,咱们说说怎么量化故障。失效率,就是干这个的。

FIT(Failures In Time),是衡量硬件失效率的单位。1 FIT 表示在 10^9 小时内,平均发生 1 次故障。说白了,就是十亿小时一次。

你可能会问,十亿小时,这数字也太大了。没错,单个器件的FIT值通常很小,但一个座舱系统有成百上千个器件,加起来就不可忽视了。

我习惯把FIT值理解为“风险密度”。一个电阻的FIT值可能是 1,一个复杂SoC的FIT值可能是 1000。设计时,你得把高风险器件重点看护起来。

那么,目标值怎么定?这取决于你的安全目标(Safety Goal)和汽车安全完整性等级(ASIL)。ISO 26262 给出了一个参考:

ASIL等级 单点故障目标值(SPFM) 潜在故障目标值(LFM) 随机硬件失效概率目标(PMHF)
ASIL A ≥ 90% ≥ 60% < 10^-6 /h
ASIL B ≥ 90% ≥ 60% < 10^-7 /h
ASIL C ≥ 97% ≥ 80% < 10^-7 /h
ASIL D ≥ 99% ≥ 90% < 10^-8 /h

注意,PMHF(Probabilistic Metric for random Hardware Failures)是整车的目标。你设计的座舱硬件,只是整车的一部分。所以,你需要把整车目标分解到你的子系统上。这个过程,叫“安全目标分解”。

我的经验:

分解时,别太乐观。我一般会留 20% 的余量。比如整车 PMHF 目标是 10^-8,我设计座舱时,会按 0.8 * 10^-8 来算。因为实际使用中,环境应力、老化效应都会让失效率升高。

3.3 诊断覆盖率(DC)概念

有了故障类型和失效率,接下来就是怎么发现故障。诊断覆盖率(Diagnostic Coverage, DC),就是衡量你发现故障的能力。

DC 的定义很简单:被诊断机制检测到的故障失效率,除以所有故障的总失效率。

DC = λ_detected / λ_total

举个例子。一个电源芯片,总失效率是 100 FIT。你设计了一个过压检测电路,能检测到其中 90 FIT 的故障。那么,这个过压检测的 DC 就是 90%。

DC 越高,说明你的诊断越完善。但注意,DC 不是越高越好。因为提高 DC 需要增加硬件成本、软件开销。你需要根据 ASIL 等级,找到性价比最高的点。

ISO 26262 把 DC 分成了几个等级:

  • 低(Low):DC < 60%
  • 中(Medium):60% ≤ DC < 90%
  • 高(High):90% ≤ DC < 99%
  • 非常高(Very High):DC ≥ 99%

在座舱硬件中,我常用的诊断机制包括:

  • 电压/电流监测:检测电源故障
  • CRC/ECC:检测内存和通信数据错误
  • 看门狗:检测软件跑飞
  • 自检(LBIST/MBIST):上电时检测逻辑和内存

避坑指南:

我曾经在一个项目中,为了追求高 DC,给每个电源轨都加了独立的监测芯片。结果成本翻倍,PCB面积不够,散热也出问题。后来发现,其实用 SoC 内部的电源监测模块,配合软件轮询,就能达到 95% 的 DC,完全满足 ASIL B 的要求。

所以,设计诊断时,别盲目堆料。先算清楚,你需要多少 DC,再选最经济的方案。

3.4 知识结构图:三者的关系

说了这么多,咱们用一张图把这三个概念串起来。这张图,是我做项目时必画的,能帮你快速理清思路。

故障类型、FIT值与诊断覆盖率关系图 故障类型、FIT值与诊断覆盖率关系图 随机硬件故障 系统故障 失效率 (FIT) 通过流程/设计消除 诊断覆盖率 (DC) 满足安全目标 (PMHF) 说明:随机硬件故障通过诊断覆盖率和失效率计算,系统故障通过流程和设计改进消除,最终共同满足安全目标。

这张图你看懂了吗?从上往下看:

  1. 故障类型:先区分是随机硬件故障还是系统故障。
  2. 失效率:随机硬件故障用 FIT 值量化,系统故障通过流程消除。
  3. 诊断覆盖率:对随机硬件故障,设计诊断机制,用 DC 衡量覆盖程度。
  4. 安全目标:最终,通过 FIT 和 DC 的计算,验证是否满足 PMHF 目标。

说白了,整个功能安全设计的硬件部分,就是围绕这张图展开的。你设计一个座舱硬件,先列出所有器件的 FIT 值,再针对高风险部分设计诊断,最后算总账,看 PMHF 是否达标。