(一)CAN总线特点
CAN是控制器局域网络(Controller Area Network, CAN)的简称,是由研发和生产汽车电子产品著称的德国BOSCH公司开发了的,并最终成为国际标准(ISO11898)。是国际上应用最广泛的现场总线之一。在北美和西欧,CAN总线协议已经成为汽车计算机控制系统和嵌入式工业控制局域网的标准总线,并且拥有以CAN为底层协议专为大型货车和重工机械车辆设计的J1939协议。近年来,其所具有的高可靠性和良好的错误检测能力受到重视,被广泛应用于汽车计算机控制系统和环境温度恶劣、电磁辐射强和振动大的工业环境。
特点:
传输距离远(最远10Km),传输速率快(最高1MHz bps);
单条总线最多可接110个节点,并可方便的扩充节点数;
多主结构,各节点的地位平等,方便区域组网,总线利用率高;
实时性高,非破坏总线仲裁技术,优先级高的节点无延时;
出错的CAN节点会自动关闭并切断和总线的联系,不影响总线的通讯;
报文为短帧结构并有硬件CRC校验,受干扰概率小,数据出错率极低;
自动检测报文发送成功与否,可硬件自动重发,传输可靠性很高;
硬件报文滤波功能,只接收必要信息,减轻cpu负担,简化软件编制;
(二)RS485总线特点
RS-485采用半双工工作方式,支持多点数据通信。rs-485总线网络拓扑一般采用终端匹配的总线型结构。即采用一条总线将各个节点串接起来,不支持环形或星型网络。RS-485采用平衡发送和差分接收,因此具有抑制共模干扰的能力。加上总线收发器具有高灵敏度,能检测低至200mv的电压,故传输信号能在千米以外得到恢复。有些RS-485收发器修改输入阻抗以便允许将多达8倍以上的节点数连接到相同总线。RS-485最常见的应用是在工业环境下可编程逻辑控制器内部之间的通信。
RS-485的电气特性:两线间的电压差范围为±(2-6)V表示,接口信号电平降低,不易损坏接口电路的芯片,且该电平与TTL电平兼容,可方便与TTL 电路连接;
RS-485的数据最高传输速率为10Mbps;
RS-485接口是采用平衡驱动器和差分接收器的组合,抗共模干能力增强,即抗噪声干扰性好;
RS-485接口的最大传输距离标准值为4000英尺,实际上可达 3000米。RS-485接口在总线上是允许连接多达128个收发器。即具有多站能力,但RS-485总线上任何时候只能有一发送器发送;
RS-485接口具有良好的抗噪声干扰性,长的传输距离和多站能力等优点就使其成为首选的串行接口;
RS485接口组成的半双工网络,一般只需二根连线,接口均采用屏蔽双绞线传输。
(三)CAN总线和RS485总线应用
以往,PC与智能设备通讯多借助RS232、RS485、以太网等方式,主要取决于设备的接口规范。但RS232、RS485只能代表通讯的物理介质层和链路层,如果要实现数据的双向访问,就必须自己编写通讯应用程序,但这种程序多数都不能符合ISO/OSI的规范,只能实现较单一的功能,适用于单一设备类型,程序不具备通用性。
在RS232或RS485设备联成的设备网中,如果设备数量超过2台,就必须使用RS485做通讯介质,RS485网的设备间要想互通信息只有通过“主(Master)”设备中转才能实现,这个主设备通常是PC,而这种设备网中只允许存在一个主设备,其余全部是从(Slave)设备。而现场总线技术是以ISO/OSI模型为基础的,具有完整的软件支持系统,能够解决总线控制、冲突检测、链路维护等问题。现场总线设备自动成网,无主/从设备之分或允许多主存在。在同一个层次上不同厂家的产品可以互换,设备之间具有互操作性。
现在的总线格式很多,CAN相对于其他的总线有什么特点?首先,就比较一下大家耳熟能详的485总线, 485总线只是一种电平标准,并不是什么新的协议,与232差不多,当然这么说不是很恰当,但是有助于大家理解。
(四)CAN总线 PK RS485总线
CAN(Controller Area Network)属于现场总线的范畴,它是一种有效支持分布式控制或实时控制的串行通信网络。较之目前RS-485基于R线构建的分布式控制系统而言,基于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的特性对比
审核编辑:郭婷
-
控制器
+关注
关注
112文章
16274浏览量
177725 -
嵌入式
+关注
关注
5081文章
19077浏览量
304349 -
总线
+关注
关注
10文章
2875浏览量
88027
原文标题:CAN总线 VS RS485总线,到底谁更强?
文章出处:【微信号:智能汽车电子与软件,微信公众号:智能汽车电子与软件】欢迎添加关注!文章转载请注明出处。
发布评论请先 登录
相关推荐
评论