8千字吐血总结:RS422/485接口电路应用指南
电源先生 2023-08-14
▼关注“电源先生”,解析开关电源▼说明:①《开关电源宝典 降压电路(BUCK)的原理与应用》已经完成24万字600多页,初稿仍在完善中,部分章节内容不完整,无法严格按照章节顺序更新...②通常只能利用睡觉、工作之外属于我们自己的第三个8小时及周末写作,同时更新到订阅号中,所以是“不定时”更新...------------------------------------------------1 简介 2 1.1 RS232接口电平 2 1.2 差分接收器的输入阈值电压 3 1.3 RS422与RS485的区别 3 1.4 RS422接口电路拓扑 4 1.5 RS485接口电路拓扑 4 1.6 单位负载 5 1.7 连接器类型 52 应用电路举例 53 接口可靠性设计 6 3.1 网络拓扑 6 3.2 电缆长度 6 3.3 支路长度 7 3.4 阻抗匹配 7 3.5 失效保护 8 3.6 电源和地 10 3.7 共模干扰——RS422/485需要地线的原因 10 3.8 电磁干扰(EMI) 11 3.9 浪涌防护 11 3.10 隔离方案 12 3.11 其他注意事项 134 现场布线 145 维护说明 15------------------------------------------------1 简介 RS232是美国电子工业协会EIA(Electronic Industry Association)制定的一种串行物理和电气接口标准(RS是英文“推荐标准”的缩写,232为标识号,全称是“数据终端设备(DTE)和数据通讯设备(DCE)之间串行二进制数据交换接口技术标准”),但具有数据传输速率低(最大波特率115.2Kbps)、通信距离短(一般15米,最大50米左右)、只能点对点通信、易受共模干扰等缺点,而定义了RS422和RS485接口标准(RS422标准全称是Electrical Characteristics of Balanced Voltage Digital Interface Circuits,“平衡电压数字接口电路的电气特性”),它们采用平衡驱动器和差分接收器的组合,以双绞线的形式传输数据,增强了抗共模干扰能力。RS422物理层在TIA/EIA-422-B中予以说明,TIA/EIA-485-A标准与TIA/EIA-422-B标准类似,TIA/EIA-485-A标准中规定的驱动器和接收器性能同时满足这两种标准。图 1 三种接口标准的D-Sub连接器线序图 2 RS232接口电平图形表示

1.1 RS232接口电平

图 2所示,RS232采用负逻辑电平,-3V ~ -15V表示逻辑“1”,+3V ~ +15V表示逻辑“0”。以本地接口为参考,TXD为发送信号,RXD为接收信号,都以地为参考,所以RS232接口通信至少需要TXD、RXD和GND三根线。

1.2 差分接收器的输入阈值电压

图 3所示,TIA/EIA-485-A将双绞线差分对中的两个线路表示为同相端A和反相端B。当驱动器的输入端(Driver Input)接收到逻辑高电平(即DI = 1)时,则线路同相端A高于线路反相端B(表示为VIA - VIB > 200mV);那么,接收器的输出端(Receiver Output)将输出逻辑高电平(即RO = 1)。当驱动器的输入端(Driver Input)接收到逻辑低电平(即DI = 0)时,则线路同相端A低于线路反相端B(表示为VIB - VIA > 200mV或VIA - VIB < -200mV);那么,接收器的输出端(Receiver Output)将输出逻辑低电平(即RO = 0)。有关车分接收器的真值表,请参见表3;若 -200mV < VIA - VIB < 200mV,接收端无法正确识别“1”和“0”。图 3 差分驱动器和接收器

1.3 RS422与RS485的区别

RS422标准规定为单工多分支标准(点对多的双向通信),意味着只能将1个驱动器和最多10个接收器连接到同一总线,接收器之间无法通信。如果需要在同一总线上连接多个驱动器,则推荐RS485标准。RS485规定为多点标准,意味着可在同一总线上连接最多32个收发器。RS422标准规定数据速率最高10 Mbps,线路长度最长4000英尺(约1.2 km)。共模电压VCM定义为A引脚和B引脚相对于信号地的平均电压( VCM = ( VIA + VIB ) / 2 ),RS422接收器可承受±7V的共模电压。RS422总线上放置10个接收器时,发生最大负载调节。RS422接收器的输入阻抗必须等于或大于4kΩ。RS485标准规定接收器的输入阻抗RIN必须等于或大于12 kΩ。图 4所示,MAX3080的输入阻抗最小值为96 kΩ。

图 4 MAX3080接收器输入阻抗

RS485的共模电压范围扩展为-7V至+12V,当收发器处于三态中的高阻态(即从机从总线上断开)时,必须能承受此共模电压范围。RS485必须有一个,当特定节点不传输时,能够从总线断开的驱动器。当驱动器输出使能(Driver Output Enable)引脚为有效高电平(DE = 1)时,使能驱动器;当该引脚为低电平( DE = 0)时,将驱动器置于高阻条件,从总线上有效断开,允许其他节点在该双绞总线上传输。RS485收发器还必须有/RE引脚,用于使能/非能接收器。DE (Driver Enable)和/RE (Receiver Enable)引脚相结合,可使RS485收发器处于低功耗关断模式,这对电池供电类应用非常重要,可以延长电池续航能力。

1.4 RS422接口电路拓扑

图 5所示,是典型的RS422接口电路互连拓扑,一个驱动器对应多个接收器,120 Ω并联端接电阻接在距离驱动器最远的接收器输入端。实际上,并联端接电阻RT并非一定取值120 Ω,在满足接收端VIA - VIB > 200mV条件下(即VIA - VIB不落在不确定范围内),RT等于传输线的阻抗即可。图 5 RS422典型接口电路拓扑

1.5 RS485接口电路拓扑

图 6所示,是半双工RS485接口电路互连拓扑,总线链路上有多个驱动器和接收器,每个节点既可以发送数据又可以接收数据(即允许数据双向传输),但每次只允许一个节点发送数据,其余节点处于接收数据状态,称为“半双工模式”,因此RS485收发器必须具有驱动器使能引脚DE和接收器使能引脚/RE。图 6 半双工RS485接口电路拓扑图 7所示,是全双工RS485接口电路互连拓扑,允许主从节点之间双向同时通信。注意与其他如SPI总线协议中“Master主机”和“Slave从机”概念上的区别。图 7 全双工RS485接口电路拓扑

1.6 单位负载

RS485标准规定接收器的输入阻抗RIN必须等于或大于12 kΩ(该参数一般会在Datasheet中“DC ELECTRICAL CHARACTERISTICS”栏中说明),此阻抗被定义为1个单位负载(Unit Load, UL)。标准RS485驱动器最多能够驱动32 UL。部分RS485接收器具有1/2 UL(最小输入阻抗24 kΩ),或1/4 UL(最小输入阻抗48 kΩ),或1/8 UL(最小输入阻抗96 kΩ)(参考图4);若某接收器额定具有1/4 UL,意味着该接收器仅以1/4个标准UL向总线提供负载,因此可将多达4倍数量的该接收器连接到总线(4*32=128节点)。

1.7 连接器类型

由于RS422和RS485接口标准并未对所采用的连接器型号做规定,一般有两种选择,一种是如图 1所示的D-Sub连接器,另一种是因特网所用的RJ45连接器。D-Sub连接器物理尺寸较大些,电缆制作过程较复杂些。RJ45连接器物理尺寸较小些,电缆选择普通网线即可(但要保证特征阻抗在100 Ω左右,加上直流电阻,总体阻抗在120 Ω左右,是为保证更好的信号质量;双绞线的特征阻抗与导线直径、导线间距及导线上的绝缘类型有关,与导线长度无关;导线的电阻与长度有关),压线相对简单,应用较多些。目前,RS232仍使用9针D-Sub连接器,又称DB9连接器。

2 应用电路举例

图 8所示,是MAX3490 RS422典型应用电路,或者说是将MCU的单端UART信号转换成差分信号,以此增强信号抗干扰能力。图9所示,是MAX3491 RS485典型应用电路。

(1) 接口保护用途的TVS管D1-4,通常用最大反向工作电压VRWM为5.0V的双向TVS管(如Diodes SMBJ5.0CA),PCB Layout时靠近物理接口放置。

说明:有人可能担心5.0V耐压的TVS可能有些小,是因为此例中的供电为3.3V,使用5.0V耐压的TVS已经够用了。如果要考虑输入端和输出端共模电压的话,可以选择12V以上耐压的TVS元件。

