USBCAN分析仪使用时收不到数据的排查方法
2017-10-30
USBCAN分析仪 产品链接:http://www.gcgd.net/pro_26.html
随着CAN总线应用场合越来越多,USBCAN分析仪的使用频率也越来越高。使用USBCAN调试CAN总线的时候经常会遇到收不到数据的情况。本文展示了使用广成科技USBCAN分析仪调试CAN总线的一些经验和方法。通常情况下收不到数据一般是因为接线问题、通信波特率不匹配、CAN总线电阻值不匹配、CAN总线目标设备或USBCAN分析仪问题。

准备工具:
Windows系统电脑(台式、笔记本均可)
广成科技USBCAN-II Pro分析仪一台
目标CAN总线设备(汽车、伺服电机控制器、ARM开发板等)
一、接线问题
接线时需要将USBCAN-II Pro分析仪的CANL接到目标CAN设备的CANL上,USBCAN-II Pro分析仪的CANH接到目标CAN设备的CANH上。目前最常见接线方式是凤凰端子、DB9、OBD三种接线方式。
凤凰端子接线时应注意以下几点:
①接线时注意CAN1和CAN2通道要和上位机软件相对应;
②H与L不要接反(不同厂家的CAN设备定义的位置不同,请按照标识接线);
③拧端子螺丝的时候要顺时针拧紧;
④通常接线时只需接入L与H,P为屏蔽线,如有强磁干扰时可以将P接入大地;
⑤接线推荐使用双绞线。若没有强电磁干扰,实验室环境下的短距离通信可以使用普通导线或杜邦线。
图1 接线端子
DB9接头的接线:国际上通用的定义是2脚为CAN低(CANL),7脚为CAN高(CANH)。如果出现一个DB9接头包含两路CAN的情况需要查询设备相关手册。

图2 DB9接头高速CAN定义
OBD接头的接线:大部分车型是6脚、14脚为CAN高、CAN低,还有部分车型为3脚、11脚分别是CAN高、CAN低。在接线前请先查阅相关手册或使用万用表测量被测引脚对地的电压值,确认被测引脚是否为CAN信号。通常CAN信号的静默电压为2.5V。若电压高于4V或小于1V则可以确定不是高速CAN信号。此时需要查询手册,确认是否为容错CAN、单线CAN、K线或LIN线。

图3 OBD接头高速CAN定义
二、终端电阻
CAN总线要求最远的两个终端应各有一个120欧姆的电阻,以抵消电信号的反射。USBCAN-II Pro分析仪的侧面配有拨码开关,方便使用者选择是否接入终端电阻。对于USBCAN-II Pro分析仪来说,拨到ON的方向是接通。实验中发现多数情况下,总线上接入一个120欧姆电阻可以实现1米左右的CAN总线通信。但在此还是要说明下,CAN总线上L和H之间的阻值在64欧姆左右才是稳定的状态,也就是说要在两个终端上各挂一个120欧姆电阻。如果线路上有5台CAN总线设备,那么相对位置在中间的三台设备是不能挂载120欧姆电阻的。

图4 CAN总线终端电阻
三、总线波特率
不同CAN设备之间的波特率如果不一致的话,肯定是无法通讯的。用户如果不了解自己CAN设备的波特率,那么就要使用USBCAN-II Pro分析仪的波特率自动识别功能了。所以大家购买USBCAN分析仪一定要注意这款分析仪是否具有CAN波特率识别功能。如果不具备的话,那么探测未知设备波特率就非常困难。
USBCAN-II Pro分析仪具有两种波特率识别功能:第一种是静默模式,在这种模式下,CAN总线上需要有活跃的CAN数据,这样USBCAN-II Pro分析仪才能识别到波特率,通常测量汽车总线的波特率时我们推荐这种模式。第二种是增强模式,在这种模式下,USBCAN-II Pro分析仪会主动发送CAN数据给未知波特率的设备,更适合探测不会主动发数据的CAN总线设备。增强模式的缺点是无可避免的会造成未知波特率设备出现总线错误。

图5 广成科技ECANTools波特率自动识别软件界面
当然很多设备的波特率都是有固定参考值的,我们列举出了以下这些设备:
汽油车:500K,250K,125K,100K
柴油车:250K
伺服电机控制器:250K,125K
EPEC控制器:250K,500K
消防主机通信:5K,10K,13.3K
四、USBCAN分析仪故障
如果外在因素检查过但还是收不到数据,用户可对USBCAN-II Pro分析仪进行自检。USBCAN-II Pro分析仪具有两个CAN通道,您可以将USBCAN-II Pro的两个L和两个H按照下面的图片短接起来,右侧终端电阻全部拨到ON位置,之后配置两个通道均为同样的波特率,选择正常模式,点击发送。如果另外一个通道能立刻收到一帧,就说明USBCAN分析仪没有问题。如果发现USBCAN-II Pro分析仪在自检时通信不正常,请联系我们售后技术支持。

图6 USBCAN-II Pro自检时的接线

图7 USBCAN-II Pro自检时ECANTools软件的设置
五、被测CAN总线设备问题
用户需要初步测量自己的CAN设备是否完好,是否可正常发出CAN信号与其他设备进行通信。首先应测量CAN设备的电压值,使用万用表测量目标CAN设备CANH和CANL对地的电压值。如果不在2.5V±1V这个区间内的话,那说明CAN收发器或硬件线路出现故障。
如目标CAN设备是一个开发板的话,用户需要检查开发板内部程序,因为开发板的波特率很有可能因为程序的问题造成偏差。此时可使用ECANtools软件自动识别波特率功能(全范围)进行识别。CAN总线波特率的采样率在800K以下应达到80%-90%,800K以上应达到75%左右。
如果您连接的是汽车,请确保您接入的引脚是高速CAN总线引脚。第一,并不是所有的车都有CAN总线,09年之后国家强制要求汽油车安装OBDII接口,也就是说09年之前的车是不一定有CAN总线的。第二,并不是所有的车OBD接口的6脚和14脚都为高速CAN引脚。部分国产车的CAN总线数据在3脚和11脚。如果车辆有网关,这种情况下用户可将CAN线直接接到ECU上读取数据。
如果用户CAN设备是有通信协议的,需按照协议规定发数据,否则可能不会主动收到数据。这种情况的典型特征是:ECANTools软件不会上报任何总线错误,在正常模式下点击发送数据按钮可以成功发出多条数据,但无法接收到任何数据。此时很可能就是目标CAN设备存在通信协议,例如CANopen协议,您需要通过USBCAN-II Pro分析仪发送一帧启动命令打开CANopen从站设备,帧ID为0x000,帧数据为0100,标准数据帧。否则您无法启动CANopen从站设备,也就无法接收到CANopen从站设备发来的数据。
售前技术工程师:17640065421
相关百度经验链接:
USBCAN分析仪收不到数据的判断方法(点击了解)
如何与未知波特率的CAN总线设备连接和收发测试(点击了解)
用USBCAN-II Pro和ECANTools实现数据转发功能(点击了解)
USBCAN分析仪 产品链接:http://www.gcgd.net/pro_26.html