UART单线半双工电路
有时候由于需要,需要用到UART的单线半双工模式,比如一个从设备只有一根信号线进行收发,主设备希望使用UART来进行通信,或者就是单纯的为了减少走线数量,虽然只减少了一根,我也不知道这有多大的意义?
UART单线半双工模式速度最高只有14400(根据Microchip的AN2658文档),以下是文档中的电路(为了好分析,照着样子重新画了下,使其有位号)。
工作分析:
1. RXD为单总线的数据线,即两个设备之间的通信线。
2. 当发送数据时,TXD为高,Q1导通,Q2截止,从而RXD为高,发送1;反之TXD为低时,发送0.
3. 当接受数据时,TXD需要设置为开漏输出高,即Q1导通,Q2截止,这时RXD的状态受对方控制,即对方发送0,则RXD被拉低,这时接收0;对方发送1,RXD被拉高,这时接收1.
另外还有使用一个三极管的电路,从单个原理上可以通信(未考虑设备IO口的内部电路),但是不知道会不会烧芯片,因为AN2658文档提到了H桥,所以这里需要去尝试才行,本人后续有时间再搭建环境进行验证,这里只是给自己一个记录。
以上VCC需要根据IO口的Vih来权衡使用多大的电压?是否能把管子打开?