(2) DI和RO引脚都使用10k电阻上拉R1和R2,是为防止误触发,产生误动作,因为“UART以一个前导“0”触发一次接收动作”。

(3) 图8所示,差分接收器的端接电阻R7一般取值120 Ω,来源于通常RS422/485传输线所用的特征阻抗约为120 Ω。图 6和图7所示的RS485多点应用中,若在SCH&PCB设计时不清楚后期现场布线中哪两个设备距离最远,可在所有差分接收端都预留120 Ω端接电阻,以便后期现场应用时通过拨码开关选择性接入。

(4) 由于RS422/485差分接收器的特性是,VIA - VIB的绝对值必须大于200 mV,否则无法正确识别高低电平。所以,图8所示,当使用3.3V电源时,故障安全偏置电阻R5和R6最大取值为930 Ω;当使用5.0V电源时,R5和R6最大取值为1440 Ω。

说明:故障安全偏置电阻,是为了解决“总线空闲、开路或短路”情况下,接收端状态不确定的问题。由于RS422只支持点对点应用,且故障安全偏置电阻只需要在接收端使用,所以图8电路,R3-4不是必要的,R5-6是必要的,取值大小与所用电源大小呈正比,见下文“失效保护”章节(3.5 失效保护)说明。

(5) 图8所示,在RS422点对点应用中,两端的差分接收器都需要120 Ω并联端接电阻。

(6) 图7和图9所示,各支路的A&B引脚和Z&Y引脚都串联0R电阻,当某路故障时将RS485总线拉低时,逐一断开电阻,方便排查故障。

(7) SCH&PCB设计时,两个设备间的RS422/485通信线,除了两对差分线外,至少需要一根地线,防止共模电压超出规定的范围而导致通信故障。

(8) 有选择的情况下,RS422/485通信电缆中,信号线不应与电源线并行或尽量远离电源线,若无法避免,信号线最好使用带屏蔽的双绞线。且现场布线,采用菊花链拓扑,不采用星形或环形拓扑,以免因反射等因素导致通信错误。


图 8 MAX3490典型应用电路

图 9 典型的RS485接口电路

3 接口可靠性设计

3.1 网络拓扑

图 5所示,是RS422典型接口电缆拓扑;图 6所示,是半双工模式的RS485接口电缆拓扑;图 7所示,是全双工模式的RS485接口电缆拓扑。不允许采用星形或环形拓扑,以免因反射等因素造成通信错误。

3.2 电缆长度

对于RS422,数据速率/电缆长度的变化范围为90 kbps/4000英尺到10 Mbps/15英尺。图10提供了较为保守的数据速率与电缆长度变化曲线。图 10 数据速率与电缆长度关系

3.3 支路长度

由于信号在总线拓扑中的支路上也有反射,会影响总线上的信号质量,所能允许的支路长度也和信号的转换时间、传输速率有关,下面的经验公式可用于估算支路的最大长度:Lmax = ( tRISE ns * 0.2 m/ns ) / 10 ( m ) (公式 1)这里,tRISE是驱动器的上升时间Rise time tDR或下降时间Fall time tDF(该参数一般在Datasheet “SWITCHING CHARACTERISTICS”栏中给出)。图11所示,以Maxim MAX3080为例,其上升时间典型值为1320 ns,应用 (公式 1) 计算出其分支长度最大值为26 m。

图 11 MAX3080驱动器上升和下降时间参数

3.4 阻抗匹配

