RS485总线和CAN总线对比
RS485总线和CAN总线是当今工业自动化控制系统中最常用的两种总线之一,它们在性能、功能和应用等方面都有哪些差异?
RS-485和CAN都是串行通信协议。它们允许在单个系统中布置多点设备,大大缩短了电缆长度,差分设计适用于强干扰的环境,两者都使用120 Ω电阻端接,并配有内部过压电路以进行故障保护。RS-485和CAN有太多的共同点,但无疑是不一样的。
RS-485更多的是应用在工业领域,CAN被广泛设计用于汽车行业。但现在,不仅汽车行业广泛使用CAN,而且航空航天等其他行业也开始转向CAN。
但是要了解使这些协议与众不同的差异,我们必须知道它们到底是什么。
现场总线是90年代初国际上发展形成的,目前广泛应用于现场总线技术过程自动化、制造自动化、楼宇自动化等领域的现场智能设备互连通讯网络。
CAN是控制网络ControlAreaNetwork的简称,最早由德国BOSCH公司推出,用于汽车内部测量与执行部件之间的数据通信。
RS485总线
RS-485:自20世纪80年代中期以来一直存在的串行通信协议。最初是为工业市场的应用而定义的,或者更好的说,它是为工业应用而开发的。
RS-485由电信行业协会和电子工业联盟联合发布,因此它也被称为TIA / EIA-485。但更能被业界接受的名字是RS-485,它的应用在:
运动控制设备
旋转编码器接口
计算机自动化系统(键盘、鼠标、打印机等)
工业控制系统
剧院应用
PLC
虽然RS-485被应用到多种场合,但越来越多的行业似乎转向CAN用于其工业机械。
CAN总线特点:
- 国际标准的工业级现场总线,传输可靠,实时性高;
- 传输距离远(最远10Km),传输速率快(最高1MHz bps);
- 单条总线最多可接110个节点,并可方便的扩充节点数;
- 多主结构,各节点的地位平等,方便区域组网,总线利用率高;
- 实时性高,非破坏总线仲裁技术,优先级高的节点无延时;
- 出错的CAN节点会自动关闭并切断和总线的联系,不影响总线的通讯;
- 报文为短帧结构并有硬件CRC校验,受干扰概率小,数据出错率极低;
- 自动检测报文发送成功与否,可硬件自动重发,传输可靠性很高;
- 硬件报文滤波功能,只接收必要信息,减轻cpu负担,简化软件编制;
- 通讯介质可用普通的双绞线,同轴电缆或光纤等;
- CAN总线系统结构简单,有极高的性价比。
CAN 总线与RS485的比较
1、速度与距离:CAN与RS485以1Mbit/S的高速率传输的距离都不超过100M,可谓高速上的距离差不多。但是低速CAN以5Kbit/S时,距离可达10KM。而增强型RS485收发器在最低的速率时亦能传输超过10KM(都无中继),两者在长距离的传输上也难分伯仲。
2、总线利用率:RS485是单主从结构,就是一个总线上只能有一台主机,通讯都由它发起的,它没有下命令,下面的节点不能发送,而且要发完即答,受到答复后,主机才向下一个节点询问,这样是为了防止多个节点向总线发送数据,而造成数据错乱。而CAN-bus是多主从结构,每个节点都有CAN控制器,多个节点发送时,以发送的ID号自动进行仲裁,这样就可以实现总线数据不错乱,而且一个节点发完,另一个节点可以探测到总线空闲,而马上发送,这样省去了主机的询问,提高了总线利用率,增强了快速性。所以在汽车等实性要求高的系统,都是用CAN总线,或者其他类似的总线。
3、错误检测机制:RS485只规定了物理层,而没有数据链路层,所以它对错误是无法识别的,除非一些短路等物理错误。这样容易造成一个节点破坏了,拼命向总线发数据(一直发1),这样造成整个总线瘫痪。所以RS485一旦坏一个节点,这个总线网络都挂。而CAN总线有CAN控制器,可以对总线任何错误进行检测,自动转换错误状态,适时关闭总线,进而保护总线。如果检测到其他节点错误或者自身错误,都会向总线发送错误帧,来提示其他节点,这个数据是错误的,大家小心。这样CAN总线一旦有一个节点程序跑飞了,它的控制器自动闭锁,保护总线。所以在安全性要求高的网路,CAN是很强的。
4、器件价格:随着CAN总线迅猛发展,目 前CAN隔离收发器单价大有与RS485价格持平的趋势,RS485收发器逐渐失去价格优势。
5、开发难度:CAN具有完善的通信协议,底层机制由CAN控制器芯片及其接口芯片来实现,研发工程师只需要了解面向客户的应用层,从而大大降低了系统的开发难度,缩短了开发周期。而RS-485协议仅仅只有电气协议,客户开发需要自己开发链路层和应用层,开发难度较大。
总结对比
特性 | RS-485 | CAN |
---|---|---|
单点成本 | 低廉 | 稍高 |
系统成本 | 高 | 较低 |
总线利用率 | 低 | 高 |
网络特性 | 单主网络 | 多主网络 |
数据传输率 | 低 | 高 |
容错机制 | 无 | 可靠的错误处理和检错机制 |
通讯失败率 | 高 | 极低 |
节点错误的影响 | 导致整个网络的瘫痪 | 无任何影响 |
通讯距离 | <1.5km | 可达10km(5kbps) |
网络调试 | 困难 | 非常容易 |
开发难度 | 标准Modbus协议 | 标准CAN-bus协议 |
后期维护成本 | 高 | 低 |
声明:本文素材来源网络,版权归原作者所有。如涉及作品版权问题,请与我联系删除。