RS485接口组成的半双工网络,一般是两線(xiàn)制,多(duō)采用(yòng)屏蔽双绞線(xiàn)传输,这种接線(xiàn)方式為(wèi)总線(xiàn)式拓扑结构在同一总線(xiàn)上最多(duō)可(kě)以挂接32个结点。我们知道,最初数据是模拟信号输出简单过程量,后来仪表接口是RS232接口,这种接口可(kě)以实现点对点的通信方式,但这种方式不能(néng)实现联网功能(néng),随后出现的RS485解决了这个问题。為(wèi)此本文(wén)通过问答(dá)的形式详细介绍RS485接口。
一、什么是RS-485接口?它比RS-232-C接口相比有(yǒu)何特点?
答(dá):由于RS-232-C接口标准出现较早,难免有(yǒu)不足之处,主要有(yǒu)以下四点:
(1)接口的信号電(diàn)平值较高,易损坏接口電(diàn)路的芯片,又(yòu)因為(wèi)与TTL電(diàn)平不兼容故需使用(yòng)電(diàn)平转换電(diàn)路方能(néng)与TTL電(diàn)路连接。
(2)传输速率较低,在异步传输时,波特率為(wèi)20Kbps。
(3)接口使用(yòng)一根信号線(xiàn)和一根信号返回線(xiàn)而构成共地的传输形式,这种共地传输容易产生共模干扰,所以抗噪声干扰性弱。
(4)传输距离有(yǒu)限,最大传输距离标准值為(wèi)50英尺,实际上也只能(néng)用(yòng)在50米左右。针对RS-232-C的不足,于是就不断出现了一些新(xīn)的接口标准,RS-485就是其中之一,它具有(yǒu)以下特点:
1)RS-485的電(diàn)气特性:逻辑“1”以两線(xiàn)间的電(diàn)压差為(wèi)+(2-6)V表示;逻辑“0”以两線(xiàn)间的電(diàn)压差為(wèi)-(2-6)V表示。接口信号電(diàn)平比RS-232-C降低了,就不易损坏接口電(diàn)路的芯片,且该電(diàn)平与TTL電(diàn)平兼容,可(kě)方便与TTL電(diàn)路连接。
2)RS-485的数据最高传输速率為(wèi)10Mbps
3)RS-485接口是采用(yòng)平衡驱动器和差分(fēn)接收器的组合,抗共模干能(néng)力增强,即抗噪声干扰性好。
4)RS-485接口的最大传输距离标准值為(wèi)4000英尺,实际上可(kě)达3000米,另外RS-232-C接口在总線(xiàn)上只允许连接1个收发器,即单站能(néng)力。而RS-485接口在总線(xiàn)上是允许连接多(duō)达128个收发器。即具有(yǒu)多(duō)站能(néng)力,这样用(yòng)户可(kě)以利用(yòng)单一的RS-485接口方便地建立起设备网络。
5)因RS-485接口具有(yǒu)良好的抗噪声干扰性,長(cháng)的传输距离和多(duō)站能(néng)力等上述优点就使其成為(wèi)首选的串行接口。因為(wèi)RS485接口组成的半双工网络,一般只需二根连線(xiàn),所以RS485接口均采用(yòng)屏蔽双绞線(xiàn)传输。RS485接口连接器采用(yòng)DB-9的9芯插头座,与智能(néng)终端RS485接口采用(yòng)DB-9(孔),与键盘连接的键盘接口RS485采用(yòng)DB-9(针)。
二、RS-485串行接口标准
由于RS-485是从RS-422基础上发展而来的,所以RS-485许多(duō)電(diàn)气规定与RS-422相仿。如都采用(yòng)平衡传输方式、都需要在传输線(xiàn)上接终接電(diàn)阻等。RS-485可(kě)以采用(yòng)二線(xiàn)与四線(xiàn)方式,二線(xiàn)制可(kě)实现真正的多(duō)点双向通信。
而采用(yòng)四線(xiàn)连接时只能(néng)实现点对多(duō)的通信,即只能(néng)有(yǒu)一个主(Master)设备,其余為(wèi)从设备,但它比RS-422有(yǒu)改进,无论四線(xiàn)还是二線(xiàn)连接方式总線(xiàn)上可(kě)多(duō)接到32个设备。
RS-485最大传输距离约為(wèi)1219米,最大传输速率為(wèi)10Mb/s。平衡双绞線(xiàn)的長(cháng)度与传输速率成反比,在100kb/s速率以下,才可(kě)能(néng)使用(yòng)规定最長(cháng)的電(diàn)缆長(cháng)度。只有(yǒu)在很(hěn)短的距离下才能(néng)获得最高速率传输。一般100米長(cháng)双绞線(xiàn)最大传输速率仅為(wèi)1Mb/s。
RS-485需要2个终接電(diàn)阻,其阻值要求等于传输電(diàn)缆的特性阻抗。在矩距离传输时可(kě)不需终接電(diàn)阻,即一般在300米以下不需终接電(diàn)阻。终接電(diàn)阻接在传输总線(xiàn)的两端。
三、RS-485的网络安装注意要点
RS-485可(kě)支持32个节点,多(duō)节点构成网络。网络拓扑一般采用(yòng)终端匹配的总線(xiàn)型结构,不支持环形或星形网络。在构建网络时,应注意如下几点:
1、采用(yòng)一条双绞線(xiàn)電(diàn)缆作总線(xiàn),将各个节点串接起来,从总線(xiàn)到每个节点的引出線(xiàn)長(cháng)度应尽量短,以便使引出線(xiàn)中的反射信号对总線(xiàn)信号的影响最低。所示為(wèi)实际应用(yòng)中常见的一些错误连接方式(a,c,e)和正确的连接方式(b,d,f)。a,c,e这三种网络连接尽管不正确,在短距离、低速率仍可(kě)能(néng)正常工作,但随着通信距离的延長(cháng)或通信速率的提高,其不良影响会越来越严重,主要原因是信号在各支路末端反射后与原信号叠加,会造成信号质量下降。
2、应注意总線(xiàn)特性阻抗的连续性,在阻抗不连续点就会发生信号的反射。下列几种情况易产生这种不连续性:总線(xiàn)的不同區(qū)段采用(yòng)了不同電(diàn)缆,或某一段总線(xiàn)上有(yǒu)过多(duō)收发器紧靠在一起安装,再者是过長(cháng)的分(fēn)支線(xiàn)引出到总線(xiàn)。
总之,应该提供一条单一、连续的信号通道作為(wèi)总線(xiàn)。
四、RS-485传输線(xiàn)上匹配的一些说明
对RS-485总線(xiàn)网络一般要使用(yòng)终接電(diàn)阻进行匹配。但在短距离与低速率下可(kě)以不用(yòng)考虑终端匹配。那么在什么情况下不用(yòng)考虑匹配呢(ne)?理(lǐ)论上,在每个接收数据信号的中点进行采样时,只要反射信号在开始采样时衰减到足够低就可(kě)以不考虑匹配。
一般终端匹配采用(yòng)终接電(diàn)阻方法,RS-485应在总線(xiàn)電(diàn)缆的开始和末端都需并接终接電(diàn)阻。终接電(diàn)阻一般在取120Ω。相当于電(diàn)缆特性阻抗的電(diàn)阻,因為(wèi)大多(duō)数双绞線(xiàn)電(diàn)缆特性阻抗大约在100~120Ω。这种匹配方法简单有(yǒu)效,但有(yǒu)一个缺点,匹配電(diàn)阻要消耗较大功率,对于功耗限制比较严格的系统不太适合。
另外一种比较省電(diàn)的匹配方式是RC匹配,利用(yòng)一只電(diàn)容C隔断直流成分(fēn)可(kě)以节省大部分(fēn)功率。但電(diàn)容C的取值是个难点,需要在功耗和匹配质量间进行折衷。
还有(yǒu)一种采用(yòng)二极管的匹配方法,这种方案虽未实现真正的“匹配”,但它利用(yòng)二极管的钳位作用(yòng)能(néng)迅速削弱反射信号,达到改善信号质量的目的。节能(néng)效果显著。
五、RS-485的接地问题
電(diàn)子系统接地是很(hěn)重要的,但常常被忽视。接地处理(lǐ)不当往往会导致電(diàn)子系统不能(néng)稳定工作甚至危及系统安全。RS-485传输网络的接地同样也是很(hěn)重要的,因為(wèi)接地系统不合理(lǐ)会影响整个网络的稳定性,尤其是在工作环境比较恶劣和传输距离较遠(yuǎn)的情况下,对于接地的要求更為(wèi)严格。
六、采用(yòng)RS485接口时,传输電(diàn)缆的長(cháng)度如何考虑?
在使用(yòng)RS485接口时,对于特定的传输線(xiàn)经,从发生器到负载其数据信号传输所允许的最大電(diàn)缆長(cháng)度是数据信号速率的函数,这个長(cháng)度数据主要是受信号失真及噪声等影响所限制。最大電(diàn)缆長(cháng)度与信号速率的关系曲線(xiàn)是使用(yòng)24AWG铜芯双绞電(diàn)话電(diàn)缆(線(xiàn)径為(wèi)0.51mm),線(xiàn)间旁路電(diàn)容為(wèi)52。5PF/M,终端负载電(diàn)阻為(wèi)100欧时所得出。当数据信号速率降低到90Kbit/S以下时,假定最大允许的信号损失為(wèi)6dBV时,则電(diàn)缆長(cháng)度被限制在1200M。在实用(yòng)时是完全可(kě)以取得比它大的電(diàn)缆長(cháng)度。当使用(yòng)不同線(xiàn)径的電(diàn)缆。则取得的最大電(diàn)缆長(cháng)度是不相同的。
七、如何实现RS-485/422多(duō)点通讯
RS-485总線(xiàn)上任何时候只能(néng)有(yǒu)一发送器发送。半双工方式,主从只能(néng)一个发。全双工方式,主站总可(kě)发送,从站只能(néng)有(yǒu)一个发送。
八、RS-485接口通讯时,在什么条件下需要采用(yòng)终端匹配?電(diàn)阻值如何确定?如何配置终端匹配電(diàn)阻?
在長(cháng)線(xiàn)信号传输时,一般為(wèi)了避免信号的反射和回波,需要在接收端接入终端匹配電(diàn)阻。其终端匹配電(diàn)阻值取决于電(diàn)缆的阻抗特性,与電(diàn)缆的長(cháng)度无关。
RS-485一般采用(yòng)双绞線(xiàn)(屏蔽或非屏蔽)连接,终端電(diàn)阻一般介于100至140Ω之间,典型值為(wèi)120Ω。在实际配置时,在電(diàn)缆的两个终端节点上,即最近端和最遠(yuǎn)端,各接入一个终端電(diàn)阻,而处于中间部分(fēn)的节点则不能(néng)接入终端電(diàn)阻,否则将导致通讯出错。
九、RS-485网不知道最遠(yuǎn)站点是哪一个,应该如何接匹配電(diàn)阻呢(ne)?
会出现这种情况,是由于用(yòng)户组成RS-485网时,没有(yǒu)遵循站点至总線(xiàn)的连線(xiàn)应尽可(kě)能(néng)短的原则。如果总線(xiàn)布線(xiàn)遵循这一原则,就不存在不知道哪个站点是最遠(yuǎn)的问题。而且要注意,这样的布線(xiàn),系统将会工作得不好。
十、RS-485接口為(wèi)何在停止通信时接收器仍有(yǒu)数据输出?
由于RS-485在发送数据完成后,要求所有(yǒu)的发送使能(néng)控制信号关闭且保持接收使能(néng)有(yǒu)效,此时,总線(xiàn)驱动器进入高阻状态且接收器能(néng)够监测总線(xiàn)上是否有(yǒu)新(xīn)的通信数据。但是由于此时总線(xiàn)处于无源驱动状态(若总線(xiàn)有(yǒu)终端匹配電(diàn)阻时,A和B線(xiàn)的差分(fēn)電(diàn)平為(wèi)0,接收器的输出不确定,且对AB線(xiàn)上的差分(fēn)信号的变化很(hěn)敏感;若无终端匹配,则总線(xiàn)处于高阻态,接收器的输出不确定),容易受到外界的噪声干扰。当噪声電(diàn)压超过输入信号门限时(典型值±200mV),接收器将输出数据,导致对应的UART接收无效的数据,使紧接着的正常通讯出错;另外一种情况可(kě)能(néng)发生在打开/关闭发送使能(néng)控制的瞬间,使接收器输出信号,也会导致UART错误地接收。
解决方法:
1)在通讯总線(xiàn)上采用(yòng)同相输入端上拉(A線(xiàn))、反相输入端下拉(B線(xiàn))的方法对总線(xiàn)进行钳位,保证接收器输出為(wèi)固定的“1”電(diàn)平;
2)采用(yòng)内置防故障模式的MAX308x系列的接口产品替换该接口電(diàn)路;
3)通过软件方式消除,即在通信数据包内增加2-5个起始同步字节,只有(yǒu)在满足同步头后才开始真正的数据通讯。
十一、影响RS-485总線(xiàn)通讯速度和通信可(kě)靠性的三个因素
1、在通信電(diàn)缆中的信号反射
在通信过程中,有(yǒu)两种信号因导致信号反射:阻抗不连续和阻抗不匹配。阻抗不连续,信号在传输線(xiàn)末端突然遇到電(diàn)缆阻抗很(hěn)小(xiǎo)甚至没有(yǒu),信号在这个地方就会引起反射,如图1所示。
这种信号反射的原理(lǐ),与光从一种媒质进入另一种媒质要引起反射是相似的。消除这种反射的方法,就必须在電(diàn)缆的末端跨接一个与電(diàn)缆的特性阻抗同样大小(xiǎo)的终端電(diàn)阻,使電(diàn)缆的阻抗连续。由于信号在電(diàn)缆上的传输是双向的,因此,在通讯電(diàn)缆的另一端可(kě)跨接一个同样大小(xiǎo)的终端電(diàn)阻从理(lǐ)论上分(fēn)析,在传输電(diàn)缆的末端只要跨接了与電(diàn)缆特性阻抗相匹配的终端電(diàn)阻,就再也不会出现信号反射现象。
但是,在实现应用(yòng)中,由于传输電(diàn)缆的特性阻抗与通讯波特率等应用(yòng)环境有(yǒu)关,特性阻抗不可(kě)能(néng)与终端電(diàn)阻完全相等,因此或多(duō)或少的信号反射还会存在。
引起信号反射的另个原因是数据收发器与传输電(diàn)缆之间的阻抗不匹配。这种原因引起的反射,主要表现在通讯線(xiàn)路处在空闲方式时,整个网络数据混乱。
信号反射对数据传输的影响,归根结底是因為(wèi)反射信号触发了接收器输入端的比较器,使接收器收到了错误的信号,导致CRC校验错误或整个数据帧错误。
十二、RS-485总線(xiàn)的负载能(néng)力和通讯電(diàn)缆長(cháng)度之间的关系
在设计RS-485总線(xiàn)组成的网络配置(总線(xiàn)長(cháng)度和带负载个数)时,应该考虑到三个参数:纯阻性负载、信号衰减和噪声容限。纯阻性负载、信号衰减这两个参数,在前面已经讨论过,现在要讨论的是噪声容限(NoiseMargin)。RS-485总線(xiàn)接收器的噪声容限至少应该大于200mV。前面的论述者是在假设噪声容限為(wèi)0的情况下进行的。
在实际应用(yòng)中,為(wèi)了提高总線(xiàn)的抗干扰能(néng)力,总希望系统的噪声容限比EIARS-485标准中规定的好一些。因此,在选定了驱动器的RS-495总線(xiàn)上,在通信波特率一定的情况下,带负载数的多(duō)少,与信号能(néng)传输的最大距离是直接相关的。
在总線(xiàn)允许的范围内,带负载数越多(duō),信号能(néng)传输的距离就越小(xiǎo);带负载数据少,信号能(néng)传输的距离就发越遠(yuǎn)。