BUSMASTER LIN 报文收发与调度表
本文面向使用 BUSMASTER 和 BUSMUST USB-LIN 分析仪进行总线监听、报文收发、信号分析、日志记录和调度测试的工程师。
在 BUSMASTER 中,LIN 有一套独立的工作区。从驱动和硬件通道配置,到 Message Window、Transmit Window、Signal Watch、Logging 和 Schedule Configuration,各项功能都围绕 LIN 的主从通信机制组织。本文截图主要使用 BM-USB-XL4;对于 L1、XL2 等具备 LIN 通信能力的产品,软件中的主要操作思路相同。

图 1:BUSMASTER 为 LIN 提供独立的驱动、通道、消息、信号、日志、发送和调度入口。
1. 接好分析仪硬件,选择驱动和通道
Section titled “1. 接好分析仪硬件,选择驱动和通道”本次演示使用 BUSMUST BM-USB-XL4。开始操作前,先把设备接入电脑,并连接好 LIN、GND 和总线供电。
在 BUSMASTER 的 LIN 功能页中打开 Driver Selection,选择:
BUSMUST USB-LIN
选好驱动后,进入 Channel Configuration,把检测到的物理 LIN 通道映射到 BUSMASTER 的逻辑通道。软件中的 Channel 1、Channel 2 等名称,是后续 Message Window、Transmit Window 和 Logging 共同使用的逻辑通道编号。

图 2:完成物理通道映射,并设置 Mode、Up-Resistor、12V Output 和 Baudrate。
1.1 Master 还是 Slave
Section titled “1.1 Master 还是 Slave”Mode 不影响被动监听。只要不主动发送,无论选择 Master 还是 Slave,都可以捕获总线上已有的报文。
Mode 真正决定的是本机如何参与通信,以及 Transmit Window 中可以配置哪些任务:
- Master:支持 Master Write、Master Read 和 Sync Break,还可以使用 Schedule Configuration 执行主机调度表。
- Slave:支持 Slave Write,用于预置从机响应表。
如果只想接入现有网络进行监听,建议优先选择 Slave。Slave 模式额外支持自动波特率侦测,即使初始波特率设置不准确,也更容易先观察到总线活动。不过,正式测试时仍应确认并配置正确的波特率。
1.2 上拉电阻怎么选
Section titled “1.2 上拉电阻怎么选”LIN Master 需要上拉。分析仪作为 Master 时,应启用 1K Ohm 上拉。
分析仪作为 Slave、总线节点较少时,可以启用 1 kΩ;如果总线上已经有较多 Slave 节点,则应避免并联上拉过强,建议关闭分析仪的 1 kΩ 上拉。
1.3 12V Output 什么时候开
Section titled “1.3 12V Output 什么时候开”开启 12V Output 后,分析仪使用内部电源为 LIN 收发器供电,也可以给其他小电流 LIN 通信设备提供总线侧电压。
如果接入的现有网络已经提供 12 V,尤其是分析仪作为 Slave 时,通常应关闭分析仪的 12 V 输出,由外部电源为总线供电。
需要特别注意:该供电脚只用于 LIN PHY 和其他 LIN 通信设备,最大输出电流为 100 mA,不能用于驱动电机、灯具等功率负载。
| 典型场景 | 12V Output | 外部 12V | 1 kΩ 上拉 |
|---|---|---|---|
| 分析仪作为 Master,台架没有其他电源 | 开启 | 不接 | 开启 |
| 现有 LIN 网络已经供电 | 关闭 | 接入 | 按本机角色设置 |
| 分析仪作为 Slave,外部 Master 已供电 | 通常关闭 | 接入 | 节点少可开,节点多建议关 |
1.4 波特率与接收范围
Section titled “1.4 波特率与接收范围”Baudrate 应与目标网络保持一致。本次演示使用 19200 bps。
绝大多数场景不需要配置硬件接收过滤。BUSMASTER 默认接收全部 LIN ID,直接全量观察即可。只有总线流量较大、确实需要在硬件侧缩小范围,或者排查“目标 ID 为什么收不到”时,才需要进入 Advanced → Hardware Acceptance Filter 检查 ID 0~63 的选择状态。
2. 用 Message Window 监听现有网络流量
Section titled “2. 用 Message Window 监听现有网络流量”完成通道配置后,点击 Connect,在 Message Window 中观察网络流量。
LIN 总线的通信由 Master 发起。BUSMASTER 在监听过程中,既可以捕获 Master 发出的请求,也可以捕获 Slave 返回的响应。

