uart协议_UART协议简介
1UART
UART是異步串口通信協(xié)議,英文全稱是Universal Asynchronous Receiver /Transmitter 即通用異步收發(fā)傳輸器,它不像SPI和I2C這樣的通信協(xié)議,但在SOC中也是一種比較常用的IP。它最大的優(yōu)點(diǎn)是僅用兩根線進(jìn)行通信,支持全雙工,也就是一根線utx用于發(fā)送數(shù)據(jù),另一根線用于接收數(shù)據(jù)。兩個(gè)uart通信如下圖所示:
其中發(fā)送UART可能來自控制設(shè)備(如CPU)的并行數(shù)據(jù)轉(zhuǎn)換為串行形式,以串行方式將其發(fā)送到接收UART,然后由接收UART將串行數(shù)據(jù)轉(zhuǎn)換回并行數(shù)據(jù)以用于接收設(shè)備。數(shù)據(jù)從發(fā)送UART的Tx引腳流到接收UART的Rx引腳。
2UART工作原理
UART是異步通信,這也就代表著沒有時(shí)鐘信號(hào)進(jìn)行數(shù)據(jù)的采樣同步,因此UART發(fā)送側(cè)需要將開始和停止位添加到正在傳輸?shù)臄?shù)據(jù)包中,這些位定義了數(shù)據(jù)包的開始和結(jié)束,因此接收UART知道何時(shí)開始讀取這些位。當(dāng)接收UART檢測(cè)到起始位時(shí),它將開始以稱為波特率的特定頻率讀取輸入位。波特率是數(shù)據(jù)傳輸速度的度量,以每秒比特?cái)?shù)(bps)表示。 兩個(gè)UART必須以大約相同的波特率工作。發(fā)送和接收UART之間的波特率只能相差約10%。還必須將兩個(gè)UART配置為發(fā)送和接收相同的數(shù)據(jù)包結(jié)構(gòu)。
3UART是如何工作的
- 其他設(shè)備(例如CPU,內(nèi)存或微控制器)通過數(shù)據(jù)總線將數(shù)據(jù)發(fā)送到UART。即UART 發(fā)送側(cè)首先從數(shù)據(jù)總線接收數(shù)據(jù)。
- 數(shù)據(jù)以并行形式從數(shù)據(jù)總線傳輸?shù)桨l(fā)送UART。發(fā)送UART從數(shù)據(jù)總線獲取并行數(shù)據(jù)后,它將添加起始位,奇偶校驗(yàn)位和停止位,以創(chuàng)建數(shù)據(jù)包。
- 數(shù)據(jù)包在Tx引腳上逐位串行輸出,接收UART在其Rx引腳上逐位讀取數(shù)據(jù)包。
- 然后,接收UART將數(shù)據(jù)轉(zhuǎn)換回并行形式,并刪除起始位,奇偶校驗(yàn)位和停止位。
- 接收UART將數(shù)據(jù)包并行傳輸?shù)浇邮斩说臄?shù)據(jù)總線
4UART幀結(jié)構(gòu)
UART傳輸?shù)臄?shù)據(jù)被組織成數(shù)據(jù)包。每個(gè)數(shù)據(jù)包包含1個(gè)起始位,5至9個(gè)數(shù)據(jù)位(取決于UART),一個(gè)可選的奇偶校驗(yàn)位以及1個(gè)/1.5個(gè)或2個(gè)停止位。
起始位
UART數(shù)據(jù)傳輸線通常在不傳輸數(shù)據(jù)時(shí)保持在高電壓電平。為了開始數(shù)據(jù)傳輸,發(fā)送UART在一個(gè)時(shí)鐘周期內(nèi)將傳輸線從高電平拉低到低電平。當(dāng)接收UART檢測(cè)到高電壓到低電壓轉(zhuǎn)換時(shí),它開始以波特率的頻率讀取數(shù)據(jù)幀中的位。
數(shù)據(jù)位
數(shù)據(jù)幀包含正在傳輸?shù)膶?shí)際數(shù)據(jù)。如果使用奇偶校驗(yàn)位,則可以是5位,最多8位。如果不使用奇偶校驗(yàn)位,則數(shù)據(jù)幀的長(zhǎng)度可以為9位。在大多數(shù)情況下,數(shù)據(jù)首先以最低有效位發(fā)送。
校驗(yàn)位
接收方用于數(shù)據(jù)完整性和正確性檢驗(yàn)。該位為可選項(xiàng),可配置為奇校驗(yàn)/偶校驗(yàn)/無校驗(yàn)/校驗(yàn)位始終是1/校驗(yàn)位始終是0選項(xiàng)。
停止位
為了向數(shù)據(jù)包的結(jié)尾發(fā)出信號(hào),發(fā)送UART在至少兩個(gè)位持續(xù)時(shí)間內(nèi)將數(shù)據(jù)傳輸線從低電平驅(qū)動(dòng)到高電平。
5UART優(yōu)缺點(diǎn)
優(yōu)點(diǎn)
- 數(shù)據(jù)僅使用兩根線
- 無需時(shí)鐘信號(hào)
- 具有奇偶校驗(yàn)位以允許進(jìn)行錯(cuò)誤檢查
- 發(fā)送接收協(xié)議簡(jiǎn)單
缺點(diǎn)
- 數(shù)據(jù)幀的大小最大為9位
- 傳輸速度較慢
- 每個(gè)UART的波特率必須在彼此的10%之內(nèi)
總結(jié)
以上是生活随笔為你收集整理的uart协议_UART协议简介的全部?jī)?nèi)容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: python isodd()判断奇偶_位
- 下一篇: uml图中的各种箭头_设计模式学习笔记(