差分对传输线路中存在两条线,一条将电流从驱动器载至接收器,另一条提供电流返回路径。传输线的基本原理对RS422和RS485依然适用,要实现可靠的通信,必须尽可能减少传输线中的反射,这就要求进行适当的电缆端接或阻抗匹配。是否需要对总线链路进行终端阻抗匹配,取决于数据传输速率、电缆长度等因素。在不确定是否需要端接的情况下,建议都做端接。图 5所示的RS422应用中,总线上只有一个驱动器,如需使用端接,必须将端接电阻置于距离驱动器最远的接收器的电缆末端。图 6和图 7所示的RS485应用中,端接电阻应置于主节点及距离主节点最远的从节点。一般情况下有三种常见端接方法:①电阻并联端接;②阻容并联端接;③二极管钳位并联端接。① 电阻并联端接图 5、图 6和图 7所示,跨接在线路A和线路B之间的并联电阻RT即是并联端接电阻。这种方法最简单,只需将端接电阻RT取值等于传输电缆的特征阻抗即可,一般取值120 Ω,因为多数双绞线的特征阻抗约在100 – 120Ω之间。缺点是,端接电阻上有较大的功耗,对电池供电类功耗限制较为严格的应用须平衡取舍。② 阻容并联端接/交流并联端接图 12所示,利用电容隔断直流成分可以节省大部分功耗,但电容取值是难点,需要在功耗和匹配后的信号质量之间折中考量。③ 二极管钳位端接图 13所示,这种方案虽未实现真正的阻抗匹配,但利用二极管的钳位作用迅速削弱反射信号,达到改善信号质量的目的,功耗降低效果显著。图 12 阻容并联端接/交流并联端接图 13 二极管钳位端接

3.5 失效保护

图 14 不带故障安全偏置的主/从RS485电路拓扑图 15 带故障安全偏置的RS485电路图 14所示,是不带故障安全偏置的主/从RS485电路拓扑,一般用于异步数据传输(具体可参考ADI AN-960文档中“故障安全偏置”部分)。但在多点应用中,当没有器件驱动总线,总线上连接的收发器同时处于接收模式时,会产生问题。这种情况称为总线空闲条件,即总线上的差分电压(VOA - VOB)为0V。另外,总线开路或短路都有可能使差分电压(VOA - VOB)落在Noise Margin ±200 mV内。在总线空闲、开路或短路三个条件下,RS485标准并未定义接收器的输出(RO),因此接收器输出端会产生随机数据(无效起始位、虚假中断和帧错误)。由于UART以一个前导“0”触发一次接收动作,所以此随机数据可能导致系统误动作。为解决上述问题(总线空闲或开路),传统做法是在接收器的端接电阻处同时放置上偏置电阻R1和下偏置电阻R2,即图 15所示的带故障安全偏置的RS485电路。注意:图 15中,R1和R2更偏向于是模拟电路中“偏置电阻”的概念,与数字电路中“上拉/下拉电阻”的概念有所区别。端接电阻仍然使用120Ω的话,若在此处应用“上拉/下拉电阻”的概念,且认为4.7kΩ和10kΩ没什么区别,将导致传输线上阻抗失配的情况,从而增加反射,降低信号质量,严重时通信异常。且该电阻与端接电阻不匹配,差分电压(VOA - VOB)落在Noise Margin ±200 mV内,也将导致通信异常。图 15所示,假设端接电阻RT=120Ω,偏置电阻R1和R2的阻值计算如下:R1=R2=RVIA-VIB= ( VCC / ( R1 + R2 + RT) )*RT ≥ 200 mV (公式 2)由以上得出 R ≤ ( ( VCC – 0.2 V) / 0.4 ) * RT (公式 3),可见偏置电阻大小与电源VCC呈正比。当VCC = 5V时,电阻R ≤ 1440 Ω,即5V电源条件下的偏置电阻最大取值是1440Ω;当VCC = 3.3V时,电阻R ≤ 930 Ω,即3.3V电源条件下偏置电阻最大取值是930Ω。由 (公式 2) 可以看出,通过正确的偏置电阻取值,能够使VIA - VIB差值落在Noise Margin ±200 mV外,且偏置电阻R取值越小,VIA–VIB差值比200 mV越大,总线上可以得到更大的噪声裕量;但缺点是,此处偏置的直流功耗会更大,对电池供电类功耗限制较为严格的应用须平衡取舍。仍由(公式 2)可以看出,在VCC保持不变的情况下,若偏置电阻取值过大,将导致120 Ω端接电阻上的电流较小,当导致VIA - VIB差值落在Noise Margin ±200 mV左右时,通信不可靠;差值落在±200 mV内时,将无法正常通信。有关总线状态和差分输入电压的图形表示,请参考图 16所示。图 16 差分输入电压和接收器输出状态但是,偏置电阻方法仍然无法解决总线短路问题。为此,如Maxim MAX3080系列RS422/485接口芯片将Noise Margin限制在-200 mV ~ -50 mV范围内(仍然兼容EIA/TIA-485标准的Noise Margin限制在±200 mV范围内),当VIA–VIB差值落在-50 mV ~ +200mV范围内时,接收器将输出高电平( RO = 1),称为“真故障安全接收器(True Fail-Safe Receiver)”。不但可以省去外部偏置电阻,而且解决了总线短路情况下的失效保护问题。

