在工业控制、电力通讯、智能仪表等领域中,通常使用串行通讯方式进行数据交换。最初的 RS232 接口,由于外界应用环境等因素,经常因电气干扰而导致信号传输错误。除此之外,RS232 接口只能实现点对点的通信方式,不具备联网功能,而且其最大传输距离仅有 15 米,不能满足远距离通讯要求。RS485 则解决了这些问题,数据信号采用差分传输方式,最大传输距离约为 1219 米,允许多个发送器连接到同一条总线上。考虑到节能、低功耗等原因,系统电压由传统的 5V 转为 3.3V,因此 3.3V 供电的 RS485 接口应运而生。
RS-485 标准概述
RS-485 数据信号采用差分传输方式,收、发端通过平衡双绞线将 A-A 与 B-B 对应相连。当线路 A 高于线路 B 电平(VA-VB》 +200mV)时,接收端输出为逻辑高电平(RO=1);当线路 A 低于线路 B 电平(VA-VB-200mV)时,接收端输出为逻辑低电平 (RO=0)。当驱动器的输入端逻辑电平为高(DI=1)时,线路 A 电平高于线路 B 电平;当驱动器的输入端逻辑电平为低(DI=0)时,线路 A 电平低于线路 B 电平。见图 1。
RS-485 接口采用差分方式传输信号,一般收发器能够承受的共模电压范围为-7V 至+12V,一旦共模电压超出此范围,将会影响通信的可靠性,甚至损坏接口。由于每个系统都会有独立的地回路,在远距离通信条件下,系统间的地电位差 VGPD 将会很大。发送器的输出共模电压为 VOC,那么接收器输入端的共模电压 VCM=VOC+VGPD,RS-485 标准规定 VOC 小于等于 3V,但 VGPD 的幅度可达十几伏甚至数十伏,并可能伴有强干扰信号,导致接收器的共模输入 VCM 超出正常范围,并在信号线上产生干扰电流。解决此类问题的方法是:
a、通过带隔离的 DC-DC 将系统电源和 RS-485 收发器的电源隔离,如图 2 所示;

图 2:低压 3.3V 隔离电源方案图
b、通过光耦将信号隔离,减小共模电压的影响。
采用该方法时,总线收发器的信号线和电源线与本地信号的电源是相互隔离的。
光耦隔离电路
光耦往往是限制通信数据波特率的主要因素,对于低速传输,可采用 PS250、TIL117 等。在高速电路设计中,可以考虑采用 6N137、6N136 等高速光耦,优化电路参数设计。光耦隔离示意图如图 3 所示。图 3 中,电阻 R3、R4 如果选取得较大,将会使光耦的发光管由截止进入饱和状态的速度变慢;如果选取得过小,退出饱和将会变慢。不同型号的光耦及驱动电路,使得这两个电阻的数值略有差异,阻值的选取通常由实验来确定。

图 3:光耦隔离示意图