本文介绍了如何使用PicoLIN工具进行快速的LIN从节点一致性测试
1. PicoLIN工具简介
PicoLIN是博主自己制作开发的一款针对汽车LIN总线的仿真调试工具,它可以支持模拟主节点进行发送和接收报文;也可以作为从节点监听实际物理总线的报文;此外它还具备以下特别功能:
- 离线调度表: 充当主机节点,只需供电即可自当加载预设的调度表进行报文的调度,该功能适用于非专业人士进行产品功能的测试;
- LIN从节点一致性测试: 进行基本的LIN总线协议层的一致性测试;
有关PicoLIN具体的使用说明可以参照PicoLIN的Wiki百科
2. 如何使用PicoLIN工具进行从节点一致性测试
有关一致性测试内容可以查看wiki百科LIN从节点一致性测试的内容,这里不做多余介绍;
使用PicoLIN进行一致性测试,需要了解配置命令:
2.1 “p0”命令配置设置消息log的时间戳类型
命令 | 功能 | 备注 |
---|---|---|
p000\r\n | 设置时间戳为默认时间戳 | 默认时间戳以上电时刻为起始累计,单位ms |
p001\r\n | 设置时间戳表示当前消息的数据场占用时间 | 此配置可以用来计算从机响应的波特率,单位us |
p002\r\n | 设置时间戳表示除报头外响应空间占用时间 | 此配置可以用来表示从机响应空间时间,单位us |
上述命令为保持性配置,一次配置,后续所有报文按照此配置发送接收;使用到的测试用例为TG2-TC1、TG2-T6;
2.2 "p1"命令设置波特率上限和下限值
命令 | 功能 | 备注 |
---|---|---|
p100\r\n | 设置默认波特率19200bps | 默认,仿真测试使用 |
p101\r\n | 设置波特率19100bps | 此配置可以测试从机响应波特率兼容性 |
p102\r\n | 设置波特率19300bps | 此配置可以测试从机响应波特率兼容性 |
上述命令为保持性配置,一次配置,后续所有报文按照此配置发送接收;使用到的测试用例为TG2-TC2;
2.3 "p2"命令设置报头Break长度
命令 | 功能 | 备注 |
---|---|---|
p20d\r\n | 设置Break长度13Tbit | 默认,仿真测试使用 |
p21a\r\n | 设置Break长度26Tbit | Break长度兼容性测试 |
p214\r\n | 设置Break长度20Tbit | Break长度兼容性测试 |
上述命令为一次性配置,一次配置,后续一个报文按照此配置发送接收;随后Break长度复位为13Tbit,使用到的测试用例为TG2-TC3;
2.4 "p3"命令设置报头Delimiter长度
命令 | 功能 | 备注 |
---|---|---|
p301\r\n | 设置Delimiter长度1Tbit | 默认,仿真测试使用 |
p30e\r\n | 设置Delimiter长度14Tbit | Delimiter长度兼容性测试 |
p30a\r\n | 设置Delimiter长度10Tbit | Delimiter长度兼容性测试 |
上述命令为一次性配置,一次配置,后续一个报文按照此配置发送接收;随后Delimiter长度复位为1Tbit,使用到的测试用例为TG2-TC4;
2.5 "p4"命令设置报头Header长度
命令 | 功能 | 备注 |
---|---|---|
p401\r\n | 设置Header长度13+1+0 Tbit | 默认,仿真测试使用 |
p402\r\n | 设置Header长度19+2+6 Tbit | Header长度兼容性测试 |
p403\r\n | 设置Header长度15+3+2 Tbit | Header长度兼容性测试 |
p404\r\n | 设置Header长度13+1+13 Tbit | Header长度兼容性测试 |
上述命令为一次性配置,一次配置,后续一个报文按照此配置发送接收;随后Header长度复位为13+1+0Tbit,使用到的测试用例为TG2-TC5;
2.6 "p5"命令设置发送报头完整性
命令 | 功能 | 备注 |
---|---|---|
p500\r\n | 正常功能 | 默认,仿真测试使用 |
p501\r\n | 发送报头时,只发送Break | Header不完整性响应测试 |
p502\r\n | 发送报头时,只发送Break+Sync | Header不完整性响应测试 |
p503\r\n | 发送报头时,PID的奇偶校验错误 | Header不完整性响应测试 |
上述命令为保持性配置,一次配置,后续所有报文按照此配置发送接收;使用到的测试用例为TG2-TC9,TG2-TC10;
2.7 "p6"命令设置发送报文完整性
命令 | 功能 | 备注 |
---|---|---|
p600\r\n | 正常功能 | 默认,仿真测试使用 |
p601\r\n | 发送报文时,PID奇偶校验错误 | response error 测试 |
p602\r\n | 发送报文时,Checksum错误 | response error 测试 |
p503\r\n | 发送报文时,第一个数据错误 | response error 测试 |
上述命令为保持性配置,一次配置,后续所有报文按照此配置发送接收;使用到的测试用例为TG3-TC1,TG3-TC2;
2.8 TG2-TC6和TG2-TC7测试
这两个测试在正常模式下即可测试,只需判断log中有无错误帧即可;
3. 使用Python脚本进行LIN从节点一致性测试
有关测试脚本的具体实现请详阅《LIN从节点一致性测试》并结合本章第2节内容阅读脚本源码,picolin-python工具
1 | # -*- coding: utf-8 -*- |
该脚本测试过程中会将log信息保存在对应输出文件夹目录下,文件名为:
lin_test + 日期 + 时间 .txt
演示效果如下,小破站链接: