一种微功耗的RS485中继器的设计方案

分享到:

引 言:

  在通信距离为几十米到上千米时,RS485收发器被广泛使用。RS485收发器采用平衡发送和差分接收,因此具有抑制共模干扰的能力,加上接收器具有高的灵敏度,能检测低达200mV的电压,故传输信号能在千米以外得到恢复。

  使用RS485总线,一对双绞线就能实现多站联网,构成分布式系统。它的设备简单、价格低廉、能进行长距离通信,故在工程项目中得到了广泛应用。但是如果工程需要更长的通信距离,超出RS485接口能够提供的可靠传送数据范围时,单一的RS485通信控制芯片对就无法完成了。这时,必须在传输线路中增加中继器。

  笔者在长期实践的基础上,设计了一种微功耗的RS485中继器,经实地测试,通信距离可达原来的1.8倍。

  1 中继器原理

  中继器原理图如图1所示。其中,U1和U2是中继器的收发芯片对,负责数据的收发或发收,采用SIPex公司的3V低功耗芯片SP3485,单片待机时电流为10 μA,其他逻辑电路均采用HC型,待机电流2 μA,大大降低了系统功耗。


 

  图1原理图

  低待机电流和真失效保护是该应用的两个关键特性。RS485是一种半双工通信标准,必须控制好总线的收发状态。当RS485输入开路,或者已经终端匹配且没有驱动的情况下,U1和U2将使其接收端输出(RO)为高电平。在差分输入端A1和B1处,如果有输入的字节数据时,则在U1的RO端将产生一个电压跃变,由触发器74HC74及与非门74HC00组成的状态机在RO的下降沿锁定为ON状态。状态机将U2的驱动器使能引脚(DE)拉为高电平,使输入数据字节从U2以RS485电平转发出去。

  状态机一直监视RO引脚的电压跃变。当一个数据字节传输完成时(当在一个内定的时间间隔内没有下降沿加在状态机上时,即表示字节传输完毕),状态机自动复位,并等待任何一侧接口上的下一个数据字节。

  一帧数据到达U1后,被转发至U2的A2端口和B2端口输出。在最后一次跳变700μs后U2释放其输出。其他的时间延迟可以通过调整图1中的R1/C1和R2/C2得到。

  同样,如果一帧数据到达U2后,将被转发至U1的A1端口和B1端口输出。这样就实现了数据的双向传输,并且由于中继的原因,理论上通信距离会增至原来的2倍。 2 测试结果

  使用泰克示波器TDS2012观察接收和发送端的波形,并加以存储分析,如图2所示。

  其中,垂直刻度为1 V/格,水平刻度为400μs/格;上部波形表示一帧数据到来,中间和下部波形分别表示被转发至B2和A2。由图2可见,波形的上升沿和下降沿都很陡,说明数据电平比较规范,失真度很小。并且由于采用了状态机结构,能够自动识别数据传输方向,比采用软件控制方向更加方便、可靠,达到了设计要求。

  另外,在系统允许的情况下,波特率应尽可能低,因为过高的波特率将致使传输距离受限。由于传输线的欧姆阻抗、集肤效应等损耗引起信号畸变,从而通信距离受到限制。从实验结果总结看,有中继器的数据传输波特率不宜超过14400。增加中继器后通信距离为原来的1.8倍。功耗方面,在没有数据传输的待机状态,用微安表测得整机功耗电流约为22 μA(供电电压3 V)。


 

  图2波形图

  结语

  在对RS485总线理论深入分析的基础上,结合实际应用,设计了一种完全由硬件组成的RS485中继器。经过实地测试,收到了良好的效果;同时采用了3V的低功耗芯片,使它非常适宜工作在电池供电的场合。这对于单片机及其他系统的长距离通信有一定的参考价值。