BUSMASTER XCP:准备环境与配置 A2L
适用 BUSMASTER 3.2.2.50,截图使用中文界面。
1. 开始前:准备 ECU、A2L 和 CAN 连接
Section titled “1. 开始前:准备 ECU、A2L 和 CAN 连接”XCP 用来读取 ECU 内部变量,也可以修改允许标定的参数。A2L 文件告诉软件这些变量的名称、地址、类型、换算和访问权限;加载 A2L 后,还要连接对应 ECU,才能获得实时值。
本教程使用 BUSMASTER 3.2.2.50(Build 558)简体中文版,演示 XCP on Classic CAN、单 ECU 会话。先完成两个变量的读取和连续采集,再按需练习一个标量参数的写入与回读。
| 需要准备 | 如何选择 |
|---|---|
| BUSMASTER 与分析仪 | 安装 BUSMASTER 及对应分析仪驱动,确认所选 CAN 通道空闲。首次使用可先完成基础收发教程中的设备配置。 |
| 支持 XCP 的 ECU | 使用 ECU 供应方提供的匹配 A2L、波特率、请求/响应 ID、访问权限和事件通道。文件里的地址必须对应当前 ECU 软件。 |
| 独立的教学环境(可选) | 没有 ECU 时,可使用随附的 XCP ECU Simulator。模拟器与主站各使用一台分析仪,选择实际接线的 CAN 通道,并通过 CANH、CANL 和参考地组成同一条总线。 |
| 总线设置 | 本例两端均设置为 500 kbit/s Classic CAN,并各配置 120 Ω 终端。接入已有网络时,按该网络的拓扑配置终端。 |
启动教学模拟器
Section titled “启动教学模拟器”-
下载并完整解压模拟器 ZIP,保留启动脚本、EXE、BMAPI.dll 和 test_xcp.a2l 在同一目录。
-
在解压目录打开 PowerShell,先列出通道:
Terminal window .\start_xcp_simulator.cmd -ListChannels -
复制模拟器侧设备的 UID,替换下面引号内的占位符,再启动所选通道。
-Channel 0表示物理 CH1。Terminal window .\start_xcp_simulator.cmd -Device '<模拟器设备UID>' -Channel 0 -
看到
status=ready后,核对其中的设备和通道,并保留窗口运行。截图中的主站使用另一台设备的物理 CH3,映射为逻辑 CAN 1;模拟器使用物理 CH1。使用其他通道时,让接线、启动参数与软件配置对应。
本例使用标准帧,主站请求 ID 为 0x555,从站响应/DTO ID 为 0x556,DAQ 事件通道为 3,默认周期为 10 ms。结束练习后,在模拟器窗口按 Ctrl+C,等待正常退出。
模拟器文件信息
Section titled “模拟器文件信息”运行程序版本:Win32 Universal 20260903。
SHA-256:bc491b98154c2dc5528c9f8bfefdf03f5165da3bcb66a4288dba6bf29fdd6b49
本页配套 A2L 对应教学模拟器的地址布局。接入实际 ECU 时,使用供应方提供的匹配 A2L。练习中选择 EngineSpeed 和 SpeedLimit 两个对象。
2. 配置主 CAN,并打开 XCP 窗口
Section titled “2. 配置主 CAN,并打开 XCP 窗口”- 使用新的教学工程,或先另存现有工程。打开 CAN 选项卡,选择 BUSMUST CAN 驱动,在硬件配置中选中连接 ECU 的分析仪与物理通道。
- 将该通道配置为 Classic CAN、500 kbit/s(教学模拟器参数)。真实 ECU 则使用它要求的波特率和接线。暂时保持主 CAN 断开,便于完成曲线配置。
- 在 CAN → 高级协议 → XCP 打开主窗口,再单击顶部的设置。
请区分物理通道与软件逻辑通道:截图中的“CAN 1”映射到分析仪物理 CH3。XCP 设置中应选择这个逻辑 CAN 通道,并核对旁边显示的实际设备和 500 kbit/s;XCP 会复用 BUSMASTER 的主 CAN 连接。
第一次进入主窗口时,左侧是 A2L 浏览器,右侧是将要读取的工作集。底部依次显示操作提示、CAN、XCP ECU、测量和 A2L 状态。CAN 已连接、XCP ECU 已连接、测量运行中是三个不同状态。
3. 导入 A2L,并核对连接与采集参数
Section titled “3. 导入 A2L,并核对连接与采集参数”- 在 XCP 设置 → A2L 区域单击浏览…,选择模拟器包里的
test_xcp.a2l,等待加载完成。 - 确认 MODULE = TEST_ECU。如果真实 A2L 有多个 MODULE 或 XCP 传输层实例,必须选择与当前 ECU 接口对应的项。
- 在“连接”区域选择主站逻辑 CAN 通道,核对下表参数。本例 A2L 未提供 XCP_ON_CAN,界面显示“没有 XCP_ON_CAN;保留当前 CAN ID”,因此需要手动填写 ID。
- 在“采集”区域选择动态 DAQ,填入默认事件通道 3,再单击确定返回主窗口。
| 设置项 | 本教学示例 | 换成真实 ECU 时 |
|---|---|---|
| 主站 CTO CAN ID | 0x555 | ECU 指定的主站命令请求 ID |
| 从站响应/DTO ID | 0x556 | ECU 指定的响应和测量数据 ID |
| 29 位扩展 ID | 不勾选;标准 11 位 ID | 与 ECU 定义一致 |
| 超时 | 500 ms | 使用 ECU 允许的通信超时 |
| 采集模式 / 事件 | 动态 DAQ / 3 | 核对设备支持的采集模式和事件通道;需要先确认基本读取能力时,选择轮询。 |
| 轮询间隔 | 100 ms;动态 DAQ 时该项禁用 | 轮询模式使用此间隔;DAQ 的采样周期由 ECU 事件决定。 |
XCP 设置:选择 CAN 通道和 A2L,配置 CTO/DTO ID 与 DAQ 事件通道。
A2L 导入 CAN ID、标识符格式或波特率信息后,在应用前核对它们与目标 ECU、主 CAN 配置一致。出现波特率不匹配提示时,先修正主 CAN 通道配置,再建立连接。
导入 A2L 出错时,先记录提示和发生时间,再按实际 Build 保存 A2L 诊断。日志路径见支持日志收集与问题反馈。
如需安装或升级 BUSMASTER,请前往下载中心获取当前正式版本与历史版本。
