公告

大中华汽车电子生态圈社区并入开发者社区- 更多资讯点击此

Tip / 登入 to post questions, reply, level up, and achieve exciting badges. Know more

cross mob

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

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

zhang18
Level 0
Level 0

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

一、CAN总线通信方式

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

 1.png

图1  CAN总线通信方式

二、CAN总线协议分析

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

2.png

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

三、多路CAN卡的应用

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

3.png

图3  数据分离、摘取

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

4.png

图4  USBCAN-8E-U

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

 5.png

图5  多节点CAN网络分析

为什么CAN能取代RS485?

电动汽车资源网 Z.G致远电子

近年来CAN总线逐渐被工程师认知,并以其突出特点,逐渐在取代RS485等总线,本文将以CAN与RS485为例总结各自优势,为您解疑“为什么CAN能取代RS485”。

现场总线是90年代初国际上发展形成的,目前广泛应用于现场总线技术过程自动化、制造自动化、楼宇自动化等领域的现场智能设备互连通讯网络。

 6.png

图 1 点对点连接方式采用点对点通讯时,连线多,线路复杂,两两连线需要两两连线,需要7.png根线

8.png

图 2 总线连接方式

信息在一条公共通道上传输,信息接收者从通道上接收所有信息,并根据规则过滤发送给自己的信息。连线少,结构清晰,仅需≤n+1根线。

目前工业现场主流的总线方式包括RS232、RS485、CAN、Devicenet等,那么多总线类型,都有什么特点和应用呢?本文就以最常用的RS485和热门的CAN总线进行对比分析,帮助您选择更加合适的通讯方案。

 9.png

图 3 目前主流的现场总线

 10.png

CAN是控制网络Contro.AreaNetwork的简称,最早由德国BOSCH公司推出,用于汽车内部测量与执行部件之间的数据通信。

 

 11.png

图 4 CAN在汽车网络拓扑结构

CAN总线特点:

. 国际标准的工业级现场总线,传输可靠,实时性高;

. 传输距离远(最远10Km),传输速率快(最高1MHz bps);

. 单条总线最多可接110个节点,并可方便的扩充节点数;

. 多主结构,各节点的地位平等,方便区域组网,总线利用率高;

. 实时性高,非破坏总线仲裁技术,优先级高的节点无延时;

. 出错的CAN节点会自动关闭并切断和总线的联系,不影响总线的通讯;

. 报文为短帧结构并有硬件CRC校验,受干扰概率小,数据出错率极低;

. 自动检测报文发送成功与否,可硬件自动重发,传输可靠性很高;

. 硬件报文滤波功能,只接收必要信息,减轻cpu负担,简化软件编制;

. 通讯介质可用普通的双绞线,同轴电缆或光纤等;

. CAN总线系统结构简单,有极高的性价比。

12.png

RS-485是从 RS-422基础上发展而来的,可以采用二线与四线两种不同的方式,二线制可实现真正的多点双向通信。而采用四线连接时,只能实现点对多点的通信。即只能有一个主设备(Master),其余为从设备(S.ave)。

RS485接口标准特点:

. RS-485的电气特性:两线间的电压差范围为±(2-6)V表示,接口信号电平降低,不易损坏接口电路的芯片,且该电平与TT.电平兼容,可方便与TT. 电路连接;

. RS-485的数据最高传输速率为10Mbps;

. RS-485接口是采用平衡驱动器和差分接收器的组合,抗共模干能力增强,即抗噪声干扰性好;

. RS-485接口的最大传输距离标准值为4000英尺,实际上可达 3000米。RS-485接口在总线上是允许连接多达128个收发器。即具有多站能力,但RS-485总线上任何时候只能有一发送器发送;

. RS-485接口具有良好的抗噪声干扰性,长的传输距离和多站能力等优点就使其成为首选的串行接口;

. RS485接口组成的半双工网络,一般只需二根连线,接口均采用屏蔽双绞线传输。

 13.png

1. 速度与距离:CAN与RS485以1Mbit/S的高速率传输的距离都不超过100M,可谓高速上的距离差不多。但是低速CAN以5Kbit/S时,距离可达10KM。而增强型RS485收发器在最低的速率时亦能传输超过10KM(都无中继),两者在长距离的传输上也难分伯仲;

 14.png

图 5 CAN长距离通讯优势在智能家居中应用

2. 总线利用率:RS485是单主从结构,就是一个总线上只能有一台主机,通讯都由它发起的,它没有下命令,下面的节点不能发送,而且要发完即答,受到答复后,主机才向下一个节点询问,这样是为了防止多个节点向总线发送数据,而造成数据错乱。而CAN-bus是多主从结构,每个节点都有CAN控制器,多个节点发送时,以发送的ID号自动进行仲裁,这样就可以实现总线数据不错乱,而且一个节点发完,另一个节点可以探测到总线空闲,而马上发送,这样省去了主机的询问,提高了总线利用率,增强了快速性。所以在汽车等实性要求高的系统,都是用CAN总线,或者其他类似的总线;

3. 错误检测机制:RS485只规定了物理层,而没有数据链路层,所以它对错误是无法识别的,除非一些短路等物理错误。这样容易造成一个节点破坏了,拼命向总线发数据(一直发1),这样造成整个总线瘫痪。所以RS485一旦坏一个节点,这个总线网络都挂。而CAN总线有CAN控制器,可以对总线任何错误进行检测,自动转换错误状态,适时关闭总线,进而保护总线。如果检测到其他节点错误或者自身错误,都会向总线发送错误帧,来提示其他节点,这个数据是错误的,大家小心。这样CAN总线一旦有一个节点程序跑飞了,它的控制器自动闭锁,保护总线。所以在安全性要求高的网路,CAN是很强的;

