银河娱乐网平台

新闻动态
技术中心
技术中心
当前位置:银河娱乐网平台 >> 服务支持 >> 技术中心 >> 浏览文章
CAN 总线与 RS485 的比较
作者:技术部小贾 日期:2016年06月20日 来源:本站原创 浏览:

内容导读:    最近一个项目总体方案设计为分布式系统,于是在通讯上纠结于 CAN 总线还是 RS485。 因此在网上搜索一些了一些关于RS485和CAN总线的资料,除进一步认识RS485通讯特点外, 认识了 CAN 总线的特点及其与 RS485 的比较。

    最近一个项目总体方案设计为分布式系统,于是在通讯上纠结于 CAN 总线还是 RS485。 因此在网上搜索一些了一些关于RS485和CAN总线的资料,除进一步认识RS485通讯特点外, 认识了 CAN 总线的特点及其与 RS485 的比较。
    PC 与智能设备通讯多借助 RS232、RS485、以太网等方式,主要取决于设备的接口 规范。但 RS232、RS485 只能代表通讯的物理介质层和链路层,如果要实现数据的双向访问,就必 须自己编写通讯应用程序,但这种程序多数都不能符合 ISO/OSI 的规范,只能实现较单一的功能, 适用于单一设备类型,程序不具备通用性。在 RS232 或 RS485 设备联成的设备网中,如果设备数 量超过 2 台,就必须使用 RS485 做通讯介质,RS485 网的设备间要想互通信息只有通过“主 (Master)”设备中转才能实现,这个主设备通常是 PC,而这种设备网中只允许存在一个主设备, 其余全部是从(Slave)设备。而现场总线技术是以 ISO/OSI 模型为基础的,具有完整的软件支持 系统,能够解决总线控制、冲突检测、链路维护等问题。现场总线设备自动成网,无主/从设备之 分或允许多主存在。在同一个层次上不同厂家的产品可以互换,设备之间具有互操作性。
    CAN-bus(Controller Area Network)即控制器局域网,是国际上应用最广泛的现场总线之一。起先,CAN-bus 被设计作为汽车环境中的微控制器之间通讯,在车载各电子控制装置 ECU 之间交换信息,形成汽车电子控制网络。它是一种多主方式的串行通讯总线,基本设计规范要求有较高的位速率,高抗干扰性,而且能够检测出产生的任何错误。信号传输距离达到 10Km 时,仍然可提供高达 5Kbps 的数据传输速率。由于 CAN 串行通讯 总线具有这些特性,它很自然的在汽车、制造业以及航空工业中受到广泛应用。
    CAN(Controller Area Network)属于现场总线的范畴,它是一种有效支持分布式控制或实时控制的串行通信网络。较
之目前 RS-485 基于 R 线构建的分布式控制系统而言, 基于 CAN 总线的分布式控制系统在以下方面具有明显的优越性:
    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 的协议。可谓培训成本较高。
    5.CAN 总线通过 CAN 控制器接口芯片 82C250 的两个输出端 CANH 和 CANL 与物理总线相连, 而 CANH 端的状态只能是高电平或悬浮状态,CANL 端只能是低电平或悬浮状态。这就保证不 会出现象在 RS-485 网络中,当系统有错误,出现多节点同时向总线发送数据时,导致总线 呈现短路,从而损坏某些节点的现象。而且 CAN 节点在错误严重的情况下具有自动关闭输出 功能,以使总线上其他节点的操作不受影响,从而保证不会出现象在网络中,因个别节点出 现问题,使得总线处于“死锁”状态。
    6.CAN 具有完善的通信协议,可由 CAN 控制器芯片及其接口芯片来实现,从而大大降低了 系统的开发难度,缩短了开发周期,这些是只仅仅有电气协议的 RS-485 所无法比拟的。 

特性                 RS-485                       CAN-bus
单点成本             低廉                          稍高
系统成本              高                           较低
总线利用率            低                            高
网络特性            单主网络                     多主网络
数据传输率            低                            高
容错机制              无                   可靠的错误处理和检错机制
通讯失败率            高                            极低
节点错误的影响  导致整个网络的瘫痪               无任何影响
通讯距离              <1.5km                     可达 10km(5kbps)
网络调试              困难                         非常容易
开发难度              标准 Modbus 协议          标准 CAN-bus 协议
后期维护成本          高                             低

上一篇文章:物联网的五大新兴“战场”浅析 下一篇文章:工业4.0:德国数年探路怎样了
相关链接
发表评论
用户评论

银河产品

推荐产品

版权所有 山西银河娱乐网平台股份有限公司 晋ICP备09004627号