2. 车辆控制器与HIL系统架构
做HIL验证,第一步不是打开软件建模型,而是先把“被测对象”和“测试环境”两边的架构关系理清楚。车辆控制器HIL的本质,是用实时仿真机替代真实车辆上除被测控制器之外的所有部件,让控制器在接近真实的电气与总线环境中运行。因此,理解VCU、MCU、BMS、ADAS域控制器这些典型对象的接口特征,以及HIL系统内部实时仿真机、I/O板卡、信号调理与故障注入单元的分工,是后续建模、接线和用例设计的基础。
一、典型被测控制器及其接口特征
整车电子电气架构中,不同控制器的“被替代对象”差别很大,这直接决定了HIL资源的分配方式。
VCU(整车控制器)是整车层面的协调者,输入包括加速踏板、制动踏板、挡位、钥匙信号等驾驶员意图,以及来自MCU、BMS的CAN报文;输出包括扭矩请求、继电器控制、水泵风扇使能等。它的HIL重点在于数字/模拟输入输出与多路CAN通信的时序一致性。
MCU(电机控制器)关注的是高压功率与旋变信号。HIL需要模拟旋变激励与正余弦反馈、三相电流/电压采样、IGBT温度信号,并通过CAN或CAN FD与VCU交互扭矩、转速、故障等级。旋变信号的相位与幅值精度直接影响MCU的转子位置判断,是MCU HIL中最敏感的部分。
BMS(电池管理系统)的HIL对象是电芯与高压回路。需要模拟多路单体电压(通常几十到上百串)、多点温度(NTC)、总压总流、绝缘电阻,以及高压继电器状态与预充回路。单体电压模拟常用可编程电阻网络或专用电池模拟板卡,精度要求常在毫伏级。
ADAS域控制器的输入以传感器数据为主:摄像头图像、毫米波雷达目标、激光雷达点云、GPS/IMU。这类HIL通常需要视频注入板卡、以太网(如100/1000BASE-T1)与CAN混合通信,实时性要求更高,且数据吞吐量大,往往单独构建ADAS HIL台架。
二、HIL系统的组成与信号链
无论被测对象是哪一类控制器,HIL系统的基本组成是一致的:实时仿真机运行车辆模型与被测控制器模型,I/O板卡完成数字/模拟/总线信号的收发,信号调理单元把仿真机输出的低压逻辑信号转换为控制器可接受的电气形态,故障注入单元在控制器与仿真环境之间制造开路、短路、对电源/对地短路等故障。
信号链的方向需要明确:以VCU的加速踏板为例,仿真机中的驾驶员模型计算出踏板开度,经D/A板卡输出0~5V电压,再经信号调理单元做阻抗匹配与滤波,送入VCU的模拟输入引脚;VCU据此计算扭矩请求,通过CAN发出,CAN板卡接收后送回仿真机中的电机模型。这条链路上任何一环的延迟、量程或阻抗不匹配,都会表现为“控制器行为异常”,而问题根源可能在HIL侧。
三、信号调理与故障注入的实际配置
信号调理单元常被忽视,但它决定了仿真信号能否被控制器“正确理解”。以VCU的模拟输入为例,控制器内部通常有上拉或下拉电阻,若仿真机直接输出0~5V而不做阻抗匹配,实际到达引脚的电压可能偏离预期。工程上常用做法是:在调理板上为每路AI配置电压跟随器,输出串联小阻值保护电阻,并在控制器引脚附近并联RC滤波(例如1kΩ+100nF,截止频率约1.6kHz),既抑制仿真机D/A的阶梯噪声,又不影响踏板信号的动态响应。
故障注入单元一般串接在调理单元与DUT之间,通过继电器或半导体开关实现。典型故障类型包括:
- 开路:断开某路信号,验证控制器是否报出“信号丢失”故障码;
- 对电源短路:将信号线拉至12V或5V,检查控制器输入保护与故障识别;
- 对地短路:将信号线拉至0V,观察是否误判为有效零位;
- 引脚间短路:模拟线束磨损导致的信号串扰。
配置故障注入时,必须明确注入点是在控制器引脚侧还是仿真机侧。若在仿真机侧注入,故障会同时影响仿真机自身的信号采集,可能掩盖真实问题;因此工程上通常把注入点放在靠近DUT引脚的一侧,并在注入前后各留一个测试点,便于用示波器确认故障确实加到了控制器端。
四、实时性与资源分配
HIL系统的实时性由仿真步长和I/O刷新周期共同决定。对于VCU和BMS,1ms步长通常足够;对于MCU的电流环或ADAS的传感器融合,可能需要100μs甚至更小。步长越小,对实时仿真机的CPU占用和I/O板卡的刷新能力要求越高。实际项目中,常把模型分为快慢两个任务:快任务处理电机电流、旋变解码等高频信号,慢任务处理整车状态、电池SOC等低频量,通过共享内存交换数据。
五、一个典型的VCU HIL信号映射示例
假设某VCU HIL项目需要模拟以下信号,可按下表规划板卡与调理方式。表中参数为教学示例,实际项目需以控制器引脚定义和电气规范为准。
| 信号 | 类型 | 仿真机侧 | 调理方式 | 故障注入 |
|---|---|---|---|---|
| 加速踏板 | AI 0~5V | AO 0~5V | 电压跟随 + RC滤波 | 开路 / 对地 / 对5V |
| 制动开关 | DI 12V | DO 0/12V | 光耦隔离 | 开路 / 对地 |
| 挡位 | DI 12V | DO 0/12V | 光耦隔离 | 开路 |
| 主继电器控制 | DO 12V | DI 0/12V | 分压 + 比较器 | — |
| MCU扭矩报文 | CAN FD | CAN板卡 | 终端电阻匹配 | 报文丢失 / 超时 |
| BMS总压 | AI 0~5V | AO 0~5V | 分压 + 隔离 | 开路 / 偏移 |
这张表的价值在于:它把“控制器需要什么”和“HIL能提供什么”对齐。实际接线前,应逐行核对量程、参考地、共模范围与故障注入点,避免出现“模型算得对、控制器却读不到”的低级问题。架构理清之后,后续的模型搭建、用例编写和自动化测试才有稳定的基础。