RS-485和RS-422电路设计指南

2024-04-09 13:52
文章标签 rs 指南 电路设计 485 422

本文主要是介绍RS-485和RS-422电路设计指南,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

目录

0 引言

1 为何使用差分传输

2 RS485 和 RS422的对比

3 半双工 RS-485     

4 全双工 RS-485

5 端接

5.1 无端接

5.2 并联端接

5.3 交流终端

6 短截线(Stub) 长度

7 数据速率和电缆长度

8 故障安全偏置

8.1 接收机的差分输入阈值电压

8.2 使用故障保护电路

8.3 真正的故障安全接收器

9 隔离

10 瞬态过电压应力保护

11 总结


0 引言

        RS-485/RS-422在工业和仪器仪表应用(I&I)中被广泛采用,场景包括:过程控制网络、工业自动化、远程终端、建筑自动化、安全系统、电机控制、运动控制等等。

        TIA/EIA-485-A是电信行业使用最广泛的传输线标准,描述了RS-485接口的物理层,通常与更高级别的协议一起使用,如Profibus、Interbus、Modbus或BACnet。这允许在相对长的距离上进行稳健的数据传输。在TIA/EIA-422-B中描述了RS-422物理层。TIA/EIA-485-A标准与TIA/EIA/422-B中描述的标准相似,并且指定了TIA/EIA-485-A标准用于定义驱动器和接收器的值,使得其能够同时满足这两个标准。

1 为何使用差分传输

        TIA/EIA-485-A将该差分对中的两条线指定为A和B。如果在发送器的输入端上接收到逻辑高(DI=1),则驱动器输出端上的线A比线B的电压高(VOA>VOB)。如果在发送器的输入端接收到逻辑低(DI=0),则驱动器输出端上的线A比线B的电压低(VOA<VOB)。与此同时,如果接收器输入上的线路A比线路B的电压高(VIA-VIB>200 mV),则接收器输出为逻辑高(RO=1)。如果接收器输入上的线路B比线路A电压高(VIB-VIA>200 mV),则接收器输出为逻辑低(RO=0)。

        图1显示了差分信号接口电路由具有差分输出的驱动器和具有差分输入的接收器组成。该电路可以有效提高噪声抑制性能,因为耦合到系统中的噪声在两个信号上是等幅反向的,电磁场可以相互抵消,从而减少了系统的电磁干扰(EMI)。

图1 差分收发器

2 RS485 和 RS422的对比

        RS-422 被指定为单工多点标准,这意味着只有1个驱动器和最多10个接收器可以连接到同一总线。如果同一总线上需要连接多个驱动器,则建议使用RS-485。RS-485被指定为多点标准,这意味着在同一总线上最多可以连接32个收发器。图2显示了一个典型的RS-422接口电路。尽管RS-485电路可能看起来很相似,但主要区别在于总线架构。图3显示了一个典型的RS-485应用电路。

图2 典型的RS-422电路拓扑
图3 半双工的RS-485电路拓扑

 

        RS-422 标准规定了高达10Mbps的数据速率和高达4000英尺的线路长度,共模电压(VCM) 被定义为A和B端子相对于信号地的平均电压(VCM=(VIA+VIB)/2),RS-422接收器可以承受±7V的共模电压(VCM)。当所有 10个接收器都放置在总线上时,会出现最大负载条件。RS-422接收器的输入阻抗必须大于或等于4kΩ。

        RS-485接收器的输入阻抗规定为大于或等于12kΩ,该阻抗被定义为具有一个单位负载(UL), RS-485 规范规定了最多支持32个UL的能力。

        某些RS-485 接收器被指定为具有1/4UL 或1/8UL。指定具有1/4UL的接收器意味着接收器仅以标准 UL的1/4负载运行,因此,将可以扩展到拥有4倍数量的接收器连接到总线(4x32=128个节点)。类似地,如果RS-485接收器被指定为具有1/8UL,则接收器仅以标准 UL的1/8负载运行,因此,将可以扩展到拥有8倍数量的接收器连接到总线(8x32=256个节点)。有关UL和接收器输入阻抗的详细信息,请参见表1。

