一、RS485简介:
为扩展应用范围,美国电子工业协会(EIA)又于1983年在RS-422基础上制定了RS-485标准,增加了多点、双向通信能力,即允许多个发送器连接到同 一条总线上,同时增加了发送器的驱动能力和冲突保护特性,扩展了总线共模范围,后命名为TIA/EIA-485-A标准。
RS485接口组成的半双工网络,一般是两线制(以前有四线制接法,只能实现点对点的通信方式,现很少采用),多采用屏蔽双绞线传输。这种接线方式为总线式拓扑结构在同一总线上最多可以挂接32个结点。在RS485通信网络中一般采用的是主从通信方式,即一个主机带多个从机。很多情况下,连接RS-485通信链路时只是简单地用一对双绞线将各个接口的“A”、“B”端连接起来。RS485接口连接器采用DB-9的9芯插头座,与智能终端RS485接口采用DB-9(孔),与键盘连接的键盘接口RS485采用DB-9(针)。
二、RS485特点:
1. RS-485的电气特性:采用差分信号负逻辑,逻辑"1”以两线间的电压差为+(2~6)V表示;逻辑"0"以两线间的电压差为-(2~6)V表示。接口信号电平比RS-232-C降低了,就不易损坏接口电路的芯片, 且该电平与TTL电平兼容,可方便与TTL电路连接。
2. RS-485的数据最高传输速率为10Mbps。
3. RS-485接口是采用平衡驱动器和差分接收器的组合,抗共模干扰能力增强,即抗噪声干扰性好。
4. RS-485最大的通信距离约为1219m,最大传输速率为10Mbps,传输速率与传输距离成反比,在100KbpS的传输速率下,才可以达到最大的通信距离,如果需传输更长的距离,需要加485中继器。RS-485总线一般最大支持32个节点,如果使用特制的485芯片,可以达到128个或者256个节点,最大的可以支持到400个节点。
RS485通信原理
RS485是一种在工业上作为数据交换的手段而广泛使用的串行通信方式,数据信号采用差分传输方式,也称作平衡传输,因此具有较强的抗干扰能力。它采用一对双绞线,将其中一线定义为A,另一线定义为B。
通常情况下,RS485的信号在传送出去之前会先分解成正负对称的两条线路(即我们常说的A、B信号线),当到达接收端后,再将信号相减还原成原来的信号。发送驱动器A、B之间的正电平在+2~6V,是一个正1逻辑状态;负电平在-2~6V,是一个负0逻辑状态;另有一个信号地C。在RS485中还有一“使能”端。“使能”端是用于控制发送驱动器与传输线的切断与连接。当“使能”端起作用时,发送驱动器处于高阻状态,称作“第三态”,即它是有别于逻辑“1”与“0”的第三态。
接收端与发送端的电平逻辑规定,收、发端通过平衡双绞线将AA与BB对应相连,当在接收端AB之间(DT)=(D+)-(D-)有大于+200mV的电平时,输出正逻辑电平,小于-200mV时,输出负逻辑电平。接收器接收平衡线上的电平范围通常在200mV~6V之间。
例如:发送“1”时,驱动器收到控制器发送来的高电平,之后A端输出高电平,B端输出低电平;接收器A端收到高电平,B端收到低电平,两个信号相减得到“1”。同理,发送“0”时,驱动器收到控制发送来的低电平,之后A、B两端分别输出低、高电平,接收端A、B则接收到低、高电平,两个信号相减后得到“0”。
如果受到干扰,则接收端AB之间(DT)=[(D+)+Noise]-[(D-)+Noise]= (D+)-(D-),由此可以看出干扰信号被消除。
RS485应用中的问题
一、信号反射问题
在沟通心过程中,当阻抗不连续或阻抗不匹配时,会产生信号反射,和光从一种介质进入另一种介质时产生发射是一样的。
信号反射对数据传输的影响:反射信号触发了接收器输入端的比较器,使接收器收到错误的信号,从而导致数据接受的错误。
二、信号反射的消除
1、使电缆的末端的阻抗和电缆的特性阻抗大小一样,由于信号在电缆上的传输是双向的,因此在通讯电缆的另一端跨接一个同样大小的终端电阻即可。一般线缆的阻抗大小在100-120欧之间,因此终端电阻可选用120欧。在实际中,由于线缆的特性阻抗不可能与终端电阻完全相等,因此或多或少的信号反射还是会存在的;
2、加偏置电阻,将A加上拉电阻,B端加下拉电阻,使总线空闲时接收器输出固定为1。否则,总线空闲时的反射信号可能使接收器的输出变为0,从而使控制器误以为有新的数据发送。
三、信号接地
接地处理不当往往会导致电子系统不能稳定的工作甚至危及整个系统的安全。很多情况下,连接RS485通信链路时只是简单的用一对双绞线将各个接口的“A”、“B”端连接起来,而忽略了信号地的连接,这种连接方法在许多场合是能正常工作的,但却埋下了很大的隐患。
四、共模干扰问题
RS485接口均采用差分方式传输信号,并不需要相对于某个参照点来检测信号,系统只需检测两线之间的电位差就可以了。但是人们往往忽视了收发器有一定的共模电压范围,如RS485收发器共模电压范围为-7-+12V,只有满足上述条件,整个网络才能正常工作。当网络线路中共模电压超出此范围时就会影响通信的稳定,甚至损坏接口。例如:当驱动器A向B发送数据时,发送驱动器共模电压为Va,由于两个系统具有各自独立的系统地,存在着地电位差Vg,那么接收器输入端的共模电压Vb就会达到Vb=Va+Vg,虽然RS485标准规定Va<=3V,但是Vg可能很大,导致接收器共模输入Vb超出正常范围,使系统不能正常工作。
解决共模干扰:可使用一根低阻的信号地将两个工作地连接起来,使共模干扰Vg被短路,可以有限的解决共模干扰。但是当干扰源内阻比较小时,这种方法不太有效,因为会在接地线上形成较大的环路电流。这时可采用浮地技术,即使系统的电路地与机壳或大地隔离。