BUSMUST XCP 教学模拟器（Windows Win32）

运行程序版本：2026-09-03。使用说明更新：2026-11-02。

一、准备与接线

模拟器通过 BMAPI 使用一台 BUSMUST 分析仪的 CAN 通道，在真实 Classic CAN 总线上提供 XCP ECU。
主站与模拟器各使用一台分析仪。将两端选定通道的 CANH、CANL 和参考地按设备接线要求连接，
设置为 500 kbit/s Classic CAN，并按总线拓扑配置终端；模拟器会启用所选通道的 120 Ω 终端。
Windows 中须已安装 BUSMUST 分析仪驱动。完整解压 ZIP，保持所有文件在同一目录。

二、列出设备并启动

在解压目录打开 PowerShell，先运行：
  .\start_xcp_simulator.cmd -ListChannels

从输出中复制模拟器侧设备的 UID，再运行（替换引号内的 UID）：
  .\start_xcp_simulator.cmd -Device '<模拟器设备UID>' -Channel 0

Channel 从 0 开始，0 表示物理 CH1。status=ready 记录显示实际选中的设备和通道。
保留模拟器窗口运行，结束时按 Ctrl+C，等待程序退出。

三、主站设置

  A2L 文件：test_xcp.a2l；MODULE：TEST_ECU
  Classic CAN：500 kbit/s；标准 11 位 ID
  主站 CTO 请求 ID：0x555；从站响应/DTO ID：0x556
  动态 DAQ 事件通道：3；默认事件周期：10 ms

使用配套 BUSMASTER 教程中的 EngineSpeed 和 SpeedLimit 完成读取、DAQ 和标量标定练习。
标定前读取并记录原值，写入后读回核对，结束时恢复需要保留的原值。

四、可选启动参数

  -Device：设备 UID 或 SN，使用 ListChannels 输出的值
  -Channel：从 0 开始的物理通道编号
  -DaqPeriodMs：5 或 10，默认 10
  -DurationSeconds：运行秒数；0 为持续运行，默认 0

五、文件与排障

xcp_hil_tests.exe 为模拟器程序，BMAPI.dll 为 Win32 运行库；启动脚本、描述文件和运行库放在同一目录。
设备未列出时，检查驱动和 USB 连接；打开通道失败时，核对设备、通道和其他程序的占用状态。
XCP 连接超时时，核对物理接线、波特率和 0x555/0x556 标识符。
SHA256SUMS.txt 提供各文件的 SHA-256 校验值。

SpeedLimit 为发动机转速限值，单位 rpm。模拟器退出统计中的 torque_raw 对应该参数的原始存储值；原始值 300 对应物理值 305 rpm。
