<dfn id="yhprb"><s id="yhprb"></s></dfn><dfn id="yhprb"><delect id="yhprb"></delect></dfn><dfn id="yhprb"></dfn><dfn id="yhprb"><delect id="yhprb"></delect></dfn><dfn id="yhprb"></dfn><dfn id="yhprb"><s id="yhprb"><strike id="yhprb"></strike></s></dfn><small id="yhprb"></small><dfn id="yhprb"></dfn><small id="yhprb"><delect id="yhprb"></delect></small><small id="yhprb"></small><small id="yhprb"></small> <delect id="yhprb"><strike id="yhprb"></strike></delect><dfn id="yhprb"></dfn><dfn id="yhprb"></dfn><s id="yhprb"><noframes id="yhprb"><small id="yhprb"><dfn id="yhprb"></dfn></small><dfn id="yhprb"><delect id="yhprb"></delect></dfn><small id="yhprb"></small><dfn id="yhprb"><delect id="yhprb"></delect></dfn><dfn id="yhprb"><s id="yhprb"></s></dfn> <small id="yhprb"></small><delect id="yhprb"><strike id="yhprb"></strike></delect><dfn id="yhprb"><s id="yhprb"></s></dfn><dfn id="yhprb"></dfn><dfn id="yhprb"><s id="yhprb"></s></dfn><dfn id="yhprb"><s id="yhprb"><strike id="yhprb"></strike></s></dfn><dfn id="yhprb"><s id="yhprb"></s></dfn>
"); //-->

博客專(zhuān)欄

EEPW首頁(yè) > 博客 > 示波器查看UART波形

示波器查看UART波形

發(fā)布人:電巢 時(shí)間:2022-09-29 來(lái)源:工程師 發(fā)布文章

UART是一種異步全雙工串行通信協(xié)議,由Tx和Rx兩根數據線(xiàn)組成,因為沒(méi)有參考時(shí)鐘信號,所以通信的雙方必須約定串口波特率、數據位寬、奇偶校驗位、停止位等配置參數,從而按照相同的速率進(jìn)行通信。

異步通信以一個(gè)字符為傳輸單位,通信中兩個(gè)字符間的時(shí)間間隔多少是不固定的,然而在同一個(gè)字符中的兩個(gè)相鄰位間的時(shí)間間隔是固定的。當波特率為9600bps時(shí),傳輸一個(gè)bit的時(shí)間間隔大約為104.16us;波特率為115200bps時(shí),傳輸一個(gè)bit的時(shí)間間隔大約為8us。


數據傳送速率用波特率來(lái)表示,即每秒鐘傳送的二進(jìn)制位數。例如數據傳送速率為120字符/秒,而每一個(gè)字符為10位(1個(gè)起始位,7個(gè)數據位,1個(gè)校驗位,1個(gè)結束位),則其傳送的波特率為10×120=1200字符/秒=1200波特。


數據通信時(shí)序圖:

image.png


其中各位的意義如下

起始位:先發(fā)出一個(gè)邏輯”0”信號,表示傳輸字符的開(kāi)始;

數據位:可以是5~8位邏輯”0”或”1”;如ASCII碼(7位),擴展BCD碼(8位);小端傳輸,即LSB先發(fā),MSB后發(fā);

校驗位:數據位加上這一位后,使得“1”的位數應為偶數(偶校驗)或奇數(奇校驗);

停止位:它是一個(gè)字符數據的結束標志??梢允?位、1.5位、2位的高電平(用于雙方同步,停止位時(shí)間間隔越長(cháng),容錯能力越強);

空閑位:處于邏輯“1”狀態(tài),表示當前線(xiàn)路上沒(méi)有數據傳送;

注:異步通信是按字符傳輸的,接收設備在收到起始信號之后只要在一個(gè)字符的傳輸時(shí)間內能和發(fā)送設備保持同步就能正確接收。下一個(gè)字符起始位的到來(lái)又使同步重新校準(依靠檢測起始位來(lái)實(shí)現發(fā)送與接收方的時(shí)鐘自同步的)。

image.png


↑圖-1 起始位和停止位

image.png


↑圖-2 數據位

image.png


↑傳輸“A”

