1. 课程导入

新能源汽车的“三电”通常指电池管理系统(BMS)、电机控制器(MCU)和整车控制器(VCU)。三者通过CAN/CAN FD、LIN或以太网交互,共同决定车辆的动力输出、能量分配与安全策略。若仅对单个控制器做台架测试,很难复现真实整车中“BMS限功率—VCU扭矩仲裁—MCU降扭”这类跨控制器耦合行为。因此,三电控制器联合HIL(Hardware-in-the-Loop)成为电控系统验证的关键手段:用实时仿真机模拟被控对象与剩余节点,把真实控制器接入闭环,再叠加故障注入,验证系统在异常工况下的功能安全与容错能力。

本课程的学习目标不是“会点按钮”,而是建立一套可复用的工程方法:能搭建联合HIL台架、能设计故障注入用例、能定位跨控制器问题、能输出可追溯的测试报告。

一、核心概念:联合HIL与故障注入

HIL的本质是“以仿真替代实车”。实时仿真机运行电池模型、电机模型、车辆动力学模型和驾驶员模型,通过IO板卡与真实控制器交换模拟量、数字量和总线信号。联合HIL与单控制器HIL的区别在于:多个真实控制器同时接入同一仿真环境,共享同一套车辆状态与时间基准。

故障注入则是在信号链或总线层人为制造异常,观察系统响应。常见故障类型包括:

  • 传感器故障:开路、短路到地、短路到电源、信号漂移、卡滞。
  • 总线故障:报文丢失、周期抖动、数据篡改、CRC错误、总线关闭。
  • 执行器故障:MCU三相开路、IGBT短路、继电器粘连。
  • 电源故障:欠压、过压、瞬态跌落、反接。
  • 逻辑故障:状态机跳转错误、扭矩仲裁冲突、故障码误报。

故障注入的关键不是“注入”本身,而是可重复、可观测、可判定:同一用例每次运行结果一致,故障时刻与持续时间精确可控,系统响应能被总线记录和自动判定。

二、整体框架:从台架到闭环

联合HIL台架的典型结构可分为四层:模型层、实时层、IO与总线层、被测控制器层。模型层包含电池等效电路模型、永磁同步电机FOC模型、车辆纵向动力学模型;实时层由实时仿真机承载,保证步长稳定在100μs~1ms;IO与总线层完成信号调理、故障注入板卡和CAN网关;被测控制器层则是真实的BMS、VCU和MCU。

三电控制器联合HIL与故障注入整体框架 模型层 电池等效电路模型 PMSM + FOC 电机模型 车辆纵向动力学模型 驾驶员与道路模型 实时层 实时仿真机 步长 100μs~1ms I/O 板卡与信号调理 时间同步与调度 故障注入层 信号级故障注入 总线级故障注入 电源故障注入 故障时序控制 被测件 BMS VCU MCU CAN / CAN FD 总线交互 BMS → VCU:SOC、SOH、允许充放电功率 VCU → MCU:扭矩请求、使能、模式 MCU → VCU:实际扭矩、转速、故障等级 闭环验证与判定 用例执行 → 故障注入 → 响应采集 自动判定 → 报告生成 → 问题追溯 观测点:总线报文、故障码、扭矩响应、状态机迁移

图中可见,联合HIL不是简单的“三台控制器接在一起”,而是模型、实时、故障注入、被测件四层协同。故障注入层可作用于信号链、总线或电源,最终由闭环判定模块给出通过/失败结论。

三、方法流程:一个完整的联合测试用例

以“BMS上报允许放电功率骤降,验证VCU与MCU的降扭响应”为例,流程如下:

  1. 定义场景:车速60km/h,驾驶员请求扭矩120N·m,SOC 30%。
  2. 建立基线:不注入故障,运行30s,记录VCU扭矩请求、MCU实际扭矩、BMS允许功率。
  3. 设计故障:在t=10s时,将BMS发出的允许放电功率从80kW篡改为20kW,持续5s。
  4. 执行注入:通过CAN故障注入工具修改报文数据场,保持周期与CRC正确。
  5. 采集响应:记录VCU是否在100ms内降低扭矩请求,MCU是否跟随降扭,是否触发故障码。
  6. 判定与复盘:若实际扭矩超过允许功率对应限值,则判定失败,定位仲裁逻辑或滤波参数问题。
# 故障注入配置示例(伪代码)
fault:
  type: can_data_modify
  channel: CAN1
  msg_id: 0x1A0        # BMS 允许功率报文
  signal: AllowDischargePower
  start_time: 10.0s
  duration: 5.0s
  value: 20kW
  crc_mode: auto_recalc
  repeat: 1

# 判定条件
pass_if:
  - VCU_TorqueRequest <= 45N·m within 100ms
  - MCU_ActualTorque <= 50N·m within 150ms
  - DTC_P0A0F == 1

四、行业应用场景与常见误区

联合HIL与故障注入已广泛应用于主机厂和Tier1的V模型右侧验证:功能安全ISO 26262的故障注入测试、OTA升级前的回归测试、三电联调前的虚拟标定、以及售后疑难问题的复现。尤其在冬季低温、电池内阻增大导致功率受限的场景中,联合HIL能快速复现“VCU未及时降扭”的偶发问题。

常见误区 后果 正确做法
只做单控制器HIL,不做联合 跨控制器耦合问题漏测 三电同时接入,共享车辆模型
故障注入只改数据不改时序 无法复现真实抖动与丢帧 同时控制周期、丢帧、CRC
判定只看故障码 忽略扭矩响应超调 结合总线信号与物理量判定
用例不可重复 问题无法复现与回归 固定随机种子与注入时刻
初学者常把HIL当成“信号发生器”,只关注能否发出报文。真正的难点在于:模型精度是否足够、实时步长是否稳定、故障注入是否可重复、判定条件是否覆盖功能安全要求。忽略任何一项,测试结论都不可信。
建议从一条完整的“BMS限功率—VCU降扭—MCU执行”链路入手,先跑通基线,再注入单一故障,最后叠加多故障。每增加一个故障,都要重新确认观测点和判定阈值。