摘要:RS-232或许是PC和电信应用中最成功的串行数据标准;RS-485和RS-422则是工业应用中最成功的标准。这些标准并不是直接兼容的,但是在控制场合和仪表应用中,常常需要在它们之间进行数据通讯。本文介绍了这些标准的内在含义、两种标准接口之间的转换以及如何在一个特定的应用中融合。
关键词:RS-232
RS-422 RS-485 串行接口
RS-232串行接口
RS-232最初只是用在IBM-PC中支持调制解调器和打印机连接,现在已广泛用于支持不同的外设和PC之间的通讯,它被定义为一种在低速率(最高为20kbps)串行通讯中增加通讯距离的单端标准。多年来,该标准一直被修订以适应更快的驱动器,比如MAX3225,它的数据速率可达1Mbps。为了适应RS-232的标准,像MAX3225这样的收发器必须满足表一所列的主要电气规范。
表1 RS-232 主要电气规范
参数 | 条件 | 最小值 | 最大值 | 单位 |
驱动器开路输出电压 | 25 | V | ||
驱动器带载输出电压 | 3kΩ |
±5 | ±15 | V |
电源关断时驱动器输出电阻 | -2V |
300 |
Ω |
|
摆率 | 4 | 30 | V/μS | |
最大负载电容 | 2500 | pF | ||
接收器输入电阻 | 3 | 7 | kΩ | |
接收器输入阀值 Output=1 Output=0 |
-3 |
3 |
V |
典型的RS-232信号在正负电平之间摆动。虽然RS-232的数据是反相的,但从TTL电平到RS-232电平再返回到TTL电平的转换过程又恢复了初始的极性。典型的RS-232传送距离不超过100英尺,原因是:发送电平(±5V)和接收电平(±3V)的差仅允许2V的共模抑制;电缆上的分布电容由于超过了规定的负载(2500pF)从而降低了摆率。
因为RS-232设计为点到点而不是多点接口,它的驱动器指定负载为单个3~7kΩ。如果必要的话,采用菊花链原理可实现多点接口(如图1)。
在菊花链配置中,RS-232信号先进入一个接收器,再送到一个发送器中驱动下一个单元。对这种技术而言,电缆的断裂是一个主要问题。例如,发生在从机1和2之间的断裂将使得所有后续设备不能发送和接收数据。利用预缓冲或加强RS-232的输出驱动能力(让它能够驱动多个并行的5 kΩ输入负载)、或者切换输入负载也可实现多点RS-232通讯,此外,将RS-232的RX和TX信号转换为RS-422信号同样能够实现RS-232的多点通讯。
RS-422/RS485串行接口
RS-422是一个差分标准(参见表2),允许传送更远的距离。RS-422的高输入电阻和它更强的驱动能力,允许总线上连接多个节点(如图2)。RS-422的另外一个好处是有单独的发送和接收通道,因此不必要控制数据方向。装置之间任何必需的信号交换可以按软件方式(XON/XOFF信号交换)或硬件方式(一对单独的双绞线)实现。
表2 RS-422 主要规范
参 数 | 条 件 | 最小值 | 最大值 | 单 位 |
驱动器开路输出电压 | ±10 | V | ||
驱动器带载输出电压 | RL=100Ω | 2 -2 |
V | |
驱动器输出电阻 | A to B | 100 | Ω | |
驱动器输出短路电流 | Per output to Common | 150 | mA | |
驱动器输出上升时间 | RL=100Ω | 10 | %of位宽 | |
驱动器共模电压 | RL=100Ω | ±3 | V | |
接收器灵敏度 | VCM≤±7V | ±200 | mV | |
接接器共模电压范围 | -7 | 7 | V | |
接收器输入电阻 | 4000 | Ω | ||
差分接收器电压 | Operational | ±10 | V | |
Withstand | ±12 | V |
很多人常常认为RS-422是RS-485的全双工版本,事实上,它们在电气特性上存在差异,共模电压范围和接收器输入电阻不同使得这两个标准适用于不同的应用。RS-485的驱动器可以用在RS-422的应用中,因为RS-485满足所有的RS-422规范(参见表3),反之则不成立。对于RS-485驱动器,共模电压的输出范围是-7V和+12V之间;对于RS-422驱动器,这个指标只有±7V。RS-422接收器的最小输入电阻是4kΩ;而RS-485的最小输入电阻则是12 kΩ。
表3 RS-485 主要规范
参 数 | 条 件 | 最小值 | 最大值 | 单 位 |
驱动器开路输出电压 | 1.5 -1.5 |
6 -6 |
V V |
|
驱动器带载输出电压 | RL=100Ω | 1.5 -1.5 |
5 -5 |
V V |
驱动器输出短路电流 | Per output to Common | ±250 | mA | |
驱动器输出上升时间 | RL=54 Ω CL=50 pF |
30 | % of bit width | |
驱动器共模电压 | RL=54 Ω | ±3 | V | |
接收器灵敏度 | -7V≤VCM≤12V | ±200 | mV | |
接收器共模电压范围 | -7 | 12 | V | |
接收器输入电阻 | 12 | kΩ |
由于能够减少布线成本和实现较长的传输距离,RS-485被广泛应用于POS、工业和电信领域,较高的输入电阻允许多个节点连接到总线上。差分RS-485传输信号在双绞线上极性相反,因为在每根线上的磁场互相抵消,从而将EMI减到了最小。然而当信号在一根长电缆上传输或是有很高的数据速率时,电缆将呈现传输线的特性。在此情形下,必须按其特征阻抗进行终端匹配(图三中的100Ω电阻)。在RS-485系统实现的过程中,如果接收器同相输入(A)电平比接收器反相输入(B)电平高出200mV或更多,RS-485的接收器输出为“1”, 如果B电平比A电平高出200mV或更多,RS-485的接收器输出为“0”。在一个半双工的RS-485网络中,主机的收发器发送完一个信息给从机后将总线置为三态,没有任何信号驱动总线,使A和B之间的电平差趋于0,此时接收器的输出状态不确定。如果接收器的输出(RO)是“0”的话,从机将把其解释为一个新的启动位并且试图读取后续字节。由于永远不会有停止位,这就产生一个帧错误结果。不再有设备请求总线,网络将陷入瘫痪状态。
不同厂家的芯片对0V的差分电压输入会产生不同的RO输出,批量生产过程中造成某些节点失效。可以像图三那样对总线进行偏置来解决这个问题,将A、B信号单独上拉(用一个电阻将A上拉到5V,将B下拉到地),具体的电阻值随电缆的电容变化而改变,典型值为1 kΩ。偏置可以确保在总线为三态时接收器的输出为“1”。或者使用具有“失效保护"特性的MAX3080系列产品,为了保证在0V差分电压输入时RO的输出为“1”,这些器件接收器的阀值电平被调整为-50mV。
构建转换器
在RS-232转换为RS-485的电路中,通用的方法是用RTS信号控制总线的方向,RS-232中的这个信号控制着RS-485收发器的使能端。如果不对RS-485驱动器的输入端(DI)进行监视,就不能肯定在UART发送缓冲器中一个字节已被送出。这就意味着在使用DE引脚切换总线方向之前必须考虑一个固定的延时或是主动地监视DI的输入。
许多RS-232/RS-485转换器采用端口供电的方法,RS-485的电源从RS-232的RTS信号线上抽取(有时也把RTS和CTS(DSR)合起来用)。因为从RS-232获取的电源是有限的,当把使用端口供电的转换器用在100Ω终端匹配的RS-485网络中时,RS-485的输出电压会达不到标称值。不过,200mV的接收器阀值提供了相当不错的容错裕度。在那些短距离、A-B线无终端匹配的系统中,这种技术是可以接受的,采用Maxim的MAX3162可以实现RS-232与RS-485之间的转换。
上一篇:在衰落移动信道中国象传输的神经网络译码方法
下一篇:Internet音频技术概述
- 热门资源推荐
- 热门放大器推荐