UART(Universal Asynchronous Receiver and Transmitter)通用異步收發(fā)器(異步串行通信口),是一種通用的數(shù)據(jù)通信協(xié)議,它包括了RS232、RS499、RS423、RS422和RS485等接口標(biāo)準(zhǔn)規(guī)范和總線標(biāo)準(zhǔn)規(guī)范,即UART是異步串行通信口的總稱。
UART之間以全雙工方式傳輸數(shù)據(jù),最精確的連線方法只有3根電線:TxD用于發(fā)送數(shù)據(jù),RxD用于接收數(shù)據(jù),Gnd用于給雙發(fā)提供參考電平。
UART使用標(biāo)準(zhǔn)的TTL/CMOS邏輯電平(0~5v、0~3.3v、0~2.5v或0~1.8v)來(lái)表示數(shù)據(jù),高電平表示1,低電平表示0。為了增強(qiáng)數(shù)據(jù)的抗干擾能力、提高傳輸長(zhǎng)度,通常將TTL/CMOD邏輯電平轉(zhuǎn)換為RS-232邏輯電平,3~12v表示0,-3~-12v表示1
TxD、RxD數(shù)據(jù)線以位為最小單位傳輸數(shù)據(jù),而幀由具有完整意義的、不可分割的若干位組成,它包含開始位、數(shù)據(jù)位、校驗(yàn)位(需要的話)和停止位。發(fā)送數(shù)據(jù)之前,UART之間要約定好數(shù)據(jù)的傳輸速率(即每位所占據(jù)的時(shí)間,其倒數(shù)稱為波特率)、數(shù)據(jù)的傳輸格式(即有多少個(gè)數(shù)據(jù)位、是否使用校驗(yàn)位、是奇校驗(yàn)還是偶校驗(yàn)、有多少個(gè)停止位)。
數(shù)據(jù)傳輸流程如下:
(1)平時(shí)數(shù)據(jù)線處于空閑狀態(tài)(1狀態(tài))
(2)當(dāng)要發(fā)送數(shù)據(jù)時(shí),UART改變TxD數(shù)據(jù)線的狀態(tài)(變?yōu)?狀態(tài))并維持1位的時(shí)間,這樣接收方檢測(cè)到開始位后,在等待1.5位的時(shí)間就開始一位一位地檢測(cè)數(shù)據(jù)線的狀態(tài)得到所傳輸?shù)臄?shù)據(jù)。
(3)UART一幀中可以有5、6、7或8位的數(shù)據(jù),發(fā)送方一位一位地改變數(shù)據(jù)線的狀態(tài)將他們發(fā)送出去,首先發(fā)送最低位。
(4)如果使用校驗(yàn)功能,UART在發(fā)送完數(shù)據(jù)后,還要發(fā)送1位校驗(yàn)位。有兩種校驗(yàn)方法:奇校驗(yàn)、偶校驗(yàn)——數(shù)據(jù)位連同校驗(yàn)位中,1的數(shù)據(jù)等于奇數(shù)或偶數(shù)。
(5)最后,發(fā)送停止位,數(shù)據(jù)線恢復(fù)到空閑狀態(tài)(1狀態(tài))。停止位的長(zhǎng)度有3種:1位、1.5位、2位。
下圖演示了UART使用7個(gè)數(shù)據(jù)位、偶校驗(yàn)、2個(gè)停止位的格式傳輸字符‘A’(二進(jìn)制值為0b1000001)時(shí),TTL/COM邏輯電平和RS-232邏輯電平對(duì)應(yīng)的波形
TTL/COM邏輯電平:
RS-232邏輯電平:
聯(lián)系客服