图 3:被动监听时,窗口中的报文方向均为 Rx;可以看到时间戳、报文名、Message Type、ID、Checksum 和 Data。
观察 Message Window 时,建议重点关注:
Time:报文出现的时间。Message:加载 LDF 后显示的报文名;未加载 LDF 时可以按 ID 观察。Message Type:LIN Message 或 Sync Break 等类型。Tx/Rx:本机视角下的发送或接收方向。Channel:报文来自哪个逻辑通道。DLC、ID、Checksum和Data Byte(s):帧的基本内容。
这里要特别说明 Tx/Rx 的含义:它表示相对于当前分析仪的方向,而不是简单等同于“主机写/主机读”。
- 当前分析仪作为 Master 主动发起 Master Write,这条记录是 Tx。
- 当前分析仪作为 Master 主动发起 Master Read,这条记录同样是 Tx;虽然名称中有 Read,但请求仍然由本机发起。
- 当前分析仪监听到由其他 Master 发起的请求,这才是 Rx。
- 当前分析仪作为 Slave 返回响应时,该响应对本机来说是 Tx。
如果没有加载 LDF,BUSMASTER 仍然可以完整显示 ID、DLC、Data 和校验信息。此时适合做原始报文监听、未知网络摸底和按 ID 排查。
3. 按需加载 LDF:从 ID 进入信号级分析
Section titled “3. 按需加载 LDF:从 ID 进入信号级分析”LDF 不是 LIN 基础收发、Logging 或日志导入查看的前提。它的主要作用,是让原始 ID 和 Data 更容易阅读,并支持信号级分析、信号值编辑和调度表配置。
加载 LDF 后,软件可以获得:
- 帧名与 ID 的对应关系。
- 每一帧的 Publisher。
- 信号的位置、长度、换算关系和物理值。
- LIN 节点定义。
- LDF 中已经定义好的 Schedule Table。
廉价 LIN 模块通常重点解决 ID 和十六进制 Data 的收发;BUSMUST LIN 分析仪配合 BUSMASTER 软件并加载 LDF 后,Message Window、Signal Watch、Transmit Window 和 Schedule Configuration 可以共享同一套数据库定义,减少人工查表和手工编码。
3.1 LDF 从哪里来
Section titled “3.1 LDF 从哪里来”实际项目中的 LDF 通常有两种来源:
- 主机厂或项目方直接提供针对该 LIN 网络制作好的 LDF。
- 主机厂提供通信矩阵,由开发或测试人员根据矩阵制作 LDF。
BUSMASTER 内置了 LDF Editor,可以用于创建和编辑 LDF;也可以使用 Vector 等厂商提供的专业 LDF 编辑工具。LDF 是通用的 LIN 数据库格式,在一个兼容工具中生成后,可以继续在其他支持 LDF 的分析软件中使用。
3.2 加载 LDF 数据库文件
Section titled “3.2 加载 LDF 数据库文件”打开 LIN Configuration,按下面的顺序配置:
- 选择需要关联的 Channel。
- 加载 LDF 文件。本次使用演示数据库
Door.LDF。 - 在
Select ECU中选择当前分析仪要扮演的节点。 - 如果要执行主机调度,选择 LDF 中的 Master 节点,并勾选
Enable Master Mode。 - 核对 Protocol Version 和 Baud Rate。
- 只有确实需要覆盖 LDF 参数时,才启用
Overwrite LDF Settings。

图 4:加载 LDF 后,选择本机节点;做主机调度时,应选择 Master ECU 并启用 Master Mode。
本机 ECU 的选择非常重要。BUSMASTER 会根据 LDF 中的 Publisher 判断调度表里的帧应该怎样执行:
- Publisher 是当前 Master ECU:对应 Master Write。
- Publisher 是其他 Slave ECU:对应 Master Read。
3.3 在 Message Window 中开启 Interpret
Section titled “3.3 在 Message Window 中开启 Interpret”加载 LDF 后,按下面的步骤开启实时信号解释:
- 在 LIN 工具栏中找到
Message Window。 - 点击
Message Window按钮旁的下拉箭头。 - 在弹出的菜单中勾选
Interpret。 - 回到 Message Window,点击报文行左侧的
+,展开该帧的信号。
开启后,BUSMASTER 就可以把一帧 Data 展开为具体信号。
此时观察到的不再只是 D9、FF 这样的原始字节,还包括帧名、信号名、原始值和物理值。对于门窗、灯光、传感器、执行器等功能测试,这种信号级视图比人工对照 LDF 更直观。

