无人汽车CAN总线协议解码

2018-08-16 09:07:27·  来源:智能制造预测性维护与大数据应用
 
CAN是控制器局域网络(Controller Area Network, CAN)的简称,是由德国BOSCH公司开发的,并最终成为国际标准(ISO 11898),是汽车计算机控制系统和嵌入式工业控制局域网的标准总线。随着新能源汽车、无人驾驶汽车的发展,CAN总线得到越来越多的应用。研华提供各种接口的CAN总线通讯产品,包括PCI-1680/PCIE-1680/PCM-3680/MIC-3680等。
CAN是控制器局域网络(Controller Area Network, CAN)的简称,是由德国BOSCH公司开发的,并最终成为国际标准(ISO 11898),是汽车计算机控制系统和嵌入式工业控制局域网的标准总线。随着新能源汽车、无人驾驶汽车的发展,CAN总线得到越来越多的应用。研华提供各种接口的CAN总线通讯产品,包括PCI-1680/PCIE-1680/PCM-3680/MIC-3680等。



研华USB数字存储示波器USB-DSO提供8位/16位 1GS/s采样,信号触发捕获、频谱分析、波形运算、自动测试、总线译码、波形输出等功能。128M大容量存储器可以让软件采集较长时间不间断的数据,适合于各种总线协议解码。



ProfiBus:现场总线,用于工厂自动化车间级监控和现场设备层数据通信与控制;
CAN: 汽车计算机控制系统和嵌入式工业控制局域网的标准总线;
LIN:针对汽车分布式电子系统而定义的一种低成本的串行通讯网络;
MIL-STD-1553: 飞机设备制定的一种信息传输总线标准;
ARINC429: 数字式信息传输系统DITS,应用在先进的民航客机中;
I2C:Inter-Integrated Circuit,用于连接微控制器及其外围设备;
UART:Universal Asynchronous Receiver/Transmitter通用异步接收/发送,用于控制计算机与串行设备。

本文以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左右即可。从差分波形上解码更加准确,因为差分波形滤除了线路上的共模干扰信号。

CAN解码设置
USB-DSO从CAN低波形上进行解码设置。

1、将CAN网络中的CANL端接入到示波器A通道(示波器通道任意选择)探头的正极,CAN网络的GND连接探头的负极。启动CAN通讯程序,发送协议。



打开示波器软件,点击DISPLAY按钮进入显示设置,再点击Display/Math,选择Display(2/3),此时出现Decode Setting和Report菜单选项。



2 、点击Decode Setting工具菜单,弹出串行解码设置窗口。



Input Sel.:设定信道所量的讯号为 CAN high或 CANlow
Channel:选择 CAN讯号信道,只需选择测量 CAN high或 CANlow通道即可。
Threshold:设定触发电压准位
Data Rate:设定 CAN波特率,勾选”Auto Data Rate”后由程序判断

3、点击Report工具菜单,可将 Decoder所译码的数据整理为报告形式。



切换到测量窗口,显示总线信号的频率

参考资料:
高能:研华USB数字存储示波器!
汽车安全气囊高压钢瓶测试系统
汽车制动器生产检测系统
汽车NVH与噪声定位系统
研华测试与测量解决方案2018Q3
2018!处于“风口“的汽车真的要“飞”了?