RS-232、RS-422及RS-485串行数据标准的选择及使用

时间:2023-06-26

   “标准的奇妙之处在于有如此之多的选择。”这句话出现在近关于光缆的会议中,但同样也适用于电气接口标准。随着不同行业内串行数据标准的独立发展,我们拥有的标准从未如此之多。

    PC和电信应用领域成功的串行数据标准可能就是RS-232。相类似,RS-485RS-422也在工业应用领域成功的标准之列。这些标准并不直接兼容。然而,对于控制和仪器仪表应用,往往必须在不同标准之间进行通信。本文讨论不同的标准(物理层指标),介绍如何将一种标准转换为另一种标准,并演示如何在相同应用中组合不同的标准。

    RS-232电气指标和典型连接
    RS-232链路初用于支持IBM PC上的调制解调器和打印机应用。然而,该标准现在支持各种外设与PC通信。RS-232标准定义为单端标准,用于以较低波特率(<20kbps)提高串行通信距离。多年以来,该标准几经变化,以支持较快的驱动器,例如MAX3225E,该器件能提供1Mbps数据传输速率。为了兼容RS-232,MAX3225E等收发器必须满足表1所列的电气指标。从典型连接可看出,利用硬件握手来控制数据流。

 表 1. RS-232标准的主要电气指标汇总

参数 条件 单位
驱动器输出电压,开路 25 V
驱动器输出电压,带载 3kΩ < RL < 7kΩ ±5 ±15 V
驱动器输出电阻,关断 -2V < V < 2V 300
电压变化率 4 30 V/μs
负载电容 2500 pF
接收器输入电阻 3 7
接收器输入门限:
输出 = 串号(逻辑1) -3 V
输出 = 空号(逻辑0) 3 V


    典型RS-232信号的摆动范围为正和负。注意左侧坐标轴上0V踪迹标记的相对位置。尽管RS-232数据为反相,从TTL/CMOS到RS-232然后再返回至TTL/CMOS的转换恢复了数据的原始极性。RS-232的典型传输距离很少超过100英尺。原因有两个:首先,发送电平(±5V)和接收电平(±3V)之差只允许有2V的共模抑制;第二,较长电缆的分布电容可能超过规定的负载(2500pF),从而降低摆率。由于RS-232被设计为点对点接口,并非多节点接口,所以其驱动器的指标为3kΩ至7kΩ单负载。因此,多节点接口应用通常采用菊链的连接方法。

    菊链设备及其限制
    在菊链配置中,RS-232信号经过个接收器,并环回至发送器。对数据发送线中之后的器件重复该配置。该项技术的主要问题是电缆断裂。如果从机1和从机2之间发生断裂,妨碍所有下行器件发送或接收数据。另一种多节点RS-232技术涉及到预缓冲或RS-232输出升压驱动(使其驱动多个并联的5kΩ输入)。

    为避免菊链网络相关的问题,Maxim开发了MAX3322E/MAX3323E,专门设计用于多节点应用。这些独特的器件采用了5kΩ逻辑开关输入电阻。器件未被选中时,其输入电阻保持为高阻态,允许与共用总线上的其它器件继续通信。 

    另一种解决菊链网络问题的方案是将RS-232 Rx和Tx信号转换为RS-422信号(见表2)。RS-422为差分标准,允许传输距离长得多。RS-422较高的输入阻抗,与其较高驱动能力相结合,允许连接多达10个节点。RS-422的另一种优势是独立的发送和接收通路,无需方向控制。可以利用软件(XON/OFF握手)或硬件(一组独立的双绞线)实现器件之间必要的握手。MAX3162提供了RS-232和RS-422之间进行信号转换的经济途径。更多信息请参见下文的RS-232/RS-485协议转换器部分。

表 2. RS-422关键指标汇总

参数 条件 单位
驱动器输出电压,开路 ±10 V
驱动器输出电压,带载 RL = 100Ω 2
-2
V
驱动器输出电阻 A至B 100 Ω
驱动器输出短路电流 每输出至公共连接 150 mA
驱动器输出上升时间 RL = 100Ω 10 %位宽
驱动器共模电压 RL = 100Ω ±3 V
接收器灵敏度 VCM < ±7V ±200 mV
接收器共模电压范围 -7 7 V
接收器输入电阻 4
差分接收器电压 可工作 ±10 V
可承受 ±12 V


    RS-485与RS-422的差异及其在应用中的使用
    RS-422和RS-485收发器往往容易混淆,往往将其中一个当做另一个的全双工版本。然而,其共模范围及接收器输入电阻方面的电气差异使得这些标准适合于不同的应用。由于RS-485满足所有的RS-422规范(表3),RS-485驱动器可用于RS-422应用。然而,相反则不成立。RS-485驱动器的共模输出为-7V至+12V,而RS-422的共模范围仅为±3V。RS-422驱动器的接收器输入电阻为4kΩ,而RS-485驱动器则为12kΩ。 

表3. RS-485关键指标汇总

参数 条件 单位
驱动器输出电压,开路 1.5
-1.5
6
-6
V
V
驱动器输出电压,带载 RL = 100Ω 1.5
-1.5
5
-5
V
V
驱动器输出短路电流 每输出至公共连接 ±250 mA
驱动器输出上升时间 RL = 54Ω
CL = 50pF
30 %位宽
驱动器共模电压 RL = 54Ω ±3 V
接收器灵敏度 -7V < VCM < 12V ±200 mV
接收器共模电压范围 -7 12 V
接收器输入电阻 12


