485自收发电路中,怎么理解当发送高电平时,A和B为高阻态?

485自收发电路中网上的文章很多,网上关于“当UART_TX=1,A和B为高阻态”的说法应该是错误的,有误导性,不利于别人理解。

485自收发电路中,怎么理解当发送高电平时,A和B为高阻态?_第1张图片

图 1 硬件自收发切换,非隔离RS-485电路实例

上图中,UART_TX和UART_RX默认高电平,A接上拉电阻,B接下拉电阻。

当没有数据要发送时,UART_TX保持为高电平,U6导通,RE#为低,RO接收使能,所以A和B发送的数据都会传给UART_RX,这就是接收过程。

当发送数据,根据串口协议,UART_TX会首先发送一个起始位0,此时DE=1,接下来发送的数据位,如果UART_TX发送的是“0”,DE=1,因为DI=0,所以AB端接收到的就是“0”;

如果UART_TX发送给的是“1”,RE#=0,处于接收状态,DE=0,意味着驱动器D的输出为高阻态(类似于下图中从红线位置断开),A和B此时并不处于高阻态,见下图,此时A = 1, B = 0(代表高电平),这个时候虽然RE#=0,接收器R开始输出数据到RO, 但我们关注的并非接收器。

485自收发电路中,怎么理解当发送高电平时,A和B为高阻态?_第2张图片

图 2 MAX485功能框图

根据上面的分析,如果UART_TX发送的是“0”,AB端接收到的就是“0”;如果UART_TX发送给的是“1”,AB端接收到的就是“1”,这样分析起来就比较好理解了~

你可能感兴趣的:(01_硬件)