传统常用的485自动切换电路如下:

 自动原理简述:

1.TX=1(串口停止位),此时Q1导通,485芯片处于接收态,接收高(R4上拉为高,A,B线上下拉为A>B)总线处于高被接收端接收;;

2.TX=0(串口起始位),此时Q1截止,485芯片处于发送态,将DI处的电平(固定为低)发送出去,此时A<B,RO高阻,RX=1;

3.R4还是有必要的,为什么呢,看下芯片手册真值表:

芯片的 RO脚只在RE为0时才有意义,当RE为1时,RO为高阻态,R4电阻的作用时强制使RO为高电平,对MCU来说,即停止位。

如果R4不是上拉到VCC,而是下拉到GND,会怎样呢?

继续分析一下:

对于TX状态,与上图无异 ;对于RX,差异就来了;

1.TX=1的,485接收态,RX=1(由A,B上拉所致);

2.TX=0的,485发送态,RX=0(由R4下拉所致);

这就导致TX发什么,RX就收什么,即使485对外接口悬空,MCU也会收到从TX发出数据,形成串口回环。

Logo

DAMO开发者矩阵,由阿里巴巴达摩院和中国互联网协会联合发起,致力于探讨最前沿的技术趋势与应用成果,搭建高质量的交流与分享平台,推动技术创新与产业应用链接,围绕“人工智能与新型计算”构建开放共享的开发者生态。

更多推荐