- 11
- 0
- 约5.24千字
- 约 4页
- 2019-02-17 发布于福建
- 举报
CAN 总线与 RS485 的比较
最近一个项目总体方案设计为分布式系统,于是在通讯上纠结于 CAN总线还是 RS485。
因此在网上搜索一些了一些关于RS485和CAN总线的资料,除进一步认识RS485通讯特点外,
认识了 CAN总线的特点及其与 RS485 的比较,总结如下:
CAN 总线特点:
1、国际标准的工业级现场总线,传输可靠,实时性高;
2、传输距离远(最远 10Km),传输速率快(最高 1MHz bps);
3、单条总线最多可接 110 个节点,并可方便的扩充节点数;
4、多主结构,各节点的地位平等,方便区域组网,总线利用率高;
5、实时性高,非破坏总线仲裁技术,优先级高的节点无延时;
6、出错的 CAN 节点会自动关闭并切断和总线的联系,不影响总线的通讯;
7、报文为短帧结构并有硬件 CRC 校验,受干扰概率小,数据出错率极低;
8、自动检测报文发送成功与否,可硬件自动重发,传输可靠性很高;
9、硬件报文滤波功能,只接收必要信息,减轻 cpu 负担,简化软件编制;
10、通讯介质可用普通的双绞线,同轴电缆或光纤等;
11、CAN 总线系统结构简单,有极高的性价比。
RS485 接口标准特点:
(1) RS-485 的电气特性:逻辑1以两线间的电压差为+(2-6)V 表示;逻辑0以两线间
的电压差为-(2-6)V 表示。接口信号电平比 RS-232-C 降低了,就不易损坏接口电路的芯
片,且该电平与 TTL 电平兼容,可方便与 TTL 电路连接。
(2) RS-485 的数据最高传输速率为 10Mbps
(3) RS-485 接口是采用平衡驱动器和差分接收器的组合,抗共模干能力增强,即抗噪声
干扰性好。
(4) RS-485 接口的最大传输距离标准值为 4000英尺,实际上可达 3000 米,另外 RS-232-C
接口在总线上只允许连接 1 个收发器,即单站能力。而 RS-485 接口在总线上是允许连接多
达 128 个收发器。即具有多站能力,这样用户可以利用单一的 RS-485 接口方便地建立起设备
网络。但 RS-485 总线上任何时候只能有一发送器发送。
(5) 因RS-485 接口具有良好的抗噪声干扰性,长的传输距离和多站能力等上述优点就使
其成为首选的串行接口。
(6) 因为RS485 接口组成的半双工网络,一般只需二根连线,所以 RS485 接口均采用屏蔽
双绞线传输。
CAN 总线与RS485 的比较:
1.速度与距离:CAN 与RS485以 1Mbit/S 的高速率传输的距离都不超过 100M,可谓高速上
的距离差不多。但是在低速时 CAN以 5Kbit/S时,距离可达 10KM,而485 再低的速率也只
能到 1219 米左右(都无中继)。可见 CAN 在长距离的传输上拥有绝对的优势。
2.总线利用率:RS485 是单主从结构,就是一个总线上只能有一台主机,通讯都由它发起
的,它没有下命令,下面的节点不能发送,而且要发完即答,受到答复后,主机才向下一个
节点询问,这样是为了防止多个节点向总线发送数据,而造成数据错乱。而 CAN-bus 是多
主从结构,每个节点都有 CAN 控制器,多个节点发送时,以发送的 ID号自动进行仲裁,这
样就可以实现总线数据不错乱,而且一个节点发完,另一个节点可以探测到总线空闲,而马
上发送,这样省去了主机的询问,提高了总线利用率,增强了快速性。所以在汽车等实性要
求高的系统,都是用 CAN 总线,或者其他类似的总线。
3.错误检测机制,RS485只规定了物理层,而没有数据链路层,所以它对错误是无法识别
的,除非一些短路等物理错误。这样容易造成一个节点破坏了,拼命向总线发数据(一直发
1),这样造成整个总线瘫痪。所以 RS485 一旦坏一个节点,这个总线网络都挂。而 CAN 总
线有 CAN 控制器,可以对总线任何错误进行检测,如果自身错误超过 128 个,就自动闭锁。
保护总线。如果检测到其他节点错误或者自身错误,都会向总线发送错误帧,来提示其他节
点,这个数据是错误的。大家小心。这样 CAN 总线一旦有一个节点 CPU程序跑飞了,它的控
制器自动闭锁。保护总线。所以在安全性要求高的网路,CAN 是很强的。
4.价格与培训成本:CAN器件的价格大约是 485的 2 倍这样,485 的通讯从软件上是很方便
的,只要懂串行通讯,就可以编程,而 CAN 需要底层工程师了解 CAN复杂的层,编写上位机
软件也要了解 CAN 的协议。可
原创力文档

文档评论(0)