4. 实时仿真系统

电机控制器HIL测试的核心,是用一台实时仿真机替代真实电机与部分功率电路,在毫秒甚至微秒级时间尺度上与真实控制器闭环交互。控制器输出的PWM、使能、扭矩请求等信号被实时仿真机采集,仿真机运行电机模型、逆变器模型和车辆动力学模型,再把三相电流、旋变位置、母线电压、温度等信号回送给控制器。整个链路的精度、延迟和稳定性,直接决定HIL测试是否可信。

一、实时仿真机的定位与组成

实时仿真机不是普通工控机,它必须保证每个仿真步长都能在截止时间前完成计算与I/O刷新。典型结构包括实时CPU/FPGA计算板、高速背板总线、I/O板卡、信号调理模块和上位机管理软件。CPU负责电机控制模型、车辆模型等中低速任务;FPGA负责PWM捕获、旋变解码、高频电流采样等对时序极敏感的任务。两者通过背板或高速串行总线交换数据。

关键认识:HIL的“实时”不是“算得快”,而是“每一步都在规定时刻完成”。仿真步长通常为10 μs~100 μs,FPGA侧甚至可达1 μs级。

二、I/O接口与信号调理

电机控制器接口种类多、电平差异大,不能把仿真机I/O直接接到控制器引脚。I/O接口负责电气连接与通道映射,信号调理负责把仿真机内部低压逻辑信号转换为控制器可识别的真实信号,或把控制器输出转换为仿真机可安全采集的信号。

  • 模拟输出:旋变正余弦、电流传感器、母线电压、温度传感器,需要DAC、滤波、偏置和增益调理。
  • 模拟输入:控制器输出的模拟监测信号,需要隔离、分压、抗混叠滤波。
  • 数字输入:PWM、使能、故障、继电器状态,需要电平匹配、光耦隔离、去抖。
  • 数字输出:仿真机模拟的故障注入、继电器驱动、钥匙信号,需要驱动能力与保护。
  • 旋变/编码器仿真:用DAC或专用旋变仿真板输出高频载波调制信号,模拟转子位置。

信号调理的精度直接影响电流环和位置环。例如电流采样调理链路若存在1%增益误差或50 μs相位延迟,控制器可能表现为扭矩偏差或电流环振荡。因此调理板必须做通道级校准,记录增益、偏置和延迟参数。

三、通信协议与实时性要求

HIL系统中存在三类通信:仿真机内部实时总线、仿真机与上位机之间的管理通信、仿真机与控制器之间的车载网络通信。内部总线要求确定性,常用反射内存、Aurora、PCIe或实时以太网;上位机通信可用TCP/IP,用于下载模型、监控变量和记录数据;与控制器通信则涉及CAN/CAN FD、LIN、FlexRay或车载以太网。

通信类型典型协议周期/速率实时性关注点
仿真机内部反射内存/PCIe/Aurora1~10 μs确定性、低抖动、无丢包
上位机管理TCP/IP、UDP1~100 ms不阻塞实时任务
控制器CANCAN/CAN FD1~10 ms报文周期、超时、总线负载
控制器以太网100BASE-T1/1000BASE-T11~10 ms时间同步、VLAN、QoS

实时性要求可用三个指标描述:步长、抖动和超时次数。步长决定模型离散化精度;抖动决定PWM边沿和采样时刻是否稳定;超时次数反映系统是否过载。工程上通常要求抖动小于步长的5%~10%,超时次数在连续运行中为零。

四、典型配置与参数示例

下面是一段实时仿真机通道配置的示意,用于说明PWM采集、旋变仿真和CAN通信的映射关系。

# HIL 实时通道配置示例
sim_step        = 50 us          # 仿真步长
pwm_capture     = FPGA_CH0~5     # 6路PWM,死区捕获
resolver_out    = DAC_CH0~1      # 旋变正弦/余弦
current_out     = DAC_CH2~4      # 三相电流仿真
bus_voltage_out = DAC_CH5        # 母线电压
can_channel     = CAN1           # 控制器CAN
can_baudrate    = 500 kbps
can_timeout     = 5 ms
jitter_limit    = 5 us
overrun_limit   = 0

五、案例:电流环振荡的排查

某项目在HIL上出现电机控制器电流环持续振荡,而台架实测正常。排查发现:仿真机电流输出通道的调理板低通滤波截止频率设为2 kHz,而控制器电流环带宽约1.5 kHz,滤波延迟在闭环中引入额外相位滞后,导致相位裕度不足。将截止频率提高到10 kHz并重新校准通道延迟后,振荡消失。这个案例说明,信号调理不是“越滤波越好”,必须与控制器带宽匹配。

常见误区:只关注模型精度,忽略I/O延迟和调理带宽。HIL闭环中,1个采样周期的延迟就可能改变系统稳定性。

六、实时性验证与复盘要点

实时性验证应在项目早期完成,而不是等到测试后期。建议按以下清单逐项确认:

  1. 测量实际步长与抖动,确认最大抖动小于步长10%。
  2. 检查所有I/O通道的延迟、增益和偏置,形成校准表。
  3. 确认CAN/CAN FD报文周期、超时和总线负载在允许范围。
  4. 进行满负载压力测试,观察超时次数和CPU/FPGA占用率。
  5. 记录一次完整闭环运行的日志,用于复盘和回归对比。

只有把实时仿真机、I/O接口、信号调理、通信协议和实时性要求作为一个整体来设计,HIL测试才能真实反映电机控制器的动态行为,而不是变成一个“看起来能跑、实际上不可信”的演示系统。

电机控制器 HIL 实时仿真系统信号链 电机控制器 PWM / 使能 CAN / 以太网 旋变接口 电流采样 I/O 接口 数字输入/输出 模拟输入/输出 旋变仿真 CAN/FlexRay 以太网 通道映射与隔离 信号调理 DAC/ADC 滤波/偏置/增益 光耦隔离 电平匹配 通道校准 带宽与延迟匹配 实时仿真机 CPU 模型 FPGA 高速I/O 实时总线 PWM CAN 回送:三相电流 / 旋变位置 / 母线电压 / 温度 实时性约束: 步长 10~100 μs 抖动 < 步长10% 超时次数 = 0 CAN周期 1~10 ms 闭环延迟 = 采集延迟 + 模型计算 + 调理延迟 + 通信延迟,任一环节超限都会破坏稳定性。