上圖是uart協(xié)議傳輸一個(gè)”A”字符通過(guò)示波器的uart解碼而得到的波形示意圖。根據此圖來(lái)介紹一下uart的一些基本參數。
波特率:此參數容易和比特率混淆,其實(shí)他們是由區別的。但是我認為uart中的波特率就可以認為是比特率,即每秒傳輸的位數(bit)。一般選波特率都會(huì )有9600,19200,115200等選項。其實(shí)意思就是每秒傳輸這么多個(gè)比特位數(bit)。
起始位:先發(fā)出一個(gè)邏輯”0”的信號,表示傳輸數據的開(kāi)始。
數據位:可以選擇的值有5,6,7,8這四個(gè)值,可以傳輸這么多個(gè)值為0或者1的bit位。這個(gè)參數最好為8,因為如果此值為其他的值時(shí)當你傳輸的是ASCII值時(shí)一般解析肯定會(huì )出問(wèn)題。理由很簡(jiǎn)單,一個(gè)ASCII字符值為8位,如果一幀的數據位為7,那么還有一位就是不確定的值,這樣就會(huì )出錯。
校驗位:數據位加上這一位后,使得“1”的位數應為偶數(偶校驗)或奇數(奇校驗),以此來(lái)校驗數據傳送的正確性。就比如傳輸“A”(01000001)為例。
1、當為奇數校驗:”A”字符的8個(gè)bit位中有兩個(gè)1,那么奇偶校驗位為1才能滿(mǎn)足1的個(gè)數為奇數(奇校驗)。圖-1的波形就是這種情況。
2、當為偶數校驗:”A”字符的8個(gè)bit位中有兩個(gè)1,那么奇偶校驗位為0才能滿(mǎn)足1的個(gè)數為偶數(偶校驗)。
此位還可以去除,即不需要奇偶校驗位。
停止位:它是一幀數據的結束標志??梢允?bit、1.5bit、2bit的空閑電平??赡艽蠹視?huì )覺(jué)得很奇怪,怎么會(huì )有1.5位~沒(méi)錯,確實(shí)有的。所以我在生產(chǎn)此uart信號時(shí)用兩個(gè)波形點(diǎn)來(lái)表示一個(gè)bit。這個(gè)可以不必深究。。。
空閑位:沒(méi)有數據傳輸時(shí)線(xiàn)路上的電平狀態(tài)。為邏輯1。
傳輸方向:即數據是從高位(MSB)開(kāi)始傳輸還是從低位(LSB)開(kāi)始傳輸。比如傳輸“A”如果是MSB那么就是01000001(如圖-2),如果是LSB那么就是10000010(如下圖的圖-4)
uart傳輸數據的順序就是:剛開(kāi)始傳輸一個(gè)起始位,接著(zhù)傳輸數據位,接著(zhù)傳輸校驗位(可不需要此位),最后傳輸停止位。這樣一幀的數據就傳輸完了。接下來(lái)接著(zhù)像這樣一直傳送。在這里還要說(shuō)一個(gè)參數。
幀間隔:即傳送數據的幀與幀之間的間隔大小,可以以位為計量也可以用時(shí)間(知道波特率那么位數和時(shí)間可以換算)。比如傳送”A”完后,這為一幀數據,再傳”B”,那么A與B之間的間隔即為幀間隔。

image.png


↑圖-3

image.png


↑圖-4

上兩圖和下兩圖傳送的數據和波特率都是一樣的,但是有幾個(gè)參數是故意設置反了從而形成對比。有助于更深入的理解UART。

image.png




『本文轉載自網(wǎng)絡(luò ),版權歸原作者所有,如有侵權請聯(lián)系刪除』


*博客內容為網(wǎng)友個(gè)人發(fā)布,僅代表博主個(gè)人觀(guān)點(diǎn),如有侵權請聯(lián)系工作人員刪除。



關(guān)鍵詞: 示波器 UART

相關(guān)推薦

技術(shù)專(zhuān)區

關(guān)閉
国产精品自在自线亚洲|国产精品无圣光一区二区|国产日产欧洲无码视频|久久久一本精品99久久K精品66|欧美人与动牲交片免费播放
<dfn id="yhprb"><s id="yhprb"></s></dfn><dfn id="yhprb"><delect id="yhprb"></delect></dfn><dfn id="yhprb"></dfn><dfn id="yhprb"><delect id="yhprb"></delect></dfn><dfn id="yhprb"></dfn><dfn id="yhprb"><s id="yhprb"><strike id="yhprb"></strike></s></dfn><small id="yhprb"></small><dfn id="yhprb"></dfn><small id="yhprb"><delect id="yhprb"></delect></small><small id="yhprb"></small><small id="yhprb"></small> <delect id="yhprb"><strike id="yhprb"></strike></delect><dfn id="yhprb"></dfn><dfn id="yhprb"></dfn><s id="yhprb"><noframes id="yhprb"><small id="yhprb"><dfn id="yhprb"></dfn></small><dfn id="yhprb"><delect id="yhprb"></delect></dfn><small id="yhprb"></small><dfn id="yhprb"><delect id="yhprb"></delect></dfn><dfn id="yhprb"><s id="yhprb"></s></dfn> <small id="yhprb"></small><delect id="yhprb"><strike id="yhprb"></strike></delect><dfn id="yhprb"><s id="yhprb"></s></dfn><dfn id="yhprb"></dfn><dfn id="yhprb"><s id="yhprb"></s></dfn><dfn id="yhprb"><s id="yhprb"><strike id="yhprb"></strike></s></dfn><dfn id="yhprb"><s id="yhprb"></s></dfn>