跳转到内容

BUSMASTER 基础收发教程

Busmaster经典回顾 - 基础收发教程

Section titled “Busmaster经典回顾 - 基础收发教程”

BUSMASTER 是一款历史悠久的 CAN/LIN 总线分析上位机软件,覆盖 CAN/LIN 总线报文监控、发送、数据库解析、统计、记录、回放等功能。霸码科技(BUSMUST.COM)在持续维护 BUSMASTER 的过程中,也陆续增加了 CAN FD、UDS 面板、ASC/BLF 格式支持等新功能。

由于 BUSMASTER 的功能入口较多,初次接触这款软件时,往往不容易立即判断应该从哪里开始。本文以 BUSMASTER 3.2.2.40 和 BUSMUST USB-CANFD 设备为例,介绍从设备通道选择、通道参数配置、报文接收、软件过滤器、报文发送、DBC 解析、总线状态统计到 Signal Graph 的基础收发操作。

BUSMASTER CAN 工具栏常用入口

上图中包含本文会用到的主要入口:ConnectDriver SelectionChannel ConfigurationDatabaseNetwork StatisticsSignal GraphFiltersMessage WindowTransmit WindowInterpret

BUSMASTER、驱动和说明文档可以从 BUSMUST 官方公开下载目录获取:

http://download.busmust.com/files/

本文实操版本对应的安装包文件名为 BUSMASTER_Installer_Ver_3.2.2.40.exe。下载目录中的文件会随版本发布更新,实际使用时以目录中的最新安装包为准。

Windows 10 或 Windows 11 环境下,按安装向导完成安装即可。需要注意的是,Windows 环境下安装设备驱动时,通常需要先禁用驱动程序强制签名,否则驱动 INF 文件可能安装失败。

如果设备插入后系统无法识别,先检查驱动是否安装成功,再确认设备管理器中是否能看到对应设备。安装完成后启动 BUSMASTER,切换到 CAN 页面,即可开始配置。

使用 BUSMUST 设备时,第一步是选择驱动。

进入 CAN -> Driver Selection,选择 BUSMUST USB-CAN(FD)

选择 BUSMUST CAN 驱动

选好驱动后,还需要把硬件通道映射到 BUSMASTER 的逻辑通道。这里需要区分两个概念:

  • 硬件通道:设备真实通道,例如序列号为 10356 设备的 1 通道、3 通道,或 10357 设备的 1 通道。
  • BUSMASTER 逻辑通道:软件里使用的 Channel 1Channel 2Channel 3

本文示例中使用了三个通道:

  • 10356-1 映射为 BUSMASTER Channel 1
  • 10356-3 映射为 BUSMASTER Channel 2
  • 10357-1 映射为 BUSMASTER Channel 3

在本文的测试环境下,这三个通道并联在同一组测试总线上。任意一个通道发送报文时,另外两个通道都可以接收,因此适合用于演示可控的收发回环。本文截图均基于该测试环境,不涉及真实 ECU 报文。

硬件通道映射

完成映射后,软件才知道每个 BUSMASTER 逻辑通道对应哪一个真实硬件口。

通道映射完成后,需要配置每个通道的工作参数。

基础收发最常见的几个参数是:

  • Mode:通常选择 Normal
  • T-Resistor:设备侧 120 欧终端电阻开关。基础调试时通常建议先打开,避免因为总线缺少终端电阻导致通信失败。
  • BaudRate:仲裁域波特率,经典 CAN 也使用这个波特率。
  • Data BaudRate:CAN FD 数据域波特率。

通道参数配置

常见工作模式建议重点了解三种:

  • Normal:正常收发模式。连接真实总线或本文这种多通道回环测试时,通常使用该模式。
  • Loopback:本地回环模式,常用于不接外部总线时验证软件发送流程和通道基本功能。
  • Listen Only:只监听不主动发送,适合接入已有总线做观察,避免测试设备向总线主动发送 ACK 信号。

CAN 总线通常需要在总线两端各有一个 120 欧终端电阻。实际调试时,如果总线上缺少终端电阻,通信可能不稳定,甚至完全无法工作;而在短线测试环境中,多开一个设备侧终端电阻,通常仍然可以正常通信。

因此,基础收发阶段一般建议先打开设备侧终端电阻,确认收发链路正常后,再根据实际总线拓扑调整。

CAN FD 与经典 CAN 的一个重要区别是:CAN FD 通信通常涉及两个波特率。

  • BaudRate:仲裁域波特率,也就是经典 CAN 报文使用的波特率。
  • Data BaudRate:CAN FD 数据域波特率。

