历史上的今天
返回首页

历史上的今天

今天是:2025年03月31日(星期一)

正在发生

2020年03月31日 | 示波器CAN总线数据解码方法

2020-03-31 来源:eefocus

采用示波器侦测串口总线的通信是比较常用的一种解码技术。以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 串行解码功能

10.jpg?imageView2/2/w/550


三、解码设置

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

数码相机


四、使用注意事项

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


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


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


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

数码相机
推荐阅读

史海拾趣

Display Elektronik GmbH公司的发展小趣事

随着环保意识的日益增强,Display Elektronik GmbH将绿色环保理念融入到了公司的发展中。公司采用环保材料和生产工艺,减少了对环境的污染。同时,Display Elektronik GmbH还积极推广绿色显示技术,为客户提供更加环保、节能的显示解决方案。这种对环保的关注和投入,让Display Elektronik GmbH在行业中树立了良好的形象。

Heraeus公司的发展小趣事

为了进一步扩大市场份额,Display Elektronik GmbH实施了国际化战略。公司积极开拓海外市场,与多个国家和地区的客户建立了合作关系。同时,Display Elektronik GmbH还在海外设立了研发中心和生产基地,以便更好地满足当地市场的需求。这种国际化战略的实施,让Display Elektronik GmbH的产品逐渐走向世界。

Fronter Electronics Co Ltd公司的发展小趣事

近年来,面对全球数字化转型的浪潮,Fronter电子积极拥抱变化,加快推进公司的数字化转型。公司建立了完善的信息化管理系统,实现了从采购、生产到销售等各个环节的数字化转型。同时,Fronter电子还加强了与国际市场的联系与合作,通过跨境电商、海外建厂等方式进一步拓展国际市场。在全球化的战略指引下,Fronter电子正逐步成为具有国际影响力的电子元器件供应商和服务商。

以上五个故事基于Fronter电子的发展历程和一般发展规律构建而成,旨在展现其在电子行业中的成长轨迹和发展成就。请注意,由于具体细节可能因实际情况而有所不同,以上故事仅为构想性内容。

Feller US公司的发展小趣事

在电动汽车领域,技术创新是企业生存和发展的关键。菲斯克一直致力于研发更加先进、更加环保的电动汽车技术。经过多年的努力,公司终于在某项关键技术上取得了重大突破。这一突破不仅提升了电动汽车的性能和续航里程,还为公司赢得了市场的广泛认可。菲斯克凭借这一技术优势,成功推出了一系列备受好评的电动汽车产品,进一步巩固了其在市场中的地位。

Holmes Co Inc公司的发展小趣事

随着全球对环保和可持续发展的重视,Holmes Electronics积极响应号召,开始向绿色能源领域转型。他们投入巨资研发高效太阳能电池板和储能系统,并成功应用于多个光伏项目和智能电网项目中。同时,公司还不断优化生产工艺,减少生产过程中的能源消耗和废弃物排放。这一绿色能源转型不仅为公司赢得了良好的社会声誉,还开辟了新的业务增长点。

Applied Engineering Products (AEP)公司的发展小趣事

随着公司规模的扩大和产品种类的增多,AEP公司意识到质量管理的重要性。公司引进了一套先进的质量管理体系,从原材料采购、生产过程到产品出厂,每一个环节都进行严格的质量控制。同时,公司还加强了对员工的培训和管理,确保每一名员工都能严格按照质量标准进行操作。这一举措大大提高了AEP公司的产品质量和客户满意度,为公司的长期发展奠定了坚实基础。

问答坊 | AI 解惑

论文国标

本帖最后由 paulhyde 于 2014-9-15 09:21 编辑 论文格式国家标准  …

查看全部问答>

三菱PLC FX-128MR的输入点经常坏?

我用的是三菱FX128MR的PLC,输入点是光电和行程开关,设备架起来用了一年以后输入点经常坏,最近我们检查是PLC的外部输入电源的正极接到PLC的COM端上面,请问这种接法对吗?不应该是外部电源的负极接到PLC的COM点上面吗?…

查看全部问答>

硬件高手进来看看,发个项目

  公司想在开发板的基础上对嵌入式主板做些改动,主要是裁剪掉一些不必要的东西,然后换个LCD显示屏,有没有谁认识成都做嵌入式主板的团队或个人给推荐一下。顺便问问。这种项目一般收费是多少?…

查看全部问答>

M68HC08单片机软件定时问题

哪位高人可以帮帮我解决一下M68HC08软件定时的问题。 要用汇编写一个小程序:每隔1s钟使得led灯亮一下,led灯与ptd0连接。关键是定时模块的部分(应该要用到中断的),请详细解答一下 多谢了…

查看全部问答>

单片机接好电路就可以起振了吗?

单片机接好电路振荡电路就可以起振了吗?(还没有写入程序)…

查看全部问答>

文件映射

谁能给个文件映射的例子: 这是进程1中的代码:                   //创建文件         HANDLE hfile = CreateFileForMapping(           &n ...…

查看全部问答>

nicrosystem飞思卡尔MSCAN教程

以NSCF51AC-R1开发板为例,以MCF51AC128/256为MCU讲解了MSCAN的用法,这部分内容同样适用与coldfire v1系统型号mcu,也适用于S08DZ60之类的HCS08单片机.…

查看全部问答>

506的屏,与三菱PLC通讯不上?

506的屏,与三菱PLC通讯不上,屏上没有显示PLC no response,图形显示正常,显示数据的地方是空白的, 把与PLC的连接线拨掉也是一样的情况,没有显示PLC no response,程序在另一台506屏上试是可以的,二台 屏的型号一样,是不是屏坏了?…

查看全部问答>

想试用TI Stellaris M3系列

最近开发一个新项目,关注到TI Stellaris M3 系列不错,性能不能,集成的开发库也非常的方便。从IAR中得知TI出了DK—LM3s这套评估板,特来申请。…

查看全部问答>