RS-485标准在工业控制、电力通讯、智能仪表等领域中使用广泛。但是,在工业控制等现场环境中,情况复杂,常会有电气噪声干扰传输线路;在多系统互联时,不同系统的地之间会存在电位差,形成接地环路,会干扰整个系统,严重时会造成系统的灾难性损毁;还可能存在损坏设备或危害人员的潜在电流浪涌等高电压或大电流。因此,对RS-485接口的隔离是非常有必要的。
隔离RS-485接口电路
我们经常采用的485接口隔离电路是利用三个光耦隔离收发及控制信号,加上485收发器共需要4片IC,且采用光耦隔离需要限流及输出上拉电阻,必要时还会使用三极管驱动。设计电路繁琐,耗费时间长,如果没有之前使用光耦的经验,那么在选用光耦限流及输出上拉电阻方面会耗费很多不必要的时间;且光耦的输出信号上升时间较长,在与数字I/O端口相接时,需另加施密特整形才能保证信号的波形符合标准,如在FPGA、DSP等系统中的应用。
ADM2483是内部集成了磁隔离通道和485收发器的芯片,内部集成的磁隔离通道原理与光耦不同,在输入输出端分别有编码解码电路和施密特整形电路,确保了输出波形的质量。且磁隔离功耗仅为光耦的1/10,传输延时为ns级,从直流到高速信号的传输都具有超越光耦的性能优势。内部集成的低功耗485收发器,信号传输速率可达500Kbps,后端总线可支持挂载256个节点。具有真失效保护、电源监控以及热关断功能。
要实现隔离RS-485接口的电路设计只需在ADM2483的电源与地之间接一个104的去耦电容即可。当然,DC-DC隔离电源是必不可少的。其电路连接如下图:
信号自收发电路
信号自收发电路我们采用74HC14芯片,利用它的施密特波形翻转性能来控制RE、DE引脚,以实现信号的自收发。其电路连接如下图:
如图所示,MCU的发送信号经过施密特触发器反向后输给DE和RE脚,发送数据引脚TxD接地。
当有高电平信号发送时,经反向变为低电平信号,DE/RE引脚输入为低电平,使发送驱动器禁止,总线为高阻状态,此时由A、B总线上的上拉电阻产生高电平输出。当有低电平信号发送时,经反向变为高电平信号,DE/RE引脚输入为高电平,使发送驱动器工作,由于TxD引脚端接地,为低电平,这样就将低电平发送至总线。
仅为实现RS-485接口的自收发功能,在实际应用中,应根据使用情况作出相应的修改。此收发电路也有不足之处,当在连续发送高电平时,ADM2483的DE/RE引脚处于接收状态,所以,此时的发送端和接收端都处于接收状态,这时的总线是空闲状态,是允许各节点发送数据的,因此一般在主从式的网络结构中采用此方法。在网络上也有不同的几种实现RS-485收发器自收发的方案,分别有以下几种:
利用三极管反向原理实现
电路如下图:
当不发送数据时,TxD信号为高电平,经V1反向后使ADM2483处于接收状态。当发送数据时,TxD为高时,经V1反向,使发送驱动器禁止,总线为高阻状态,此时由A、B总线上的上拉电阻产生高电平输出。TxD为低时,经V1反向,使发送驱动器工作,由于TxD引脚端接地,为低电平,这样就将低电平发送至总线。
采用这种电路时,需要程序保证不同时进行接收和发送的操作。
利用555定时器,其原理于以上电路类似,电路图如下: