淺析 UART、RS232、TTL 之間的關係

weixin_34054866發表於2018-10-19

UART

通用非同步收發傳輸器(Universal Asynchronous Receiver/Transmitter),通常稱作UART。在嵌入式系統中,通常作為 MCU 的外設; 一般來說,由晶片引腳直接引出的一般是 TTL 電平;而中間接有轉換晶片的可能就是 RS232 電平。

UART匯流排協議

2214287-e4975b6f6428690c.png
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 的電壓。

2214287-5e02ed30c4b35dc9.jpg
RS232

可見,TTL 電平和 RS232 電平,無論是在電壓範圍還是在極性(RS232負邏輯電平)上都是不同的,因此,這兩種電平介面是不能直接相連的。
為了把 MCU 的 TTL 電平轉換成 RS232電平,通常我們需要一個專門的轉換晶片,比如 TI 的 MAX3232。

2214287-4e53ee65642f5360.png
uart-spi-i2c

參考文獻

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

相關文章