为降低接线费用以及达到较长的线长,RS-485收发器已经成为销售终端、工业及电信应用领域广泛采用的标准。RS-485较宽的共模范围也支持较长的线长和较高的每节点输入电阻,允许总线上连接较多的节点。

    差分RS-485传输在双绞线电缆的每一根线上产生相反的电流和磁场,交叉抵消每根线周围的反向磁场,从而将辐射电磁干扰(EMI)降至。为了在较长电缆或较高数据率下进行传输,电缆作为传输线,并应利用电缆的特征阻抗进行端接。RS-485连接的这个方面容易引起混淆。传输线需要端接吗?如果需要,应如何端接?如果设计者不是终用户,这些问题应该留给安装方来解决吗?对于大多数RS-485收发器,数据资料标出了电缆作为传输线时不端接和简单点对点端接之间的简单选择。A-B端子之间的端接电阻是无害的。默认情况下,应该在总线上一个收发器处对传输进行端接。

RS-485线上的反极性信号交叉抵消了彼此的磁场,从而将EMI降至。以上示波器截屏上的GND基准经过搬移(偏移),清晰显示RS-485输出信号的相反极性。

    失效保护
    确定是否需要端接电阻仅仅是实现RS-485系统时面临的问题之一。正常情况下,如果A比B大+200mV或更多,RS-485接收器输出为“1”;如果B比A大200mV或更多,收发器输出为“0”。在半双工RS-485网络中,主机收发器在向从机发送消息后,将总线置于三态。所以,如果没有信号驱动总线,接收器输出状态则无定义,因为A和B之差趋向于0V。如果接收器输出RO为“0”,从机将其解释为新的开始位,并尝试读取随后的字节。由于不会发生停止位,所以结果就是成帧错误。总线变为无主,网络停顿。

    不幸的是,对于0V差分输入,不同芯片测试中会产生不同的输出信号。原型可能正常工作,但特定的节点在生产测试中却失败。为解决这一问题,多节点/失效保护端接所示,对总线进行偏置。偏置总线,确保总线为三态时的接收器输出保持为“1”。或者,您可使用“真失效保护”接收器,例如MAX3080 (5V)和MAX3070 (3V)系列产品。这些器件将接收器的门限改为-50mV,确保差分输入为0V时RO输出为“1”。

    RS-232/RS-485协议转换器
    MAX3162为一款很独特的器件,包括RS-232和RS-485接收器和发送器。宽范围通信器件包含在单片IC中,支持在RS-232和RS-485信号之间双向独立转换。电路中,MAX3162配置为在点对点应用中双向转换RS-232和RS-485信号。 

      MAX3162配置为RS-232/RS-485多节点协议转换器。转换方向由RTS信号R1IN控制。单端RS-232接收器输入信号转换为差分RS-485发送器输出;类似地,差分RS-485接收器输入信号转换为单端RS-232发送器输出。R2IN上接收的RS-232数据在Z和Y上作为RS-485信号发送;A和B上接收的RS-485信号在T1OUT上作为RS-232信号发送。 

    RTS线为共用线,用于控制转换RS-232和RS-485的电路总线方向。该线在RS-232端口上控制RS-485收发器作为发送器还是接收器。注意,系统不确定UART发送缓冲器中的数据字节是否已发送,除非系统监测RS-485驱动器的输入DI。也就是说,系统必须允许固定延时或主动监测DI输入,然后再使用DE输入来改变总线方向。

     其它方向控制技术包括使用微控制器以及利用数据驱动DE输入,同时轮询A-B线电压差(利用上拉电阻将A连接至5V,利用下拉电阻将B连接至地)。这些电阻的值随电缆电容变化,但典型值为1kΩ。

    端口供电器件
    许多RS-232至RS-485转换器为“端口供电转换器”,此时通过RS-232 RTS线(或者有时为RTS和CTS (DTR)线的组合)为RS-485供电。由于RS-232端口可用的功率是有限的,当一个端口供电转换器与(比如) 100个RS-485端点配合使用时,就达不到RS-485的启动电压。然而,较低的接收器门限(200mV)允许较好的误差裕量。该技术被广泛用于线路较短以及A-B端点间没有端接电阻的系统。

    热插拔
    电路板插入到正在工作或带电背板时,对数据总线的差分干扰会造成数据错误。插入电路板时,数据通信处理器首先进入其上电序列。在此期间,处理器逻辑输出驱动器为高阻态,不能将MAX3060E/MAX3080E的DE和/RE输入驱动到规定的逻辑电平。处理器逻辑驱动器为高阻态时的漏电流高达±10mA,可能会造成收发器的标准CMOS使能输入发生漂移,处于不正确的逻辑电平。此外,电路板的寄生电容可能造成VCC或GND耦合到使能输入。如果不支持热插拔,这些因素会错误地使能收发器的驱动器或接收器。

上一篇:SAE和IEC相继发“标”,除中国之外的主要无线充电标准形态已定
下一篇:USB Type-C=USB 3.1?细说USB接口标准乱象

免责声明: 凡注明来源本网的所有作品,均为本网合法拥有版权或有权使用的作品,欢迎转载,注明出处。非本网作品均来自互联网,转载目的在于传递更多信息,并不代表本网赞同其观点和对其真实性负责。

相关技术资料