如果经典 CAN 报文能正常收发,但 CAN FD 报文无法正常发送或接收,常见原因之一就是数据域波特率没有和对端配置一致。排查 CAN FD 问题时,应同时检查仲裁域波特率和数据域波特率。

如果需要调整更细的时序参数,可以进入高级配置界面查看采样点。基础收发场景下,采样点通常保持默认推荐值即可,本文示例使用 80%。

采样点和高级时序配置

这里需要注意 BUSMASTER 3.2.2.40 当前界面的两个限制:

  • SJW 可以选择不同值,但目前不会实际生效(BMAPI SDK 中设置 SJW 是可以生效的)。
  • 数据段波特率目前只能和仲裁段波特率保持同一个值,不能在这个界面里按独立数据段波特率使用。

参数确认后,点击 Connect 连接总线。

4. 接收报文和 Message Window 常用选项

Section titled “4. 接收报文和 Message Window 常用选项”

连接成功后,先打开或查看 Message Window。如果总线上有流量,窗口中应能看到报文持续刷新。

连接后接收报文

观察 Message Window 时,重点看这几列:

  • Channel:报文来自哪个 BUSMASTER 逻辑通道。
  • Rx/Tx:报文方向。
  • ID:报文 ID。
  • DLCData Byte(s):数据长度和负载。
  • Time:时间戳。
  • Count:同一条报文累计出现的次数。

Message Window 的常用选项可以从工具栏的 Message Window 下拉菜单进入,部分显示参数也可以在 CAN -> Message Window -> Configure 中配置。常用选项包括:

  • Overwrite:按 ID 覆盖显示,也就是将相同 ID 的报文放在同一行显示,而不是滚动刷新,更适合看每个 ID 的最新状态。
  • Append:按时间顺序追加显示,更适合看历史过程。
  • Auto scroll:收到新报文时自动滚动到最新报文。
  • Time Mode:可切换时间显示方式。
  • Buffer size 和刷新相关选项:影响显示缓存和刷新效果。
  • Interpret:启用 DBC 信号解析。加载并关联 DBC 后,需要打开 Interpret,Message Window 才会把报文负载展开为信号值。本文后面会单独介绍。

Time Mode 常用三种显示方式:

  • Relative:显示相邻报文之间的时间差。查看某条报文周期时,通常使用这种模式。
  • Absolute:显示从连接开始后的累计时间。适合观察报文出现在整个测试过程中的相对位置。
  • 系统时间模式:显示年月日时分秒形式的时间。适合和外部日志、测试记录或其他工具的时间对齐。

如果需要粗略判断报文周期,可以观察时间戳变化;如果需要查看某条报文累计出现次数,可以查看 Count 列。

BUSMASTER 里有软件过滤器,也可能有硬件过滤器。本文这一节讲的是软件过滤器,也就是 BUSMASTER 软件层对 Message Window 显示内容做过滤。

软件过滤器最容易出错的地方是:创建 Filter 不等于它已经生效。完整流程有三步。

先进入 CAN -> Filters,创建一个过滤器对象。

创建软件 Filter

Filter 可以是 pass 类型,也可以是 stop 类型:

  • pass:只允许匹配条件的报文显示。
  • stop:阻止匹配条件的报文显示。

在 Filter Attributes 中可以配置 ID、ID Range、ID Type、Frame Type、Direction、Channel 等条件。配置完成后,点击 Add,把这条条件加入当前 Filter。

例如在本文演示中,DBC 里有 0x1230x456 两条报文。我们创建了一个 stop 类型 Filter,用来过滤 0x123。启用后,Message Window 中就只剩 0x456 相关报文。

Stop 0x123 的软件过滤规则

创建 Filter 之后,它还不会自动作用到 Message Window。

需要回到 Message Window,点击配置入口,打开 Configure Message Display - CAN,再进入 Filter 相关的 Configure

Message Window Filter 配置入口

在弹出的 Filter Selection Dialog 中,把刚才创建的 Filter 加入右侧 Selected Filters

把 Filter 加入 Message Window

这个步骤非常关键。到这里为止,只是把过滤器选入了 Message Window 的过滤器列表。

最后还要在 Message Window 的菜单中启用过滤器。

启用 Message Window Filters

软件过滤器的完整生效链路是:

创建 Filter -> 加入 Message Window 的 Selected Filters -> 执行 Enable Filters。

常见误区是只完成前两步,甚至只创建了 Filter 本身,因此表现为“过滤器配置了但是没有生效”。遇到这种情况,应按这三步逐项检查。

