原创 RS232与RS485接口的区别及各自特点以及在使用中应注意事项

2008-3-20 16:41 4738 7 7 分类: 通信

1. 什么是RS-232-C接口?采用RS-232-C接口有何特点?传输电缆长度如何考虑?
      答:计算机与计算机或计算机与终端之间的数据传送可以采用串行通讯和并行通讯二种方式。由于串行通讯方式具有使用线路少、成本低,特别是在远程传输时,避免了多条线路特性的不一致而被广泛采用。
      在串行通讯时,要求通讯双方都采用一个标准接口,使不同的设备可以方便地连接起来进行通讯。 RS-232-C接口(又称 EIA RS-232-C)是目前最常用的一种串行通讯接口。它是在1970年由美国电子工业协会(EIA)联合贝尔系统、调制解调器厂家及计算机终端生产厂家共同制定的用于串行通讯的标准。它的全名是"数据终端设备(DTE)和数据通讯设备(DCE)之间串行二进制数据交换接口技术标准",该标准规定采用一个25个脚的DB25连接器,对连接器的每个引脚的信号内容加以规定,还对各种信号的电平加以规定。一般只使用3-9条引线。RS-232-C最常用的9条引线的信号内容见附表1所示
                              附表1
      引脚序号 信号名称        符号 流向         功能
            2  发送数据        TXD  DTE→DCEDTE  发送串行数据
            3  接收数据        RXD  DTE←DCEDTE  接收串行数据
            4  请求发送        RTS  DTE→DCEDTE  请求DCE将线路切换到发送方式
            5  允许发送        CTS  DTE←DCEDCE  告诉DTE线路已接通可以发送数据
            6  数据设备准备好  DSR  DTE←DCEDCE  准备好
            7  信号地信号                        公共地
            8  载波检测        DCD  DTE←DCE     表示DCE接收到远程载波
            20 数据终端准备好  DTR  DTE→DCE     DTE准备好
            22 振铃指示        RI   DTE←DCE     表示DCE与线路接通,出现振铃
      (1) 接口的电气特性
          在RS-232-C中任何一条信号线的电压均为负逻辑关系。即:逻 辑"1",-5- -15V;逻辑"0" +5- +15V。噪声容限为2V。即 要求接收器能识别低至+3V的信号作为逻辑"0",高到-3V的信号 作为逻辑"1"
      (2) 接口的物理结构
          RS-232-C接口连接器一般使用型号为DB-25的25芯插头座,通常插头在DCE端,插座在DTE端.
      一些设备与PC机连接的RS-232-C接口,因为不使用对方的传送控制信号,只需三条接口线,即"发送数据"、"接收数据"和"信号地"。所以采用DB-9的9芯插头座,传输线采用屏蔽双绞线。
      (3) 传输电缆长度
      由RS-232C标准规定在码元畸变小于4%的情况下,传输电缆长度应为50英尺,其实这个4%的码元畸变是很保守的,在实际应用中,约有99%的用户是按码元畸变10-20%的范围工作的,所以实际使用中最大距离会远超过50英尺,美国DEC公司曾规定允许码元畸变为10%而得出附表2
      的实验结果。其中1号电缆为屏蔽电缆,型号为DECP.NO.9107723 内有三对双绞线,每对由22# AWG组成,其外覆以屏蔽网。2号电缆为不带屏蔽的电缆。型号为DECP.NO.9105856-04是22#AWG的四芯电缆。
                       附表2 DEC 公司的实验结果
            波特率  1号电缆传输距离(英尺)2号电缆传输距离(英尺)
            110     5000                   3000
            300     5000                   3000
            1200    3000                   3000
            2400    1000                   500
            4800    1000                   250
            9600    250                    250