表1 接收器输入阻抗

        RS-485收发器的许多特性与RS-422相同。RS-485的共模电压范围扩展到-7V到+12 V,RS-485收发器必须在三态(高、地、与总线断开)时承受此共模电压范围。

        RS-485系统必须有一个驱动器,当特定节点不进行传输时,该节点上的驱动器可以与传输线断开。当DE=1时,RS-485收发器上的DE(RTS)引脚启用驱动器,当DE=0时,会使驱动器处于三态状态。这有效地断开了该驱动器与总线的连接,并允许其他节点通过同一双绞线进行传输。

        RS-485收发器还有一个RE引脚,用于启用/禁用接收器。DE和RE引脚的组合允许一些RS485收发器进入低功率关闭模式,这对于电池供电的应用非常重要。

3 半双工 RS-485     

        半双工RS-485链路在同一信号路径上具有多个驱动器和接收器,这就是为什么RS-485 收发器必须具有驱动器/接收器启用引脚,以便一次仅允许一个驱动器发送数据的原因。半双工总线配置见图3这种配置允许在两个方向上进行数据传输,但同一时间只能在一个方向上进行。

4 全双工 RS-485

        图4显示了在全双工配置中的RS-485总线的示例,这种配置允许主节点和从节点之间双向同时通信。

图4 全双工的RS485电路拓扑

 

5 端接

        在传输线中,有两条导线,一条用于将电流从驱动器传输到接收器,另一条用于将电流从接收器返回到驱动器。RS-485链路有点复杂,因为它们有两条信号线,并且共享一个终端和一个接地回路。

        为了实现可靠的RS-485 和RS-422通信,传输线中的反射尽可能小是至关重要的,这只能通过适当的电缆端接来完成。

        反射在信号转换期间和之后发生得非常快。在长线上,反射更有可能持续足够长的时间,导致接收器误读逻辑电平;在短线上,反射发生得更快,并且对接收到的逻辑电平没有影响。在RS-422应用中,总线上只有一个驱动器,如果要使用端接,则必须将其放置在靠近最后一个接收器的电缆末端;RS-485应用则需要在主节点和离主节点最远的从节点处端接。表2展示了不同端接技术的比较。

表2 不同端接技术的对比

5.1 无端接

        物理上长的导线具有较长的传播时间,而短的导线具有较短的传播时间。当传播时间相对于数据比特持续时间更短时,对信号质量的影响被最小化。如果信号上升时间是电缆传播延迟的四倍以上时,则不再将电缆视为传输线,因此,是否使用端接,取决于信号质量是否受到影响以及是否将电缆看作传输线。

5.2 并联端接

        当两个或多个驱动器共享一对导线时,链路的每一端都有一个等于电缆特性阻抗的终端电阻器。无论连接了多少节点,网络中的端接电阻器都不应超过两个。

图5 并联端接

        在半双工配置中,电缆的两端必须端接(见图3);在全双工配置中,只有主接收机和大多数远端从接收机需要端接。

5.3 交流终端

        AC端接用于减少空闲链路的功耗以及减少电压振铃,然而,负面影响是电缆长度和比特率的减少。电阻器和电容器可以串联放置在总线上(A和B之间),如图6所示。

图6 AC端接

         电容器CT的选择采用以下公式:

6 短截线(Stub) 长度

        短截线长度应远小于比特位周期所对应的频率波长的1/4

7 数据速率和电缆长度

        当使用高数据速率时,仅限于较短的电缆应用,当使用低数据速率时,可以使用更长的电缆。这是因为,电缆的直流电阻随着电缆中电压降的增加而增加,从而限制了低数据速率应用的电缆长度;当使用高数据速率时,电缆的交流效应限制了信号质量,并将电缆长度限制在短距离内。
对于RS-422,数据速率和电缆长度组合的示例从4000英尺时的 90kbps到15英尺时的10Mbps 不等。图7可以作为电缆长度与数据速率的保守设计指南。

图7 电缆长度与数据速率的关系

8 故障安全偏置

        图8显示了无故障安全偏置的主/从RS-485网络的配置。异步数据传输通常用于这样的配置中:起始位指示比特序列的开始,并且在从高到低的转变发生时被检测到。起始位后面跟着八个数据位和一个奇偶校验位。此序列后面跟着一个可以是一位或两位长的停止位。紧接着是另一个起始位。当发送最后一个字符时,线路应保持高位直到下一个起始位。当连接在总线上的收发器同时处于接收模式时,这会在多点应用中造成问题。这被称为总线空闲状态,在这种情况下,总线上的差分电压(VOA-VOB)为0V,接收器输出(RO)不受RS-485 标准的定义,因此,接收器输出可以产生随机数据,从而导致系统操作错误。

图8 没有故障安全偏置电路的RS485网络