图 5:勾选 Interpret 后,可以在 Message Window 中直接展开 LDF 信号。
3.4 用 Signal Watch 持续观察关键量
Section titled “3.4 用 Signal Watch 持续观察关键量”Message Window 适合看完整报文流;如果只关心少量关键量,可以使用 Signal Watch。
把需要观察的信号加入 Signal Watch 后,BUSMASTER 会持续更新它们的 Physical Value 和 Raw Value。这样可以跨越多个帧,只盯住与当前测试相关的信号,不必在滚动的报文中反复查找。

图 6:Signal Watch 同时观察多个帧中的 6 个信号及其物理值、原始值。
4. 企业级 Logging 功能:记录并导入查看 LIN 日志
Section titled “4. 企业级 Logging 功能:记录并导入查看 LIN 日志”现场问题经常不是“现在能不能看到报文”,而是需要连续记录、保存证据、交给其他团队复核,或者在问题发生后重新定位时间点。
BUSMASTER LIN Logging 支持:
LOG:BUSMASTER 原生日志格式。ASC:Vector 定义的文本日志格式,兼容性好,也便于人工查看。BLF:Vector 定义的二进制日志格式,更适合高负载和长时间记录。
这些标准或通用格式便于保存、交换、归档和后续分析,也让 BUSMASTER 能够承担更专业的长期记录、问题追溯和跨团队协作任务。
4.1 配置并开始记录
Section titled “4.1 配置并开始记录”- 在 LIN Ribbon 中点击
Logging,打开Configure Logging for LIN。 - 新建一条日志配置,选择保存路径和 LOG、ASC 或 BLF 格式。
- 设置
Time Mode、Channel、Hex/Decimal 和 Append/Overwrite。 - 长时间记录时,按文件大小配置自动分卷和最大文件数量。
- 建议启用随 Connect/Disconnect 自动开始和停止日志记录。
- Connect 后观察总线并开始采集;采集结束后正常 Disconnect,确保日志文件完整关闭。

图 7:LIN Logging 可设置格式、时间模式、通道、数值格式、写入模式和触发条件。
对于长时间测试,建议选择 BLF,并设置自动分文件。BLF 体积更紧凑,分卷也可以避免单个文件过大,便于复制、归档和导入。

图 8:BLF 日志可设置 Absolute 时间、全部通道、Hex、Overwrite、文件大小和文件数量。
4.2 把日志重新导入 BUSMASTER
Section titled “4.2 把日志重新导入 BUSMASTER”记录完成后,可以把日志重新导入 BUSMASTER 的 Message Window 查看:
- 先 Disconnect。
- 通过
View → Import选择日志文件,或者把文件拖入 Message Window。 - 等待日志加载完成。
- 在 Message Window 中检查时间戳、Tx/Rx、ID、Data 和 Checksum。
- 如果已经加载对应 LDF,可以继续查看报文名和信号解释。
- 配合过滤器、Interpret 和 Signal Watch,进一步缩小分析范围。

