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所译码的数据整理为报告形式。
切换到测量窗口,显示总线信号的频率
CAN总线协议译码完整操作视频如下:
参考资料:
- 高能:研华USB数字存储示波器!
- 汽车安全气囊高压钢瓶测试系统
- 汽车制动器生产检测系统
- 汽车NVH与噪声定位系统
- 研华测试与测量解决方案2018Q3
- 2018!处于“风口“的汽车真的要“飞”了?