UART基礎知識

基本概念

串行通信:並行通信中會同時傳輸多個位,爲了保證所有位的一致性,要降低傳輸頻率或保證線路等長等,抗干擾能力差,對硬件的要求高,傳輸距離短。串行是相對於並行的,每次傳輸一個位,導線數量少,抗干擾能力強,傳輸距離遠,成本低廉。
異步通信:異步通信通信是相對於同步通信的,同步通信中各節點依據同一條時鐘線進行運轉,抗干擾能力強,傳輸頻率高。異步通信按照約定的波特率和各自的時鐘系統運行,因爲不同設備間時鐘系統的精度和相位差異,使得在高波特率下誤差比例越來越大,所以不能運行在很高的波特率上,限制了通信帶寬。spi和iic總線也是串行傳輸的,但它們都有時鐘線,是同步總線。
UART(Universal Asynchronous Receiver and Transmitter)翻譯過來就是通用異步收發器,它有一條發送線一條接收線,是串行全雙工的。雖然串行通信總線有很多種,但因爲UART誕生早使用廣泛,所以通常說的串口特指UART。

電氣規範

信號線

最基本的串口只包括收發和地3根線,對於支持流控的接口還有額外的多根信號線。

  • RXD : Receive Data ,接收信號線,輸入。
  • TXD : Transmit Data ,發送信號線,輸出。
  • GND : System Ground,系統地,電源。
  • DTR : Data Terminal Ready ,數據終端準備好,輸出。
  • DSR : Data Set Ready ,數據準備好,輸入。
  • RTS : Request to Send ,請求發送,輸出。
  • CTS : Clear to Send,清除發送。輸入。

在這裏插入圖片描述

電平標準

TTL電平,一般爲3.3V或5V,用於板上通信,一般只需要連接RX/TX/GND三根線。TTL指雙極型三極管邏輯電路,市面上很多“USB轉TTL”模塊,實際上是“USB轉TTL電平的串口”模塊。這種信號0對應0V,1對應3.3V或者5V。單片機、SOC,功能模塊的接口一般都是TTL電平,便於連接,但抗干擾能力差,通信距離不宜太遠。不過實際也不一定是TTL電平,因爲現在大部分數字邏輯都是CMOS工藝做的,只是沿用了TTL的說法。
RS232,是電子工業協會(Electronic Industries Association,EIA) 制定的異步傳輸標準接口,同時對應着電平標準和通信協議(時序),其電平標準:+3V~+15V對應0,-3V~-15V對應1。rs232 的邏輯電平和TTL 不一樣但是協議一樣。
RS422,使用差分信號來替換之前的電平信號,能那副提高抗干擾能力,增加通信距離或提高收發波特率。
RS485,是從RS-422基礎上發展而來的,所以RS-485許多電氣規定與RS-422相仿。如都採用平衡傳輸方式、都需要在傳輸線上接終接電阻等。RS-485可以採用二線與四線方式,二線制可實現真正的多點雙向通信,而採用四線連接時,與RS-422一樣只能實現點對多的通信,即只能有一個主(Master)設備,其餘爲從設備,但它比RS-422有改進,無論四線還是二線連接方式總線上可多接到32個設備。

幀格式

UART每幀傳輸一個字節,格式如下圖:
在這裏插入圖片描述
在這裏插入圖片描述

  • 波特率:Baud rate,表示每秒鐘傳送信號位的個數,單位是bps(位每秒),是衡量數據傳送速率的指標 ,通信雙方必須保證使用相同的波特率。常用的波特率有9600bps,19200bps,38400bps,115200bps等。
  • 起始位:1位,邏輯0,用於表示一幀的開始。
  • 數據位:可能是7,8,9位,邏輯0或1,一幀的有效載荷數據,從最低位開始傳輸。
  • 校驗位:可以是奇校驗,偶校驗或無校驗。數據位加上這一位後,使得“1”的位數應爲偶數(偶校驗)或奇數(奇校驗),用於校驗傳輸中出現的錯誤。
  • 停止位:可以是1位,1.5位或2位,邏輯1,用於表示一幀的結束。
  • 空閒位:傳輸空閒時的狀態,爲邏輯1,不是必須的。

物理接口標準

對於RS232一般使用DB9接口,其他電平類型則沒有標準物理接口,用戶可自定義各種物理接口方式。
在這裏插入圖片描述
在這裏插入圖片描述

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章