2. 什么是RS-485接口?它比RS-232-C接口相比有何特点?
          答: 由于RS-232-C接口标准出现较早,难免有不足之处,主要有以下四点:
      (1) 接口的信号电平值较高,易损坏接口电路的芯片,又因为与TTL 电平不兼容故需使用电平转换电路方能与TTL电路连接。
      (2) 传输速率较低,在异步传输时,波特率为20Kbps。
      (3) 接口使用一根信号线和一根信号返回线而构成共地的传输形式, 这种共地传输容易产生共模干扰,所以抗噪声干扰性弱。
      (4) 传输距离有限,最大传输距离标准值为50英尺,实际上也只能 用在50米左右。
          针对RS-232-C的不足,于是就不断出现了一些新的接口标准,RS-485就是其中之一,它具有以下特点:
      (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接口的最大传输距离标准值为4000英尺,实际上可达 3000米,另外RS-232-C接口在总线上只允许连接1个收发器,即单站能力。而RS-485接口在总线上是允许连接多达128个收发器。即具有多站能力,这样用户可以利用单一的RS-485接口方便地建立起设备网络。
      (5) 因RS-485接口具有良好的抗噪声干扰性,长的传输距离和多站能力等上述优点就使其成为首选的串行接口。
      因为RS485接口组成的半双工网络,一般只需二根连线,所以RS485接口均采用屏蔽双绞线传输。
      RS485接口连接器采用DB-9的9芯插头座,与智能终端RS485接口采用DB-9(孔),与键盘连接的键盘接口RS485采用DB-9(针)。


3. 采用RS485接口时,传输电缆的长度如何考虑?
          答: 在使用RS485接口时,对于特定的传输线经,从发生器到负载其数据信号传输所允许的最大电缆长度是数据信号速率的函数,这个长度数据主要是受信号失真及噪声等影响所限制。下图所示的最大电缆长度与信号速率的关系曲线是使用24AWG铜芯双绞电话电缆(线径为0。51mm),线间旁路电容为52。5PF/M,终端负载电阻为100欧 时所得出。(曲线引自GB11014-89附录A)。由图中可知,当数据信号速率降低到90Kbit/S以下时,假定最大允许的信号损失为6dBV时, 则电缆长度被限制在1200M。实际上,图中的曲线是很保守的,在实用时是完全可以取得比它大的电缆长度。 当使用不同线径的电缆。则取得的最大电缆长度是不相同的。例如:当数据信号速率为600Kbit/S时,采用24AWG电缆,由图可知最 大电缆长度是200m,若采用19AWG电缆(线径为0。91mm)则电缆长度将可以大于200m; 若采用28AWG 电缆(线径为0。32mm)则电缆 长度只能小于200m。


4、如何实现RS-485/422多点通讯
          答:RS-485总线上任何时候只能有一发送器发送。半双工方式,主从只能一个发。全双工方式,主站总可发送,从站只能有一个发送。(靠和DE控制)


5、有的系统采用MAX483时运行正常,后来改用MAX1480B,发现不能正常运行,应考虑什么问题?
          答:若检查并确认电路按Data book连接无误情况下,主要应考虑MAX1480B的驱动器使能时间远大于MAX483。MAX1480B驱动器使能时间最大达100μs(典型值为35μs)。所以,MAX1480B从收态转为发送时,在发送数据前应有足够的延时,以保证驱动器有效之后,才发送数据。


6、有些用户问,根据RS-485网的要求,匹配电阻应接在最远的站点上。但实际线路连接之后,不知道最远站点是哪一个,应该如何接匹配电阻呢?
      答:会出现这种情况,是由于用户组成RS-485网时,没有遵循站点至总线的连线应尽可能短的原则。如果总线布线遵循这一原则,就不存在不知道哪个站点是最远的问题。而且要注意,这样的布线,系统将会工作得不好。
      下图(a)在站点(1)离总线很远的情况下是不正确的连接方法,应改为图(b)的接线法。



7、曾有一客户反映,他们购买的MAX1480B中,有一些工作不正常。
      答:我们对工作不正常的芯片进行抽检,发现这些片子接收器输出端至电源端(Vcc)按标准接3kΩ电阻时,接收器输出低电平时电压偏高,可以达到2V多,甚至接近3V。对于能正常工作的芯片,有的低电平也可达1.6V左右。碰到这种情况,可以建议用户增大该电阻的值,例如增大到10kΩ。


8、某用户的一种产品采用RS-485通讯接口,由于485的通讯距离有限,问是否有适当的方法(比如类似于"中继器"的产品或元件)可以将485的通讯距离延长至10公里左右。
      答:有,很多生产工控设备的厂商皆有类类似于"中继器"的产品,例如:ADVANTECH的ADAM-4510,ADAM4510S,其最多可连8个即距离可达1.2x8=9.6km,另外,还可考虑用光纤来传输信号,这样传输距离会更长一些。


9、"RS-485"是否与"半双工"等同?
      答:否,RS-485接口可连接成半双工和全双工两种通信方式,半双工通信芯片有SN75176,SN751276,SN75LBC184,MAX485,MAX1478,MAX3082,MAX1483,全双工通信的有:SN75179,SN75180,MAX488-491,MAX1482 等。


10、 MAX488/MAX490在点对点通信中工作很正常,为何在点对多点通信时无法正常通信?
      答:由于MAX488/MAX490没有发送使能控制,因而其输出无法处于高阻态,当多个输出被连接在一起时(即点对多点通信时),差分输出信号线被多个发送器驱动(通常为TXD=1对应的电平状态);当某个节点开始通信,且发送TXD=0对应的差分电平时,A,B两线上将形成很大的短路电流,若长时间工作,则接口芯片将损坏;而这种情况不会在点对点通信中发生,且不会出现在点对多点通信中的处于点的一方,这也是象MAX488/MAX490以及其它一些没有发送使能控制的接口的适用范围。以上是造成这个问题的原因,当然,类似情况也会出现在那些带使能控制而软件没有编程控制使能的接口芯片中。


11、RS-485/RS-422接口为何在停止通信时接收器仍有数据输出?
      答:由于RS-485/RS-422在发送数据完成后,要求所有的发送使能控制信号关闭且保持接收使能有效,此时,总线驱动器进入高阻状态且接收器能够监测总线上是否有新的通信数据。但是由于此时总线处于无源驱动状态(若总线有终端匹配电阻时,A和B线的差分电平为0,接收器的输出不确定,且对AB线上的差分信号的变化很敏感;若无终端匹配,则总线处于高阻态,接收器的输出不确定),容易受到外界的噪声干扰。当噪声电压超过输入信号门限时(典型值±200mV),接收器将输出数据,导致对应的UART接收无效的数据,使紧接着的正常通讯出错;另外一种情况可能发生在打开/关闭发送使能控制的瞬间,使接收器输出信号,也会导致UART错误地接收。解决方法:1)在通讯总线上采用同相输入端上拉(A线)、反相输入端下拉(B线)的方法对总线进行钳位,保证接收器输出为固定的"1"电平;2)采用内置防故障模式的MAX308x系列的接口产品替换该接口电路;3)通过软件方式消除,即在通信数据包内增加2-5个起始同步字节,只有在满足同步头后才开始真正的数据通讯。