8.1 接收机的差分输入阈值电压

        接收器的差分输入阈值电压(VTH)是接收器输入允许电压,在该电压下保证接收器输出的转变(低到高或高到低)。典型的RS-485收发器的差分输入阈值电压为±200mV,这意味着,当差分输入大于或等于200mV(VIA-VIB≥200mV)时,接收器输出保证为高(RO=1)。当差分输入小于或等于-200mV(VIA-VIB<-200mV)时,接收器输出保证为低(RO=0)。接收器的真值表见表3。

表3 差分接收器真值表

8.2 使用故障保护电路

        总线空闲状态所带来的随机数据错误接收问题可以通过将上拉电阻器和下拉电阻器的组合放置在总线上来解决,图9显示了偏置电路,计算R1和R2的示例如下所示(假设RT=120Ω):

图9 故障安全偏置电路

        根据上述公式,如果使用较低的R值,则可以在系统中获得更大的噪声裕度。有关总线状态和差分输入电压的图形表示,请参见图10。

图10 常规的差分输入电压和接收机输出状态

8.3 真正的故障安全接收器

        新一代RS-485收发器具有改进的功能,包括真正的故障安全接收器输入。这消除了对外置上拉/下拉电阻器的需求。如果指定收发器具有真正的故障保护功能,这意味着差分输入阈值电压(VTH)已从±200mV调整到-200mV--30mV(见图11)。

图11 输入阈值电压的变化

        在总线空闲状态下,VIA-VIB=0,因此大于-30mV,导致接收器输出高(RO=1)。这意味着,如果连接到总线的所有收发器都具有真正的故障安全功能,则始终定义接收器输出。有关总线状态和差分输入电压的图表,请参见图12。

图12 故障安全偏置下的差分输入电压和接收机输出状态

9 隔离

        在RS-485应用中,通常存在长链路,这会导致总线上不同节点的接地电位略有不同。这导致接地电流可能流过公共接地或接地线的最小电阻路径。如果使用相同的电气系统将所有节点的电源连接到相同的接地,则接地连接可以降低噪声,即便如此,电机、开关和其他电气噪声设备仍会将接地噪声引入系统。

        当不同的节点位于不同的建筑物中时,需要不同的电力系统,这可能会增加接地的阻抗。来自于本系统以外的接地电流将更有可能进入链路的地线,隔离链路可以减少甚至消除这些问题,如果不能保证系统中不同节点的接地电位在收发器的共模范围内,则电流隔离是一个完美的解决方案,同时,电流隔离允许信号流动,但阻止电流流动(见图13)。

图13 隔离允许信息流动,同时防止接地电流流动

        信号线和电源必须隔离,其中,电源隔离通过隔离的DC-DC电源实现,如图14所示,展示了使用ADM2485实现信号和电源隔离的示例。

图14 使用ADM2485进行信号和电源隔离

10 瞬态过电压应力保护

        在I&I应用中,雷击、电源波动、感应开关和静电放电会产生较大的瞬态电压,从而对RS-485收发器造成损坏,以下ESD 保护、EFT保护和浪涌保护规范与RS-485应用相关:

        IEC 61000-4-2 ESD protection

        IEC 61000-4-4 EFT protection

        IEC 61000-4-5 surge protection

        当使用诸如 TVS二极管之类的外部箝位器件时,可以进一步提高器件保护级别。TVS二极管通常用于保护硅器件,如RS-485收发器免受瞬态影响。通过PN结的低阻抗雪崩击穿将电压尖峰箝位到极限来实现保护。TVS二极管是理想的开路器件,TVS二极管可以被建模为在低于其击穿电压的情况下工作时与一些电容并联的大电阻,当产生瞬态并且浪涌电压大于 TVS 的击穿电压时,TVS 的电阻减小以将脉冲箝位到不会损坏其保护的设备的水平,钳位过程在一瞬间完成(<1ns),从而保证破坏电流从受保护装置及时分流(见图15)。

图15 瞬态电压抑制器

        RS-485应用中TVS的功能是将总线上的电压箝位到RS-485收发器的共模电压范围(-7V到+12V)。一些TVS 设备是专门为RS-485应用而设计的。如图15和图16所示,对于更高功率瞬态,可以通过在受保护设备和输入引脚之间添加电阻器RS (在10Ω和20Ω之间)来增加保护。

图16 TVS应用电路

