如何用Pico示波器进行CAN总线解码分析

Pico示波器具有串行解码的功能,能够对CAN、FlexRay、I?C、I?S、SPI、LIN或UART等串行总线进行解码。Pico示波器比较适合做串行解码,因为它们的深度存储器可以让软件采集较长时间、不间断的数据,尤其是6000系列能够在几秒内采集数千个数据帧存入到512M的样本存储器。

Pico示波器具有串行解码的功能,能够对CAN、FlexRay、I²C、I²S、SPI、LIN或UART等串行总线进行解码。Pico示波器比较适合做串行解码,因为它们的深度存储器可以让软件采集较长时间、不间断的数据,尤其是6000系列能够在几秒内采集数千个数据帧存入到512M的样本存储器。下面成都北方汽车学院为大家介绍如何用一个款Pico示波器进行CAN总线数据解码。

1关于CAN总线解码

1.1 什么是CAN总线?

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

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


1.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波形上进行解码,暂时还无法实现从差分波形上进行解码。

客户服务热线

18928764315

在线客服