通用異步收發(fā)傳輸器(Universal Asynchronous Receiver/Transmitter,通常稱作UART) 是一種串行異步收發(fā)協(xié)議,應(yīng)用十分廣泛。UART工作原理是將數(shù)據(jù)的二進(jìn)制位一位一位的進(jìn)行傳輸。在UART通訊協(xié)議中信號(hào)線上的狀態(tài)位高電平代表’1’低電平代表’0’。當(dāng)然兩個(gè)設(shè)備使用UART串口通訊時(shí),必須先約定好傳輸速率和一些數(shù)據(jù)位。
硬件連接
硬件連接比較簡(jiǎn)單,僅需要3條線,注意連接時(shí)兩個(gè)設(shè)備UART電平,如電平范圍不一致請(qǐng)做電平轉(zhuǎn)換后再連接,如下圖所示:
TX:發(fā)送數(shù)據(jù)端,要接對(duì)面設(shè)備的RX
RX:接收數(shù)據(jù)端,要接對(duì)面設(shè)備的TX
GND:保證兩設(shè)備共地,有統(tǒng)一的參考平面
軟件通信協(xié)議
UART作為異步串口通信協(xié)議的一種,工作原理是將數(shù)據(jù)的字節(jié)一位接一位地傳輸。協(xié)議如下:
空閑位:
UART協(xié)議規(guī)定,當(dāng)總線處于空閑狀態(tài)時(shí)信號(hào)線的狀態(tài)為‘1’即高電平
起始位:
開始進(jìn)行數(shù)據(jù)傳輸時(shí)發(fā)送方要先發(fā)出一個(gè)低電平’0’來(lái)表示傳輸字符的開始。因?yàn)榭臻e位一直是高電平所以開始第一次通訊時(shí)先發(fā)送一個(gè)明顯區(qū)別于空閑狀態(tài)的信號(hào)即為低電平。
數(shù)據(jù)位:
起始位之后就是要傳輸?shù)臄?shù)據(jù),數(shù)據(jù)可以是5,6,7,8,9位,構(gòu)成一個(gè)字符,一般都是8位。先發(fā)送最低位最后發(fā)送最高位。
奇偶校驗(yàn)位:
數(shù)據(jù)位傳送完成后,要進(jìn)行奇偶校驗(yàn),校驗(yàn)位其實(shí)是調(diào)整個(gè)數(shù),串口校驗(yàn)分幾種方式:
1.無(wú)校驗(yàn)(no parity)
2.奇校驗(yàn)(odd parity):如果數(shù)據(jù)位中’1’的數(shù)目是偶數(shù),則校驗(yàn)位為’1’,如果’1’的數(shù)目是奇數(shù),校驗(yàn)位為’0’。
3.偶校驗(yàn)(even parity):如果數(shù)據(jù)為中’1’的數(shù)目是偶數(shù),則校驗(yàn)位為’0’,如果為奇數(shù),校驗(yàn)位為’1’。
4.mark parity:校驗(yàn)位始終為1
5.space parity:校驗(yàn)位始終為0
停止位:
數(shù)據(jù)結(jié)束標(biāo)志,可以是1位,1.5位,2位的高電平。
波特率:
數(shù)據(jù)傳輸速率使用波特率來(lái)表示,單位bps(bits per second),常見(jiàn)的波特率9600bps,115200bps等等,其他標(biāo)準(zhǔn)的波特率是1200,2400,4800,19200,38400,57600。舉個(gè)例子,如果串口波特率設(shè)置為9600bps,那么傳輸一個(gè)比特需要的時(shí)間是1/9600≈104.2us。
以9600 8N1(9600波特率,8個(gè)數(shù)據(jù)位,沒(méi)有校驗(yàn)位,1位停止位)為例,這是目前最常用的串口配置,現(xiàn)在我們傳輸’O’'K’兩個(gè)ASCII值,'O’的ASCII為79,對(duì)應(yīng)的二進(jìn)制數(shù)據(jù)為01001111 ,'K’對(duì)應(yīng)的二進(jìn)制數(shù)據(jù)為01001011 ,傳輸?shù)母袷綌?shù)據(jù)如下圖所示:
串口波特率為9600,1bit傳輸時(shí)間大約為104us,傳送一個(gè)數(shù)據(jù)實(shí)際是10個(gè)比特(開始位,8個(gè)數(shù)據(jù)位,停止位),一個(gè)bytes傳輸速率實(shí)際為9600*8/10=7680bps。
審核編輯 :李倩
-
傳輸器
+關(guān)注
關(guān)注
0文章
39瀏覽量
12933 -
uart
+關(guān)注
關(guān)注
22文章
1235瀏覽量
101340 -
波特率
+關(guān)注
關(guān)注
2文章
307瀏覽量
34112
原文標(biāo)題:UART詳解
文章出處:【微信號(hào):mcu168,微信公眾號(hào):硬件攻城獅】歡迎添加關(guān)注!文章轉(zhuǎn)載請(qǐng)注明出處。
發(fā)布評(píng)論請(qǐng)先 登錄
相關(guān)推薦
評(píng)論