基于硬件的RS-485零延时转换电路

[复制链接]
查看1524 | 回复0 | 2011-9-7 22:44:33 | 显示全部楼层 |阅读模式
<





RS-485是一种基于差分信号传送的串行通讯链路层协议,它解决了RS-232协议传输距离太近(15m)的缺陷,是工业上广泛采用的较长距离数据通讯链路层协议。

由于它使用一对双绞线传送差分信号,属半双工通讯,所以需要进行接收和发送间的切换。一般的8脚TTL电平到RS-485电平的转换芯片的管脚定义如图1所示。



其中,各引脚意义如下:

RO----接收数据的TTL电平输出;

RE----低电平有效的接收允许;

DE----高电平有效的发送允许;

DI----发送数据的TTL电平输入;

A------485差分信号的正向端;

B------485差分信号的反向端;

一般的RS-485电路设计中,将-RE和DE短接,用一根信号线来控制,这样可以做到收发的切换。

单片机电路中,一般用一根I/O线来控制485芯片的收发转换,这样需要由软件来控制I/O引脚的电平,以达到控制485收发转换的目的。

485芯片通常处于接收状态,当要发送数据时,由程序控制-RE/DE 变为高电平,然后UART单元发送数据,程序要等待发送完毕后,再将485芯片转换到接收状态。发送完毕的标志一般由UART的特定寄存器提供状态指示,程序需要去查询。

这样造成RS-485通讯存在以下问题:

l 在想要发送数据和真正的能发送数据之间,存在一定的延时;

l 如果发送到接收的转换时机不当,则会造成数据丢失;

l 在接收和发送数据转换期间,容易引入干扰,收到多余的杂乱数据。
在下面的电路中,可以实现485的收发零延时转换。


图2 RS-485零延时转换电路示意

分析如下:

当不发送数据时,TTL电平的Tx信号为高电平,经Q1反向为低电平,RS-485芯片接收允许。

当发送数据时:

1、 当Tx为低电平时,经Q1反向后,DE/-RE为高电平,发送允许,此时由于DI 接地,所以485芯片的输出端A、B产生表示低电平的差分信号。

2、 当Tx为高电平时,经Q1反向后,DE/-RE为低电平,485芯片的A、B端处于高阻态,此时靠电阻R1和R2的下拉和上拉作用,使总线上产生正的差分信号,从而将Tx的高电平信号送出。



由以上分析看出,在使用这个电路时,只要程序能保证不同时进行接收和发送的操作,即保证是半双工传送数据,程序不必用指令控制DE/-RE进行接收和发送的转换。转换由硬件本身完成。

经过在没有干扰的试验室做试验,此电路的传送距离可达1200米(信号线为0.5平方毫米屏蔽平行线)。

由于条件限制,没有做过在干扰情况下的通讯距离。

另据考证,RS-232/RS-485转换器的零延时转换技术与此相同。
热帖推荐
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则