跳转到内容

BUSMASTER E2E:选择算法与填写参数

按对端通信定义选择算法。本篇沿用第 01 篇的 P01 报文练习模式切换,再分别配置其他内置算法。

下表为当前软件的单帧 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 字节载荷。

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。

LOW 只接受一个字节的 DataID,不能直接沿用第 01 篇的 0x0123。

  1. 先将 DataID 改为 0x23,按 Tab 结束输入。
  2. 在 DataID模式 中选择 LOW,确认选择。
  3. 核对 DataID 显示 0x0023(或 0x23)、模式为 LOW,两个保护字段位置保持不变。
  4. 点击 复位,连接 CAN,手动发送。按 LOW 的参数核对载荷,不再使用第 01 篇 BOTH 的 CRC 参考值。

若误先选择 LOW 而提示配置无效,检查模式是否已恢复;先改 DataID 为 0x23,结束输入后重新选择 LOW。

  1. 先选择 ALT 或 BOTH,确认选择。
  2. 再将 DataID 改回 0x0123,按 Tab 结束输入。
  3. 点击 复位后发送。ALT 按计数器交替使用 DataID 字节;BOTH 使用两个字节。

只有恢复为第 01 篇全部参数,并从首帧计数 0 开始,才重新使用该篇的四帧参考载荷。

  1. 先选择 NIBBLE,确认选择;参数区会出现 半字节位。
  2. 将 DataID 填为 0x0123,按 Tab 结束输入。NIBBLE 的 DataID 范围为 0x000~0xFFF。
  3. 将 半字节位 填为 12,按 Tab 结束输入;计数器仍为 8 / 4 / Intel,校验仍为 0 / 8 / Intel。
  4. 核对三个字段没有重叠,再点击 复位、连接并发送。

这里的 12 是 bit 位置:字节 1 的高半字节保存 DataID 高字节中的低 4 位,本例为 1;低半字节保存 Counter。首帧 Counter=0 时,接收载荷的字节 1 应为 10,下一帧应为 11。字节 0 为当前模式计算出的 CRC。

在发送行的 动态报文 中选择 AUTOSAR P02,下方 E2E 区会切换成 DataID 列表。

图中的 0x2A1 是单独建立的 P02 示例行,0x2A0 仍保留 P01;参数区只显示当前选中行。

P02 参数:两行共 16 个 DataID 字节和首帧计数

图 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
计数器/校验来源 均为手工 均为手工 均为手工

按下面顺序填写:

  1. 在发送列表设置帧 ID、类型、长度和次数,选择对应 动态报文。
  2. 打开该行 E2E 页签,填写 DataID、首帧计数。P04、P06 的 长度(字节) 有左右两个输入框:先在左框填最小字节数,再在右框填最大字节数,每次按 Tab 结束输入。
  3. 最后填写 头部位 8,按 Tab;检查派生位置与下表一致。派生字段为灰色时无需另行修改。
  4. 点击该行 复位,准备接收端后连接,手动点击 发送报文 两次,核对 ID、类型、长度及 Counter 的 0 → 1。
  5. 练习下一行前先断开 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 选择来源时,软件会按合法的信号位置更新相关布局,操作见下一篇。

结束文本编辑或确认下拉选择后,检查三件事:没有未解决的输入提示;相关位置与字节序符合预期;接收端完整载荷与新参数匹配。

若要同时移动计数器和校验字段,先修改第一个位置并按 Tab,再修改另一个位置并按 Tab;两项填完后核对来源、位宽和字节序,再切行或发送。出现无效提示时,先查看输入框恢复的值,按提示修正超范围、重叠或越界字段,再结束输入。无需点击应用。

改变参数后,该发送项会按新设置重新开始计数;确认同一个值或取消选择则保持当前计数。若只想从首帧计数重新发送,点击该项的 复位。

上一篇:发送第一条 E2E 报文 · 系列概览 · 下一篇:DBC 与保护信号联动


如需安装或升级 BUSMASTER,请前往下载中心获取当前正式版本与历史版本。