uart是非同步串列埠通訊協議,英文全稱是universal asynchronous receiver /transmitter 即通用非同步收發傳輸器,它不像spi和i2c這樣的通訊協議,但在soc中也是一種比較常用的ip。它最大的優點是僅用兩根線進行通訊,支援全雙工,也就是一根線utx用於傳送資料,另一根線用於接收資料。兩個uart通訊如下圖所示:
其中傳送uart可能來自控制裝置(如cpu)的並行資料轉換為序列形式,以序列方式將其傳送到接收uart,然後由接收uart將序列資料轉換回並行資料以用於接收裝置。資料從傳送uart的tx引腳流到接收uart的rx引腳。
uart是非同步通訊,這也就代表著沒有時鐘訊號進行資料的取樣同步,因此uart傳送側需要將開始和停止位新增到正在傳輸的資料報中,這些位定義了資料報的開始和結束,因此接收uart知道何時開始讀取這些位。當接收uart檢測到起始位時,它將開始以稱為波特率的特定頻率讀取輸入位。波特率是資料傳輸速度的度量,以每秒位元數(bps)表示。 兩個uart必須以大約相同的波特率工作。傳送和接收uart之間的波特率只能相差約10%。還必須將兩個uart配置為傳送和接收相同的資料報結構。
uart傳輸的資料被組織成資料報。每個資料報包含1個起始位,5至9個資料位(取決於uart),乙個可選的奇偶校驗位以及1個/1.5個或2個停止位。
uart資料傳輸線通常在不傳輸資料時保持在高電壓電平。為了開始資料傳輸,傳送uart在乙個時鐘週期內將傳輸線從高電平拉低到低電平。當接收uart檢測到高電壓到低電壓轉換時,它開始以波特率的頻率讀取資料幀中的位。
資料幀包含正在傳輸的實際資料。如果使用奇偶校驗位,則可以是5位,最多8位。如果不使用奇偶校驗位,則資料幀的長度可以為9位。在大多數情況下,資料首先以最低有效位傳送。
接收方用於資料完整性和正確性檢驗。該位為可選項,可配置為奇校驗/偶校驗/無校驗/校驗位始終是1/校驗位始終是0選項。
為了向資料報的結尾發出訊號,傳送uart在至少兩個位持續時間內將資料傳輸線從低電平驅動到高電平。
UART協議詳解
uart簡介 通用非同步收發傳輸器 universal asynchronous receiver transmitter 通常稱作uart。uart通訊在工作中相當常見,專案中需要生成uart訊號,在部落格中記錄下。uart是非同步通訊,因為它只有一根線就可以資料的通訊。不像spi,i2c等同步傳...
UART協議詳解
uart使用的是 非同步,序列通訊。序列通訊是指利用一條傳輸線將資料一位位地順序傳送。特點是通訊線路簡單,利用簡單的線纜就可實現通訊,降低成本,適用於遠距離通訊,但傳輸速度慢的應用場合。非同步通訊以乙個字元為傳輸單位,通訊中兩個字元間的時間間隔多少是不固定的,然而在同乙個字元中的兩個相鄰位間的時間間...
UART協議詳解
通用非同步收發傳輸器 universal asynchronous receiver transmitter 通常稱作uart。定義 uart是一種通用序列資料匯流排,用於非同步通訊。該匯流排雙向通訊,可以實現全雙工傳輸和接收。在嵌入式設計中,uart用於主機與輔助裝置通訊,如汽車音響與外接ap之間...