DIY编程器网

标题: RS-485串行数据通信协议及其应用 [打印本页]

作者: admin    时间: 2014-10-11 14:27
标题: RS-485串行数据通信协议及其应用
概述
  串行数据通信的协议从RS-232到千兆位以太网,虽然每种协议都有特定的应用领域,但任何情况下我们都必须考虑成本和物理层(PHY)性能。本文主要介绍RS-485协议及该协议所适合的应用。同时给出了根据电缆长度、系统设计以及元件选择来优化数据速率的方法。
传输协议
  什么是RS-485?Profibus又是什么?与其它串行协议相比,它们的性能如何?适用于哪些应用?为了回答这些问题,我们对RS-485物理层(PHY)、RS-232和RS-422的特性、功能进行了总体比较[1] (本文中的RS表示ANSI EIA/TIA标准)。
  RS-232是一个最初用于调制解调器、打印机及其它PC外设的通讯标准,提供单端20kbps的波特率,后来速率提高至1Mbps。RS-232的其它技术指标包括:标称±5V发送电平、±3V接收电平(间隔/符号)、2V共模抑制、2200pF最大电缆负载电容、300 最大驱动器输出电阻、3k最小接收器(负载)阻抗、100英尺(典型值)最大电缆长度。RS-232只用于点对点通信系统,不能用于多点通信系统,所有RS-232系统都必须遵从这些限制。
  RS-422是单向、全双工通信协议,适合嘈杂的工业环境。RS-422规范允许单个驱动器与多个接收器通信,数据信号采用差分传输方式,速率最高可达50Mbps。接收器共模范围为±7V,驱动器输出电阻最大值为100,接收器输入阻抗可低至4k。
RS-485标准
  RS-485是双向、半双工通信协议,允许多个驱动器和接收器挂接在总线上,其中每个驱动器都能够脱离总线。该规范满足所有RS-422的要求,而且比RS-422稳定性更强。具有更高的接收器输入阻抗和更宽的共模范围(-7V至+12V)。
  接收器输入灵敏度为±200mV,这就意味着若要识别符号或间隔状态,接收端电压必须高于+200mV或低于-200mV。最小接收器输入阻抗为12k,驱动器输出电压为±1.5V (最小值)、±5V (最大值)。
  驱动器能够驱动32个单位负载,即允许总线上并联32个12k的接收器。对于输入阻抗更高的接收器,一条总线上允许连接的单位负载数也较高。RS-485接收器可随意组合,连接至同一总线,但要保证这些电路的实际并联阻抗不高于32个单位负载(375)。
  采用典型的24AWG双绞线时,驱动器负载阻抗的最大值为54,即32个单位负载并联2个120终端匹配电阻。RS-485已经成为POS、工业以及电信应用中的最佳选择。较宽的共模范围可实现长电缆、嘈杂环境(如工厂车间)下的数据传输。更高的接收器输入阻抗还允许总线上挂接更多器件。
  Profibus和Fieldbus[2]总线主要用于工业设备,是RS-485总线的扩展。用于工业环境的传感器测量、激励控制、数据采集/显示以及过程控制系统与传感器、激励源网络之间的数据通信。
注意:老式或现有的工业设备布线架构比较复杂,不可替换
  Profibus和Fieldbus是对系统的整体描述。RS-485支持Profibus和Fieldbus协议的物理层接口标准。Profibus与Fieldbus存在细微的差异,Profibus要求2.0V的最小差分输出电压,54的负载电阻;Fieldbus则要求1.5V的最小差分输出电压,54的负载电阻。Profibus传输速率为12Mbps,Fieldbus的传输速率为500kbps。Profibus应用对摆率和电容容限要求比较严格。
最适合的应用领域?
哪些因素限制了RS-485的数据速率?
在指定的传输距离下,下列因素限制了传输速率:
经验数据
  了解了以上相关的背景知识,接下来我们研究一个实际系统,如图1所示。图中所示电缆是RS-485系统最为常用的一种:EIA/TIA/ANSI 568 5类双绞线。在长度为300英尺至900英尺的电缆上可以获得的数据速率为1Mbps至35Mbps。