图 9:BLF 导入后,BUSMASTER 可以继续显示报文名、方向、ID、数据、校验和时间戳。
LIN 与 CAN 的 Logging 配置思路基本一致。如果需要进一步了解触发记录、自动分卷、文件导入等高级操作,可以参考本系列往期文章《BUSMASTER 经典回顾 - ASC/BLF/LOG 文件录制、查看与播放》。
5. Transmit Window:按角色理解四种通信操作
Section titled “5. Transmit Window:按角色理解四种通信操作”接收链路确认正常后,就可以在 Transmit Window 中配置发送或响应任务。
如果没有加载 LDF,可以直接按 ID、DLC 和 Data 配置;加载 LDF 后,则可以选择数据库帧并按信号编辑,由 BUSMASTER 自动编码负载。
5.1 Master Write
Section titled “5.1 Master Write”Master Write 表示主机发送完整的 Header 和 Payload。
在 Transmit Window 中配置 Frame ID、Channel、Data Length、Data、Checksum 和触发方式。适合主机主动向 Slave 写入控制量或配置数据。
5.2 Master Read
Section titled “5.2 Master Read”Master Read 表示主机发送 Header,并等待目标 Slave 返回 Payload。
主机请求发出后,匹配的 Slave 必须在规定时序内响应。如果没有收到响应,BUSMASTER 会把本次请求判断为超时。
排查 Master Read 超时时,重点检查:
- Slave 是否在线。
- Master 请求的 ID 与 Slave 响应表是否一致。
- Slave Write 条目是否已经启用。
- 波特率、DLC 和 Checksum 模式是否一致。

图 10:Master 模式的 Transmit Window 支持 Master Write 与 Master Read,可手动触发或配置周期。
5.3 Sync Break
Section titled “5.3 Sync Break”从主机发出的总线波形看,Sync Break 与 Master Read 的请求部分相同,两者的区别在于软件对后续响应的预期正好相反:
- Master Read 预期从机响应;没有响应就是超时。
- Sync Break 预期从机不响应;如果从机意外返回数据,则判断为接收错误。
因此,两者不能只按“是否发出了请求波形”区分,还要看当前发送类型对响应阶段的定义。
5.4 Slave Write:从机响应表
Section titled “5.4 Slave Write:从机响应表”Slave 不会自行决定什么时候发送。它要等待 Master 对某个 ID 发出 Header,然后在规定时序内返回 Payload。
在 Slave 模式下,Transmit Window 中启用的 Slave Write 条目,就是本机的响应表。每个条目预先定义:
- 响应哪个 ID。
- 返回多少字节。
- Payload 是什么。
- 使用哪种 Checksum。
当 Master 请求命中该 ID 时,硬件会自动完成实时响应,不需要用户看到请求后再手动点击发送。如果响应表中没有对应 ID,BUSMASTER 就不会替该 Slave 返回 Payload。

图 11:Slave Write 条目显示为 Trig By Master;命中 Master 请求后,由硬件自动返回预置负载。
四类操作可以按下表理解:
| 场景 | 本机角色 | 主动/被动 | BUSMASTER 入口 | 总线行为 |
|---|---|---|---|---|
| 总线监听 | Master 或 Slave | 被动 | Message Window | 捕获已有请求和响应 |
| Master Write | Master | 主动 | Transmit Window / Schedule | Master 发送 Header 与 Payload |
| Master Read | Master | 主动 | Transmit Window / Schedule | Master 发 Header,Slave 返回 Payload |
| Sync Break | Master | 主动 | Transmit Window | 发送同步间隔,不期待 Slave Payload |
| Slave Write | Slave | 被动 | Transmit Window 响应表 | 收到匹配 Header 后自动返回 Payload |
| Slave Read | Slave | 被动接收 | Message Window | 接收 Master 写入的 Payload |
6. 用主机调度表执行整套通信计划
Section titled “6. 用主机调度表执行整套通信计划”手动收发适合验证单个 ID。当 Master 需要按照固定顺序和周期轮询多个 Slave 时,如果仍然逐条配置 ID 和 Repetition,不仅工作量大,也很难保持整套通信计划与 LDF 一致。
BUSMASTER 可以直接读取 LDF 中的 Schedule Table。用户操作的是一张完整的表,而不是逐条搭建周期任务。
这也是 BUSMUST LIN 分析仪与 BUSMASTER 软件构成的组合方案相较于廉价 LIN 模块的一项重要能力:它能够把数据库中的节点角色、帧方向、顺序和时间要求直接落实为硬件调度任务。
6.1 启用调度表前的准备
Section titled “6.1 启用调度表前的准备”先确认三个条件:
- 当前 Channel 已经加载含有 Schedule Table 的 LDF。
- Channel 处于 Master 模式。
Select ECU选择了 LDF 中的 Master 节点。
Slave 不使用本机调度表。Slave 的自动行为由第 5.4 节介绍的 Transmit Window 响应表承担。
6.2 勾选要执行的表
Section titled “6.2 勾选要执行的表”打开 Schedule Configuration,按 Channel 查看 LDF 中定义的调度表。展开一张表后,可以看到:
- Frame。
- ID。
- Type。
- Delay。
- 每个帧槽的启用状态。
勾选目标表,例如从 Table0 切换到 Table1。此时不需要先在 Transmit Window 中逐条创建所有 Master Write 和 Master Read。
如果目标表所需的 Transmit 条目尚不存在,或者已有条目的方向与 LDF Publisher 不一致,BUSMASTER 会先给出核对结果:
The active schedule requires missing Transmit rows or direction corrections. Apply them now?
弹窗会逐项列出需要创建或修正的帧。

