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 通道,那么注入点就在这条通道的输入回路上。

评估硬件资源时,建议先列出“信号清单”:信号名、方向(输入/输出)、类型(AI/AO/DI/DO/CAN)、通道号、电压或电流范围、采样率。这张清单是后续配置和注入设计的基础。

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 里搭建一个监控界面:左侧显示正常信号,右侧显示注入后的信号,中间放一个触发按钮或开关。这样在注入瞬间就能看到控制器的响应,比如故障标志位是否置位、执行器输出是否进入跛行模式。

MicroAutoBox 故障注入资源链路 硬件层 实时处理器 DS1401 / 1ms 步长 负载余量 ≥ 30% 模拟 I/O 板卡 DS1511 AI / DS2102 AO 0–5V / 16bit 数字与通信板卡 DS4002 DI/DO CAN / LIN 故障注入 单元 开路/短路 接口与配置层 RTI 接口 Simulink 模块 ↔ 物理通道映射 ConfigurationDesk 通道绑定 / 代码生成 / 下载 ControlDesk 在线监控 / 标定 / 记录 故障注入应用层 信号清单与资源评估 通道 / 类型 / 范围 / 采样率 注入逻辑设计 开路 / 短路 / 漂移 / 卡滞 实验验证与判读 故障标志 / 跛行模式 / 波形

故障注入所需的硬件资源评估

资源评估不是简单数通道数,而是要回答三个问题:信号够不够接、算力够不够跑、注入点能不能控。

第一,通道资源。假设要做一个发动机控制器的故障注入实验,涉及节气门位置、进气温度、冷却液温度、曲轴位置、氧传感器五路信号。前三路是模拟输入,各占一个 AI 通道;曲轴位置是数字输入,占一个 DI 通道;氧传感器是模拟输入但带宽要求较高,需要确认板卡采样率是否满足。如果 DS1511 只有 8 路 AI,而模型里已经用了 6 路,剩余 2 路就不够接三路模拟信号,必须增加板卡或复用通道。复用通道会引入信号串扰风险,一般不推荐。

第二,计算资源。故障注入逻辑如果放在模型内部,会增加处理器负载。一个简单的开路判断和信号替换逻辑,可能只增加 1%~2% 的负载;但如果要做复杂的故障模式切换、多路信号同时注入、注入时序控制,负载可能上升 5%~10%。在 1 ms 步长下,如果原本负载已经 70%,再增加 10% 就接近临界值,需要降低步长或优化模型。评估时可以用 dSPACE 的实时负载监测功能,在 ControlDesk 里观察 CPU 占用率曲线。

第三,注入点可控性。不是所有信号都能方便地注入故障。模拟输入信号可以在板卡前端加继电器或模拟开关,实现开路和短路;数字信号可以用逻辑门或 FPGA 实现电平翻转;CAN 信号则需要在总线层注入错误帧或篡改报文。每种注入方式对应的硬件资源不同:继电器需要驱动电路和数字输出通道,CAN 注入需要额外的 CAN 卡或网关。评估时要明确“注入什么故障、用什么手段、占什么资源”。

常见误区:只关注信号通道数,忽略注入执行机构本身的资源占用。例如用继电器做开路注入,每个继电器需要一个 DO 通道驱动,如果 DO 通道不够,注入方案就无法落地。

一个可参考的资源评估表

下面这张表以示例形式给出,用于说明评估时应该记录哪些字段。实际项目中应根据具体板卡型号和信号清单填写。

信号名 方向 类型 板卡/通道 范围 注入方式 占用资源
节气门位置 输入 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 配置之前完成,避免配置到一半才发现通道不够或注入点不可控。