3.6 电源和地

RS485总线上各收发器模块优先采用独立供电方案,或隔离供电方案(同时应将信号线通过光耦器件隔离,参考下文“隔离方案”部分)。有选择的情况下,RS485通信电缆中,信号线不应与电源线并行或尽量远离电源线,若无法避免,信号线最好使用带屏蔽的双绞线。典型的错误观点认为,RS485通信链路设备间不需要信号地。这将引起两个问题:共模干扰问题和电磁辐射问题。

3.7 共模干扰——RS422/485需要地线的原因

RS485接口采用差分方式传输信号,并不需要相对于接地参考点来检测信号,系统只需检测两线之间的电位差就可以了,但应该注意的是,收发器只有在共模电压不超出一定范围(-7V至+12V)的条件下才能正常工作。当共模电压超出此范围就会影响通信的可靠,甚至损坏接口。图 17所示,当发送器A向接收器B发送数据时,发送器A的输出共模电压为VOS,由于两个系统具有各自独立的接地系统,存在着地电位差VGPD。那么,接收器B输入端的共模电压就会达到VCM = VOS + VGPD。RS-485标准规定VOS ≤ 3V,但VGPD可能会有很大幅度(十几伏甚至数十伏),并可能伴有强干扰信号,致使接收器共模输入VCM超出正常范围,并在信号线上产生干扰电流,轻则影响正常通信,重则损坏接口。因而通常做法是,将发送器A和接收器B系统工作数字地GND通过信号线直连(参考图 6和图 7),或通过屏蔽双绞线的屏蔽层直连。图 16 地电位差导致的共模干扰问题

3.8 电磁干扰(EMI)

RS485能够实现较长距离通信的主要原因是,使用了平衡或差分线路,一路信号需要一对双绞线传输。由于差分对上耦合的噪声相同,因此具有增强的噪声性能。差分对内的信号反相,电磁场彼此抵消,这样降低了系统的电磁干扰(EMI)。这就是使用差分或平衡线路传输的原因。任何信号都可以表示成差模信号和共模信号的形式。在RS485应用中,驱动器输出信号中的共模部分需要低阻返回路径,即信号地。若无信号地低阻返回路径,共模部分会以反射的形式返回驱动端,总线就会像巨大的天线向外辐射电磁波,对电路系统其它部分构成电磁干扰。

3.9 浪涌防护

在工业与仪器仪表应用(I&I)中,常需要在距离很远的多个系统之间传输数据,因而RS485总线标准是使用较为广泛的物理层总线标准之一。而雷击、电源波动、感应开关和静电放电会通过较大的瞬变电压对RS485收发器造成损害。IEC 61000-4-2 ESD保护、IEC 61000-4-4 EFT保护、IEC 61000-4-5浪涌保护技术规范适用于RS485收发器,如ADI ADM3072E等,在产品型号中加入“E”表示增强ESD保护。如果再使用TVS管等外部钳位器件,可进一步提升保护程度。在RS485应用中,TVS管的功能是将总线上的瞬态电压钳位至共模电压范围( -7V ~ +12V)内。图 17 TVS管在RS485接口电路中的应用

3.10 隔离方案

如前文所述,RS485应用中通常使用较长链路,这会使总线上不同节点的地电位略有不同,从而导致地电流通过公共接地或地线流过最低电阻路径。若将总线上所有地直连,接地噪声可能会降低。但是,电机、开关及其他电噪声设备仍可能在系统内引起接地噪声。若无法保证总线上不同节点的地电位不会超出收发器的共模范围( -7V ~ +12V),则电流隔离(不阻止信息流,只阻止电流)不失为一种理想的解决方案。隔离方案能够彻底消除共模电压的影响,通常有以下两种做法:第一,使用带隔离的电源芯片将MCU/UART的供电与RS485收发器的供电隔离,同时UART的两个信号线TXD和RXD用光耦器件隔离。第二,采用带隔离的收发器芯片,如ADI ADM2485(参考图 19),Maxim MAX1490EA(参考图 20,该方案的外围电路更简单,已经将隔离电源集成在芯片内部)。图 18 采用ADM2485的信号隔离和电源隔离图 19 带隔离的全双工RS422/485应用电路

