4. 故障注入方法体系

在虚拟样机环境中,故障注入并不是单一技术,而是一组按“抽象层级”排列的方法族。理解它们的关键,不是记住四个名词,而是看清一条从纯数字模型到真实物理世界的连续谱:越靠左,注入越早、越便宜、越可控,但离真实失效机理越远;越靠右,越接近真实故障,但成本、风险和周期急剧上升。本节围绕这条谱系,说明四类方法的实现机理、适用阶段与选择准则。

一、四类方法的实现机理

基于模型的故障注入(Model-Based)在系统模型层面直接修改模型参数或结构。典型做法有三类:一是参数扰动,例如把电机模型的定子电阻从 0.5 Ω 改为 1.2 Ω 模拟绕组老化;二是结构变更,例如在 Simulink 模型中切断某条信号线,模拟传感器断线;三是注入故障模型,例如用查表或方程描述齿轮断齿引起的周期性转矩波动。它的输入是模型参数与故障描述,输出是仿真结果中的状态量偏差。优点是可在设计早期执行、可重复、可穷举;缺点是故障模型本身可能不准确,且无法覆盖模型未描述的失效。

基于软件的故障注入(Software-Based)在编译后的目标代码或运行时环境中注入错误。常见手段包括:修改内存单元(如把某变量强制置零)、篡改寄存器、在指令流中插入跳转、劫持函数返回值。例如在嵌入式控制程序中,将 ADC 采样值读取函数返回值固定为 0x7FFF,模拟传感器饱和。它作用于真实软件栈,能暴露编译器优化、时序竞争、异常处理缺陷;但需要目标程序可执行,且注入点定位依赖调试符号,对实时性有干扰。

基于硬件的故障注入(Hardware-Based)通过物理手段改变芯片或电路的工作条件。典型方法有:电源电压拉偏(如把 3.3 V 拉到 2.6 V 触发时序违例)、时钟毛刺注入、引脚强制拉高/拉低、以及重离子或激光辐照模拟单粒子翻转。它最接近真实失效,能触发软件层难以复现的硬件缺陷;但需要专用夹具与测试板,成本高,且可能造成不可逆损伤。

基于物理的故障注入(Physics-Based)在真实物理系统或半实物平台上施加真实故障。例如在电机台架上人为制造轴承磨损、在液压回路中设置节流孔堵塞、在传感器上施加超量程压力。它使用真实部件与真实载荷,结果最具说服力,但周期长、成本高、故障不可逆,通常用于最终确认。

故障注入方法谱系:从数字模型到真实物理 抽象层级高 · 成本低 · 早期 真实度高 · 成本高 · 后期 基于模型 Model-Based · 参数扰动 · 结构变更 · 故障模型注入 输入:模型参数 输出:状态量偏差 阶段:概念/设计早期 可穷举 · 可重复 局限:故障模型精度 基于软件 Software-Based · 内存/寄存器篡改 · 指令流跳转 · 函数返回值劫持 输入:目标代码 输出:异常/崩溃 阶段:软件集成/测试 真实软件栈 · 时序 局限:需可执行目标 基于硬件 Hardware-Based · 电压拉偏/毛刺 · 引脚强制 · 辐照/激光 输入:物理激励 输出:芯片级失效 阶段:硬件验证/确认 最接近真实失效 局限:夹具成本高 基于物理 Physics-Based · 轴承磨损 · 节流孔堵塞 · 超量程加载 输入:真实载荷 输出:真实失效 阶段:系统确认/鉴定 结果最具说服力 局限:不可逆 · 周期长 选择准则: 早期设计→模型 软件缺陷→软件 硬件缺陷→硬件 最终确认→物理 可组合使用

二、适用阶段与选择准则

选择方法时,先问三个问题:故障机理是否已知?若已知且能用方程或参数描述,优先模型法;若机理未知或涉及随机硬件失效,需硬件或物理法。目标系统是否可执行?若只有模型没有代码,软件法不可用;若已有目标板,软件法成本最低。验证目标是什么?若目标是“验证安全机制能否在故障下正确响应”,模型法足以覆盖逻辑;若目标是“证明产品在真实失效下不产生危害”,必须用物理法。

实践中四类方法并非互斥,而是按 V 模型阶段组合使用。以某电机控制器为例:设计阶段在 Simulink 中注入定子电阻漂移与位置传感器断线,验证 FOC 算法的容错逻辑;软件集成阶段在目标板上篡改 ADC 返回值,验证过流保护是否在 2 ms 内关断 PWM;硬件验证阶段对驱动芯片电源拉偏至 2.6 V,观察是否触发欠压锁定;最终在台架上人为制造编码器偏心,确认系统在真实故障下进入安全状态。这条链路的每一环都不可省略,因为越靠后的方法越能暴露前面方法遗漏的失效。

三、选择决策表

判断条件 推荐方法 典型注入对象 观察指标
仅有模型,无目标代码 基于模型 模型参数、信号连接 状态量偏差、逻辑分支
有可执行目标,需查软件缺陷 基于软件 内存、寄存器、返回值 异常处理、看门狗、崩溃
怀疑硬件时序/电气缺陷 基于硬件 电源、时钟、引脚 复位、锁定、位翻转
需最终安全确认 基于物理 真实部件、真实载荷 安全状态、危害程度
选择口诀:机理已知用模型,代码可跑用软件,电气可疑用硬件,最终确认用物理。四者按阶段递进,不可用后期方法替代早期方法,也不可用早期方法跳过最终确认。

需要强调的是,方法选择还受可观测性约束。模型法能观测所有内部状态,但观测的是模型状态而非真实状态;软件法能观测程序行为,但难以观测模拟量细节;硬件法能观测芯片级响应,但难以定位到具体软件分支;物理法能观测真实输出,但内部状态往往不可见。因此,选择时还要问:我需要观测什么?若需要观测内部信号,模型法最方便;若需要观测最终安全状态,物理法最直接。

最后,故障注入的覆盖度应作为选择依据之一。模型法可在一次仿真中注入数百个故障点,适合做故障模式覆盖分析;软件法受限于注入点数量与调试接口,通常覆盖数十个关键变量;硬件法每次只能针对一个引脚或一个电源域,覆盖度低但深度高;物理法每次只能复现一种真实故障,覆盖度最低但置信度最高。合理策略是:用模型法做广度扫描,用软件法做关键路径确认,用硬件法做电气边界验证,用物理法做最终安全鉴定。