CAN总线和二总线,RS485总线的区别和用途

如题所述

第1个回答  2018-06-10
RS485 比 CAN 方便好用,CAN 有的仲裁功能,RS485 也可以有,譬如支持仲裁的 CDBUS 协议。
第2个回答  2019-08-14
技术优势
CAN:自带协议,硬件和软件都支持抢占。最大的用他的原因也是协议完善,支持抢占。
RS485:协议比较灵活,可以使用MODBUS也可以自拟协议,硬件不支持抢占。最大的用他的原因是应用简单,成本低。
二总线:二总线之所有成为二总线就是因为可以供电同时通讯。有的有自带协议栈(KNX),有的是串口透传(powerbus)。用他最大的原因主要是两方面:
一,施工简便:支持无极性布线,任意拓扑,与220V共管穿线。
二,两线可通讯同时供电。
劣势:
CAN:应用成本较高。很多非常简单的功能,也需要使用STM32才能实现CAN的协议栈,还要外加驱动。布线不方便。额外需要电源线。
RS485:布线不方便。需要MCU内置协议。额外需要电源线。
二总线:通常速度较慢,控制类需求足够了。更高速的需求例如传输视频等就不合适了。
第3个回答  推荐于2018-11-21
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的协议。可谓培训成本较高。本回答被网友采纳
相似回答