3.11 其他注意事项

(1) RO端上拉异步通信数据以字节的方式传送,在每一个字节传送之前,先要通过一个低电平起始位实现握手(即前文所述“UART以一个前导“0”触发一次接收动作”)。为防止干扰信号误触发RO(接收器输出)产生负跳变,使接收端MCU进入接收状态,建议RO外接10 kΩ上拉电阻。(2) 调试电阻图 7所示,RS485电路中,若某支路收发器发生故障将总线拉低,为方便调试,电路设计时可在各支路收发器的A&B和Z&Y引脚都串接0 Ω电阻。当用示波器发现总线被拉低的故障时,可逐一将各收发器的串接电阻断开排查故障点。

4 现场布线

有选择的情况下,RS485通信电缆中,信号线不应与电源线并行或尽量远离电源线,若无法避免,信号线最好使用带屏蔽的双绞线。图 21所示,现场布线应采用总线式或菊花链式拓扑,不允许采用星形或环形拓扑,以免因反射等因素造成通信错误。这里很重要的一点是,施工现场布线时,确定某个节点距离驱动端最远后,如何加入120 Ω端接电阻,其余节点作为总线上的支路,如何使它们没有这个120 Ω端接电阻。这个问题反馈到研发设计阶段,就需要有以下两点考虑:第一,在研发设计阶段(SCH设计、PCB设计),若能够确认后期现场布置设备时哪个节点距离驱动端最远,则该节点在进行SCH和PCB设计时,需要在RS422/RS485接口芯片输出端的差分线之间端接120R端接电阻,而挂在RS422/RS485总线上处于发送端和最远端之间的节点,差分线之间无需端接120R电阻,参考图 6和图 7。第二,若在研发阶段无法确定后期现场布置设备时哪两个设备(节点)处于总线的两端,哪些设备(节点)处于总线的中间,那么需要在所有RS422/RS485接口设备的422/485差分信号接收端端接120R电阻(PCB Layout时接口芯片尽量靠近板边的物理接口放置,以方便该端接电阻引出到设备外壳),并将该电阻通过拨码开关的形式引出到设备外壳,以方便现场布设人员进行可靠性更高的系统搭建。

图 21 RS485总线连接拓扑

5 维护说明 维护或检修RS422/RS485电路的常用方法如下:(1)若出现系统完全瘫痪,大多因为某节点芯片的VA、VB被电源击穿,使用万用表测VA、VB间差模电压为零,而对地的共模电压大于3V,此时可通过测共模电压大小来排查,共模电压越大说明离故障点越近,反之越远。(2)总线连续几个节点不能正常工作,一般是由其中某节点故障导致的。一个节点故障会导致邻近的2~3个节点(一般为后续)无法通信,因此将其逐一与总线脱离,如某节点脱离后总线能恢复正常,说明该节点故障。(3)集中供电的RS-485系统在上电时常常出现部分节点不正常,但每次又不完全一样。这是由于对RS-485的收发控制端TC设计不合理,造成微系统上电时节点收发状态混乱从而导致总线堵塞。改进的方法是将各微系统加装电源开关然后分别上电。(4)系统基本正常但偶尔会出现通信失败。一般是由于网络施工不合理导致系统可靠性处于临界状态,最好改变走线或增加中继模块。应急方法之一是将出现失败的节点更换成性能更优异的芯片。(5)尽管RS-485规定差模电压大于200mV即能正常工作。但实际测量:一个运行良好的系统其差模电压一般在1.2V左右(因网络分布、速率的差异有可能使差模电压在0.8~1.5V范围内)。


声明: 本文转载自其它媒体或授权刊载,目的在于信息传递,并不代表本站赞同其观点和对其真实性负责,如有新闻稿件和图片作品的内容、版权以及其它问题的,请联系我们及时删除。(联系我们,邮箱:evan.li@aspencore.com )
0
评论
  • 相关技术文库
  • 工业
  • 安防
  • 航空
  • CAN
下载排行榜
更多
评测报告
更多
广告