通用異步收發(fā)傳輸器是一種串行異步收發(fā)協(xié)議,應(yīng)用十分廣泛。UART工作原理是將數(shù)據(jù)的二進(jìn)制位一位一位的進(jìn)行傳輸。在UART通訊協(xié)議中信號線上的狀態(tài)位高電平代表’1’低電平代表’0’。當(dāng)然兩個設(shè)備使用UART串口通訊時,必須先約定好傳輸速率和一些數(shù)據(jù)位。
第一節(jié) 硬件連接
硬件連接比較簡單,僅需要3條線,注意連接時兩個設(shè)備UART電平,如電平范圍不一致請做電平轉(zhuǎn)換后再連接,如下圖所示:
TX:發(fā)送數(shù)據(jù)端,要接對面設(shè)備的RX
RX:接收數(shù)據(jù)端,要接對面設(shè)備的TX
GND:保證兩設(shè)備共地,有統(tǒng)一的參考平面
第二節(jié) 軟件通信協(xié)議
UART作為異步串口通信協(xié)議的一種,工作原理是將數(shù)據(jù)的字節(jié)一位接一位地傳輸。協(xié)議如下:
A.空閑位:
UART協(xié)議規(guī)定,當(dāng)總線處于空閑狀態(tài)時信號線的狀態(tài)為‘1’即高電平。
B.起始位:
開始進(jìn)行數(shù)據(jù)傳輸時發(fā)送方要先發(fā)出一個低電平’0’來表示傳輸字符的開始。因?yàn)榭臻e位一直是高電平所以開始第一次通訊時先發(fā)送一個明顯區(qū)別于空閑狀態(tài)的信號即為低電平。
C.數(shù)據(jù)位:
起始位之后就是要傳輸?shù)臄?shù)據(jù),數(shù)據(jù)可以是5,6,7,8,9位,構(gòu)成一個字符,一般都是8位。先發(fā)送最低位最后發(fā)送最高位。
D.奇偶校驗(yàn)位:
數(shù)據(jù)位傳送完成后,要進(jìn)行奇偶校驗(yàn),校驗(yàn)位其實(shí)是調(diào)整個數(shù),串口校驗(yàn)分幾種方式:
D.1.無校驗(yàn)(no parity)
D.2.奇校驗(yàn)(odd parity):如果數(shù)據(jù)位中’1’的數(shù)目是偶數(shù),則校驗(yàn)位為’1’,如果’1’的數(shù)目是奇數(shù),校驗(yàn)位為’0’。
D.3.偶校驗(yàn)(even parity):如果數(shù)據(jù)為中’1’的數(shù)目是偶數(shù),則校驗(yàn)位為’0’,如果為奇數(shù),校驗(yàn)位為’1’。
D.4.mark parity:校驗(yàn)位始終為1。
D.5.space parity:校驗(yàn)位始終為0。
E.停止位:
數(shù)據(jù)結(jié)束標(biāo)志,可以是1位,1.5位,2位的高電平。
F.波特率:
數(shù)據(jù)傳輸速率使用波特率來表示,單位bps(bits per second),常見的波特率9600bps,115200bps等等,其他標(biāo)準(zhǔn)的波特率是1200,2400,4800,19200,38400,57600。舉個例子,如果串口波特率設(shè)置為9600bps,那么傳輸一個比特需要的時間是1/9600≈104.2us。
以9600 8N1(9600波特率,8個數(shù)據(jù)位,沒有校驗(yàn)位,1位停止位)為例,這是目前最常用的串口配置,現(xiàn)在我們傳輸’O’'K’兩個ASCII值,'O’的ASCII為79,對應(yīng)的二進(jìn)制數(shù)據(jù)為01001111 ,'K’對應(yīng)的二進(jìn)制數(shù)據(jù)為01001011 ,傳輸?shù)母袷綌?shù)據(jù)如下圖所示:
串口波特率為9600,1bit傳輸時間大約為104us,傳送一個數(shù)據(jù)實(shí)際是10個比特(開始位,8個數(shù)據(jù)位,停止位),一個bytes傳輸速率實(shí)際為9600*8/10=7680bps。
-
嵌入式
+關(guān)注
關(guān)注
5094文章
19178瀏覽量
307732 -
通信
+關(guān)注
關(guān)注
18文章
6072瀏覽量
136435 -
串口
+關(guān)注
關(guān)注
14文章
1558瀏覽量
77072
發(fā)布評論請先 登錄
相關(guān)推薦
藍(lán)橋杯該如何備賽?
![<b class='flag-5'>藍(lán)橋</b><b class='flag-5'>杯</b>該如何備賽?](https://file.elecfans.com/web2/M00/09/16/pYYBAGD0FvWAeWpFAAAb1Fux1oA753.jpg)
【「嵌入式Hypervisor:架構(gòu)、原理與應(yīng)用」閱讀體驗(yàn)】+第一二章讀后感
《DNK210使用指南 -CanMV版 V1.0》第六章 Kendryte K210固件燒錄
【「ARM MCU嵌入式開發(fā) | 基于國產(chǎn)GD32F10x芯片」閱讀體驗(yàn)】+書籍整體概況
學(xué)習(xí)hypervisor嵌入式產(chǎn)品安全設(shè)計
第六章-電機(jī)驅(qū)動和PWM STM32項(xiàng)目
![<b class='flag-5'>第六章</b>-電機(jī)驅(qū)動和PWM STM32項(xiàng)目](https://file1.elecfans.com/web2/M00/02/F0/wKgZoma-zTOAF6UAAAcSZOs_IgQ386.png)
《嵌入式機(jī)電一體化系統(tǒng)設(shè)計與實(shí)現(xiàn)》讀后感
RT-Thread出席第六屆中國嵌入式技術(shù)大會,共話嵌入式操作系統(tǒng)與智能工業(yè)
![RT-Thread出席<b class='flag-5'>第六</b>屆中國<b class='flag-5'>嵌入式</b>技術(shù)大會,共話<b class='flag-5'>嵌入式</b>操作系統(tǒng)與智能工業(yè)](https://file1.elecfans.com/web2/M00/C4/8A/wKgZomX0EhWACv8DAAAUet8ikhs451.png)
【峰會同期活動】第六屆國產(chǎn)嵌入式操作系統(tǒng)技術(shù)與產(chǎn)業(yè)發(fā)展論壇即將召開
![【峰會同期活動】<b class='flag-5'>第六</b>屆國產(chǎn)<b class='flag-5'>嵌入式</b>操作系統(tǒng)技術(shù)與產(chǎn)業(yè)發(fā)展論壇即將召開](https://file1.elecfans.com/web2/M00/E5/D3/wKgaomZBeIyADEqiAACsZ19UYWk044.png)
評論