CAN总线和RS485的比较:

CAN总线:

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

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

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

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

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

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

RS-485  

(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接口具有良好的抗噪声干扰性,长的传输距离和多站能力等上述优点就使其成为首选的串行接口。

总线利用率:   485单主从  主机轮询       can多主从结构   总线仲裁   

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

错误检测机制:  485无纠错机制,一个节点故障会导致整个奔溃  

                         can   总线错误检测,总线保护

RS485只规定了 物理层,而没有数据链路层, 所以它对错误是无法识别的,除非一些短路等物理错误。这样容易造成一个节点破坏了,拼命向总线发数据(一直发1),这样造成整个总线瘫痪。所以RS485一旦坏一个节点,这个总线网络都挂。

CAN总线有CAN控制器,可以对总线任何错误进行检测,如果自身错误超过128个,就自动闭锁。保护总线。如果检测到其他节点错误或者自身错误,都会向总线发送错误帧,来提示其他节点,这个数据是错误的。大家小心。这样CAN总线一旦有一个节点CPU程序跑飞了,它的控制器自动闭锁。保护总线。所以在安全性要求高的网路,CAN是很强的。

猜你喜欢

转载自blog.csdn.net/alala120/article/details/81611376