11 总结

        本文主要讨论RS-485/RS-422在工业环境中的应用实现,虽然相比于其它的高速 IP,RS-485/RS-422 的传输速率不值一提,但是,其多变的拓扑结构、长距离的链路通信、共模噪声的抑制、ESD 的保护等方面,依然需要设计者多加关注。

这篇关于RS-485和RS-422电路设计指南的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/888327

相关文章

Nginx中配置HTTP/2协议的详细指南

《Nginx中配置HTTP/2协议的详细指南》HTTP/2是HTTP协议的下一代版本,旨在提高性能、减少延迟并优化现代网络环境中的通信效率,本文将为大家介绍Nginx配置HTTP/2协议想详细步骤,需... 目录一、HTTP/2 协议概述1.HTTP/22. HTTP/2 的核心特性3. HTTP/2 的优

在React中引入Tailwind CSS的完整指南

《在React中引入TailwindCSS的完整指南》在现代前端开发中,使用UI库可以显著提高开发效率,TailwindCSS是一个功能类优先的CSS框架,本文将详细介绍如何在Reac... 目录前言一、Tailwind css 简介二、创建 React 项目使用 Create React App 创建项目

SpringBoot3实现Gzip压缩优化的技术指南

《SpringBoot3实现Gzip压缩优化的技术指南》随着Web应用的用户量和数据量增加,网络带宽和页面加载速度逐渐成为瓶颈,为了减少数据传输量,提高用户体验,我们可以使用Gzip压缩HTTP响应,... 目录1、简述2、配置2.1 添加依赖2.2 配置 Gzip 压缩3、服务端应用4、前端应用4.1 N

使用Jackson进行JSON生成与解析的新手指南

《使用Jackson进行JSON生成与解析的新手指南》这篇文章主要为大家详细介绍了如何使用Jackson进行JSON生成与解析处理,文中的示例代码讲解详细,感兴趣的小伙伴可以跟随小编一起学习一下... 目录1. 核心依赖2. 基础用法2.1 对象转 jsON(序列化)2.2 JSON 转对象(反序列化)3.

Java利用JSONPath操作JSON数据的技术指南

《Java利用JSONPath操作JSON数据的技术指南》JSONPath是一种强大的工具,用于查询和操作JSON数据,类似于SQL的语法,它为处理复杂的JSON数据结构提供了简单且高效... 目录1、简述2、什么是 jsONPath?3、Java 示例3.1 基本查询3.2 过滤查询3.3 递归搜索3.4

Spring Boot结成MyBatis-Plus最全配置指南

《SpringBoot结成MyBatis-Plus最全配置指南》本文主要介绍了SpringBoot结成MyBatis-Plus最全配置指南,包括依赖引入、配置数据源、Mapper扫描、基本CRUD操... 目录前言详细操作一.创建项目并引入相关依赖二.配置数据源信息三.编写相关代码查zsRArly询数据库数

SpringBoot启动报错的11个高频问题排查与解决终极指南

《SpringBoot启动报错的11个高频问题排查与解决终极指南》这篇文章主要为大家详细介绍了SpringBoot启动报错的11个高频问题的排查与解决,文中的示例代码讲解详细,感兴趣的小伙伴可以了解一... 目录1. 依赖冲突:NoSuchMethodError 的终极解法2. Bean注入失败:No qu

JavaScript错误处理避坑指南

《JavaScript错误处理避坑指南》JavaScript错误处理是编程过程中不可避免的部分,它涉及到识别、捕获和响应代码运行时可能出现的问题,本文将详细给大家介绍一下JavaScript错误处理的... 目录一、错误类型:三大“杀手”与应对策略1. 语法错误(SyntaxError)2. 运行时错误(R

Python使用date模块进行日期处理的终极指南

《Python使用date模块进行日期处理的终极指南》在处理与时间相关的数据时,Python的date模块是开发者最趁手的工具之一,本文将用通俗的语言,结合真实案例,带您掌握date模块的六大核心功能... 目录引言一、date模块的核心功能1.1 日期表示1.2 日期计算1.3 日期比较二、六大常用方法详

MySQL中慢SQL优化方法的完整指南

《MySQL中慢SQL优化方法的完整指南》当数据库响应时间超过500ms时,系统将面临三大灾难链式反应,所以本文将为大家介绍一下MySQL中慢SQL优化的常用方法,有需要的小伙伴可以了解下... 目录一、慢SQL的致命影响二、精准定位问题SQL1. 启用慢查询日志2. 诊断黄金三件套三、六大核心优化方案方案