BUSMASTER E2E:选择算法与填写参数
按对端通信定义选择算法。本篇沿用第 01 篇的 P01 报文练习模式切换,再分别配置其他内置算法。
1. 五种内置算法怎么选?
Section titled “1. 五种内置算法怎么选?”下表为当前软件的单帧 CAN / CAN FD 支持范围:
| 算法 | 载荷字节范围 | 计数器范围 | 未另设首帧计数时的首帧值 | 主要参数 |
|---|---|---|---|---|
| P01 | 2~30,固定长度 | 0~14 | 0 | DataID、BOTH/ALT/LOW/NIBBLE 模式、CRC 与计数器位置;NIBBLE 还需相应字段位置 |
| P02 | 2~64,固定长度 | 0~15 | 1 | 16 项 DataID 列表,固定保护字段布局 |
| P04 | 12~64 | 0~65535 | 0 | 32 位 DataID、头部偏移、允许长度范围 |
| P05 | 3~64,固定长度 | 0~255 | 0 | 16 位 DataID、头部偏移 |
| P06 | 5~64 | 0~255 | 0 | 16 位 DataID、头部偏移、允许长度范围 |
选择内置算法时,软件会调整必要的长度、帧类型及 RTR。例如默认 P04 可把 8 字节 Std 调整为 12 字节 FD,保留原有字节并补零;已有较长数据不会自动截短,BRS 按网络设置。使用自定义 DLL 时,按 DLL 提供方的说明配置报文长度和字段。
普通 CAN 最多 8 字节;CAN FD 可用长度为 0~8、12、16、20、24、32、48、64 字节,再与算法允许范围取交集。例如 P04 必须使用 CAN FD,P01 的上限为 30 字节,因此不能使用 32 字节载荷。
2. P01:切换 DataID 模式
Section titled “2. P01:切换 DataID 模式”CAN ID 位于发送列表,用于标识总线报文。DataID 位于 E2E 参数区,用于参与对应 profile 的保护计算。两者分别配置,软件不会把 CAN ID 自动当作 DataID。
沿用第 01 篇:CAN ID 为 0x2A0,DataID 为 0x0123。填写 DataID 时使用十六进制;CRC 的变化不意味着 DataID 本身一定以一个独立字段出现在总线上。
切换前取消该行周期勾选并断开 CAN,选择 0x2A0 的 E2E 页签。保持 8 字节、全零业务模板、首帧计数 0、计数器 8 / 4 / Intel、校验字段 0 / 8 / Intel。
BOTH → LOW
Section titled “BOTH → LOW”LOW 只接受一个字节的 DataID,不能直接沿用第 01 篇的 0x0123。
- 先将 DataID 改为
0x23,按 Tab 结束输入。 - 在 DataID模式 中选择 LOW,确认选择。
- 核对 DataID 显示
0x0023(或0x23)、模式为 LOW,两个保护字段位置保持不变。 - 点击 复位,连接 CAN,手动发送。按 LOW 的参数核对载荷,不再使用第 01 篇 BOTH 的 CRC 参考值。
若误先选择 LOW 而提示配置无效,检查模式是否已恢复;先改 DataID 为 0x23,结束输入后重新选择 LOW。
LOW → ALT 或 BOTH
Section titled “LOW → ALT 或 BOTH”- 先选择 ALT 或 BOTH,确认选择。
- 再将 DataID 改回
0x0123,按 Tab 结束输入。 - 点击 复位后发送。ALT 按计数器交替使用 DataID 字节;BOTH 使用两个字节。
只有恢复为第 01 篇全部参数,并从首帧计数 0 开始,才重新使用该篇的四帧参考载荷。
切换到 NIBBLE
Section titled “切换到 NIBBLE”- 先选择 NIBBLE,确认选择;参数区会出现 半字节位。
- 将 DataID 填为
0x0123,按 Tab 结束输入。NIBBLE 的 DataID 范围为0x000~0xFFF。 - 将 半字节位 填为
12,按 Tab 结束输入;计数器仍为8 / 4 / Intel,校验仍为0 / 8 / Intel。 - 核对三个字段没有重叠,再点击 复位、连接并发送。
这里的 12 是 bit 位置:字节 1 的高半字节保存 DataID 高字节中的低 4 位,本例为 1;低半字节保存 Counter。首帧 Counter=0 时,接收载荷的字节 1 应为 10,下一帧应为 11。字节 0 为当前模式计算出的 CRC。
3. P02:填写 16 项 DataID 列表
Section titled “3. P02:填写 16 项 DataID 列表”在发送行的 动态报文 中选择 AUTOSAR P02,下方 E2E 区会切换成 DataID 列表。
图中的 0x2A1 是单独建立的 P02 示例行,0x2A0 仍保留 P01;参数区只显示当前选中行。

