uart(universal asynchronous receiver/transmitter,通用非同步收發傳輸器),是一種全雙工收發協議。
序列通訊分為兩種方式:同步串列埠通訊和非同步串列埠通訊。同步串列埠通訊需要接髮雙方在同一時鐘的控制下進行操作,因為很多分立的電子系統的驅動時鐘並不相同,所以實用性不強。而非同步串列埠通訊就可以實現任意時鐘驅動的系統的通訊。
uart是非同步序列通訊介面的總稱,uart有很多種介面標準,常見的有rs232,rs484,rs442、rs423等,它們規定了通訊口的電氣特性、傳輸速率、連線特性以及機械特性等。
下面以rs232為例
rs232介面標準出現較早, 可實現全雙工工作方式。rs232最常見的介面型別為db9。
雖然rs232有這麼多針腳,但是我們一般只用到gnd、txd、rxd這三根線,也因為這麼多針腳,體積太大,所以db9介面在計算機系統和嵌入式系統中已經用的很少,通常使用乙個ch340晶元和usb介面,實現usb轉串列埠。
若存在多個串列埠,則分別稱為com1、com2等。
uart在傳送或接收過程中的一幀資料由4部分組成, 起始位、 資料位、 奇偶校驗位和停止位。
起始位:低電平0,代表一幀資料的開始;
資料位:要傳送的資料,一般為5-8位,最多8位,如果超過8位,則需要傳送兩次來進行拼接;資料位從最低位開始傳送和接收,與i2c和spi不同。
校驗位:也稱奇偶校驗位,資料位加上這一位的值,,使得「1」的個數應為偶數(偶校驗)或奇數(奇校驗),以此來校驗資料傳送的正確性。如果使用者選擇資料長度為 8 位,則因為沒有多餘的bit可被用來作為奇偶校驗位,因此就叫做「無奇偶校驗(non) 」。
停止位:在資料傳送完成後,傳送1(1.5, 2)個高電平,預設為1個高電平,來表示乙個幀資料傳送完成。
一幀完整的資料一般包括:1位起始位、8位資料位、無奇偶校驗、一位停止位,這樣的幀也稱為8n1。
波特率:即每秒鐘可以通訊的資料bit個數。 典型的波特率有 300, 1200, 2400, 9600, 19200, 115200 等。一般通訊兩端裝置都要設為相同的波特率,但有些裝置也可設定為自動檢測波特率。
在設計uart程式的時候,一般先生成乙個波特率時鐘,然後再基於這個時鐘進行資料接髮。
UART串列埠通訊協議
1.僅需兩根線即可進行全雙工資料傳輸 電源線除外 2.不需要時鐘或任何其他定時訊號。3.奇偶校驗位確保將基本錯誤檢查整合到資料報幀中。1.幀中資料的大小是有限的。2.與並行通訊相比,資料傳輸速度較慢。3.傳送器和接收器必須統一傳輸規則,並且必須選擇適當的波特率。4.不支援多個主機或從機。uart資料...
uart串列埠學習筆記
uart是universal asynchronous receiver and transmitter簡稱,中文為通用非同步接收和傳送器,是常用的序列通訊介面。uart的作用是列印串列埠輸出資訊和連線各種外用裝置 優點是硬體簡單,而且傳輸資訊穩定 但是缺點也很明顯,傳輸資訊非常慢,因為uart是以...
uart串列埠協議與實現講解
uart串列埠協議與實現講解 一 uart和rs232 1 uart的全稱叫做通用非同步收發傳輸器。將資料在序列通訊和並行通訊間的傳輸轉換。通俗的講就是把多位元的資料轉化為單位元的資料,或者把單位元的資料轉化為多位元的資料。工作原理是將資料的每個bit一位接一位地傳輸。2 uart是一種通用序列資料...