图 12:勾选 Table1 后,BUSMASTER 一次列出该表缺少的 Transmit 条目。
点击“是”后,BUSMASTER 自动完成:
- 创建缺少的 Transmit 条目。
- Publisher 是当前 Master 时,生成 Master Write。
- Publisher 是 Slave 时,生成 Master Read。
- 已有条目方向不一致时,按 LDF 定义修正。
- 把新条目的触发来源设置为对应的调度表,例如
Trig by Table1。

图 13:确认后,Table1 对应的 Master Read / Master Write 条目自动创建,并标记为 Trig by Table1。
6.3 表内的方向和时间怎么理解
Section titled “6.3 表内的方向和时间怎么理解”对于普通 LIN 帧:
- 帧的 Publisher 是当前 Master ECU,对应 Master Write。
- 帧的 Publisher 是其他 Slave ECU,对应 Master Read。
因此,同一张调度表中可以同时包含主机写和主机读,BUSMASTER 会保持 LDF 中定义的帧顺序。
Delay [ms] 表示当前帧槽从开始到下一个帧槽开始的时间。它不是“进入当前帧之前先等多久”,而是当前帧在整张表中占用的时间槽。
6.4 Connect 后由硬件按整张表运行
Section titled “6.4 Connect 后由硬件按整张表运行”完成配置后点击 Connect。BUSMASTER 会把当前调度表转换为完整的硬件任务,并按表中的顺序和 Delay 循环执行。
即使一张表中混合了 Master Write、Master Read 和不同的帧间隔,也不需要用户逐条点击发送。
Schedule Configuration 支持整表和表内条目两级使能。勾选 Table1 所在的表行,即可完整启用这张调度表;默认情况下,表内所有条目都会参与调度。展开调度表后,还可以在二级列表中逐条取消或恢复勾选。BUSMASTER 只执行当前已启用的条目,因此既可以按整张表运行,也可以根据测试需要只执行其中一部分帧。图 14 所示的配置中,就有部分条目被取消勾选。
在运行过程中:
- Message Window 可以看到表内 ID 按顺序循环出现。
- 同一帧的启用状态可以从 Schedule Configuration 或对应的 Transmit Window 行调整。
- 修改 Master Write 的信号值后,后续调度会使用更新后的负载。

图 14:Table1 清楚列出 Frame、ID、Type 和 Delay,并可单独勾选参与调度的帧。

