您的位置:控制工程论坛网论坛 » 现场总线 » RS422/RS485总线模型分析与应用

jnzhlf

jnzhlf   |   当前状态:在线

总积分:2642  2024年可用积分:0

注册时间: 2006-12-25

最后登录时间: 2012-12-29

空间 发短消息加为好友

RS422/RS485总线模型分析与应用

jnzhlf  发表于 2008/11/12 22:18:37      739 查看 0 回复  [上一主题]  [下一主题]

手机阅读

0 引言

  RS422/RS485总线接口作为多点、差分数据传输的电气规范,现已成为业界应用较为广泛的标准通信接口之一。RS422/RS485标准只对接口的电气特性做出了规定,而不涉及接插件、电缆或协议,因此,用户可在此基础上建立自己的高层通信协议。

1 基本原理

  RS422/RS485标准的全称为TIA/EIA-422-B和TIA/EIA-485串行通信标准。它们的数据信号均采用差分传输方式,也称作平衡传输。这两者在电气特性上非常接近,不同之处只是传输方式的不同。

  RS485的典型工作方式如图1所示。RS485典型的驱动器使用一对双绞线,并将其中的一线定义为A,另一线定义为B。两线工作时采用半双工通信方式,其工作状态(发送状态和接收状态)由使能控制信号决定。
  

  一般情况下,驱动器的A、B间的正电平电压为+2~+6 V时代表一个逻辑状态;A、B之间的负电平在-6~-2 V时代表另外一个逻辑状态。另外还有一个信号地C。事实上,在很多情况下,都会忽视信号地的连接。这里建议采用经过处理的低阻通路把信号地连接起来,以增加其共模抗干扰能力并减少电磁辐射。“使能”控制信号E用于驱动器与传输线的切断和连接,当ENABLE起作用时,发送器处于高阻状态,称作“第三态”,它是有别于逻辑“1”与“0”的第三种状态。

  接收器与驱动器的规定相似,其收、发端均可通过平衡双绞线将A-A与B-B对应相连。当接收端A、B之间有大于+200 mV的电平时,输出为正逻辑电平;小于-200 mV时,输出为负逻辑电平。在接收器的接收平衡线上,电平范围通常是在200 mV~6 V之间。

  一般可定义逻辑1(正逻辑电平)为B>A的状态,逻辑0(负逻辑电平)为A>B的状态,A、B之间的压差不小于200 mV。

  RS485的四线工作状态和RS422的四线工作状态基本一致,从物理的角度上讲,RS422相当于两个RS485同时工作,一个工作于接收状态,一个工作于发送状态。

2 信号分析

  根据以上说明,这里对RS422/RS485的传输特性建立一个信号分析模型,因为RS485更具有代表性,所以采用RS485作为分析对象。RS485是典型的信号处理标准,其传递函数模型如图2所示。
  

  根据图2规范设计定义域时,D可代表微处理器输出的数字信号(TTL电平或者CMOS电平),其逻辑信号的取值空间为{0,1};Dr代表微处理器接收的数字信号(TTL电平或者CMOS电平),其逻辑信号的取值空间为{0,1};E,EN为使能信号。驱动器和接收器与传输线的连接关系(高电平或者低电平有效控制)存在两种情况:定义ENABLE为连接有效状态,DISABLE为未连接状态,取值空间为{ENABLE,DISABLE}。在RS485通信标准中,一般情况下,E、EN若一个有效则另一个禁止,而RS422则两个均为有效;A,B为驱动器与传输线的接口电压,其规范定义为(-6V,+6V);Ar,Br为接收器与传输线接口的电压。为了实现RS422/RS485的接口兼容,这里应定义为(-7V,+10V)。实际上,驱动器传递函数定义中有四种可满足RS485通信标准的情况:

  D=1,E=DISABLE时,输出A,B状态为未定;

  D=0,E=DISABLE时,输出A,B状态为未定;

  D=1,E=ENABLE时,输出B-A>2V,且A,B∈(6V,+6V);

  D=0,E=ENABLE时,输出A-B>2V,且A,B∈(6V,+6V)。

  所以,能够实现上面传递函数的所有电路均可作为RS485的驱动器参考设计,当然,还需要满足其输入输出特性。

  从接收器传递函数的定义可以把接收器分成两类,其一是EN=DIABLE,这相当于驱动器没有挂载在总线上(可以认为不存在)。其二是EN=ENABLE,此时又存在两种正常工作情况,一是输出Dr=1时,Br-Ar>200 mV;二是输出Dr=0时,Ar-Br>200 mV。

  为了满足接收器正常工作的需要,操作时还需要考虑以下几种情况:

  (1)Ar、Br的电压范围应该严格限制在-7~10V,否则可能损坏器件。一般采用稳压的二极管网络来实现电压的限制。

  (2)当|Ar-Br|<200 mV时,接收器数据的判别。一般可采用电阻网络,将Ar通过10 kΩ的电阻接在VCC上,而将Br通过10 kΩ的电阻接在GROUND上,这样,当总线上没有信号传输的时候,即可保持Ar的电平为3.2 V左右,Br的电平大约为1.6 V,这样,即使有干扰信号,也很难产生串行通信的其始信号0。

  (3)一般情况下,为了减少线路上传输信号的反射,可在RS422总线电缆的远端并接1个100Ω电阻,并应在RS485网络传输线的始端和末端各接1个120 Ω的匹配电阻。

3 工程实现

  根据以上分析,这里给出一个RS422/RS485兼容的实际应用电路,其具体电路如图3所示。
 

  图3电路中采用的芯片为MAX491ESD。当用MAX491ESD进行RS422通信时,应把跳线帽安装在JP2的管脚2和管脚1上,JP1和JP3跳线帽去掉;而当其作为RS485通信的时候,则应把跳线帽安装在JP2的管脚2和管脚3上,JP1和JP3加上跳线帽,从而构成两个节点的RS485网络。稳压管D1,D2的作用是把A的电压牢牢限制在-7V~+12V,以有效保护RS422/RS485网络。增加D3和D8的目的主要是为了防止浪涌电压。这个实际电路是以信号分析模型作为指导的依据建立起来的,可以在实际的测试和运行中满足预期要求。

4 结束语

  本文从信号处理的角度分析了RS422/RS485网络的硬件构成,并将其抽象为一个信号处理分析模型,从而给出相应的传递函数和定义域。

1楼 0 0 回复