12、RS-485/RS422接口通讯时,在什么条件下需要采用终端匹配?电阻值如何确定?如何配置终端匹配电阻?
      答:在长线信号传输时,一般为了避免信号的反射和回波,需要在接收端接入终端匹配电阻。其终端匹配电阻值取决于电缆的阻抗特性,与电缆的长度无关。RS-485/RS-422一般采用双绞线(屏蔽或非屏蔽)连接,终端电阻一般介于100至140Ω之间,典型值为120Ω。在实际配置时,在电缆的两个终端节点上,即最近端和最远端,各接入一个终端电阻,而处于中间部分的节点则不能接入终端电阻,否则将导致通讯出错。


13、为什么RS-232通信接口容易损坏?
      答:RS-232接口标准是一种广泛的普及标准但此标准推出较早,在现代金融,保险,电信,电子化网络已暴露出明显的问题。一是:两串口设备间收发信号不隔离,经过较长电缆,且直接连一起,信号线上有直流电位差,使信号线易受外界干扰。另一个是:传输距离短一般为15米,即使在理想的条件下,电缆长度也不会超过60米。又因为多用户卡往往要接若干个终端,且串口数据线通过多用户卡都彼此相连,形成一个极易吸收干扰信号的网状天线。由于上述问题的存在,导致RS-232串口数据线对电压浪涌特别敏感。目前,非交流电源线路的浪涌所引起的损害占据全部浪涌损害的一大部分。仅仅几十伏的小幅度瞬变过程就可以通过串行端口毁坏计算机的主板、终端的RS-232的接口,其后果是:硬件损坏,数据丢失,通讯中断,以及由此引起停机所导致的损失。

文章评论0条评论)

登录后参与讨论
我要评论
0
7
关闭 站长推荐上一条 /2 下一条