2. MicroAutoBox硬件与软件架构解析
要做故障注入,先得把 MicroAutoBox 这台设备“拆开看”。它并不是一块普通的工控机,而是一套为快速原型设计的实时系统:底层是实时处理器与 I/O 板卡构成的硬件平台,中间是 RTI 接口把 Simulink 模型与硬件绑定,上层是 ConfigurationDesk 负责硬件配置与代码生成、ControlDesk 负责运行监控与在线标定。故障注入的可行性,本质上取决于这条链路上每一层是否留出了可干预的“缝隙”。
实时处理器与 I/O 板卡:硬件底座
MicroAutoBox 的核心是一块实时处理器板,典型如 DS1401 系列,运行 dSPACE 实时操作系统,负责以固定步长执行模型代码。它的关键参数是主频、内存容量和最小可支持的采样周期。例如在 1 ms 步长下运行一个中等复杂度的控制模型,处理器负载可能只有 30%~50%;但如果模型里加入了大量查表和积分运算,负载会迅速上升。故障注入本身也会占用计算资源——无论是模型内注入还是通过 I/O 层注入,都要预留余量,否则注入逻辑会拖慢实时任务,导致步长抖动甚至超时。
I/O 板卡决定了这台设备能“看到”和“发出”什么信号。常见板卡包括模拟输入(如 DS1511)、模拟输出(如 DS2102)、数字 I/O(如 DS4002)、CAN/LIN 通信板卡等。每块板卡有自己的通道数、分辨率、电压范围和采样率。做故障注入时,需要先确认目标信号落在哪块板卡、哪个通道上。例如要注入节气门位置传感器的开路故障,信号是 0~5 V 模拟量,接入 DS1511 的某一路 AI 通道,那么注入点就在这条通道的输入回路上。
RTI 接口:模型与硬件的绑定层
RTI(Real-Time Interface)是 Simulink 与 dSPACE 硬件之间的桥梁。在 Simulink 模型中加入 RTI 库的模块,比如 DS1511_AI、DS2102_AO,并指定通道号,RTI 就会在代码生成阶段把这些模块映射到实际的板卡驱动上。对故障注入而言,RTI 层提供了两种干预方式:一是在模型层面,用 RTI 模块读取信号后,在模型内部插入故障逻辑,再送给控制算法;二是在 I/O 层面,通过 RTI 的通道配置决定信号是否经过故障注入单元。
理解 RTI 的关键是“通道映射”这个概念。模型里的一个 AI 模块并不自动对应物理通道,必须在 ConfigurationDesk 中完成绑定。如果绑定错了,注入的故障就会作用在错误的信号上,实验现象会完全对不上。因此每次修改模型或更换板卡后,都要重新核对通道映射表。
ConfigurationDesk 与 ControlDesk:配置与监控工具链
ConfigurationDesk 负责硬件配置和代码生成。它的工作流程是:先建立工程,选择 MicroAutoBox 机箱和板卡,然后导入 Simulink 模型,把模型中的 RTI 模块与物理通道一一绑定,设置采样率和任务分配,最后生成可下载的实时代码。故障注入相关的配置也在这里完成,比如是否启用某个通道的故障注入功能、注入信号的触发条件等。
ControlDesk 则是运行时的“驾驶舱”。它通过以太网或 CAN 与 MicroAutoBox 通信,可以实时观察信号波形、修改参数、记录数据。做故障注入实验时,通常会在 ControlDesk 里搭建一个监控界面:左侧显示正常信号,右侧显示注入后的信号,中间放一个触发按钮或开关。这样在注入瞬间就能看到控制器的响应,比如故障标志位是否置位、执行器输出是否进入跛行模式。
故障注入所需的硬件资源评估
资源评估不是简单数通道数,而是要回答三个问题:信号够不够接、算力够不够跑、注入点能不能控。
第一,通道资源。假设要做一个发动机控制器的故障注入实验,涉及节气门位置、进气温度、冷却液温度、曲轴位置、氧传感器五路信号。前三路是模拟输入,各占一个 AI 通道;曲轴位置是数字输入,占一个 DI 通道;氧传感器是模拟输入但带宽要求较高,需要确认板卡采样率是否满足。如果 DS1511 只有 8 路 AI,而模型里已经用了 6 路,剩余 2 路就不够接三路模拟信号,必须增加板卡或复用通道。复用通道会引入信号串扰风险,一般不推荐。
第二,计算资源。故障注入逻辑如果放在模型内部,会增加处理器负载。一个简单的开路判断和信号替换逻辑,可能只增加 1%~2% 的负载;但如果要做复杂的故障模式切换、多路信号同时注入、注入时序控制,负载可能上升 5%~10%。在 1 ms 步长下,如果原本负载已经 70%,再增加 10% 就接近临界值,需要降低步长或优化模型。评估时可以用 dSPACE 的实时负载监测功能,在 ControlDesk 里观察 CPU 占用率曲线。
第三,注入点可控性。不是所有信号都能方便地注入故障。模拟输入信号可以在板卡前端加继电器或模拟开关,实现开路和短路;数字信号可以用逻辑门或 FPGA 实现电平翻转;CAN 信号则需要在总线层注入错误帧或篡改报文。每种注入方式对应的硬件资源不同:继电器需要驱动电路和数字输出通道,CAN 注入需要额外的 CAN 卡或网关。评估时要明确“注入什么故障、用什么手段、占什么资源”。
一个可参考的资源评估表
下面这张表以示例形式给出,用于说明评估时应该记录哪些字段。实际项目中应根据具体板卡型号和信号清单填写。
| 信号名 | 方向 | 类型 | 板卡/通道 | 范围 | 注入方式 | 占用资源 |
|---|---|---|---|---|---|---|
| 节气门位置 | 输入 | AI | DS1511 / AI0 | 0–5 V | 继电器开路 | DO1 + 继电器 |
| 进气温度 | 输入 | AI | DS1511 / AI1 | 0–5 V | 信号替换 | 模型内逻辑 |
| 冷却液温度 | 输入 | AI | DS1511 / AI2 | 0–5 V | 漂移注入 | 模型内逻辑 |
| 曲轴位置 | 输入 | DI | DS4002 / DI0 | 0–12 V | 电平翻转 | DO2 + 逻辑门 |
| 氧传感器 | 输入 | AI | DS1511 / AI3 | 0–5 V | 卡滞 | 模型内逻辑 |
这张表的价值在于:它把“信号—通道—注入方式—资源占用”四者绑定在一起。填完表后,就能一眼看出 AI 通道是否够用、DO 通道是否够用、模型负载是否可接受。如果发现资源冲突,可以优先调整注入方式,比如把继电器开路改为模型内信号替换,虽然物理真实性稍差,但节省了 DO 通道和继电器。
最后要强调的是,硬件资源评估不是一次性的工作。每次实验目标变化、信号清单变化、注入方式变化,都需要重新核对。建议把这张表作为实验准备阶段的固定交付物,在 ConfigurationDesk 配置之前完成,避免配置到一半才发现通道不够或注入点不可控。