图 15:Message Window 中的计数和时间戳持续更新,用于确认所选帧正在按调度表循环运行。
6.5 在多张表之间切换
Section titled “6.5 在多张表之间切换”如果 LDF 定义了多张通信表或诊断表,可以直接勾选另一张表进行切换。
如果新表需要的 Transmit 条目尚不存在,BUSMASTER 会再次给出自动创建和修正清单。确认后,发送组合、顺序和周期整体切换到新表,不需要逐条删除旧任务、再逐条建立新任务。
6.6 三种“表”不要混淆
Section titled “6.6 三种“表”不要混淆”BUSMASTER LIN 中涉及三种不同的任务组织方式:
| 类型 | 所属角色 | 所在位置 | 如何配置 | 作用 |
|---|---|---|---|---|
| Master 调度表 | Master | Schedule Configuration | 来自 LDF;选择表并勾选需要执行的帧 | 按 LDF 的顺序和时间自动执行 Master Write / Master Read |
| Master 任务表 | Master | Transmit Window | 手工添加 Master Write、Master Read、Sync Break | 单条、周期或调度表之外的补充发送 |
| Slave 响应表 | Slave | Transmit Window | 手工添加 Slave Write | Master 请求匹配 ID 时,硬件实时返回 Payload |
Master 调度表和 Master 任务表可以配合使用。启用调度表后,Transmit Window 中额外启用、但不属于当前调度表的独立主机任务,会作为补充安排在调度任务之后。
一句话概括:
Schedule Configuration 决定 Master 按什么顺序、什么周期去读写;Master 模式的 Transmit Window 补充独立发送任务;Slave 模式的 Transmit Window 则决定 Master 来读时回复什么。
6.7 BUSMASTER 3.2.2.42 基础调度的支持边界
Section titled “6.7 BUSMASTER 3.2.2.42 基础调度的支持边界”BUSMASTER 3.2.2.42 的基础调度支持 LDF Unconditional Frame,以及用户显式选择的诊断 0x3C(Master Write)和 0x3D(Master Read)。Event-triggered Frame、Sporadic Frame、Collision Resolving Schedule、配置命令自动执行,以及诊断传输层自动插表或切表不属于该基础调度范围,不能当作普通 Master Read / Master Write 猜测执行。
切换调度表时,只有确认自动创建或方向修正清单并成功应用后才会切换;取消确认会保持原调度状态。逐条取消某个帧槽只是不发送该槽,原 LDF 时间轴仍然保留,后续帧不会被提前。活动调度表命中的 Transmit 行由调度表接管时序,不应再把它当作可随时插入的单次发送任务。
7. 常见问题
Section titled “7. 常见问题”7.1 找不到设备
Section titled “7.1 找不到设备”按顺序检查:
- USB 连接是否可靠。
- Windows 设备管理器中能否看到设备。
- Windows 驱动是否正确安装。
Driver Selection是否选择BUSMUST USB-LIN。- Channel Configuration 中是否已经扫描并映射物理通道。
7.2 Message Window 抓不到报文
Section titled “7.2 Message Window 抓不到报文”- 检查 LIN 和 GND 接线。
- 检查总线是否有合适的 12 V 供电。
- 检查分析仪的 12V Output 是否与实际供电方式匹配。
- 检查 Baudrate。
- 检查 Advanced 中是否屏蔽了目标 ID。
- 初次排查先选择全部 ID。
- 只做监听时,可以尝试 Slave 模式的自动波特率侦测。
7.3 Master Read 超时
Section titled “7.3 Master Read 超时”- 确认 Slave 在线。
- 确认 Master 请求 ID 与 Slave 响应表一致。
- 确认对应 Slave Write 已启用。
- 检查 DLC、Checksum 和波特率。
Master Read 只负责发出 Header;没有 Slave 响应时,Master 不会自行生成 Payload。
7.4 Slave Write 看起来“发不出去”
Section titled “7.4 Slave Write 看起来“发不出去””Slave Write 不是随时主动发送。必须等 Master 请求相同 ID,硬件才会返回预置 Payload。
如果希望像普通周期任务一样主动发送,应检查当前是否应使用 Master 模式和 Master Write,而不是在 Slave 模式下反复点击 Slave Write。
7.5 勾选调度表后出现创建或修正提示
Section titled “7.5 勾选调度表后出现创建或修正提示”这是正常的自动核对流程。
BUSMASTER 正在检查目标表需要的 Master Write / Master Read 是否已经存在、方向是否与 LDF Publisher 一致。核对清单后点击“是”,软件会批量创建缺失行并修正方向。
7.6 调度表无法激活
Section titled “7.6 调度表无法激活”- 检查 Channel 是否为 Master。
- 检查 LDF 是否加载到正确 Channel。
- 检查
Select ECU是否选择 LDF 中的 Master 节点。 - 检查 LDF 是否包含目标 Schedule Table。
- 检查目标表和表内帧是否已经勾选。
8. 结束语
Section titled “8. 结束语”从按 ID 监听和收发原始报文,到加载 LDF 后解析帧与信号,再到配置主机任务表、从机响应表和主机硬件调度表,BUSMUST LIN 分析仪与 BUSMASTER 软件构成了一套完整的 LIN 分析方案。配合 Signal Watch 以及 LOG、ASC、BLF 日志的记录和导入查看,工程师可以在同一套工具中完成总线接入、通信验证、信号分析、自动调度和问题追溯,为研发调试、台架验证和长期测试提供可靠支撑。
安装或升级 BUSMASTER、查找历史版本时,请前往下载中心。