图1. 测试装置
  系统设计人员经常从两个不同厂商选择驱动器和接收器,多数设计人员最关注的是RS-485驱动器的传输距离和速度。Maxim驱动器(这里指MAX3469)与其它制造商的驱动器性能比较如图2、图3所示。

图2. 在特定比特率、电缆长度下的抖动特性,抖动是在±100mV差分信号下测量的

图3. 在特定比特率、电缆长度下的抖动指标,抖动是在0V差分信号下测量的
  通过观察驱动器的差分输出信号的完整性,利用示波器确定80mV与-400mV之间的翻转门限(由于接收器具有200mV至-200mV的输入范围和噪声裕量,因此选取这一门限范围)。然后,当脉冲(比特)开始“传送”时,用眼图确定失真度、噪声以及码间干扰(ISI)。
  ISI指标限制了比特率,以保证系统能够在脉冲之间识别出传输数据。对图1电路的测试结果表明翻转门限与眼图模板之间具有相关性。该眼图模板存在50%的抖动,按照National Semiconductor的应用笔记#977[3]所介绍的方法进行测量。测量0V差分信号和±100mV差分信号下的抖动,得到图4和图5所示数据。

图4. Maxim的MAX3469与其它RS-485驱动器件的眼图对比[4]

图5. MAX3469的眼图
  对于一个点到点通信系统,从±100mV差分信号(图4)或0V差分信号(图5)下的测试结果可以看出比特率与电缆长度的关系。+100mV和-100mV门限能够正确切换差分信号大于200mV的信号,因此,该门限值可确保接收器正确接收数据(图5数据仅适用于可在0V差分输入下切换的理想接收器)。
眼图和故障模式
  采用340英尺的5类电缆,图2给出了39Mbps传输速率下的驱动器输出眼图,图中,信号从“眼”的中间穿过 - 这种情况表明可能出现误码。然而,在相同数据速率下,Maxim公司的器件不会出现这种情况(图3)。Maxim的收发器具有对称的输出边沿和较低的输入电容,性能良好。
  采用上述测试对两款驱动器进行比较。当数据速率较高、电缆较长时,Maxim驱动器的性能更出色。图5给出点对点网络中Maxim器件的传输速率和距离的估计值。根据经验,所产生的误码大致符合50%抖动极限的要求。
各方研究数据
  在工业领域,通常可接受的传输距离和数据速率的最大值分别为4000英尺和10Mbps,当然这两个值不能同时满足。然而,利用最新器件和精细的系统设计,可在较长的电缆下实现较高的数据吞吐率。
  预加重[5]是一种改善数据速率与距离间关系的技术,可用于RS-485通信(图6)。采用1700英尺电缆,工作在1Mbps固定数据速率,没有预加重驱动器或均衡接收器的RS-485收发器通常具有10%的抖动。在相同速率下,增加驱动器预加重可使距离加倍,达到3400英尺,而且不会提高抖动。同样,距离一定时采用预加重能提高数据速率。速率为400kbps,电缆长度为4000英尺时,无预加重的驱动器通常具有10%的抖动。而采用预加重可使该距离下的传输速率提升至800kbps。

图6. 数据速率与电缆长度的关系图
  另一种估算可靠传输的最大电缆长度的方法是:利用5类电缆制造商提供的幅度衰减与频率的关系表。根据通用规则,电缆工作时最大允许的信号衰减是-6dBV。该数值结合厂家提供的衰减数据,计算出给定频率下的最大电缆长度。
应用技巧
RS-485收发器具有多种改善系统性能的特性:

图7. 单发/单收网络

图8. 多机收发网络
结论
  综上所述,RS-485网络可在噪声环境下实现可靠的数据传输。设计系统时需要对数据速率、电缆长度进行折衷考虑,能够在几百米长的电缆上实现高于50Mbps的数据速率,而不需使用任何中继器。




欢迎光临 DIY编程器网 (http://diybcq.com./) Powered by Discuz! X3.2