网站标志
导航菜单
当前日期时间
当前时间:
购物车
购物车中有 0 件商品 去结算 我的订单
商品搜索
商品搜索:
文章正文
示波器can总线数据解码方法
作者: 来源:中国机电工程网    发布于:2019-06-08 20:07:44    文字:【】【】【

采用侦测串口总线的通信是比较常用的一种解码技术。以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高电平大概为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 串行解码功能

三、解码设置

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

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

1将can网络中的canl端接入到示波器a通道(示波器通道任意选择)探头的正极,can网络的gnd连接探头的负极。

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

1)设置a通道协议:can low

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

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

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

in view: 在视图中,在波形显示窗口查看解码之后的can数据。

in : 在窗口中,在表格中查看解码之后的can数据。

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

1)将can网络中的canh端接入到示波器a通道(示波器通道任意选择)探头的正极,can网络的gnd连接探头的负极。

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

设置步骤如下:

1)设置a通道协议:can high

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

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

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

in view: 在视图中,在波形显示窗口查看解码之后的can数据。

in : 在窗口中,在表格中查看解码之后的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章节的设置。如下图所示:

四、使用注意事项

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

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

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

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


浏览 (42) | 评论 (0) | 评分(0) | 支持(0) | 反对(0) | 发布人: 来源:中国机电工程网
将本文加入收藏夹
新闻详情
脚注栏目
|
脚注信息
机电工程网(C) 2015-2020 All Rights Reserved.    联系我们