接收正常后,下一步就是发送。

点击工具栏上的 Transmit Window 按钮,或通过 CAN -> Transmit Window 打开发送窗口。即使没有加载 DBC,也可以直接按 ID 发送报文。

Transmit Window 的发送列表中有一行 [Add Message],需要双击这一行,在 Message Name 这一列新建发送任务。

双击 Add Message 新增发送报文

这里有两个用法:

  • 如果已经加载 DBC,可以从下拉内容中选择数据库里的报文。
  • 如果没有加载 DBC,或者要发送 DBC 之外的报文,可以直接键盘输入报文 ID,例如 0x1350x789

新增报文后,再配置这些字段:

  • Frame Id:报文 ID。
  • Channel:从哪个 BUSMASTER 通道发送。
  • Data Length:数据长度。
  • Message Type:经典 CAN、CAN FD 或 CAN FD+BRS(需要预先正确配置数据段波特率)等类型。
  • RTR:远程帧设置,普通数据帧一般不勾选。
  • Repetition (ms):周期发送间隔。
  • Key:按键触发发送。

不启用周期时,可以手动触发发送;启用周期后,BUSMASTER 会按设置的间隔发送。

7. 加载 DBC、解析信号和按信号发送

Section titled “7. 加载 DBC、解析信号和按信号发送”

DBC 不是收发报文本身的必要条件。没有 DBC,也可以按 ID 和字节发送。DBC 的作用是让软件知道某个 ID 对应什么报文名、负载里有哪些信号、每个信号如何换算物理值。

加载 DBC 时,可以从 Database 相关入口选择 DBC 文件并关联到当前 CAN 网络。

需要注意:关联 DBC 后,不一定会弹出明显的成功提示。可靠的确认方式是去 Transmit Window、Signal Watch、Signal Graph 或 Message Window 里看报文和信号是否可选、是否能解析。

加载 DBC 后,常见的信号查看入口有三个:

  • Message Window + Interpret:适合在报文列表里直接展开信号,查看 Raw Value、Physical Value 和 Unit。
  • Signal Watch:适合把关注的信号加入监控列表,持续观察数值变化。
  • Signal Graph:适合把信号画成曲线,观察变化趋势。

加载并关联 DBC 后,还需要启用工具栏里的 Interpret,Message Window 才会按 DBC 展开信号。

Interpret 后的信号解析

在本文的 demo DBC 中,只有两条报文:0x1230x456。当总线上同时出现 0x1230x4560x789 时,现象会很直观:

  • 0x1230x456 在 DBC 中存在,所以能显示 DBC 报文名,并能展开信号。
  • 0x789 不在 DBC 中,所以只能按原始 ID 显示,不能展开信号。

DBC 报文发送、回环接收和解析

这也说明了一个重要结论:DBC 不影响报文是否能收发成功,它影响的是显示名称、信号解析和按信号编辑。

在 Transmit Window 中,如果选择的是 DBC 中存在的报文,下方会显示这个报文对应的信号信息。

按 DBC 信号编辑发送内容

选中报文后,可以看到三个区域:

  • DataByte View(HEX):当前报文负载的字节视图。
  • Signal Details:信号名、Raw Value、Physical Value、Unit。
  • bit layout:按 bit 展示信号所在位置。

Signal Details 中,可以双击 Raw ValuePhysical Value 修改信号值。修改后,BUSMASTER 会根据 DBC 定义更新报文负载。

这种方式比手工计算每个 byte、每个 bit 更适合日常调试。对于 DBC 之外的报文,仍然可以按 ID 发送,只是不会出现信号列表。

Message Window 适合看报文列表,但如果想快速判断当前通道有没有持续流量、收发计数是否变化、总线负载大概是多少,可以打开 Network Statistics

Network Statistics 收发状态

这个窗口适合做基础状态确认:

  • 哪些通道有 Rx 计数。
  • 哪些通道有 Tx 计数。
  • 当前报文速率是否持续变化。
  • 总线负载是否明显异常。

当遇到“收不到报文”“发送后没有响应”“总线上是否有流量”等问题时,Network Statistics 往往比只看 Message Window 更直观。

Message Window 和 Signal Watch 更适合看某一时刻的数值;如果需要观察信号随时间变化的趋势,可以使用 Signal Graph

使用 Signal Graph 的前提是已经加载并关联 DBC。通常操作流程如下:

  1. 打开 Signal Graph 窗口。
  2. 进入信号配置界面。
  3. 从 DBC 报文和信号列表中选择需要绘制的信号。
  4. 确认后回到 Signal Graph 主界面。
  5. Connect 后接收报文,曲线会随信号值变化刷新。

