引言
在工业控制设备之间中长距离通信的诸多方案中,RS485总线因其硬件设计简单、控制方便、成本低等优点,广泛应用于工厂自动化、工业控制、小区监控、水利自动测控等领域。RS485总线采用平衡式发送、差分式接收的数据收发器来驱动,各节点之间的通信是以一对双绞线作为传输介质。与RS232接口相比,RS485总线的传输距离更长、抗干扰能力也更强。RS485总线具有以下一些特点:
①接口采用平衡驱动器和差分接收器,抗共模干扰能力强,即抗噪声干扰性好。
②收发器输出A、B之间的电平为+2~+6 V,是逻辑“1”;为-6~-2 V,是逻辑“0”。信号电平比RS232降低了,不易损坏接口芯片。另有“使能”控制信号,可使收发器处于高阻状态,切断与传输线的连接。
③接收器的输入灵敏度为200 mV。即在当收端VA-VB》+200 mV时,输出为逻辑“0”;VA-VB<-200 mV时,输出为逻辑“1”。
④最高传输速率为10 Mbps,最大传输距离标准值为1 200 m。
⑤在节点数为32个、配置120 Ω终端电阻的情况下,驱动器至少还能输出1.5 V电压(终端电阻的大小与所用双绞线的参数有关)。
⑥具有多站点传输能力,即总线上允许挂接多个收发器,可建立设备网络。
在传统的RS485总线节点设计的基础上,本文基于ADI公司推出的带隔离的增强型RS485收发器AD-uM2483,采用磁耦隔离和硬件零延时技术所设计的RS485总线节点,具有良好的抗干扰性和较高的通信速率,可应用在一些环境比较复杂的工业场合。
1 设计思想
RS485总线节点由单片机STC12C5410AD、带隔离的RS485收发器ADuM2483、高速三极管等组成。其中,ADuM2483的应用图如图1所示。STC12C5410AD是宏晶科技生产的单时钟/机器周期(1T)单片机,是高速/低功耗/超强抗干扰的新一代8051单片机,指令代码完全兼容传统8051,但速度快8~12倍。其内部集成MAX810专用复位电路、4路PWM、通用全双工异步串行口(UART),可用定时器软件实现多串口;8路高速10位A/D转换,宽电压,不怕电源抖动,高抗静电(ESD保护),特别适用于强干扰场合。
在情况比较复杂的现场中,各节点之间存在很高的共模电压。虽然RS485总线采用平衡式发送、差分式接收的数据收发器来驱动,具有一定的抗共模干扰能力,但当共模电压超过其极限接收电压时,RS485收发器就无法工作了,严重时甚至会烧毁芯片和仪器设备。因此,为了适应强干扰环境甚至更苛刻的性能要求,必须对RS485总线各节点实行电气隔离。
传统的RS485隔离总线节点是由光电耦合器和RS485总线收发器(如MAX485)构成,使用光束来隔离和保护检测电路,在高压和低压电气环境之间提供一个安全接口。目前,一般使用6N137光电隔离器件,用MAX485作为RS485总线收发器。Toshiba公司的6N137工作电压为5V,数据最高传输速率为10 Mbps,工作温度一般为0~70℃;隔离电压为2 500 V(有效值),以DIP8封装,每个芯片仅提供一个隔离通道,体积大,稳定性差,功耗高,LED易老化。这些性能已经限制了6N137在更高要求的环境中应用。本文选用ADI公司的ADuM2483。它是一款带隔离的RS485收发器和一个3通道的数字隔离器,是目前性价比很高的RS485收发器,功能上相当于1个MAX485和3个6N137光耦隔离器,可满足RS485总线节点的要求。
2 ADuM2483简介
ADuM2483采用的iCoupler技术是基于芯片尺寸的变压器,而不是基于光电耦合器所采用的LED与光电二极管的组合。这种技术由于取消了光电耦合器中的光电转换过程,并且采用iCoupler变压器专利技术集成变压器驱动和接收电路,从而实现了光电隔离器无法比拟的性能优势。由于使用晶片级制造工艺直接在芯片上制造iCoupler变压器,所以iCoupler通道比光电耦合器更为有效地实现通道之间的集成,也更容易地实现其他半导体功能。
iCoupler数字隔离器无需驱动LED的外部电路,功耗仅为光电耦合器的1/10~1/50。这种新的基于电磁的隔离方法,在抗高温影响方面远优于光电耦合器。iCoupler数字隔离器在125℃高温环境下性能和可靠性并不下降,因此可以采用低成本、小体积的SOIC封装。另外,iCoupler数字隔离器的隔离通道具有比光电耦合器更高的数据传输速率、时序精度和瞬态共模抑制能力,因此非常适合于各种工业上的应用(包括数据通道、数据转换接口,以及其他多通道隔离应用)。
ADuM2483包括1个3通道隔离器、1个带三态输出的差分驱动器和1个带三态输入的差分接收器。其1/8单位负载的接收器输入阻抗允许多达256个收发器接入总线,最高传输速率可达500 kbps;逻辑端兼容3 V/5 V工作电源,总线端5 V供电。
ADuM2483采用限摆率驱动器,较低摆率降低了不恰当的终端匹配和接头产生的误码。其接收输入具有真正的失效保护功能,当接收器输入为开路、短路、或空闲时,真正的失效保护可使接收器的输出逻辑变高。在上电过程中或接入一个已上电的底板时,其热插拔回路可消除由于对使能和差分接收器输入端的扰动而导致的错误数据。ADuM2483的驱动器具有短路电流限制,并可以通过热关断保护电路将驱动器输出置为高阻状态,防止过度的功率损耗。芯片封装采用易于使用的SOW16封装,工业级温度范围内无需任何分立元件就可实现RS485功能。其主要特点如下:
◆传输速率高,最高可达500 kbps;
◆带载能力强,总线上最多可以挂接256个节点;
◆具有±2 kV的ESD保护功能和热关断保护功能;
◆工业级温度范围为-40~+85℃;
◆瞬态高共模抑制能力,真正防故障装置的接收输入端;
◆低功耗,最大2.5 mA的工作电流;
◆体积更小,集成度高,大大减小了印制电路板的面积。
3 RS485总线节点设计
ADuM2483所隔离的两端有各自的电源和参考地。其中,逻辑端电压为2.7~5.5 V,可以实现低电压供电,从而进一步降低系统功耗;总线端5 V供电,本文设计的接口电路的逻辑端电压采用5 V供电。电源和参考地之间需接入0.1μF龟容,以滤除高频干扰。需要注意的是:图中,GND1与GND2是2个不同的参考地,否则将达不到隔离的效果。
ADuM2483独具的PV(Power-Valid)电源监控功能,可根据供电电源的稳定情况而开断芯片工作。为了避免GND1缓慢上电/掉电 (》100 μs/V)引起的A、B输出抖动情况,ADuM2483设计了PV引脚。当电平低于2.0 V时,此引脚为低,芯片不工作;高于2.3 V时,此引脚为高,芯片正常工作。D1与D2用来防止总线上的瞬变干扰。RS485总线接口电路如图2所示。
采用金升阳公司的B0505S隔离模块实现收发器两端电源与地完全隔离。其隔离电路如图3所示。
4 RS485总线零延时收发的实现
在RS485总线节点电路设计中,一般要将收发器的接收允许(RE)和发送允许(DE)两个引脚短接,由一根信号线来控制收发的切换。在控制电路中,一般用单片机I/O引脚来控制RS485收发器的收发转换,这样就需要由软件来控制单片机I/O引脚的电平,以达到控制RS485收发转换的目的。RS485 收发器通常处于接收状态,当要发送数据时,由程序控制RE/DE变为高电平,串行通信单元发送数据;等待发送完毕后,程序再将RS485收发器转换到接收状态。发送完毕的标志一般由串行通信的特定寄存器提供状态指示,再由程序去查询。这样造成RS485通信存在以下问题:
◆在想要发送数据和真正能发送数据之间,存在一定的延时;
◆如果发送到接收的转换时机不当,则会造成数据丢失;
◆在接收和发送数据转换期间,容易引入干扰,收到多余的杂乱数据。
在设计RS485总线接口电路时充分考虑到了总线的延时问题,应用一个高速的NPN三极管控制实现RS485总线的零延时收发,如图2所示。
不发送数据时,逻辑端TXD信号为高电平。此时Q1导通,使RE/DE信号线上为低电平,ADuM2483接收允许。发送数据时,若TXD为低电平,Q1 关断,从而使RE/DE信号线上为高电平,发送允许,ADuM2483的输出端A、B上产生表示低电平的差分信号。当TXD为高电平时,Q1导通,使 RE/DE信号线上为低电平,ADuM2483的A、B端处于高阻态。此时靠电阻R1和R2的上拉和下拉作用,使总线上产生正的差分信号,从而将TXD的高电平信号送出。
由以上分析看出,在使用这个电路时,只要程序能保证不同时进行接收和发送的操作,即保证是半双工传送数据,则不必用软件控制RE/DE进行接收和发送的转换,可由硬件本身完成,从而提高了RS485总线接收、发送数据的高速率和高可靠性。