BUSMASTER E2E:DBC 与保护信号联动
本篇沿用 0x2A0、8 字节、P01 / BOTH、DataID 0x0123 的报文。DBC 用于描述信号,E2E 参数区负责选择保护字段及相应算法参数。
若刚完成第 02 篇的模式练习,先断开 CAN、取消该行周期,在 E2E → DataID模式 中恢复 BOTH;DataID 保持 0x0123、首帧计数 0、计数器 8 / 4 / Intel、校验 0 / 8 / Intel,再进行下面的 DBC 练习。
1. 加载教学 DBC
Section titled “1. 加载教学 DBC”下载 E2E_P01.dbc,通过 CAN 功能区的 数据库 入口,按 CAN FD 与 DBC 工作流 将文件加入当前 CAN 工程。
返回发送窗口,选中 0x2A0。名称可显示为 E2E_P01_Message,信号详情应出现:
| 信号 | 布局 | 本例用途 |
|---|---|---|
| Checksum | 起始位 0、8 位、Intel | P01 的 CRC 字节 |
| AliveCounter | 起始位 8、4 位、Intel | P01 计数器 |
| CommandValue | 起始位 16、16 位、Intel | 普通业务值,教学初始值为 0 |
未出现这些信号时,先确认 DBC 已加入当前 CAN 工程、报文 ID 为标准帧 0x2A0、数据长度为 8。仅在磁盘上放置文件不会自动完成数据库加载。
2. 在 E2E 中明确选择两个来源
Section titled “2. 在 E2E 中明确选择两个来源”- 选中这条发送行,打开下方 E2E 页签。
- 在 计数器 → 来源 下拉中选择 AliveCounter,确认选择。
- 在 校验字段 → 来源 下拉中选择 Checksum,确认选择。
- 检查计数器显示为起始 8、位 4、Intel;校验显示为起始 0、位 8、Intel。

图 5: 窗口足够宽时,信号详情与 E2E 并排。选择信号后,位置、位宽和字节序由所选信号派生;灰色字段表示该处不能直接修改。
下拉按当前算法提供可用来源。此例 P01 校验字段可选 8 位 Checksum,16 位 CommandValue 不会列为校验来源;无 DBC 时选择手工。若交换两个保护字段,依次选择两项来源,全部选完后再核对位置和发送;提示无效时,检查位宽、重叠及是否超出报文长度。
3. 业务值与保护输出怎样配合?
Section titled “3. 业务值与保护输出怎样配合?”确认同一项已生效配置时,计数继续。要从首帧计数重新发送,请点击 复位;周期运行时先停止周期。
当 CommandValue=0、其余业务字节为零且首帧计数为 0 时,复位后可使用第 01 篇的四帧参考值核对。若修改业务值,软件先取得业务报文,再计算 E2E;CRC 因业务数据变化而改变是正常现象。
数据字节和信号详情用于编辑、显示业务模板。要确认实际保护字段,应查看真正发出的报文或接收端载荷,不能要求模板中的 CRC 和计数器跟着每次发送刷新。
4. 没有 DBC、或 DBC 发生变化怎么办?
Section titled “4. 没有 DBC、或 DBC 发生变化怎么办?”- 没有 DBC: 两个来源保留 手工,按通信定义填写允许编辑的位置。内置算法仍可使用。
- 信号不符合标准布局: 按当前算法检查长度、位宽、字节序及头部位置。
- 更新了同名信号: 已应用的来源和位置不会只因名称相同就静默重猜。确认新定义后,在对应来源下拉中明确重新选择,再核对派生字段。
- 返回手工: 在来源中选择 手工,按当前算法允许的字段编辑并结束输入。
Intel 与 Motorola 的起始位表示方式不同。核对实际占用的位,不要只比较两个起始位数字是否相等。
上一篇:选择算法与填写参数 · 系列概览 · 下一篇:算法管理与自定义 DLL
如需安装或升级 BUSMASTER,请前往下载中心获取当前正式版本与历史版本。