Signal Graph 信号选择与配置

Signal Graph 信号曲线

Signal Graph 不影响报文本身的收发,它只是基于 DBC 解析结果做趋势显示。对于温度、压力、速度、状态量等周期变化信号,这个窗口比直接看 Data Byte 更直观。

如果 BUSMASTER 中看不到设备或通道,不应先从 BUSMASTER 参数配置入手,而应先确认 Windows 是否正确识别设备。

建议按下面顺序检查:

  • 检查 USB 连接、设备供电和指示灯状态。
  • 打开 Windows 设备管理器,确认是否能看到 BUSMUST 设备。
  • 如果设备管理器中没有设备,先检查 USB 线缆、USB 口、供电和设备连接。
  • 如果设备管理器中有黄色感叹号,通常表示驱动未正确安装,需要重新安装驱动,必要时先禁用驱动程序强制签名。
  • 确认没有其他上位机软件或调试程序正在占用该设备。
  • 回到 BUSMASTER,在 Driver Selection 中选择 BUSMUST USB-CAN(FD)

只有设备已经被系统和驱动正常识别后,BUSMASTER 才能继续做通道映射和参数配置。

10.2 收不到报文或对端收不到发送报文

Section titled “10.2 收不到报文或对端收不到发送报文”

接收不到报文、发送后对端收不到,本质上都属于收发链路没有打通。建议从物理连接、通道配置、报文配置、过滤器四个层面排查。

先检查物理层和通道配置:

  • 接线是否正确,CANH/CANL 是否接反。
  • 当前使用的硬件通道是否和 BUSMASTER 中选择的逻辑通道一致。
  • 两端仲裁域波特率是否一致。
  • CAN FD 通信时,数据域波特率是否一致。
  • 终端电阻是否合理,基础调试时建议先确保总线上有合适的 120 欧终端电阻。
  • 对端设备是否已经上电,并且确实在发送或接收。

再检查发送窗口配置:

  • Transmit Window 中的 Channel 是否选对。
  • Frame Id 是否正确,标准帧/扩展帧类型是否和对端一致。
  • Message Type 是否选对,例如经典 CAN、CAN FD、CAN FD+BRS。
  • DLC 和数据长度是否符合对端要求。
  • 周期发送是否已经启用,或是否实际点击了发送动作。
  • BUSMASTER 是否已经处于 Connect 状态。

最后检查过滤器:

  • Message Window 的软件过滤器是否把报文过滤掉。
  • Filter 是否已经加入 Message Window 的 Selected Filters
  • Message Window 是否执行了 Enable Filters
  • 如果使用设备侧硬件过滤器,也要确认硬件过滤器没有把报文挡在设备侧。

第三类常见问题是:设备能够连接,也能看到报文收发,但运行一段时间后通信不稳定。例如报文偶发丢失、收发过程中突然停止、错误计数持续增加,或者设备进入 BusOff 状态。

这类现象通常说明收发链路已经基本打通,但参数配置、总线质量或对端控制器配置仍然存在问题。建议按下面顺序排查:

  • 仲裁域波特率是否与对端一致。
  • CAN FD 通信时,数据域波特率是否与对端一致。
  • 是否使用 CAN FD+BRS,对端是否也按相同方式配置。
  • 采样点位置是否合理,基础配置建议先使用 80%。
  • 终端电阻是否合理。终端电阻缺失或总线阻抗不匹配,可能导致错误帧增多,严重时进入 BusOff。
  • 总线物理质量是否可靠,包括线缆长度、线缆质量、屏蔽、接地和拓扑结构。
  • 如果对端是 MCU,请确认 MCU 侧 CAN FD 驱动是否正确配置 TDC,也就是发送延迟补偿。

如果已经进入 BusOff,可以先断开连接,确认参数和接线后重新 Connect。不要只做简单重连,否则问题可能会反复出现。对于 CAN FD 场景,问题经常表现为低速仲裁段看起来正常,但进入高速数据段后出错,因此排查时不能只看仲裁域波特率,还要重点检查数据域波特率、采样点和物理层质量。

以上就是 BUSMASTER 基础收发流程中最常用的一组操作。完成这些基础配置后,后续可以进一步了解 ASC、BLF、LOG 文件的录制、播放、导入查看和格式转换等功能。


安装或升级 BUSMASTER、查找历史版本时,请前往下载中心