3. HIL系统总体设计

HIL(Hardware-in-the-Loop)系统的总体设计,本质上是把一台真实的域控制器放进一个"可编程的虚拟整车环境"里,让它以为自己仍然装在车上。要做到这一点,需要四类角色协同:被测域控(DUT)、实时仿真机、I/O板卡,以及负载模拟与故障注入单元。本节讨论的不是"买什么设备",而是这些设备之间如何按信号方向、电气特性和实时性要求搭成一张可运行、可扩展、可诊断的拓扑网。

一、四类角色在拓扑中的定位

被测域控是拓扑的中心,它对外呈现的接口包括:电源(KL30常电、KL15点火、GND)、CAN/CAN FD总线、LIN、车载以太网(100BASE-T1/1000BASE-T1)、以及大量模拟/数字I/O。实时仿真机运行整车模型(如电池、电机、变速箱、车身负载模型),以固定步长(常见1 ms,电机/逆变器类模型可到100 µs)计算状态,并通过I/O板卡与DUT交换物理信号。

I/O板卡是"翻译层":把仿真机内部的浮点变量翻译成DUT能识别的电压、电流、PWM、电阻或总线报文,同时把DUT输出的信号采集回仿真机。负载模拟则负责替代真实执行器——例如用电子负载模拟喷油器线圈、用可编程电阻模拟NTC温度传感器、用功率电阻或电机模拟器模拟灯具与风扇。故障注入单元串接在信号路径上,通过继电器矩阵或半导体开关,人为制造开路、对地短路、对电源短路、信号偏移等故障。

HIL 系统总体拓扑(信号方向:仿真机 → DUT 为激励,DUT → 仿真机 为采集) 实时仿真机 整车模型 / 电池 / 电机 步长 1 ms(电机 100 µs) RTOS + FPGA 同步 模型 I/O 映射表 I/O 板卡 AI / AO:0–5 V、0–20 mA DI / DO:12 V / 24 V 电平 PWM / 频率捕获 CAN FD / LIN / 100BASE-T1 故障注入 继电器矩阵 开路 / 短地 短电源 / 偏移 串接于信号路径 被测域控 DUT CAN / LIN 以太网 模拟 / 数字 I/O 变量 物理量 激励 DUT 输出 采集 反馈 负载模拟 电子负载:喷油器 / 电磁阀 可编程电阻:NTC / 电位计 功率负载:灯 / 风扇 / 继电器 替代真实执行器 可编程电源 KL30 常电 12 V / 24 V KL15 点火开关 电压跌落 / 抛负载模拟 供电 接地原则:仿真机、I/O 板卡、DUT、负载模拟共参考地,单点星形接地,避免地环路引入共模干扰。 同步原则:仿真机步长与 I/O 采样周期对齐,CAN 报文周期与模型任务周期保持整数倍关系。

二、拓扑搭建的三个关键决策

决策一:信号按"域"分组,而不是按"板卡"分组。实际布线时,建议把信号划分为动力域(电机、逆变器、高压互锁)、车身域(灯、门、座椅)、底盘域(制动、转向)和通信域(CAN FD、以太网)。同一域的信号尽量落在同一块或相邻的 I/O 板卡上,这样故障注入矩阵的继电器数量可控,线束也更容易整理。例如某域控有 48 路模拟输入,若按域分组后动力域占 12 路、车身域占 20 路、底盘域占 16 路,就可以用三块 16 通道 AI 板卡分别承接,而不是把 48 路打散到六块 8 通道板卡上。

决策二:故障注入点必须"可旁路"。故障注入单元串在信号路径上,一旦它自身故障,整条链路就断了。因此每个注入通道应设计为"正常直通 / 故障注入"两种状态,且直通状态用常闭继电器实现——断电即直通,保证系统在故障注入单元失电时仍能进行基础测试。对于 CAN 总线,故障注入通常采用"总线分路"方式:把 CAN_H、CAN_L 分别引出,通过继电器选择短地、短电源或串入电阻,而不是直接切断总线。

决策三:实时性与精度要匹配。仿真机步长决定了信号更新的时间分辨率。若模型步长为 1 ms,而 I/O 板卡采样周期为 100 µs,则每个模型步内会采集 10 次,需要在板卡内做平均或取最新值,否则会出现"同一模型步读到多个不同值"的抖动。对于 PWM 捕获类信号(如转速传感器),应使用板卡的硬件捕获功能,把边沿时间戳直接送入仿真机,而不是靠软件轮询。

三、一个可复用的搭建顺序

  1. 先定接口清单。从 DUT 的引脚定义出发,列出每一路信号的方向、类型、量程、参考地和故障注入需求。这份清单是后续所有工作的输入。
  2. 再定板卡配置。按信号类型汇总通道数,留 15%~20% 余量。例如 40 路 AI 选 48 通道配置,32 路 DO 选 40 通道配置。
  3. 然后定故障注入矩阵规模。只对"需要验证诊断功能"的信号配置注入通道,通常占全部信号的 30%~50%,不必全量配置。
  4. 最后做接地与屏蔽。模拟小信号(如 NTC、5 V 传感器)使用屏蔽双绞线,屏蔽层单端接地;PWM 与数字信号与模拟信号分槽走线,间距不小于 20 mm。
示例参数(合理假设,非实测):某域控 HIL 台架配置为——实时仿真机步长 1 ms,AI 板卡 16 位分辨率、±10 V 量程,AO 更新率 10 kHz,DO 驱动能力 0.5 A/通道,故障注入矩阵 64 路继电器,可编程电源 0–32 V / 0–60 A。这些参数用于说明配置量级,实际选型需按 DUT 手册核算。

四、常见拓扑错误与判断依据

搭建完成后,如何判断拓扑是否正确?可以从三个现象入手。第一,静态检查:断开仿真机激励,用万用表测量 DUT 各输入引脚对地电阻,若某路模拟输入对地电阻接近 0 Ω,说明该路可能被故障注入单元误置为短地状态。第二,动态检查:让仿真机输出一个 1 Hz、0–5 V 方波到某路 AI,在 DUT 侧用示波器观察,若上升沿出现明显振铃或过冲超过 10%,说明线束阻抗不匹配或屏蔽不良。第三,通信检查:用 CAN 分析仪抓取总线报文,若出现大量错误帧且错误计数持续增长,应检查 CAN_H/CAN_L 是否接反、终端电阻是否为 120 Ω、以及故障注入单元是否误串入了额外电阻。

拓扑不是一次画完就固定的。随着测试用例增加,往往需要增补信号、调整故障注入点或更换负载模拟类型。因此建议在初始设计时就预留 20% 的板卡通道、继电器通道和线槽空间,并把接口清单维护成可版本管理的表格,使拓扑的每一次变更都有据可查。