通用非同步收發傳輸器(universal asynchronous receiver/transmitter),通常稱作uart。
定義:uart是一種通用序列資料匯流排,用於非同步通訊。該匯流排雙向通訊,可以實現全雙工傳輸和接收。在嵌入式設計中,uart用於主機與輔助裝置通訊,如汽車音響與外接ap之間的通訊,與pc機通訊包括與監控偵錯程式和其它器件,如eeprom通訊。
uart俗稱串列埠,屬於非同步的接發訊號機制。
引腳:有4個,分別為vcc,gnd,tx(傳送端),rx(接收端)。
如上圖所示,在傳輸訊號線上,在電平有1-0變化時,代表起始位,此時資料開始傳輸(一次傳輸乙個位元組,也就是8位),從低位到高位依次傳輸(lsb->msb),奇偶校驗位可有可無,要根據傳輸的資料而定,停止位代表乙個位元組傳輸的結束,後面的空閒位代表此時沒有資料傳輸了。
若資料重**送,到了停止位後有轉向起始位。
奇偶校驗:奇偶校驗(parity check)是一種校驗**傳輸正確性的方法。根據被傳輸的一組二進位制**的數字中「1」的個數是奇數或偶數來進行校驗。採用奇數的稱為奇校驗,反之,稱為偶校驗。採用何種校驗是事先規定好的。通常專門設定乙個奇偶校驗位,用它使這組**中「1」的個數為奇數或偶數。若用奇校驗,則當接收端收到這組**時,校驗「1」的個數是否為奇數,從而確定傳輸**的正確性。
奇校驗(odd parity):讓傳輸的資料(包含校驗位)中1的個數為奇數。
即:如果傳輸位元組中1的個數是偶數,則校驗位為「1」,奇數相反。
以傳送字元:10101010為例
偶校驗(even parity):讓傳輸的資料(包含校驗位)中1的個數為偶數。
即:如果傳輸位元組中1的個數是偶數,則校驗位為「0」,奇數相反。
還是以傳送字元:10101010為例
資料和校驗位傳送給接受方後,接收方再次對資料中1的個數進行計算,如果為奇數則校驗通過,表示此次傳輸過程未發生錯誤。如果不是奇數,則表示有錯誤發生,此時接收方可以向傳送方傳送請求,要求重新傳送一遍資料。
優缺點:
奇偶校驗的檢錯率只有50%,因為只有奇數個資料位發生變化能檢測到,如果偶數個資料位發生變化則無能為力了╮(╯﹏╰)╭
奇偶校驗每傳輸乙個位元組都需要加一位校驗位,對傳輸效率影響很大。
奇偶校驗只能發現錯誤,但不能糾正錯誤,也就是說它只能告訴你出錯了,但不能告訴你怎麼出錯了,一旦發現錯誤,只好重發。
雖然奇偶校驗有很多缺點,但因為其使用起來十分簡單,故目前仍被廣泛使用。
uart的優點和缺點
優點:(1)只使用兩根電線
(2)不需要時鐘訊號
(3)有乙個奇偶校驗位
(4)只要雙方設定後,就可以改變資料報的結構
(5)有完整的文件並且具有廣泛的使用
缺點:(1)資料幀的大小限制為最多9位
(2)不支援多個從屬或多個主系統
(3)每個uart的波特率必須在10%之內
UART協議詳解
uart簡介 通用非同步收發傳輸器 universal asynchronous receiver transmitter 通常稱作uart。uart通訊在工作中相當常見,專案中需要生成uart訊號,在部落格中記錄下。uart是非同步通訊,因為它只有一根線就可以資料的通訊。不像spi,i2c等同步傳...
UART協議詳解
uart使用的是 非同步,序列通訊。序列通訊是指利用一條傳輸線將資料一位位地順序傳送。特點是通訊線路簡單,利用簡單的線纜就可實現通訊,降低成本,適用於遠距離通訊,但傳輸速度慢的應用場合。非同步通訊以乙個字元為傳輸單位,通訊中兩個字元間的時間間隔多少是不固定的,然而在同乙個字元中的兩個相鄰位間的時間間...
uart協議 UART協議簡介
uart是非同步串列埠通訊協議,英文全稱是universal asynchronous receiver transmitter 即通用非同步收發傳輸器,它不像spi和i2c這樣的通訊協議,但在soc中也是一種比較常用的ip。它最大的優點是僅用兩根線進行通訊,支援全雙工,也就是一根線utx用於傳送資...