详细解读了 485 自动切换电路的工作原理,重点讨论 R4 电阻在停止位中的作用,并探讨 R4 上下拉对 RX 的影响,以防串口回环。下面通过实例分析不同 TX 状态下的接收和发送行为。
传统常用的 485 自动切换电路如下:

自动原理简述:
TX=1(串口停止位),此时 Q1 导通,485 芯片处于接收态,接收高(R4 上拉为高,A、B 线上的上下拉使 A>B),总线处于高电平,被接收端接收。
TX=0(串口起始位),此时 Q1 截止,485 芯片处于发送态,将 DI 处的电平(固定为低)发送出去,此时 A<B,RO 高阻,RX=1。
- R4 还是有必要的,为什么呢?看看芯片手册的真值表:

芯片的 RO 脚只在 RE=0 时才有意义,当 RE=1 时,RO 为高阻态。R4 电阻的作用是强制使 RO 为高电平,对 MCU 来说,就是停止位。
如果 R4 不是上拉到 VCC,而是下拉到 GND,会怎样呢?

继续分析一下:
对于 TX 状态,与上图无异;对于 RX,差异就来了。
TX=1 时,485 处于接收态,RX=1(由 A、B 上拉所致)。
TX=0 时,485 处于发送态,RX=0(由 R4 下拉所致)。
这就导致 TX 发什么,RX 就收什么。即使 485 对外接口悬空,MCU 也会收到从 TX 发出的数据,形成串口回环。
|