图 4: 从左到右、从上到下,依次是列表索引 0~15。每一格填写一个十六进制字节;图中 01 到 10 是教学值,10 表示十六进制 0x10。
P02 按计数器值选择列表项。默认首帧计数器为 1,因此首帧用索引 1 对应的字节,而不是把左上角索引 0 当作首帧项。若项目要求首帧为 0,请明确设置首帧计数 0,并按该设置重新核对参考载荷。
16 项都必须来自项目定义;不要只填当前计数器会用到的那一格。修改完成后结束编辑,检查是否有非法值提示。
4. P04、P05、P06:可直接填写的发送示例
Section titled “4. P04、P05、P06:可直接填写的发送示例”每种算法单独建立一行,逻辑通道沿用第 01 篇的 1。先断开 CAN,取消所有教学行的周期勾选,业务模板全部填零。每行发送次数为 1,RTR 不勾选;P04 使用支持 CAN FD 的对端,本例不启用 BRS。
| 填写项 | P04 示例 | P05 示例 | P06 示例 |
|---|---|---|---|
| 帧 ID | 0x2A2 |
0x2A3 |
0x2A4 |
| 报文类型 | Std-FD,BRS 关闭 |
Std |
Std |
| 数据长度 | 16 |
8 |
8 |
| 动态报文 | AUTOSAR P04 | AUTOSAR P05 | AUTOSAR P06 |
| DataID(Hex) | 0x12345678 |
0x0123 |
0x0123 |
| 首帧计数 | 0 |
0 |
0 |
| 头部位 | 8 |
8 |
8 |
| 最小字节/最大字节 | 16 / 16 |
无此项,按本行 8 字节发送 | 8 / 8 |
| 计数器/校验来源 | 均为手工 | 均为手工 | 均为手工 |
按下面顺序填写:
- 在发送列表设置帧 ID、类型、长度和次数,选择对应 动态报文。
- 打开该行 E2E 页签,填写 DataID、首帧计数。P04、P06 的 长度(字节) 有左右两个输入框:先在左框填最小字节数,再在右框填最大字节数,每次按 Tab 结束输入。
- 最后填写 头部位
8,按 Tab;检查派生位置与下表一致。派生字段为灰色时无需另行修改。 - 点击该行 复位,准备接收端后连接,手动点击 发送报文 两次,核对 ID、类型、长度及 Counter 的
0 → 1。 - 练习下一行前先断开 CAN,其他行周期保持关闭。
| 派生字段 | P04 | P05 | P06 |
|---|---|---|---|
| 计数器:起始 / 位 / 字节序 | 31 / 16 / Motorola |
24 / 8 / Intel |
40 / 8 / Intel |
| 校验:起始 / 位 / 字节序 | 79 / 32 / Motorola |
8 / 16 / Intel |
15 / 16 / Motorola |
头部位 8 表示整个头部后移 1 字节。 在以上全零模板中,字节 0 保持 00;P04 的 16 位 Counter 占字节 3~4,P05 的 Counter 在字节 3,P06 的 Counter 在字节 5。
按上表完成配置、点击 复位后,前两帧应为以下完整载荷。P04 为 16 字节 Std-FD,BRS 关闭;P05、P06 为 8 字节 Std。
| 算法 | Counter | 完整载荷(HEX,按字节 0 起排列) |
|---|---|---|
| P04 | 0 | 00 00 10 00 00 12 34 56 78 B7 4B 5C 35 00 00 00 |
| P04 | 1 | 00 00 10 00 01 12 34 56 78 47 C5 A6 40 00 00 00 |
| P05 | 0 | 00 AA 72 00 00 00 00 00 |
| P05 | 1 | 00 CB CA 01 00 00 00 00 |
| P06 | 0 | 00 1B 4C 00 08 00 00 00 |
| P06 | 1 | 00 B1 1D 00 08 01 00 00 |
这些参考载荷对应本节固定参数与全零业务模板;修改 DataID、首帧计数、头部位置或业务值后,应使用修改后的参数核对。
5. 头部偏移、起始位和长度单位
Section titled “5. 头部偏移、起始位和长度单位”| 字段 | 单位与含义 | 核对重点 |
|---|---|---|
| 首帧计数 | 对应 profile 的计数器整数 | 在该 profile 允许范围内;P01 不使用计数值 15。 |
| 头部位 | bit,整个 E2E 头部相对载荷起点的偏移 | P04/P05/P06 按字节对齐;8 表示后移 1 字节,不是 8 字节。 |
| 起始 | bit,保护字段起始位置 | 与 Intel/Motorola 的 DBC 位编号一起解释。 |
| 位 | bit,字段宽度 | 与计数器/CRC 类型一致,不能与业务字段重叠。 |
| 长度(字节)左框/右框 | byte,分别为最小/最大载荷长度;管理器中显示为最小字节数/最大字节数 | 实际发送长度须在范围内,并满足算法和帧类型约束。 |
标准 profile 对字段组合有约束,某些派生字段显示为只读。不要为了消除提示而随意改字节序或扩大范围;先确认所选算法和通信定义是否一致。
使用 DBC 选择来源时,软件会按合法的信号位置更新相关布局,操作见下一篇。
6. 修改后怎样判断已经生效?
Section titled “6. 修改后怎样判断已经生效?”结束文本编辑或确认下拉选择后,检查三件事:没有未解决的输入提示;相关位置与字节序符合预期;接收端完整载荷与新参数匹配。
若要同时移动计数器和校验字段,先修改第一个位置并按 Tab,再修改另一个位置并按 Tab;两项填完后核对来源、位宽和字节序,再切行或发送。出现无效提示时,先查看输入框恢复的值,按提示修正超范围、重叠或越界字段,再结束输入。无需点击应用。
改变参数后,该发送项会按新设置重新开始计数;确认同一个值或取消选择则保持当前计数。若只想从首帧计数重新发送,点击该项的 复位。
上一篇:发送第一条 E2E 报文 · 系列概览 · 下一篇:DBC 与保护信号联动
如需安装或升级 BUSMASTER,请前往下载中心获取当前正式版本与历史版本。