BUSMASTER 测试花样与报文发送次数
BUSMASTER 3.2.2.47 及以上版本可以在 CAN 和 LIN 的 Transmit Window 中,让报文 ID、负载位域或两者按规则变化,也可以通过 Send Count 控制一条报文总共发送多少次。测试花样、发送次数和周期彼此独立,因此既能持续扫值,也能只发送指定次数后自动停止。
简单来说,Test Pattern 决定“每次发送时 ID 或数据怎样变化”,Send Count 决定“这轮周期发送总共发多少次”,Repetition (ms) 决定“隔多久发一次”。三者可以单独使用,也可以组合使用。
1. 创建发送报文
Section titled “1. 创建发送报文”- 打开
CAN -> Transmit Window;LIN 项目使用LIN -> Transmit Window。 - 双击
[Add Message],选择数据库报文;也可以手动填写非数据库报文的 ID、通道、长度和类型。 - 先确认固定报文能够正常发送,再配置
Test Pattern。
下图中的示例使用复合花样、Send Count = 10 和 Repetition = 1000 ms:

2. 选择花样类型
Section titled “2. 选择花样类型”Test Pattern 提供以下选择:
| 类型 | 每次周期发送时的变化 |
|---|---|
Disabled |
ID 和负载保持当前值 |
ID Increment |
ID 按步进值递增,到最大值后回绕 |
ID Random |
ID 在最小值和最大值之间随机变化 |
Data Increment |
指定负载位域按步进值递增,到最大值后回绕 |
Data Random |
指定负载位域在最小值和最大值之间随机变化 |
四种 ID ... + Data ... |
ID 与负载生成器同时运行,各自保持独立状态 |

3. 配置 ID 和负载参数
Section titled “3. 配置 ID 和负载参数”选中发送行后,窗口下方会显示与花样对应的参数。

ID Min:运行开始时使用的 ID。ID Max:允许到达的最大 ID。Step value:递增花样每次增加的数值;随机花样不使用该字段。
例如把 ID 设置为 0x100~0x10F、步进 1,周期发送的 ID 会从 0x100 递增到 0x10F,然后回到 0x100。
Data 参数
Section titled “Data 参数”Data Min/Data Max:所选位域的数值范围。Step value:递增花样每次增加的数值。Start bit:位域起始位。Bit width:位域宽度,可配置 1~64 bit。Byte order:选择Intel或Motorola。
例如 Start bit = 8、Bit width = 16、Intel、范围 0~255、步进 1,只会改变该 16 bit 位域;负载中的其他位继续使用当前发送模板。位域必须完整落在当前 DLC 内,数值也必须能由配置的位宽表示。
4. 配置周期和报文发送计数(Send Count)
Section titled “4. 配置周期和报文发送计数(Send Count)”- 在
Repetition (ms)中输入周期并勾选该列。 - 需要持续发送时,把
Send Count设为Infinite。 - 需要有限次数时,输入
1~65534。常用预设包括 10、100、1000 和 10000。
BUSMASTER 只统计成功提交的周期发送。达到有限次数后,该行会停止并自动取消 Repetition;再次勾选会从完整次数重新开始。手动点击 Send Message 或使用快捷键发送的一帧不会扣减周期次数。
Test Pattern 和 Send Count 不冲突:
- 只设花样:按范围循环,直到手动停止。
- 只设次数:固定 ID 和负载发送 N 次后停止。
- 两者都设:花样每次推进,同时在第 N 次成功周期发送后停止。
例如 ID 范围为 0x100~0x1FF,但 Send Count = 10,本轮只发送前 10 个花样值。若花样范围先走完,则花样按自身规则回绕,直到累计次数达到 N。
5. CAN 和 LIN 的使用边界
Section titled “5. CAN 和 LIN 的使用边界”- CAN/CAN FD 会按标准帧或扩展帧范围验证 ID。RTR 帧没有负载,不能使用 Data 花样。
- LIN 测试花样用于独立定时的
Master Write行。Master Read可以使用有限发送次数,但不生成负载花样。 - LIN
Slave Response由外部主机触发,不使用有限周期次数或测试花样。 - 被 LIN Schedule Table 接管的行由调度表控制时序,
Send Count会使用Infinite;停止调度后再编辑独立周期设置。
6. 调试建议
Section titled “6. 调试建议”- 第一次使用时先设置较慢周期,并在独立接收端核对 ID、通道、DLC、负载顺序和实际帧数。
- Motorola 位域的起始位含义与 Intel 不同;不确定时先用一个很小的范围观察字节变化。
- 修改运行中某一行的有效花样参数会安全重启该行,并从配置的最小值开始;其他发送行保持各自状态。
- 更改 DLC、帧类型或 RTR 后,如果原 Data 位域不再有效,应先修正位域,再重新启用周期发送。
- 扫描范围或随机花样可能产生 ECU 未预期的报文。请在确认允许的测试总线上使用,不要直接在运行中的车辆或安全关键网络上盲扫。
要发送 10 帧 ID 递增、负载位域也递增的报文:
- 选择
ID Increment + Data Increment。 - 配置 ID 的 Min、Max、Step。
- 配置 Data 的 Min、Max、Step、Start bit、Bit width 和 Byte order。
- 设置
Send Count = 10。 - 设置周期并勾选
Repetition。 - 在独立接收端确认 10 帧后停止;下一轮再次勾选即可。
BUSMASTER 怎样只发送指定次数的报文?
Section titled “BUSMASTER 怎样只发送指定次数的报文?”把 Send Count 设置为 1~65534,填写 Repetition (ms) 并勾选周期发送。达到指定次数后,BUSMASTER 会停止该行并自动取消 Repetition。如果只需要固定报文重复 N 次,可以保持 Test Pattern = Disabled。
测试花样必须和发送次数一起使用吗?
Section titled “测试花样必须和发送次数一起使用吗?”不需要。测试花样与发送次数互不依赖:可以只改变 ID 或负载并持续发送,也可以只让固定报文发送 N 次,还可以让花样每次推进并在第 N 次发送后停止。
为什么重新勾选 Repetition 后又从完整次数开始?
Section titled “为什么重新勾选 Repetition 后又从完整次数开始?”有限次数完成、手动停止或断开重连后,再次勾选 Repetition 会启动新一轮发送,Send Count 从完整配置值重新计数,递增花样也从配置的最小值开始。
手动点击 Send Message 会扣减发送次数吗?
Section titled “手动点击 Send Message 会扣减发送次数吗?”不会。Send Count 只统计成功提交的周期发送;手动发送或快捷键触发的一帧不消耗本轮周期次数。
如需安装或升级 BUSMASTER,请前往下载中心获取当前正式版本与历史版本。