CAN总线与RS485的比较
文章出处://m.dannyeim.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协议
|
后期维护成本
|
高
|
低
|
|
|
|