CAN总线与RS485的比较
文章出处:http://www.ifyousmell.com 作者:佚名 人气: 发表时间:2009年05月27日
现在的总线格式很多,CAN相对于其他的总线有什么特点啊?首先呢,就比较一下大家耳熟能详的485总线,其实485总线只是一种电平标准,并不是什么新的协议,与232差不多,当然这么说不是很恰当,但是有助于大家理解。
CAN(Controller Area Network)属于现场总线的范畴,它是一种有效支持分布式控制或实时控制的串行通信网络。较之目前RS-485基于线构建的分布式控制系统而言,基于CAN总线的分布式控制系统在以下方面具有明显的优越性:
1)CAN控制器工作于多主方式,网络中的各节点都可根据总线访问优先权(取决于报文标识符)采用无损结构的逐位仲裁方式竞争向总线发送数据,且CAN协议废除了站地址编码,而代之以对通信数据进行编码,这可使不同的节点同时接收到相同的数据,这些特点使得CAN总线构成的网络各节点之间的数据通信实时性强,并且容易构成冗余结构,提高系统的可靠性和系统的灵活性。而利用RS-485只能构成主从式结构系统,通信方式也只能以主站轮询的方式进行,系统的实时性、可靠性较差。
2)CAN总线通过CAN控制器接口芯片82C250的两个输出端CANH和CANL与物理总线相连,而CANH端的状态只能是高电平或悬浮状态,CANL端只能是低电平或悬浮状态。这就保证不会出现象RS-485网络中,当系统有错误,出现多节点同时向总线发送数据时,导致总线呈现短路,从而损坏某些节点的现象。而且CAN节点在错误严重的情况下具有自动关闭输出功能,以使总线上其他节点的操作不受影响,从而保证不会出现象在网络中,因个别节点出现问题,使得总线处于“死锁”状态。
3)CAN具有完善的通信协议,可由CAN控制器芯片及其接口芯片来实现,从而大大降低了系统的开发难度,缩短了开发周期,这些是只仅仅有电气协议的RS-485所无法比拟的。
特性 |
RS-485 |
CAN-bus |
单点成本 |
低廉 |
稍高 |
系统成本 |
高 |
较低 |
总线利用率 |
低 |
高 |
网络特性 |
单主网络 |
多主网络 |
数据传输率 |
低 |
高 |
容错机制 |
无 |
可靠的错误处理和检错机制 |
通讯失败率 |
高 |
极低 |
节点错误的影响 |
导致整个网络的瘫痪 |
无任何影响 |
通讯距离 |
< |
可达 |
网络调试 |
困难 |
非常容易 |
开发难度 |
标准Modbus协议 |
标准CAN-bus协议 |
后期维护成本 |
高 |
低 |
|
|
|