看下面這個(gè)圖,大家已經(jīng)知道今天的主角是UART,我們通常說(shuō)的串口,UART包含TTL電平和RS-232電平兩種,嵌入式系統(tǒng)里面,單片機(jī)的串口一般都是TTL電平。
今天的內(nèi)容關(guān)于UART的幀格式,比較簡(jiǎn)單,玩過(guò)單片機(jī)的小伙伴應(yīng)該都知道。
UART的英文全稱(chēng)是:Universal Asynchronous Receiver/Transmitter,意為通用異步收發(fā)傳輸器。
UART因?yàn)橛袃筛€(xiàn)數(shù)據(jù)線(xiàn)TX和RX,可以以全雙工的形式進(jìn)行發(fā)送和接收數(shù)據(jù),同一時(shí)刻,兩條鏈路的發(fā)送器和接收器可以同時(shí)傳輸數(shù)據(jù)。
區(qū)別于全雙工的,還有另一種,是半雙工,因?yàn)橹挥幸桓鶖?shù)據(jù)線(xiàn),所以數(shù)據(jù)傳輸是這樣。
或者是下面這樣,同一時(shí)刻,只有一條鏈路在傳輸數(shù)據(jù)。
除了雙工形式,還有一種是半工,只有發(fā)送器到接收器這一個(gè)鏈路。
說(shuō)完了UART的工作模式,下面進(jìn)入主題——UART幀格式,也可以稱(chēng)之為UART協(xié)議,單片機(jī)與PC之間的通信,為了保證數(shù)據(jù)通信的可靠性,雙方都必須遵從UART協(xié)議。
UART數(shù)據(jù)幀格式
其中各位的含義如下:
起始位:發(fā)送1位邏輯0(低電平),開(kāi)始傳輸數(shù)據(jù)。
數(shù)據(jù)位:可以是5~8位的數(shù)據(jù),先發(fā)低位,再發(fā)高位,一般常見(jiàn)的就是8位(1個(gè)字節(jié)),其他的如7位的ASCII碼。
校驗(yàn)位:奇偶校驗(yàn),將數(shù)據(jù)位加上校驗(yàn)位,1的位數(shù)為偶數(shù)(偶校驗(yàn)),1的位數(shù)4為奇數(shù)(奇校驗(yàn))。
停止位:停止位是數(shù)據(jù)傳輸結(jié)束的標(biāo)志,可以是1/1.5/2位的邏輯1(高電平)。
空閑位:空閑時(shí)數(shù)據(jù)線(xiàn)為高電平狀態(tài),代表無(wú)數(shù)據(jù)傳輸。
如果我們傳輸數(shù)據(jù)0X33(00110011),那么對(duì)應(yīng)的波形就是如下這樣,因?yàn)槭荓SB在前,所以8位數(shù)據(jù)依次是11001100
發(fā)送0X33數(shù)據(jù)幀格式
如果再發(fā)其他數(shù)據(jù),再依次循環(huán)這個(gè)過(guò)程即可。
UART是異步傳輸,以1個(gè)字符為傳輸單位,傳輸2個(gè)字符之間的時(shí)間間隔,比如傳輸0X33后再傳輸0X35,這兩者時(shí)間間隔是未知的。
但是同一字符內(nèi)相鄰位間的時(shí)間間隔是確定的,比如0X33低兩位的1和1之間的時(shí)間間隔是確定的,這涉及到UART傳輸速率的概念——波特率。
波特率的單位是bps,全稱(chēng)是bit per second,意為每秒鐘傳輸?shù)腷it數(shù)量。
波特率9600bps,代表每秒鐘傳輸bit的數(shù)量為9600,那么傳輸1bit數(shù)據(jù)的時(shí)間就是1/9600=104us,波特率115200bps,代表傳輸1bit數(shù)據(jù)的時(shí)間是8us。
兩個(gè)串口之間是如何發(fā)送和接受數(shù)據(jù)呢?
首先,UART1以9600波特率發(fā)送0X33,先在數(shù)據(jù)線(xiàn)上放1個(gè)104us脈寬的低電平(起始位),然后是連續(xù)2個(gè)104us脈寬的高電平(2bit邏輯1),依次類(lèi)推。
其次,UART2以9600波特率接收0X33,通過(guò)數(shù)這些數(shù)據(jù)的脈寬,來(lái)確認(rèn)數(shù)據(jù)。
為了確保數(shù)據(jù)傳輸?shù)恼_性,減少誤差,一般UART1和UART2之間的波特率差別小于10%,一次最多只能傳輸1個(gè)字節(jié)(8bit),也有效減小了累計(jì)誤差。
-
uart
+關(guān)注
關(guān)注
22文章
1276瀏覽量
104003
發(fā)布評(píng)論請(qǐng)先 登錄
淺談CAN FD總線(xiàn)協(xié)議幀格式

基于DWC_ether_qos的以太網(wǎng)驅(qū)動(dòng)開(kāi)發(fā)-MAC幀格式介紹

關(guān)于誤差動(dòng)態(tài)范圍、編程函數(shù)、幀格式三個(gè)疑問(wèn)
gps數(shù)據(jù)格式含義說(shuō)明
串口數(shù)據(jù)轉(zhuǎn)CAN幀格式詳解
通俗易懂的UART幀格式,單片機(jī)玩家都知道的
UART的幀格式詳細(xì)資料講解
802.11 MPDU幀格式的描述及應(yīng)用
淺談CAN錯(cuò)誤幀格式
can數(shù)據(jù)幀的標(biāo)準(zhǔn)格式
如何采用“狀態(tài)機(jī)”解析UART數(shù)據(jù)幀

EtherCAT 數(shù)據(jù)幀格式和尋址方式簡(jiǎn)介

評(píng)論