1.概述
RS485接口组成的半双工网络,一般是两线制。数据信号采用差分传输方式,可以有效的解决共模干扰问题,最大距离可以到1200米,并且允许多个收发设备接到同一条总线上。RS485 总线通常使用特性阻抗为 120Ω 的双绞线,因此在 485 总线的首尾两端增加 120Ω 终端电阻来避免信号反射问题。
电平标准:
逻辑1:输出A、B之间的电压差+2~+6V输入A、B电压差>200mV
逻辑0:输出A、B之间的电压差-6~-2V输入A、B之间的电压差<-200mV
2.硬件连接
电平转换芯片:MAX485
TTL(3.3V、0V)转RS485电平(逻辑1:输出A、B之间的电压差+2~+6V,输入A、B之间的电压差>200mV。逻辑0:输出A、B之间的电压差-6~-2V输入A、B之间的电压差<-200mV。)
MAX485引脚定义
引脚 | 名称 | 功能 |
1 | RO | 接收器输出 |
2 | RE | 接收器输出使能。为0时,允许接收器输出。 |
3 | DE | 驱动器输出使能。为1时,允许驱动器工作 |
4 | DI | 驱动器输入。DI为低电平,A为低电平,B为高电平:DI为高电平,A为高电平,B为低电平: |
3 | GND | 地 |
6 | A | 接受器非反相输入和驱动器非反相输出端。 |
7 | B | 接受器反相输入和驱动器反相输出端。 |
8 | VCC | 电源,-0.3-7V。 |
3.电路图
RO和DI端分别为接收器的输出和驱动器的输入端,与单片机连接时只需分别与单片机的RXD和TXD相连即可。
RE和DE端分别为接收和发送的使能端,当/RE为逻辑0时,器件处于接收状态;当DE为逻辑1时,器件处于发送状态。,因为MAX485工作在半双工状态,所以只需用单片机的一个管脚控制这两个引脚即可。
A端和B端分别为接收和发送的差分信号端。
注意:
1、电阻 (R42, 120Ω):
终端电阻,用于阻抗匹配,防止信号反射,通常在RS-485总线的末端放置。
2、二极管 (U9, TVS二极管):
瞬态电压抑制器(TVS)二极管,用于保护RS-485总线免受静电放电(ESD)和其他瞬态电压的影响。
RS485自动收发电路
接收
TX为高电平,三极管导通,RE为低电平使能,RO收数据有效,MAX485为接收态。
发送
发送数据1:发送数据1时,TX为高电平时,三极管导通,DE为低电平,此时收发器处于接收状态,驱动器就变成了高阻态,也就是发送端与A\B断开了,此时A\B之间的电压就取决于A\B的上下拉电阻了,A为高电平、B为低电平,也就成为了逻辑1。
发送数据0:发送数据0时,TX为低电平时,三极管截止,发送引脚已连接GND,即发送的数据为低电平。
注意:
1、A总线上拉,B总线下拉,主要是为了防止RS485总线的差值处于-200mV到+200mV之间。