新闻中心

EEPW首页 > 网络与存储 > 设计应用 > 如何识别陌生CAN网络的协议?

如何识别陌生CAN网络的协议?

作者:ZLG致远电子时间:2018-03-07来源:电子产品世界收藏

  在网络中,所有节点的数据收发共享一条总线。当面对未知的多节点总线网络时,如何准确分析各节点间的通信协议呢?

本文引用地址:http://www.eepw.com.cn/article/201803/376585.htm

  一、总线通信方式

  与485类似,CAN-Bus也是以总线的方式进行通信的,所有的CAN节点都挂在一对差分线上。但CAN总线中的节点不存在主从的概念,当节点有数据需要上传时可自主、即时发送,先进的仲裁机制保证数据不会冲突。

    

  图1 CAN总线通信方式

  二、CAN总线协议分析

  对比标准的通信七层模型,CAN总线大体可分为物理层、链路层、应用层。对链路层的解析就能得到节点ID号。若对一个“未加密”CAN总线做链路层的解析,使用CAN总线接口卡(也称CAN盒)即可。这类工具能将CAN通讯转换为USB、PCI等通信方式,一般配合电脑使用。若要对CAN总线做全面的分析,则需要专业的总线分析仪。CANScope是集CAN节点测试与标定、CAN总线故障诊断与解决的综合仪器。

    

  图2 CAN总线抓包工具及方法

  三、多路CAN卡的应用

  以上提到的总线协议分析是在总线节点少、节点ID已知的前提下进行的。当面对一个协议未知且节点数多、节点ID未知网络时,首先要做的是分别摘取各路CAN中报文、辨识各节点ID。

    

  图3 数据分离、摘取

  若将每个节点单独取出做测试,则必然破坏原有通信规则。如何在不破坏原有通信的基础上搞清楚一个陌生的收发协议呢?所谓工欲善其事,必先利其器。您需要一个能同时收发、转送多路CAN数据的CAN卡,USBCAN-8E-U正是这种测试工具。

    

  图4 USBCAN-8E-U

  USBCAN-8E-U集成8路CAN-bus接口,各通道间可做路由(转发)功能。在识别节点ID时,可以将节点同时接到8个CAN接口上,然后设置8路CAN间通信自由转发,保证原有网络通信规则不受破坏。强大的上位机软件将每个通道发送、接收的CAN报文按通道分开显示,数据分析一目了然。

    

  图5 多节点CAN网络分析



关键词: CAN

评论


技术专区

关闭