浅析 UART、RS232、TTL 之间的关系

UART

通用异步收发传输器(Universal Asynchronous Receiver/Transmitter),通常称作UART。在嵌入式系统中,通常作为 MCU 的外设; 一般来说,由芯片引脚直接引出的一般是 TTL 电平;而中间接有转换芯片的可能就是 RS232 电平。

UART总线协议

RS232-Serial-Communication-with-UART

TTL

TTL 电平是 TTL 电路输出的电平,其中"TTL"是英文 "Transistor-Transistor Logic" 的缩写,中文翻译为“晶体管-晶体管逻辑”,因此 TTL 电路就是“晶体管-晶体管逻辑电路”。
由于电平是一个连续变化的电压范围,为了用这种模拟量的电压来表示数字量的逻辑1和逻辑0,TTL电平规定:

  • 输出电路:电压大于等于(≥)2.4V为逻辑1;电压小于等于(≤)0.4V为逻辑0;
  • 输入电路:电压大于等于(≥)2.0V为逻辑1;电压小于等于(≤)0.8V为逻辑0;

RS232

RS232 是美国电子工业协会于 1962 年发布的串行通信接口标准,其中 RS 为英文 "Recomend Standard" 的缩写,中文翻译为“推荐标准”,232为标识号。该标准对串行通信的物理接口及逻辑电平都做了规定。其输出的电平称为 RS232 电平。

最简单的RS232通信由三条数据线组成,即 TxD、RxD 和GND。RS232采用负逻辑电平,即-15V ~ -3V代表逻辑"1",+3V ~ +15V代表逻辑"0"。这里的电平,是TxD线(或者RxD线)相对于 GND 的电压。

RS232

可见,TTL 电平和 RS232 电平,无论是在电压范围还是在极性(RS232负逻辑电平)上都是不同的,因此,这两种电平接口是不能直接相连的。
为了把 MCU 的 TTL 电平转换成 RS232电平,通常我们需要一个专门的转换芯片,比如 TI 的 MAX3232。

uart-spi-i2c

参考文献

https://zhuanlan.zhihu.com/p/33041966
https://www.lammertbies.nl/comm/cable/RS-232.html

推荐阅读更多精彩内容