目录
一、芯片解释
引脚功能解释:
1、RO 接收模式输出引脚,该引脚接在MCU的RX引脚,、芯片在接收模式下,RO处输出逻 辑电平0/1由A、B间电压决定
2、RE 接收模式使能引脚,该引脚为低电平时,芯片处于接收模式
3、DE 发送模式使能引脚,该引脚为高电平时,芯片处于发送模式
4、DI 发送模式发送引脚,该引脚接在MCU的TX引脚
5、GND 供电负端
6、B 485-B端
7、A 485-A端、芯片在接收模式下,RO处输出逻辑电平0/1由A、B间电压决定
8、VCC 供电正端
二、电路解释
一、普通收发电路
我们先看看普通的收发电路。
当主控要发送数据的时候,控制CTRL为高电平,数据通过TXD发送出去。
当主控要接收数据的时候,控制CTRL为低电平,数据通过RXD接收回来。
R1:下拉电阻,芯片B引脚空闲时将会置低。
R2:匹配电阻,差分信号终端会加一个匹配电阻用于减少信号反射,保证信号质量,比如485差分线终端,常用120欧姆电阻横跨两线之间。
R3:上拉电阻,芯片A引脚空闲时将会拉高。
D1、D2、D3:TVS二极管,用于抑制过压,在过压情况下,TVS二极管会将电压钳位在一个安全电压范围内,避免烧毁收发器。
对于匹配电阻,有通用方式, 一般的高频信号线均为50欧姆~60欧姆。75欧姆主要是视频信号线。USB信号线差分阻抗为90欧姆,以太网差分信号线差分阻抗为100欧姆。RS422、RS485、CAN差分信号的差分阻抗为120欧姆。
二、自动收发电路
R43、R48、R53:限流电阻
R54:上拉电阻
补充一个知识,大家可能都知道IIC有上拉电阻一说,所以IIC协议总线空闲时默认电平是高电平,而UART协议总线在空闲时电平也是高电平。
接收:单片机的串口空闲状态下是高电平,所以芯片就会默认是接收模式
接收数据,在接收数据的过程中,TX引脚是一直保持高电平的,当TX是高电平时,RE是低电平,芯片正好变成了接收状态,然后485芯片的RO引脚(也就是接RX的引脚)就会接收AB传输过来的数据。
发送:TX发0时,AB就发0;TX发1时,AB就发1。
当TX发送0时,三极管不导通,DE接高电平,进入发送模式,485芯片会把DI上的电平反应到AB引脚上输出,因为DI已经接地,所以AB引脚会传输0。所以,当TXD发送0时,AB引脚发送0。
当TX发送1时,三极管导通,RE接低电平,进入接收模式,在这种状态下(发送模式时功能引脚变为接收模式),485芯片的AB引脚进入高阻状态,发送的数据不再取决于DI引脚的电平,而是完全取决于外部上下拉电阻,因为R3把A拉高,R2把B拉低,所以,AB传输的是1(A处电压减去B处电压>某V,则为1)。所以,当TXD发送1时,AB引脚发送1。
三、带隔离的自动收发电路
接收:单片机的串口空闲状态下是高电平,芯片默认还是接收模式
接收数据,在接收数据的过程中,TX引脚是一直保持高电平的,当TX是高电平时,光耦不导通,三极管导通,RE是低电平,芯片正好变成了接收状态,然后485芯片的RO引脚(也就是接RX的引脚)就会接收AB传输过来的数据。
发送:TX发0时,光耦导通,三极管不导通,DE为高电平,进入发送模式,此时DI引脚始终置地,那么AB就发逻辑0;当TX发1时,光耦不导通,三极管导通,RE为低电平,此时芯片又在发送模式进入接收状态,那么AB输出就不再靠DI状态决定,而是只靠外部电阻的状态来决定,此时A上拉,B下拉,AB电压差为正,此时AB发逻辑1。
三、电路注意事项
1、电路亲测可用,可直接搬用。
2、电路波特率不可选用太高,9600bps没问题,115200bps肯定不行,因为涉及三极管的导通,使用光耦的话还要涉及光耦的导通。
3、485芯片有很多,上述的SP485EEN供电电压为5V,上述电路中的VCC直接改为5V即可,但有些芯片比如SP3485是3.3V供电,各位选择芯片时要注意供电电压的问题。
END、END、END、END、END、END、END、END!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!