示波器CAN总线数据解码方法

时间:2023-03-08作者:佚名

采用示波器侦测串口总线的通信是比较常用的一种解码技术。以Pico示波器为例,Pico示波器具有串行解码的功能,能够对CAN、FlexRay、 I2C、I2S、SPI、LIN或UART等串行总线进行解码。Pico示波器比较适合做串行解码,因为它们的深度存储器可以让软件采集较长时间、不间断的数据,尤其是6000系列能够在几秒内采集数千个数据帧存入到512M的样本存储器。下面将介绍如何用一个款Pico示波器进行CAN总线数据解码。

一、CAN总线解码概述

1、 CAN总线概念

数据通信时,物理线路上传输的信号是由一系列高低电平组成的,这些高低电平携带了我们所需要的信息,在数据接收端,我们需要将这些物理电平按照原始的编码规则进行解析,从而得到实际的物理信号。

CAN(控制器区域网络)总线是一种在汽车和工业机械中使用的串行协议,允许微控制器相互通讯。该标准最初由 Robert Bosch GmbH 于 1983 年制定。它使用双绞线上传输差分信号,分别为CAN高(CAN H )和CAN低(CAN L),当线路受到共模干扰之后,信号差值不变,信号依然能够正确被解析。

2 CAN总线上传输的电平特点

CAN 总线上发布了ISO11898和ISO11519两个通信标准,分别对应高速CAN和容错CAN。此两个标准差分电平的特性不同。本文主要介绍如何用Pico示波器进行ISO11898标准的CAN总线解码。

示波器CAN总线数据解码方法

CAN高电平大概为3.5V左右,CAN低电平大概为1.5V左右,CAN差分电平大概在2V左右。一般情况下,我们可以从三种CAN总线波形上进行解码:

1)从CAN-H总线上传输的电平,阈值设置为3V左右即可

2)从CAN-L总线上传输的电平,阈值设置为1.6V左右即可

3)从差分波形(CANH-CANL)上进行解码,阈值设置为1.5左右即可。从差分波形上解码更加准确,因为差分波形滤除了线路上的共模干扰信号。

但是很遗憾,目前PicoScope6软件的串行解码功能只能从CANH或CANL波形上进行解码,暂时还无法实现从差分波形上进行解码。

二、PicoScope6 串行解码功能

示波器CAN总线数据解码方法

三、解码设置

Pico的任何一台示波器都具有串行解码的功能,不同系列的区别在于示波器硬件参数高时,采集到的波形更加平滑,噪声小。在进行解码时,我们可以只从CAN高波形上进行解码,或只从CAN低波形上进行解码,或者同时对CANH和CANL波形进行解码。

3.1 仅从CAN低波形上进行解码设置

1将CAN网络中的CANL端接入到示波器A通道(示波器通道任意选择)探头的正极,CAN网络的GND连接探头的负极。

2 点击PicoScope6工具菜单,选择串行解码功能。弹出串行解码设置窗口。

示波器CAN总线数据解码方法

1)设置A通道协议:CAN Low

2)设置CAN低判断阈值,如1.6V。该阈值用于判断CAN-L电平是“0”或“1”.

3)设置总线波特率,即目前测试网络的波特率,例如500K波特。

4)设置显示模式,选择“在视图中”或“在窗口中”查看CAN数据。

In View: 在视图中,在波形显示窗口查看解码之后的CAN数据。

In Window: 在窗口中,在表格中查看解码之后的CAN数据。

2、仅从CAN高波形上进行解码设置

1)将CAN网络中的CANH端接入到示波器A通道(示波器通道任意选择)探头的正极,CAN网络的GND连接探头的负极。

2 )点击PicoScope6工具菜单,选择串行解码功能。弹出串行解码设置窗口。

示波器CAN总线数据解码方法

设置步骤如下:

1)设置A通道协议:CAN High

2)设置CAN低判断阈值,如3V。该阈值用于判断CAN-L电平是“0”或“1”.

3)设置总线波特率,即目前测试网络的波特率,例如500K波特。

4)设置显示模式,选择“在视图中”或“在窗口中”查看CAN数据。

In View: 在视图中,在波形显示窗口查看解码之后的CAN数据。

In Window: 在窗口中,在表格中查看解码之后的CAN数据。

3、从CAN高波形和CAN低波形上同时解码

1)将CAN网络中的CANH端接入到示波器A通道(示波器通道任意选择)探头的正极,CAN网络的GND连接探头的负极。

2)将CAN网络中的CANH端接入到示波器B通道(示波器通道任意选择)探头的正极,CAN网络的GND连接探头的负极。

注意:CANH和CANL使用的测试通道可以自由选择。只是在进行解码设置时,对应正确即可。

3 )点击PicoScope6工具菜单,选择串行解码功能。弹出串行解码设置窗口。

在一个窗口分别设置CANH和CANL的解码设置,具体参考3.1和3.2章节的设置。如下图所示:

示波器CAN总线数据解码方法

四、使用注意事项

Pico示波器进行串行解码有一个技术难点:Pico示波器的解码以完整的一个CAN数据帧为单位,即只有采集到完整的一帧CAN报文,才能将该数据帧完整的解析出来。

1) 采集CANH和CANL波形时,注意时基的设置。即保证每一个波形页面至少能够采集到一个完整的数据帧,此时才能够解析出CAN报文。对于CAN总线来说,时基设置在1ms/div或者大于1ms/div即可。

2) 注意采样率的设置,要保证采集到的波形不失真。例如CAN总线的波特率为500Kbps,那么采样率只有大于1MS/s,才能够采集到正确的波形(满足乃奎斯特定律)。

3 )示波器的波形(一个显示页面)与波形之前是不连续的,总是或多或少一些间隙。所以当在进行CAN总线解码时,波形页面的边缘会有一些无法被解析的数据帧,主要原因是波形页面边缘将一个完成的数据帧截断了,以至于无法得到争取的解析。如下图所示:

示波器CAN总线数据解码方法

相关阅读

1.5匹空调,用2.5方电线还是4方电线?装完了才知道选错了

在我们家庭装修的时候,会常常遇到有关电线选购的纠结问题,很多人都说,空调建议使用4方的电线,但是柜机和挂机明显功率是不一样的,难道也要用4方的电线吗?如果你也觉得不...
2023-06-11
1.5匹空调,用2.5方电线还是4方电线?装完了才知道选错了

S7200SMART高速计数器应用详解

导读 : 很多初学者知道如何使用 STEP 7-MicroWIN SMART 软件中的高速计数器向导,但不知道如何在不使用高速计数器向导编写一个高数计数器程序,小编在这里就通过本文章介绍高速计数器...
2024-03-18
S7200SMART高速计数器应用详解

电厂发生蓄电池着火事故,切勿慌张,我厂事故预想来帮您

1. 值长职责: 2. 现场值班员职责: 3. 处理事故的依次侧重点: 4. 汇报原则: (2)值长接到报告但未发现异常信号,不能明确判断是否着火的,应立即安排值班员到现场进行确认,并...
2023-06-13
电厂发生蓄电池着火事故,切勿慌张,我厂事故预想来帮您

一文详解缓冲电路原理及设计

一、什么是缓冲器? 缓冲器是一种对电压尖峰、振铃和振荡效应的电路保护形式。缓冲器通过钳位电压尖峰但不改变振铃频率。 缓冲电路设计通常都比较复杂,设计一个好的缓冲电路...
2023-07-07
一文详解缓冲电路原理及设计

电工笔记丨电抗器的工作原理

什么是电抗器?电抗器又名电感器,是一种用来调节电力系统中电流和电压的无源电气元件。基本结构包括电感器和电容器。电感器由线圈和铁芯组成,线圈通常由绝缘铜线绕在铁芯上。电...
2024-08-09
电工笔记丨电抗器的工作原理

热销商品

12V星空顶筒灯嵌入式阳台卧室客厅氛围迷你呼吸小射灯满天星天花

12V星空顶筒灯是一款专为营造浪漫氛围而设计的迷你嵌入式射灯,适用于阳台、卧室、客厅等空间。采用低功耗LED光源,安全节能,光线柔和均匀,支持呼吸模式与满天星效果,可...
¥ 7.65

公牛官方旗舰店开关插座空调16A插座五孔10A面板暗装多孔G12白灰

公牛官方旗舰店提供一系列高质量的开关插座和空调配件。这款16A插座五孔面板采用暗装设计,适用于多种安装环境,如墙面、天花板等。它具有10A的电流容量,可以满足家庭...
¥ 5.55

喜美诺排插插座面板多孔排插家用宿舍接线板插排国标线板延长线

喜美诺排插,一款精心设计的多孔插座面板,专为家庭和宿舍环境而造。它不仅提供便捷的接线体验,更符合国标安全标准,确保使用过程中的安全与稳定。这款排插采用高质量材...
¥ 11.9

O型圈氟橡胶圆条丁腈胶硅胶垫片防水O三元乙丙EPDM密封件骨架油封

O型圈、氟橡胶圆条、丁腈胶、硅胶垫片、三元乙丙(EPDM)密封件及骨架油封是广泛应用于机械、汽车、航空航天及建筑等领域的关键密封元件。氟橡胶耐高温、耐腐蚀,适用...
¥ 1

3M自粘橡胶条高硬度耐压实心幕墙玻璃舞台搭建货架专用减震密封条

3M自粘橡胶条是一款专为高要求工业及建筑场景设计的高性能密封减震材料,采用高硬度实心橡胶材质,具备优异的耐压性、抗老化性和持久弹性。其独特的自粘背胶设计,安装...
¥ 1.6

网站栏目