RS485和CAN,区别的个人理解

扫盲的内容先转载自这个博客http://m.elecfans.com/article/616076.html

感谢这个博主

我在这里做一下补充:

1、博客里面提到到RS485只决定了物理层,CAN是协议层怎么理解?

RS485是物理层的约束,因为只是利用了总线电平,具体收发数据有点像透传,并没有做一些协议在里面,除非用户自己自定义了一些简单的协议

而CAN不一样,作为现场总线协议,里面的传输协议层的软件做了较多的工作,感兴趣的同学可以去查一个CAN的协议,叫做CANOpen,在汽车,电机控制里面用的很多。简单的来说就是我要发送一个0x1F,其实实际底层发送了0xXX 0xXX  0xXX 0xXX。。。。。。。0x1F。。。。。。0xXX 0xXX 0xXX  0xXX 0xXX一连串的东西,然后由CAN控制器去分析。

这是我用示波器抓取解码后的CAN协议

数据帧里面复杂的很,有什么CRC什么的,只有CAN控制器可以分析,所以说比RS485复杂很多,因为CAN处理的数据量要大,所以理论速率上CAN比485要低

2、多点冲突机制

RS485是没有的,发完数据后就切换到收状态了。而且肯定是一主多从

而CAN是有ID的,所以总线利用率来说,CAN更加高效(具体原因见参考博文)

3、硬件电路上

对硬件电路上,都是采用差分对走线,线缆都采用双绞线的模式,都有需要接终端电阻120欧姆,从外观看,两个的走线方式是很像的。

 

 

 

 

以下是转载的博客内容:

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

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

图1 点对点连接方式

采用点对点通讯时,连线多,线路复杂,两两连线需要两两连线,需要n(n-1)/2根线。

图2 总线连接方式

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

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

以CAN与RS485为例总结各自优势 解疑“为什么CAN能取代RS485”

图3 目前主流的现场总线

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

一、CAN 现场总线

以CAN与RS485为例总结各自优势 解疑“为什么CAN能取代RS485”

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

CAN总线特点:

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

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

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

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

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

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

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

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

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

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

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

二、RS485 总线

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

RS485接口标准特点:

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

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

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

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

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

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

三、CAN 总线与RS485的比较

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

以CAN与RS485为例总结各自优势 解疑“为什么CAN能取代RS485”

图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协议仅仅只有电气协议,客户开发需要自己开发链路层和应用层,开发难度较大。

四、总结对比

以CAN与RS485为例总结各自优势 解疑“为什么CAN能取代RS485”

  • 30
    点赞
  • 166
    收藏
    觉得还不错? 一键收藏
  • 5
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 5
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值