良许Linux教程网 干货合集 一文读懂RS-232、RS-422及RS-485串行数据标准的选择及使用

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

根据技术指标和电气接口的要求,串行数据通信通常有三种常见的标准:RS-232、RS-422和RS-485。本文将介绍电缆端接技术、多个负载的使用、RS-232的菊花链连接、RS-232到RS-485的转换、RS-485到RS-232的转换,以及使用RS-232端口供电的RS-485转换。

引言

标准的奇妙之处在于我们有如此之多的选择,这也适用于电气接口标准。随着不同行业内串行数据标准的独立发展,我们拥有的标准从未如此之多。

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

RS-232的电气指标和典型连接

RS-232链路最初用于支持IBM PC上的调制解调器和打印机应用。然而,该标准现在支持各种外设与PC进行通信。RS-232标准定义了单端标准,用于以较低波特率(

image-20240205215020340
image-20240205215020340

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

image-20240205215022855
image-20240205215022855

图1. 典型的RS-232连接。

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

image-20240205215025085
image-20240205215025085

图2. RS-232接收器支持双极性输入信号(上部踪迹,CH1),输出反相的TTL/CMOS信号(底部踪迹,CH2)。

image-20240205215027616
image-20240205215027616

图3. 菊链方法允许在单个RS-232链路上挂接多个从机接收器。

菊链设备及其限制

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

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

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

image-20240205215033869
image-20240205215033869

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

image-20240205215037937
image-20240205215037937

图4. 典型RS-422系统允许差分传输线路上挂接多达10个接收器。

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Ω。

image-20240205215041450
image-20240205215041450

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

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

image-20240205215050887
image-20240205215050887

图5. 与RS-422相比,RS-485连接较高的输入阻抗和较宽的共模范围,支持较长的线长。

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

image-20240205215046098
image-20240205215046098

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

image-20240205215056109
image-20240205215056109

图7. 传输线端接电阻的选择取决于具体应用。

失效保护

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

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

RS-232/RS-485协议转换器

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

image-20240205215059586
image-20240205215059586

图8. MAX3162在点对点应用中双向转换RS-232和RS-485信号。

图9所示为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收发器作为发送器还是接收器(图9)。注意,系统不确定UART发送缓冲器中的数据字节是否已发送,除非系统监测RS-485驱动器的输入DI。也就是说,系统必须允许固定延时或主动监测DI输入,然后再使用DE输入来改变总线方向。

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

image-20240205215103242
image-20240205215103242

图9. MAX3162在多节点应用中双向转换RS-232和RS-485信号。

端口供电器件

许多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耦合到使能输入。如果不支持热插拔,这些因素会错误地使能收发器的驱动器或接收器。

以上就是良许教程网为各位朋友分享的Linu系统相关内容。想要了解更多Linux相关知识记得关注公众号“良许Linux”,或扫描下方二维码进行关注,更多干货等着你 !

137e00002230ad9f26e78-265x300
本文由 良许Linux教程网 发布,可自由转载、引用,但需署名作者且注明文章出处。如转载至微信公众号,请在文末添加作者公众号二维码。
良许

作者: 良许

良许,世界500强企业Linux开发工程师,公众号【良许Linux】的作者,全网拥有超30W粉丝。个人标签:创业者,CSDN学院讲师,副业达人,流量玩家,摄影爱好者。
上一篇
下一篇

发表评论

联系我们

联系我们

公众号:良许Linux

在线咨询: QQ交谈

邮箱: yychuyu@163.com

关注微信
微信扫一扫关注我们

微信扫一扫关注我们

关注微博
返回顶部