[评测分享]
【DS100手持数字示波器】2. LIN总线报文分析与基本操作
#板卡评测
3642 人阅读
|
0 人回复
|
2022-11-17
TA的每日心情 | 怒 2024-5-8 09:31 |
|---|
签到天数: 18 天 连续签到: 1 天 [LV.4]偶尔看看III
举人
- 积分
- 876
|
本帖最后由 縋逐ЮDreams 于 2022-11-18 15:48 编辑
一、前言
Lin总线是单总线,主要用于汽车电子,提供可靠的汽车通信服务,但是Lin总线通信速度较低,现在在汽车上使用较少,一般只适用于车门,车窗等不需要大量快速的通信场合。
使用正点原子示波器可以采集LIN总线波形,并且只需要使用到其中的一路信号即可,选择CHA。
二、测试
发送数据格式
将CHA的探针连接到LIN总线上,与LIN总线共地,然后发送LIN通信报文,下面展示的是LIN总线master发起的帧头以及响应。
发送数据如下:
- 帧头ID:0x35,PID:0xF5;
- 数据长度:8Bytes;
- 数据(16进制):55 AA 11 88 A5 A8 FF 00
- 校验和方式:增强校验和,值为0x22
- 波特率:119200
波形采样
示波器连接LIN总线的同时,也使用一个逻辑分析仪连接LIN总线,主要用来采集波形并自动分析,便于与示波器采样结果进行对比,下图是逻辑分析仪采集的结果。
逻辑分析仪已经帮我们解析出了每一个波形的含义,一帧LIN报文由帧头+同步场+PID+数据+校验和组成,从中可以看出与我们发出的数据是吻合的。
下图是示波器采集到的波形,可以看出大致是吻合的,下面进一步分析。
为了能够成功采集到波形,我们需要对示波器进行触发方式的设置。
- 波动滚轮I,选中触发类型,波动滚轮II,选中CHA-下,表示使用CHA的下降沿触发,因为LIN波形IDLE状态时为高电平;
- 设置触发阈值,因为LIN总线的通信电压一般为8~16V,所以我们设置低于8V都可以,这里使用默认值2.37V,也可以使用滚轮I与滚轮II进行调整;
- 滚动滚轮I,调整到触发方式,然后调整滚轮II设置为单次;
- 滚动滚轮I,调整到时间档位,然后使用滚轮II调整为1ms;
- 然后按下P按钮,让示波器处于WAIT状态,等待波形触发,此时发送LIN报文,即可采集到完整波形。
波形分析
保存波形为csv格式
直接使用DS100示波器分析波形较为困难,我们可以将波形保存为csv格式的文件,然后拿到电脑上进行分析。
如下图,按下M按钮,滚动滚轮I选中保存波形,然后滚动滚轮II,选中001.csv,然后再次按下M按钮,会自动将当前采集到的波形保存为csv格式的文件,保存过程会花费十几秒钟,因为数据量较大。
分析波特率
我们使用示波器的水平测量工具来测试一下LIN报文的波特率,LIN总线波特率是通过同步场确定的,所以我们只需要采集到同步场的一个上升周期+一个下降周期就可以计算出波特率了。
先手动算一下,一个上升周期+一个下降周期 时间 = 1000000us/19200 * 2 = 104.16666.... 约等于104。
下图是使用水平测量线测量的一个上升周期+一个下降周期的时间,正好为104us,精度很高。
下面说一下水平测量线的使用方式:
1.滚轮I选中水平测量1,滚轮II调整为X2-1;
2.滚轮I选中水平测量2,滚轮II调整为X2-1;
3.滚轮I选中X1..,滚轮II移动;
4.滚轮I选中X2-,滚轮II移动;
5.示波器下方会显示X1与X2的间隔时间。
示波器连接电脑
示波器开机,用USB线连接示波器与电脑,按下M按钮,滚轮I选择其他,滚轮II选择USB,再次按下M按钮确定进入USB模式。
电脑会出现一个名为ATK-DSO的分盘,就是示波器的盘,示波器只能保存16M的数据,所以每次使用之后尽量将图片删除给示波器留出空间共下次保存数据使用。
将图片以及csv文件保存到本地。
分析csv文件报文
使用wps或者excel打开csv文件,可以看到这里面保存了示波器采集到的所有点的数据。
打开csv文件,采集的无数据点很多,足足有十三万个数据点,选中所有数据点,点击插入->二维折线图即可复现波形图,如下图:
可以看到其中很长一段都是无用数据,所以我们删除无用数据,保留有效数据段,即96946~113806即可,如下:
如上,是一帧完整的报文,我们可以用来分析具体的信息,可以利用python或者是matlab来分析具体的波形。
|
|
|
|
|
|
|
|
|