第12章+RS485通信协议
更新时间:2023-06-05 19:38:01 阅读量: 实用文档 文档下载
- 第12章童年主要内容概括推荐度:
- 相关推荐
第12章 RS-485 通信协议及其实现方法
第12章 RS-485 通信协议及其实现方法
本章主要内容包括:
RS-485通信协议
常用RS-485转换芯片 单片机与RS-485接口电路 RS-485的典型应用
本章介绍了RS-485通信协议,包括协议的由来、电气特性等,另外介绍了常用RS-485转换芯片的原理及工作电路,并给出了单片机与RS-485接口的硬件电路,最后分析了RS-485总线负载能力与信号传输距离之间的关系及RS-485的组网、布线及接地等问题。
12.1 RS-485通信协议概述
RS-232作为串行通信接口的电气标准,定义了数据终端设备(DTE)和数据通信设备(DCE)之间串行传输的接口信息,安排了接口的电气信号和机械要求,在世界范围内得到了广泛的应用。但随着社会的发展,其不足之处也日渐明显,比如接口的信号电平值较高,易损坏接口电路的芯片,且与TTL电平不兼容,需使用电平转换电路方能与TTL电路连接;接口使用一根信号线和一根信号返回线构成共地的传输形式,易产生共模干扰,抗干扰能力弱;采用单端驱动非差分接收电路,因而传输距离不远(最大传输距离15m)并且传送速率不高(异步传输时最高速率为20kb/s),若进行远距离通信则须使用调制解调器(Modem)等等。在分布式控制系统中,数据传输距离通常介于近距离(<20m)和远距离(>2km)之间,这时RS-232无能为力,使用Modem则成本过高,因而RS-449、RS-422及RS-485等一系列串行通信接口标准便应运而生了,其中以RS-485应用最为广泛。
美国的电子工业协会(EIA)于1977年制定了RS-449标准,除了保留与RS-232兼容的特点外,还在提高传输速率,增加传输距离及改进电气特性等方面作了很大努力,并增加了10个控制信号。与RS-449同时推出的还有RS-422和RS-423,它们是RS-449的标准子集。另外,EIA又于1983年在RS-422基础上制定了RS-485标准,它是RS-422的变形。RS-422和RS-423是全双工的,而RS-485是半双工的。
RS-422标准定义了一种平衡通信接口,将传输速率提高到10Mb/s,传输距离延长到4000英尺(速率低于100kb/s时),并允许在一条平衡总线上连接最多10个接收器。RS-422是一种单机发送、多机接收的单向、平衡传输规范,被命名为TIA/EIA-422-A标准。RS-423标准规定采用单端驱动差分接收电路,其电气性能与RS-232几乎相同,并设计成可连接RS-232和RS-422。它一端可与RS-422连接,另一端则可与RS-232连接,提供了一种从旧技术到新技术过渡的手段。同时又提高了传输速率(最大为300Kb/s)和传输距离(最大为600m)。
RS-485标准增加了多点、双向通信能力,即允许多个发送器连接到同一条总线上,同时增加了发送器的驱动能力和冲突保护特性,扩展了总线共模范围,后命名为TIA/EIA-485-A
单片机与数据通信
标准。RS-485为半双工的,当用于多站互连时可节省信号线,便于高速、远距离传送。许多智能仪器设备均配有RS-485总线接口,将它们联网也十分方便。
RS-485标准只对接口的电气特性做出规定,而不涉及接插件、传输电缆或应用层通信协议,在此基础上用户可以建立自己的应用层通信协议。 下面对RS-485标准做简要介绍。
12.1.1 RS-485串行接口标准
RS-485与RS-232不同,其采用了差分方式传输信号,因此在通信速率、传输距离、抗干扰性能等方面均有所提高。由于RS-422和RS-485标准原理基本相同,因此这里不再单独加以介绍。 1. 平衡线驱动器
RS-485的数据信号采用差分传输方式,也称作平衡传输,它使用一对双绞线传输一个信号,将其中一根线定义为A,另一根线定义为B。若发送驱动器A、B之间的电平在+2V~+6V之间为正电平(逻辑1),A、B之间的电平在-2 V~-6V之间为负电平(逻辑0)。另外有一个信号地C,如图12.1所示。图中有一个“使能”端(EN),这在RS-485中是必须的,而在RS-422中是可选的。“使能”端是用于控制发送驱动器与传输线的切断与连接。当“使能”端起作用时,发送驱动器处于高阻态。1
+6V
A
EN
+2V-2V-6V
BC
图12.1 平衡差分输出驱动器
2. 平衡线接收器
RS-485的接收器也作了与发送端相对的规定。在使用时,收、发端通过平衡双绞线将AA与BB分别对应连接。当接收端AB之间有大于+200mV的电平时,输出正逻辑电平,小于-200mV时,输出负逻辑电平。接收器接收平衡线上的电平范围通常在200mV至6V之间。如图12.2所示。图中,Vcm表示输入共模电压,允许范围为-7V~+12V。
1
RS-422 and RS-485 Application Note. B&B Electronics Manufacturing Company. 2006
第12章 RS-485 通信协议及其实现方法
1/2VI
A
+6V
-1/2VI
B
VABVcm
C
-6V
图12.2 接收器电平范围
12.1.2 RS-485的电气规定
相比于RS-232,RS-485的发送驱动器的驱动能力更强,并且接收器的输入阻抗很高,因此其允许在一条传输线上连接多个接收节点。RS-485支持多点双向通信,即一条传输线上可以有多个主设备及多个从设备(但在某一时刻仅能有一个主设备)。RS-485每个接收器的输入阻抗要大于12kΩ,并要求在节点数为32个、配置了120Ω终端电阻的情况下,驱动器至少还能输出1.5V电压(终端电阻的大小与所用双绞线的参数有关)。
RS-485的最大传输距离为1200米(约4000英尺),最大传输速率为10Mb/s。但是传输距离与传输速率是成反比的,只有在理想环境的前提下传输距离才有可能达到最远。这通常是指通讯线材优质达标,波特率低于9600b/s,并且只有两台设备通信才能使得传输距离达到1200米,而且这也并不能确保每次通讯都正常。所以实际上稳定的通信距离远远达不到1200米。负载设备多,线材阻抗不一致,都会缩短通信距离。同样,RS-485只有在很短的距离下才能获得最高速率传输,一般100米长的双绞线上所能获得的最大传输速率仅为1Mb/s。另外,如果采用光电隔离方式,则通信速率一般还会受到光电隔离器件响应速度的影响。
RS-485采用总线拓扑结构,需要在总线两端匹配2个终端电阻,其阻值要求等于传输电缆的特性阻抗(一般取值为120Ω)。在短距离传输、低速率(一般在300米以下、19200b/s以内)时可不使用终端电阻。终端电阻应安装在传输总线的两端,并接在A、B引脚之间。
RS-485可以采用二线与四线方式连接。二线制可实现真正的多点双向通信,如图12.3所示。图中虚线框内为可选地配置(optional grounding configuration)。
单片机与数据通信
图12.3典型的RS-485二线网络
RS-485采用四线连接时,只能实现点对多的通信,即只能有一个主设备,其余为从设备,如图12.4所示。
图12.4典型的RS-485四线网络
作为数据传输链路,RS-485标准具有控制方便、成本低廉、相对经济、传输速度较高、传输距离较远、噪声抑制较好等优点,被应用于各种不同的领域。目前,许多国家的研发机构采用RS-485作为数据传输总线,比如西门子公司的Profibus现场总线便采用了RS-485传输技术。由于RS-485总线上某一时刻只能存在一个主机,因此它通常用于集散控制系统(DCS)和现场总线控制系统(FCS)。
第12章 RS-485 通信协议及其实现方法
12.2 常用RS-485转换芯片简介
如今,RS-485接口芯片已广泛应用于工业控制、仪器仪表、机电一体化等诸多领域,也有多种RS-485接口芯片供设计者选择。但是,RS-485接口在不同的使用场合,对芯片的要求和使用方法也有所不同,这就要求设计者在芯片的选型和电路的设计时要对各种因素进行综合考虑。下面对最常用的部分RS-485接口芯片进行简单介绍。
12.2.1 MAX485系列芯片简介
MAX485系列芯片是市场上应用的最多的RS-485接口芯片之一,被广泛应用于电平转换器、用于EMI敏感应用的收发器、工业控制局域网等场合。下面对其作简要介绍。
MAX485系列芯片包括MAX481、MAX483、MAX485、MAX487~MAX491以及MAX1487等,是用于RS-485通信的低功耗收发器,每个器件中都具有一个驱动器和一个接收器。MAX483、MAX487、MAX488以及MAX489具有限摆率驱动器,可以减小EMI,并降低由不恰当的终端匹配电缆引起的反射,实现最高250kbps 的无差错数据传输。MAX481、MAX485、MAX490、MAX491、MAX1487的驱动器摆率不受限制,可以实现最高2.5Mbps的传输速率。
这些收发器在驱动器禁用的空载或满载状态下,吸取的电源电流在120µA 至500µA 之间。另外,MAX481、MAX483与MAX487具有低电流关断模式,仅消耗0.1μA。所有器件都工作在5V单电源下。驱动器具有短路电流限制,并可以通过热关断电路将驱动器输出置为高阻状态,防止过度的功率损耗。接收器输入具有失效保护特性,当输入开路时,可以确保逻辑高电平输出。MAX487与MAX1487具有四分之一单位负载的接收器输入阻抗, 使得总线上最多可以有128个MAX487/MAX1487收发器。使用MAX488~MAX491可以实现全双工通信,而MAX481、MAX483、MAX485、MAX487与MAX1487则为半双工应用设计。芯片的具体特性详见表12.5。
下面以MAX485为例简单介绍MAX485系列芯片的用法。 1. 引脚配置与功能
MAX485是+5V单电源供电,内部集成一个驱动器和一个接收器的半双工RS-485收发器,共8个引脚,具有DIP、SO和μMAX三种封装形式,其中μMAX封装的引脚顺序和DIP/SO封装是不同的。DIP/SO封装的芯片引脚配置和内部结构如图12.5所示。
RO/REDEDI
BAGND
图12.5 MAX485的引脚配置
单片机与数据通信
芯片引脚的具体功能如表12.1所示。
表12.1 MAX485的引脚功能
1 2 3
RO
RE
接收器输出:若A-B>200mV,则RO为高电平;若A-B<200mV,则RO为低电平 接收器输出使能,当RE为低电平时, RO有效;当RE为高电平时, RO为高阻状态
驱动器输出使能,DE变为高电平时,驱动器输出A与B有效;当DE为高电平时,驱动器输出为高阻状态。
当驱动器输出有效时,器件被用作线驱动器,而在高阻状态下,若RE为低电平,则器件被用作线接收器。
DE
4 DI 驱动器输入,DI上的低电平强制A输出为低电平,而B为高电平。同理,DI上的高电平强制A输出为高电平,而B为低电平
5 6 7 8
GND A B Vcc
地
接收器同相输入端和驱动器同相输出端 接收器反相输入端和驱动器反相输出端 电源。4.75V≤Vcc≤5.25V
2. 应用说明
MAX485芯片的真值表如表12.2和12.3所示。其中,表12.2为发送,表12.3为接收。
表12.2 发送过程真值表
其中,×表示不关心,High-Z表示高阻态,标注*的表示用于MAX481、MAX483
与MAX487低电流关断模式。
表12.3 接收过程真值表
由MAX485构建的典型半双工RS-485网络如图12.6所示。由于MAX485为半双工工作方式,因此发送和接收不能同时进行,因此在实际应用中,通常将DE端和RE端短接使用。
第12章 RS-485 通信协议及其实现方法
DIDERO
D
R
RE
DIDERO
B120AD
BΩR
DIDERO
RD
D
DIDERO
RE
R
BA
RE
BA
RE
MAX481
MAX483MAX485MAX487MAX1487
图12.6 MAX485典型半双工RS-485网络
12.2.2 MAX485系列下一代器件简介
为了满足不同的应用场合,MAX485系列芯片推出了下一代器件。这些芯片在减少空间、降低功耗、增加通道及节点数等方面各有自己的特色。 1. 容错应用系列
MAX3430:具有±80V故障保护、失效保护功能,1/4单位负载,总线上可挂接128个负载,+3.3V单电源供电,RS-485收发器。
MAX3440E~MAX3444E:具有±15kV ESD保护、±60V故障保护及失效保护功能,最大通信波特率10Mbps,RS-485/J1708收发器。 2. 空间受限应用系列
MAX3460~MAX3464:具有失效保护功能,最大通信波特率20Mbps,+5V单电源供电,Profibus RS-485收发器。
MAX3362:+3.3V单电源供电,采用SOT23封装,RS-485收发器。
MAX3280E~MAX3284E:具有±15kV ESD保护功能,最大通信波特率52Mbps,+3V至+5.5V宽范围电源供电,采用SOT23封装,RS-485失效保护接收器。
MAX3293/MAX3294/MAX3295: +3.3V单电源供电,采用SOT23封装,最大通信波特率20Mbps,RS-485发送器。 3.失效保护应用系列
MAX3080~MAX3089:具有失效保护功能,最大通信波特率10Mbps,限摆率RS-485收发器。
4. 低电压应用系列
MAX3483E/MAX3485E、MAX3486E/MAX3488E、MAX3490E/MAX3491E:+3.3V单电源供电,具有±15kV ESD保护功能,最大通信波特率12Mbps,限摆率RS-485收发器。
单片机与数据通信
5. 低功耗应用系列
MAX1482/MAX1483芯片是用于RS-485通信的低功耗收发模块。摆率限制驱动器能使EMI最小化并且能减少由不合适的终端电缆引起的信号反射。数据传输速率可达250kbps。MAX1482和MAX1483吸取的电源电流仅有20μA。具有电流关断模式,在此模式下消耗的电流仅有0.1μA。
驱动器具有短路电流限制,并可以通过热关断电路将驱动器输出置为高阻状态,防止过度的功率损耗。MAX1482可以实现全双工通信,而MAX1483为半双工。两种芯片都具有八分之一单位负载的接收器输入阻抗,使得总线上最多可以挂接256个收发器。
12.2.3 RS-485接口芯片选型时的注意事项
如今,市场上应用于RS-485总线的芯片非常多,而且还不断有新型号的芯片被开发出来,因此,在选用RS-485接口芯片时要加以注意。通常,选型时需要注意节点数、通信制式、防雷及抗静电冲击、故障保护、隔离等。下面对以上事项进行简要介绍。 1. 节点数
节点数就是每个RS-485接口芯片的驱动器能驱动的标准RS-485负载的个数。标准RS-485接口的输入阻抗为≥12kΩ,相应的标准驱动节点数为32。现在许多场合需要在网络中挂接更多的负载,为适应更多节点的需求,有些芯片的输入阻抗设计成1/2负载(≥24kΩ)、1/4负载(≥48kΩ)甚至1/8负载(≥96kΩ),相应的节点数可增加到64、128和256。表12.4为一些常见芯片的节点数。
表12.4 RS-485接口芯片的节点数
32 64 128 256
MAX485,MAX488,MAX490,SN75176,SN75276,SN75179,SN75180 SN75LBC184 MAX487,MAX1487
MAX1482,MAX1483,MAX3080~MAX3089
实际使用时,因线缆长度、线径、网络分布、传输速率不同,实际节点数均达不到理论值。RS-485网络上节点数过多或传输速率过大时,工作可靠性将明显下降。因此,通常推荐节点数按RS-485芯片最大值的70%选取,传输速率在1200~9600b/s之间选取。通信距离1km以内,从通信效率、节点数、通信距离等综合考虑选用4800b/s最佳。通信距离1km以上时,应考虑通过增加中继模块或降低速率的方法提高数据传输可靠性。 2. 半双工和全双工
RS-485接口可连接成半双工和全双工两种通信方式。半双工通信的芯片有MAX485、MAX 1487、MAX3082、MAX1483、SN75176、SN75276、SN75LBC184等;全双工通信的芯片有MAX488~MAX491、MAX1482、SN75179、SN75180等。 3. 抗雷击和抗静电冲击
RS-485接口芯片在使用、焊接或设备的运输途中都有可能受到静电的冲击而损坏。在
第12章 RS-485 通信协议及其实现方法
传输线架设于户外的使用场合,接口芯片乃至整个系统还有可能遭致雷电的袭击。选用抗静电或抗雷击的芯片可有效避免此类损失,常见的芯片有MAX485E、MAX487E、MAX1487E等。
4. 限斜率驱动
由于信号在传输过程中会产生电磁干扰和终端反射,使有效信号和无效信号在传输线上相互迭加,严重时会使通信无法正常进行。为解决这一问题,某些芯片的驱动器设计成限斜率方式,使输出信号边沿不要过陡,以不致于在传输线上产生过多的高频分量,从而有效地扼制干扰的产生。如MAX487、SN75LBC184等都具有此功能。 5.故障保护
RS-485标准规定,接收器的接收灵敏度为±200mV,即接收端的差分电压≥+200 mV时,接收器输出为高电平;差分电压≤-200mV时,接收器输出为低电平;介于±200mV之间时,接收器输出为不确定状态。在总线空闲即传输线上所有节点都为接收状态以及在传输线开路或短路故障时,则接收器可能输出高电平也可能输出低电平。一旦某个节点的接收器产生低电平就会使串行接收器(UART)找不到起始位,从而引起通信异常。
具有故障保护功能的芯片,它会在总线开路、短路和空闲情况下,改变接收器输入门限,从而确保在总线空闲、短路时接收器输出高电平。例如,MAX3080~MAX3089输入灵敏度为-50mV/-200mV,即差分接收器输入电压UAB≥-50mV时,接收器输出逻辑高电平;如果UAB≤-200mV,则输出逻辑低电平。当接收器输入端总线短路或总线上所有发送器被禁止时,接收器差分输入端为0V,从而使接收器输出高电平,达到故障保护的目的。SN75276的灵敏度为0mV/-300mV。
对于不带故障保护的芯片,如SN75176、MAX1487等时,可在软件上作一些处理,从而避免通信异常。即在进入正常的数据通信之前,由主机预先将总线驱动为大于+200mV,并保持一段时间,使所有节点的接收器产生高电平输出。这样,在发出有效数据时,所有接收器能够正确地接收到起始位,进而接收到完整的数据。 6. 光电隔离
在某些工业控制领域,由于现场情况十分复杂,各个节点之间可能存在很高的共模电压。虽然RS-485接口采用的是差分传输方式,具有一定的抗共模干扰的能力,但当共模电压超过RS-485接收器的极限接收电压,即大于+12V或小于-7V时,接收器就再也无法正常工作了,严重时甚至会烧毁芯片和仪器设备。
解决此类问题的方法是通过DC/DC转换器将系统电源和RS-485收发器的电源隔离;并且通过光电耦合器将信号隔离,以彻底消除共模电压的影响。另外,还可以直接使用二次集成芯片,如PS1480、MAX1480等。
为便于读者选用,这里选择常用的部分芯片列表说明,如表12.5所示。更多参数请读者参阅生产商提供的芯片使用手册。
表12.5 部分RS-485芯片选型表
单片机与数据通信
MAX483 MAX483E MAX485 MAX485E MAX487 MAX1487 MAX490 MAX491 MAX1483 MAX1482 MAX3483 MAX3483E MAX3485 MAX3485E SP483 SP483E SP485 SP485E SP485R SP3483 SP3485
5V 5V 5V 5V 5V 5V 5V 5V 5V 5V 3-3.6V 3-3.6V 3-3.6V 3-3.6V 5V 5V 5V 5V 5V 3.3V 3.3V
半双工 半双工 半双工 半双工 半双工 半双工 全双工 全双工 半双工 全双工 半双工 半双工 半双工 半双工 半双工 半双工 半双工 半双工 半双工 半双工 半双工
0.25 0.25 2.5 2.5 0.25 2.5 2.5 2.5 0.25 0.25 0.25 0.25 10 12 0.25 0.25 5 10 1 0.25 10
32 32 32 32 128 128 32 32 256 256 32 32 32 32 32 32 32 32 400 32 32
YES YES YES YES YES YES YES YES YES YES YES YES YES YES YES YES YES YES YES YES YES
-- ±15 -- ±15 -- -- -- -- -- -- -- ±15 -- ±15 ±2 ±15 ±2 ±15 ±2 ±2 ±2
0.1 0.5 -- -- 0.1 -- -- -- 0.1 0.1 0.002 0.002 0.002 0.002 1 1 -- -- 0.5 1 10
YES YES NO NO YES NO NO NO YES YES YES YES YES YES YES YES NO NO YES YES YES
12.3 单片机与RS-485接口方法及应用要点
在工业集散控制系统中,由单片机组成的控制系统应用日益广泛,尤其在一些小型、分
散、智能的前端采集、监测等系统中,单片机扮演着越来越重要的角色。在上述系统中,通常由PC作为上位机,负责采集各个节点的信息,并发布命令对各节点进行控制;由单片机和传感器或执行器组成的终端系统作为下位机,负责响应上位机的命令,并将采集的信息发送给上位机。由于RS-485总线具有输出距离远、抗干扰能力强以及工业应用十分成熟等优点,因此在远距离、分布式控制系统中多采用RS-485作为通信总线。图12.7即为一个典型的基于RS-485总线的PC与单片机多机通信系统。
图12.7 基于RS-485总线的PC与单片机多机通信系统
由于PC机一般只配备RS-232接口,而不具备RS-485接口,因此在与单片机多机通信系统中需要一个RS-232/485转换器(或PCI转接卡)才能将PC接入RS-485网络。如今,
第12章 RS-485 通信协议及其实现方法
生产RS-232/485转换器的厂家很多,而且有半双工/全双工、有源/无源等多种型号可以选择,读者可自行选择使用,这里不多做介绍。
由于RS-485是RS-232的改良标准,因此在软件设计方面与RS-232基本保持一致,只需对半双工的RS-485接口芯片收发控制部分稍加修改,即可将基于RS-232系统的软件部分应用于RS-485系统。因此,本节将着重介绍单片机与RS-485接口的硬件电路,上位机及软件部分的设计请参见第3章。
12.3.1 单片机与RS-485接口硬件电路
系统采用AT89C52作为主芯片,采用MAX485E作为RS-485接口芯片。MAX485E是
用于恶劣环境中RS-485通信的低功耗收发器,每个器件中都具有一个驱动器和一个接收器,并带有±15kV的防静电放电(ESD)保护,无需闭锁。其引脚配置和使用方法均与MAX485芯片相同。系统硬件电路设计如图12.8所示。
图12.8单片机与MAX485E的接口电路
由图12.8可见,单片机AT89C52的标准串口通过RXD直接连接MAX485E的RO引脚,通过TXD直接连接MAX485E的DI引脚。由单片机输出的R/D信号直接控制MAX485E的收发使能端:R/D信号为高电平,则MAX485E的发送有效,接收禁止,此时单片机可以向RS-485总线发送数据;R/D信号为低电平,则MAX485E的接收有效,发送禁止,此时单片机可以接收来自RS-485总线的数据。
在总线空闲、开路或短路时会使A、B两线间电压差低于200mV,从而造成接收器处于不确定状态。解决上述问题的通常做法是在总线上加偏置电阻,这样在总线空闲或开路时,可以将总线偏置在一个确定的状态。图中连接至MAX485E芯片A引脚的上拉电阻R7和连接至B引脚的下拉电阻R9用于保证在总线空闲、开路时的状态稳定,以提高485网络工作的可靠性。但是应该注意,上述方法不能解决总线短路时的问题,这时我们可以选择具有网络失效保护的芯片,例如Maxim公司的MAX3080系列等,不仅可以省去外部偏置电阻,而且解决了总线短路情况下的失效保护问题。
由于RS-485常用于远程通信,因此在实际应用时会存在高频瞬态干扰的可能。例如在切换电机、变压器、继电器等大功率感性负载或闪电过程中都会产生幅度很高的瞬态干扰,
单片机与数据通信
这样的瞬态干扰虽然持续时间短暂,但可能会有成百上千伏的电压,如果不加以适当防护就会损坏RS-485通信接口。一般地,对于这种瞬态干扰需采用隔离或旁路的方法加以防护。
隔离保护方法实际上将瞬态高压转移到隔离接口中的电隔离层上,由于隔离层的高绝缘电阻,不会产生损害性的浪涌电流,起到保护接口的作用。通常采用高频变压器、光耦等元件实现接口的电气隔离,已有器件厂商将所有这些元件集成在一片IC中,使用起来非常简便,而且可以承受高电压、持续时间较长的瞬态干扰,实现起来也比较容易。
旁路保护方法利用瞬态抑制元件,如瞬变电压抑制二极管(TVS)、压敏电阻(MOV)、气体放电管等,将危害性的瞬态能量旁路到大地,但这种方法保护能力有限,只能保护一定能量以内的瞬态干扰,持续时间不能很长,而且需要有一条良好的连接大地的通道,实现起来比较困难。实际应用中是将上述两种方案结合起来灵活加以运用——隔离接口对大幅度瞬态干扰进行隔离,旁路元件则保护隔离接口不被过高的瞬态电压击穿。
MAX485E芯片本身已经集成了有效的ESD保护措施,但为了更可靠地保护RS-485网络,我们经常使用一些附加的保护电路。在图中12.10中,D2、D3、D4为TVS管P6KE6.8CA,用来将电压钳位于6.8V,以保护RS-485总线,避免RS-485总线在受雷击、浪涌等时产生的高压损坏收发器。另外,L1、L2、C1、C2用于提高电路的EMI性能。以上附加电路能够对单片机和485芯片进行有效地保护。
同时应注意,电路中使用了光电耦合器将单片机电路与RS-485电路进行完全隔离,但是这样也会影响电路的通信速率。本电路采用了高速光电耦合器6N137,转换速率高达10Mbps,可用于大部分的应用系统。如果需要更高的通信速率,可选择25Mbps的HCPL-7720/7721光电耦合器。在实际应用中,6N137的输出端(脚6,图中未画出)是集电极开路输出,需要接47kΩ的上拉电阻。此外输出端电源(脚8)和地(脚5)间需接0.1μF的瓷片电容,以减少对电源的干扰。
在RS-485总线构建的半双工通信系统中,在整个网络中任意时刻只能有一个节点处于发送状态并向总线发送数据,其他所有节点都必须处于接收状态。如果有2个节点或2个以上节点同时向总线发送数据,将会导致所有发送方的数据发送失败。因此,在系统各个节点的硬件设计中,应该避免因异常情况而引起本节点向总线发送数据而导致总线数据冲突。AT89C52单片机在复位时,I/O口输出为高电平,如果把I/O口直接与MAX485E芯片的驱动器使能端DE相连,会在CPU复位期间使DE为高电平,从而使本节点处于发送状态。如果此时总线上有其他节点正在发送数据,则此次数据传输将被打断而告失败,甚至引起整个总线因某一节点的故障而通信阻塞,继而影响整个系统的正常运行。考虑到通信的稳定性和可靠性,在每个节点的设计中应将控制RS-485总线接口芯片的发送引脚设计成DE端的反逻辑,即控制引脚为逻辑“1”时,DE端为“0”;控制引脚为逻辑“0”时,DE端为“1”。在图12.8中,将CPU的引脚P1.7通过光电耦合器驱动DE端,这样就可以使控制引脚为高或者异常复位时使MAX485E始终处于接收状态,从而从硬件上有效避免节点因异常情况而对整个系统造成的影响。另外,在主/从机软件上也应附加一些处理措施,如上电时或正式通讯之前,对串行口做几次空操作,清除端口的非法数据和命令等。
最后,为提高系统的抗干扰性,电源采用了带隔离的DC-DC转换电源模块IB0505,用于产生与单片机电路完全隔离的RS-485电源输出。
第12章 RS-485 通信协议及其实现方法
12.3.2 RS-485总线通信速度与可靠性的影响因素
在设计RS-485总线组成的网络配置(总线长度和带负载个数)时,通常需要考虑以下因素:信号反射、信号衰减、纯阻性负载和噪声容限。以上因素会影响到RS-485总线通信的速度和可靠性,因此这里详细加以分析。 1. 信号反射
电信号在沿导线传输过程中,由于导线的分布电感、电容及电阻的存在,各节点的电信号并不能立刻建立,而是有一定的滞后,距离起点越远,电压波和电流波到达的时间越晚。电压波和电流波在传输过程中会产生一个与入射信号方向相反的行波,通常称为反射波。信号的多次反射大大延长了信号的传输时间,降低了电路的噪声容限。
在通信过程中,有两种原因会导致信号反射:阻抗不连续和阻抗不匹配。
所谓阻抗不连续,就是信号在传输线末端突然遇到电缆阻抗很小甚至没有的情况,信号在这个地方就会引起反射。如图12.9所示。
入射信号
信号源
Rt=10
图12.9 通信线上的信号反射
要消除这种反射,通常是在线型网络两端(相距最远的两个通信端口上)各并联一个电阻,这个电阻可以吸收网络上的反射波,有效地增强信号强度。两个终端电阻并联后大小应当基本等于传输线在通信频率上的特性阻抗 。如图12.10所示。
Rt=120
Rt=120
图12.10 并联终端电阻的通信网络
应该注意的是,在实际应用中,传输电缆的特性阻抗与通信速率、电缆长度、应用环境等有很大关系,特性阻抗也不可能与终端电阻完全相等,因此信号反射也不会彻底消除。此外,在短距离传输(300米以下)时可不接终端电阻。
造成信号反射的另一个原因是收发器与传输电缆之间的阻抗不匹配。这种原因引起的反射,主要表现在通讯线路处在空闲方式时,整个网络数据混乱。
信号反射对数据传输的影响,归根结底是因为反射信号触发了接收器输入端的比较器,使接收器收到了错误的信号,导致CRC校验错误或整个数据帧错误。2
要减弱反射信号对通讯线路的影响,通常采用噪声抑制和加偏置电阻的方法。在实际应用中,对于比较小的反射信号,为简单方便,经常采用加偏置电阻的方法。
偏置电阻的连接方法如图12.8中的R7和R9所示。它的作用是在线路进入空闲状态后,2
虞日跃,史洪源.RS-485总线的理论与实践[J].电子技术应用,2001年第11期:55-57
单片机与数据通信
把总线上没有数据时(空闲方式)的电平拉离0电平,如图12.11所示。
图12.11 偏置电阻对反射信号的影响
这样即使线路中有较小的反射信号或干扰,接收器也不会产生误动作。尤其在通讯波特率比较高的时候,在线路上加偏置电阻是很有必要的。
在实际应用中,RS-485总线加偏置电阻有两种方法:
把偏置电阻平均分配给总线上的每一个收发器。这种方法给挂接在RS-485总线上的每一个收发器加了偏置电阻,给每一个收发器都加了一个偏置电压。
在一段总线上只用一对偏置电阻。这种方法对总线上存在大的反射信号或干扰信号时比较有效。
虽然使用偏置电阻的方法简单有效,但有一个缺点,就是匹配电阻要消耗较大功率,对于功耗限制比较严格的系统不太适合。
另外两种功耗较小的匹配方式是RC匹配和二极管匹配。RC匹配是利用一只电容和一只电阻串联隔断直流成分,从而减少损耗,如图12.12所示。二极管匹配法其实并不能实现真正意义上的“匹配”,它利用四个二极管将信号钳位,从而削弱反射信号,同时减少总线损耗。如图12.13所示。
图12.12 RC匹配 图12.13 二极管匹配
2. 信号衰减
影响信号传输的第二个因素是信号在电缆的传输过程中衰减。一条传输电缆可以看作由分布电阻、分布电容和分布电感组成的等效电路,如图12.14所示。
第12章 RS-485 通信协议及其实现方法
R
L/C
CR
R
LRC
R
R
L
LL
图12.14 传输电缆等效电路
分布电阻会导致信号电平的衰减,但通常并不严重,可以忽略不计。分布电容和分布电感会造成信号脉冲边缘平滑,并将导致信号间互扰和位时序抖动,从而降低噪声裕量。分布电容主要由双绞线的两条平行导线产生。另外,导线和地之间也存在分布电容。分布电容和分布电感的值会随着总线长度的增加而增大,而且通信速率越高,信号的衰减和反射越严重,因此必须考虑总线长度和通信速率的配合问题。例如,基于RS-485的现场总线Profibus用的LAN标准型二芯电缆(西门子公司为DP总线选用的标准电缆),在不同波特率时的衰减系数如表12.6所示。
衰减系数
≤42dB
≤22dB
≤4dB
≤2.5dB
由表12.6可以看出,通信的波特率越高,电缆的衰减系数越大,从而数据传输错误的可能性也越大。
另外,分布电容的充放电也会影响RS-485总线的传输性能。由于总线上传输的是基波信号,在某些特殊的字节(例如0x01)中,信号“0”使得分布电容有足够的充电时间,而信号“1”到来时,由于分布电容中的电荷来不及放电,AB之间的电压差还大于200mV,结果使接受器误动作,导致数据传输出错,从而使整个网络性能降低。
通过上述分析可以看出,要减少传输过程中的信号衰减及错误,应尽量降低数据传输的波特率,并使用分布电容小的电缆,提高传输线的质量。
RS-485总线的长度如果需要超出1.2km,那么必须采用485中继器或485集线器来拓展网络距离或节点数。利用485中继器或485集线器,可以将一个大型485网络分隔成若干个网段。每个网段还应遵循RS-485规范,即1.2 km长度,32个节点数。 3. 纯阻性负载
纯阻性负载也叫直流负载,在RS-485网络中主要由RS-485收发器、终端电阻和偏置电阻组成。
根据RS-485规范,RS-485的驱动电路必须具有向54Ω负载提供至少1.5V差分电压的能力,接收电路必须具有最低可以检测到200mV差分电压的能力。这两个准则对于保证节点之间可靠通讯给出了相当大的宽裕度,甚至当电缆和连结器上的信号严重失真时也可以保持系统正常工作。
驱动器的实际差分输出依赖于它必须供给负载的电流。因为每一个接收节点都需要一定量的总线电流,所以工作驱动器必须提供的总电流随着总线上节点数目的增加而增大。在为485通讯所规定的总线电压范围(-7V ~ +12V)内,单位负载(Unit Load)可以等效为大约12kΩ的电阻。带有32个这样的单位负载再加上两个120Ω的终端电阻(总线的两个末端),
单片机与数据通信
一个驱动器必须提供负载电流的总负载为54Ω。DL/T 645等工业标准反映了这些考虑,DL/T 645 标准规定一个接口至少应具有处理32个负载的能力。在不考虑其它诸多因素的情况下,现在比较常用的RS-485驱动器均能保证驱动32个节点。
如今,许多厂商生产“小单位负载”的收发器。与标准RS-485 驱动器(最多32个收发器)的单位负载(12kΩ输入阻抗)相比,“小单位负载”收发器具有更高的输入电阻,这意味着需要从总线获得的电流更小,从而允许挂接到总线的节点数也更多。例如MAX487与MAX1487具有48kΩ的输入电阻(1/4单位负载的接收器输入阻抗),因此在一条总线上允许最多挂接128个收发器。SP485R更是具有1/10单位负载的接收器输入阻抗,一条总线上最多可挂接400个收发器。
如前所述,终端电阻通常采用120Ω的大小,在噪声环境下往往用两个RC低通滤波器替代这些120Ω的电阻,以增强对共模噪声的滤波,如图12.15所示。值得注意的是,两个滤波器的电阻值应相等(最好采用精密电阻),以确保两个滤波器具有相同的滚降频率。电阻容差过大会导致滤波器转角频率出现偏差,而导致共模噪声转换为差模噪声,使接收器的抗噪性能降低。
偏置电阻的作用及使用方法,前文已有提及,这里不再介绍。 4. 噪声容限
RS-485标准规定总线接收器的噪声容限至少应该大于200mV。前面的论述都是在假设噪声容限为0的情况下进行的。在实际应用中,为了提高总线的抗干扰能力,总希望系统的噪声容限比EIA RS-485标准中规定的更好。式(12-1)给出了总线末端信号电压与驱动器输出电压、损耗电压、噪声容限之间的关系,从这个公式中我们可以看出总线的带载能力和通讯电缆长度之间的关系。
其中,VE为总线末端的信号电压,在标准测定时规定为0.2V;VD为驱动器的输出电压,与负载数有关。当负载小于5个,VD=2.5V;负载为5~35个,VD=2.4V;当负载大于35个,VD≤2.3V;VL为信号在总线中的传输过程中的损耗,与通信电缆的规格、长度及通信速率有
图12.15 利用共模噪声滤波器对RS-485进行端接
VE 0.8 VD VL VN VB (12-1)
第12章 RS-485 通信协议及其实现方法
关。若通信波特率为9600bps,电缆长度为1km,则VL= 0.6V。如果波特率增加,VL会相应增大。VN为噪声容限,在标准测定时规定为0.1V;VB是由偏置电阻提供的偏置电压(典型值为0.4V)。式中乘以系数0.8是为了使通信电缆不进入满载状态。
由式(12-1)可以看出,VD的大小和总线上带负载数的多少成反比,VL的大小和总线长度成反比,VN和VB仅与使用的驱动器类型有关。
因此,在驱动器已经确定的RS-485总线上,若通信波特率保持不变,则总线带负载的数量与信号的传输距离密切相关。在总线允许的范围内,带负载数越多,信号能传输的距离就越小;带负载数越少,信号能传输的距离就越远。 5. 网络拓扑
RS-485的网络拓扑一般采用终端匹配的总线型结构,尽量不要采用T型、环形或星形网络。采用T型或星型网络连接时,在短距离、低速率情况下有可能工作正常,但随着通信距离的延长或通信速率的提高,反射信号会越来越强,其误码也越来越严重。在构建网络时,应采用一条双绞线电缆作总线,将各个节点串接起来,从总线到每个节点的引出线长度应尽量短,以便使引出线中的反射信号对总线信号的影响最低。在必须要接成星型模式的场合,可考虑引入485-HUB或以太网+转换器方式连接。
由于信号在阻抗不连续点会发生反射,因此应注意总线特性阻抗的连续性。例如总线的不同区段采用不同电缆、某一段总线上有过多收发器紧靠在一起安装、或者是有过长分支线引出总线时都会出现阻抗不连续点。因此在同一个网络系统中,应该使用同一种电缆,尽量减少线路中的接点,并且要确保接点处焊接良好,包扎紧密,避免松动和氧化。保证一条单一的、连续的信号通道作为总线。
在构建RS-485网络时,应遵循站点至总线的连线尽可能短的原则。每个终端设备连接到总线的分支线长度应尽量短,一般不要超出5米。如图12.16(a)中所示,站点(1)离总线很远,这是不正确的连接方法,应将其改为图(b)的接法。
(a)
(b)
图12.16 离总线较远的终端设备分支线接法
(a)不正确接法 (b)正确接法
单片机与数据通信
另外,如果分支线上没有接终端,则将会产生反射信号,对通讯产生较强的干扰,应该将其去掉。
12.3.3 RS-485的接地问题
RS-485传输网络的接地是非常重要的,如果接地问题处理不当会影响整个网络的稳定性甚至危及系统安全,尤其是在工作环境比较恶劣以及传输距离较远的情况下,对于接地的要求更为严格。很多情况下,连接RS-485通信链路时只是简单地用一对双绞线将各个接口的“A”、“B”端连接起来,而忽略了信号地的连接,这种连接方法在许多场合能正常工作,但却埋下了很大的隐患。原因主要包括以下几个方面: 1. 共模干扰
RS-485接口采用差分方式传输信号方式,接口只要检测A、B线的电位差就能确定高低电平。但是收发器只有在一定的共模电压范围内才能正常工作,RS-485收发器共模电压范围为-7~+12V。当线路中共模电压超出此范围时就会影响通信的稳定可靠,甚至损坏接口。如图12.17所示,当驱动器向接收器发送数据时,驱动器的输出共模电压为VOS,由于收发两端具有各自独立的接地系统GND1和GND2,则收发端会存在地电位差VGPD=︱VGND1-VGND2︱。这样,接收器输入端的共模电压VCM将会是VOS与VGPD的和。3
图12.17 共模干扰
据RS-485标准规定,VOS应小于等于3V,但由于存在地电位差,VGPD可能会高达十几伏甚至数百伏,致使接收器共模输入VCM=VOS+VGPD超出正常范围,并在传输线路上产生干扰电流,从而影响正常通信,甚至损坏通信接口。 2.电磁干扰
RS-485采用差分平衡传输方式,仅需两根线就能传输信号。但是,驱动器输出信号中的共模部分需要一个回路,如果没有一个低阻的返回通道(信号地),则信号会以辐射的形式返回源端,整个总线就会像一个巨大的天线向外辐射电磁波。
因此,对于RS-485网络,应该有一条低阻的信号地连接。信号地将两个接口的工作地连接起来,使共模干扰电压VGPD被短路。这条信号地可以是屏蔽双绞线的屏蔽层,也可以是额外的一条线。
但是,采用上述做法仅对高阻型共模干扰有效,因为如果干扰源内阻RM较大,短接后形成的接地环路电流IC=VGPD/RM不大,对于通信不会有很大影响。当共模干扰源内阻较低时,会在接地线上形成较大的环路电流,影响正常通信,甚至烧坏接口电路。这时,可以采3
李肇庆,韩涛.《串行端口技术》.北京:国防工业出版社.2004
第12章 RS-485 通信协议及其实现方法
取如下措施:
如果干扰源内阻不是非常小,可以在接地线上加限流电阻以限制干扰电流。接地电阻的增加可能会使共模电压升高,但只要控制在适当的范围内就不会影响正常通信。如图12.18所示。
图12.18 接地线加限流电阻
但是,如果共模干扰内阻很小,则接地环路电流很大,接地线加限流电阻的方法将会使共模电压增大,引起共模干扰。建立长距离数据链路的最可靠的方法是通过绝缘隔离。采用该方法时,总线收发器的信号线和电源线与本地的信号线和电源线是相互隔离的。电源隔离器,例如隔离型DC/DC变换器、和数字容性隔离器等能够阻止电流在远程系统的接地之间流通,从而避免创造电流回路。如图12.19所示。
Vcc
Vcc
图12.19 采用隔离的接地方法
12.4 小结
RS-485标准具有控制方便、成本低廉、传输速度较高、传输距离较远、噪声抑制较好等优点,被广泛应用于工业控制、仪器仪表、机电一体化等诸多领域。本章首先介绍了RS-485通信协议的电气特性等,然后介绍了常用RS-485转换芯片的原理、RS-485接口芯片的选型及工作电路,给出了单片机与RS-485接口的硬件电路,分析了电路设计中的一些要求及注意事项,最后详细分析了RS-485总线负载能力与信号传输距离之间的关系及RS-485的布线、接地等问题,这些问题在实际应用中十分普遍,应特别加以注意。
正在阅读:
第12章+RS485通信协议06-05
新苏教版小学三年级下册数学《认识几分之一》教案教学设计08-27
庐山旅游开发对生态环境的影响及对策.doc.deflate09-04
餐饮服务食品安全操作规范试题04-21
白手创业成功案例06-12
室内外团体心理游戏大集合02-21
小小电磁炉 蕴含大智慧 - 图文07-10
音乐欣赏基础复习集合整理05-31
第二章 传热习题答案04-07
一梅花诗画04-03
- 教学能力大赛决赛获奖-教学实施报告-(完整图文版)
- 互联网+数据中心行业分析报告
- 2017上海杨浦区高三一模数学试题及答案
- 招商部差旅接待管理制度(4-25)
- 学生游玩安全注意事项
- 学生信息管理系统(文档模板供参考)
- 叉车门架有限元分析及系统设计
- 2014帮助残疾人志愿者服务情况记录
- 叶绿体中色素的提取和分离实验
- 中国食物成分表2020年最新权威完整改进版
- 推动国土资源领域生态文明建设
- 给水管道冲洗和消毒记录
- 计算机软件专业自我评价
- 高中数学必修1-5知识点归纳
- 2018-2022年中国第五代移动通信技术(5G)产业深度分析及发展前景研究报告发展趋势(目录)
- 生产车间巡查制度
- 2018版中国光热发电行业深度研究报告目录
- (通用)2019年中考数学总复习 第一章 第四节 数的开方与二次根式课件
- 2017_2018学年高中语文第二单元第4课说数课件粤教版
- 上市新药Lumateperone(卢美哌隆)合成检索总结报告
- 协议
- 通信
- 485
- RS
- 人教版新课标2012-2013年度八年级下册数学试卷_期中考试
- 修配厂2015年工作总结
- 新闻传播伦理研究
- 渝建安发15号关于进一步加强重庆市建筑安全文明工地评选
- 时代光华 学习课程:中国式融资 测试题答案
- 林同学:2016年北大经院金融硕士复习经验汇总
- 外研版八年级英语下册Module 5Unit 1--unit3 同步课时练含答案
- 9 水质检验 PH 指标检验规程
- 反洗钱工作实施方案
- 6.4探索多边形的内角和与外角和
- 综合布线系统招标文件-技术部分
- 安全文化建设活动方案
- 对商业银行经营战略转型的思考
- oracle 10g impdp导入命令使用总结
- 2013山东聊城初中地理学业水平考试全真模拟试题(一)
- 格力电器_竞争优势和运营效率并存
- 《白鹿原》的女性悲剧形象分析
- 第4章 景观生态流与景观功能
- 英语书面表达常见的十大错误
- 新萝卜家园 Ghost XP SP3 WindowsXP系统