4. 器件价格:随着CAN总线迅猛发展,目前CAN隔离收发器单价大有与RS485价格持平的趋势,RS485收发器逐渐失去价格优势;

5. 开发难度:CAN具有完善的通信协议,底层机制由CAN控制器芯片及其接口芯片来实现,研发工程师只需要了解面向客户的应用层,从而大大降低了系统的开发难度,缩短了开发周期。而RS-485协议仅仅只有电气协议,客户开发需要自己开发链路层和应用层,开发难度较大。

15.png

16.png

致远电子作为国内总线隔离收发器领导品牌,基于近二十年的总线隔离技术积累,为有效解决总线干扰,通讯异常等问题,实现信号隔离电路、收发电路及总线防护电路高度集成化与高可靠性,致远电子推出了CTM、RSM等系列隔离收发器。

 17.png

并经过近二十年的市场验证,凭借产品的高稳定性,已广泛应用于汽车电子、工业控制、轨道交通、仪器仪表、石油化工等工业领域,是国内应用最广泛的隔离收发器。

致远电子目前已完善从工业CAN隔离收发与转换器,到CAN网络拓展与记录仪,以及CAN总线分析仪等整套产品体系,可为CAN总线提供整套的通讯测试解决方案。


0 点赞
2593 次查看
43 评论
Vincent2
Level 4
Level 4
100 replies posted 50 replies posted 25 replies posted
mark。学习了,谢谢分享
0 点赞
yanhaijian
Level 4
Level 4
250 replies posted 100 replies posted 50 replies posted

CAN一帧数据只有8字节,但是作为传感器也够用了。

0 点赞
hubeilzb
Level 1
Level 1
5 sign-ins 100 comments on blog 50 comments on blog
相比下还是Can有优势
0 点赞
蜗牛123
Level 0
Level 0
太棒了
0 点赞
蜗牛123
Level 0
Level 0
Mark下
0 点赞
蜗牛123
Level 0
Level 0
学习
0 点赞
蜗牛123
Level 0
Level 0
收藏了
0 点赞
飞马
Level 5
Level 5
100 comments on blog 50 comments on blog 25 comments on blog

 mark

0 点赞
蜗牛123
Level 0
Level 0
正需要
0 点赞
徐工
Level 0
Level 0
485简单粗暴,用起来方便。
0 点赞
蜗牛123
Level 0
Level 0
学习
0 点赞
大铁蛋
Level 0
Level 0
解释的很到位
0 点赞
User13396
Level 5
Level 5
破解协议?
0 点赞
小睿
Level 0
Level 0
can很有用啊
0 点赞
陌生小饼干
Level 0
Level 0
厉害
0 点赞
alexmhone
Level 0
Level 0
图5哪位看懂的可以解释一下吗?没有看懂
0 点赞
alexmhone
Level 0
Level 0
图5没看明白
0 点赞
陌生小饼干
Level 0
Level 0
0 点赞
陌生小饼干
Level 0
Level 0
学习了
0 点赞
南风南
Level 0
Level 0
学习
0 点赞
飞马
Level 5
Level 5
100 comments on blog 50 comments on blog 25 comments on blog

 不错,好东西

0 点赞
大铁蛋
Level 0
Level 0
下代的就会发展成以太网吗?
0 点赞
三叶草111
Level 1
Level 1
受教了
0 点赞
dayundaner
Level 1
Level 1
1000 replies posted 750 replies posted 500 replies posted

收藏了

0 点赞
dayundaner
Level 1
Level 1
1000 replies posted 750 replies posted 500 replies posted

前段时间刚用过周立功的CANScope总线综合分析仪

0 点赞
whileforever
Level 0
Level 0
100 comments on blog 50 comments on blog 25 comments on blog

会用点儿 485

0 点赞
Winnie1
Level 3
Level 3
100 replies posted 50 replies posted 25 replies posted
看看
0 点赞
whutzf2010
Level 1
Level 1
50 replies posted 25 replies posted 10 replies posted
学习了
0 点赞
whutzf2010
Level 1
Level 1
50 replies posted 25 replies posted 10 replies posted
学习了
0 点赞
wcg
Level 1
Level 1
can的仲裁机制很强大。即保证了高优先级数据传输的实时性,又解决了多节点同发的冲突问题。
0 点赞
LouiseLu
Level 0
Level 0
谢谢
0 点赞
丸子头怎么了
Level 1

看市面应用情况就可以推知一二

0 点赞
糊涂
Level 1
Level 1
学习了
0 点赞
末哥哥
Level 1
Level 1
25 replies posted 10 replies posted 5 replies posted
介绍的详细,简单,明了!收藏了
0 点赞
Jepson
Level 1
Level 1
50 replies posted 25 replies posted 10 replies posted
好高大上的感觉看不太懂。
0 点赞
莉莉杨
Level 1
Level 1
250 replies posted 100 replies posted 50 replies posted
图片太不清晰了,影响阅读效果
0 点赞
葛学伟
Level 0
Level 0
谢谢分享
0 点赞
纳什
Level 2
Level 2

mark

0 点赞
Zhanxb
Level 4
Level 4
250 replies posted 100 replies posted 50 replies posted
我也觉得CAN有优势
0 点赞
Leon_lly
Level 0
Level 0
学习了
0 点赞
e_
Level 1
Level 1
学习
0 点赞
阿东_
Level 0
Level 0
Welcome! 100 comments on blog 50 comments on blog
CAN与LIN的对比来一期
0 点赞
nike1
Level 1
Level 1
First like received
学习下
0 点赞