如何用Pico示波器进行CAN总线解码分析
2016-01-26周翠
如何用Pico示波器进行CAN总线解码分析
广州虹科电子科技有限公司周翠
Pico示波器具有串行解码的功能,能够对CAN、FlexRay、I2C、I2S、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.2CAN总线上传输的电平特点
CAN总线上发布了ISO11898和ISO11519两个通信标准,分别对应高速CAN和容错CAN。此两个标准差分电平的特性不同。本文主要介绍如何用Pico示波器进行ISO11898标准的CAN总线解码。

表 1

图 1
CAN高电平大概为3.5 V左右,CAN低电平大概为1.5 V左右,CAN差分电平大概在2 V左右。一般情况下,我们可以从三种CAN总线波形上进行解码:
① 从CAN_H总线上传输的电平,阈值设置为3 V左右即可。
② 从CAN_L总线上传输的电平,阈值设置为1.6 V左右即可。
③ 从差分波形(CANH_CANL)上进行解码,阈值设置为1.5 V左右即可。……
