RS4585自动收发电路原理图讲解
原理图说明
下面RS485自动收发常用使用方法原理图:
在说原理图之前先说一下SP3485芯片
,SP3485
是一款可以将TTY电平
转化为RS485差分电平
,RS485使用的是LVDS电压标准
。
SP3485共有8个Pin:
RO(Receiver Output): 接收器输出口,将接收到的数据输出给SOC端
DI(Driver Input): 驱动输入口,用于接收SOC的数据并通过差分信号输出
RE(Receiver Enable): 接收器使能控制,低电平有效,当RE有效时,DI高阻抗,RO有效
DE(Driver Enable): 驱动控制,高电平有效,当DE有效时DI有效,R0高阻抗
VCC: 电源线
A/B: 差分线
GND: 电源地
下图是SP3485 Datasheet关于Pin的说明
Tips
当RE、DE都有效时以RE为准,这是线与特性
因为RS485是半双工,只有一个差分信号线
,所以RE/DE同一时刻只能有一个被使能
,所以一般的情况下会使用TX来控制将它们串联起来控制:
使用一个N-MOS来控制,当TXD为高时,也就是G大于S时
,N-MOS导通
,RE、DE都为低,也就是RO有效,恰好符合UART协议中空闲状态
,那么此刻发送为空闲接收有效,RO上面的Pin的变化就直接被SOC上的RX所接收,当TXD为低时,N-MOS不导通此刻呈现高阻抗
,而RE、DE有上拉电阻
,会将其拉到3.3V,也就是高电平状态,此刻DE有效:
当DE有效时由于TXD为低,而N-MOS没有导通,DI上默认接了下拉电阻
:
所以此时A=0,B等于1
此刻就是低电平
,当TXD为高时又处于截止状态,DI呈现高阻抗但外部A/B线上有接上下拉电阻
:
可以看到A上面接了上拉
,B上面接了下拉,此刻由于N-MOS
没有导通呈现高阻抗,那么A等于3.3
,B等于0,此时也就为1,这样就实现了自动收发
,当空闲时RO可以正常接收数据当处于发送模式时虽然SP3485在发送与接收模式下切换但是电路的设计会让A/B差分信号线处于正确的电平下
。
这里补充一点,无论是发送还是接收都会按照UART协议:起始位->数据位(8BIT)->停止位->校验位
也就是11BIT
,所以无论SP3485
收发怎么切换都会按这个协议来工作,一般RS485会使用MODBUS
协议来进行通讯,通讯双方明确知道当前是什么模式所以SP3485处于什么模式不重要,只要正常按照协议与UART总线协议来通讯就可以了。
这里顺带讲解一下这里串联了一个120Ω的R3电阻的作用,这个称之为终端电阻,因为RS485是属于远距离传输协议,它最远可以到3000米,通常一般在1200米以内,如此远的距离容易产生信号反射。
而且一般另外一端接收都是SOC
, 而SOC
一般都是CMOS IO
,而CMOS IO
的特点就是使用MOS管
,一般栅极用于输入与输出
,而栅极上一般用一层绝缘二氧化硅
隔离所以输入阻抗极大
,可以理解为无穷大
,因为SOC主要是电压驱动而非电流
,这就导致了如果有电子流过那么它们会到栅极处聚集
,因为哪里有一层绝缘的二氧化硅
,电子会聚集在在栅极
由于同性相斥后续的电子会被排斥也就是反弹回去
,形成一部分负电场
,根据麦克斯韦方程组结论电场会产生电磁波
,如果距离较近电场还会干扰发送端
,所以因此一般在发送端与接收端并联一个电阻
,这样电子就不会聚集在栅极处而是经过电阻流走了,能够有效降低反射, 注意不能是串联,因为串联会导致电流无法通过,电压上升较慢影响信号波形。
最后就是三个SMBJ6.5CA
二极管了,SMBJ6.5CA
是瞬态电压保护二极管,这是一个经典的TVS保护电路
。
SMBJ6.5CA
的特性是当电压超过6.5v
会被击穿,D1和D2
就会强制将A/B两根线拉到GND
里用于保护芯片这里是共模电压保护
,D3是差模电压保护
,当D1-D2的电压差大于6.5v时
,D3会被导通
,或者D2-D1电压差大于6.5D3也会被被导通
,假如D1电压过大,导致D3导通了,那么能量就会泄入到D3与D1之间的Line上面去,这样能保护D2上的Line不会因为能量负载过大而发热或者烧掉,也减轻GND的负担,就比如你左手上的东西太多的了,已经负担不了了,在继续拎着可能导致胳膊脱臼,最好的方式就是让右手也帮忙拎点东西。
Tips
SMBJ6.5CA
是双向击穿二极管