UART簡(jiǎn)介
通用異步收發(fā)傳輸器通常稱(chēng)作UART,是一種異步收發(fā)傳輸器,是電腦硬件的一部分。它將要傳輸?shù)?a href="http://www.yunqivpn.cn/soft/special/" target="_blank">資料在串行通信與并行通信之間加以轉(zhuǎn)換。作為把并行輸入信號(hào)轉(zhuǎn)成串行輸出信號(hào)的芯片,UART通常被集成于其他通訊接口的連結(jié)上。
UART基本結(jié)構(gòu)
⑴輸出緩沖寄存器,它接收CPU從數(shù)據(jù)總線上送來(lái)的并行數(shù)據(jù),并加以保存。
?、?輸出移位寄存器,它接收從輸出緩沖器送來(lái)的并行數(shù)據(jù),以發(fā)送時(shí)鐘的速率把數(shù)據(jù)逐位移出,即將并行數(shù)據(jù)轉(zhuǎn)換為串行數(shù)據(jù)輸出。
?、?輸入移位寄存器,它以接收時(shí)鐘的速率把出現(xiàn)在串行數(shù)據(jù)輸入線上的數(shù)據(jù)逐位移入,當(dāng)數(shù)據(jù)裝滿后,并行送往輸入緩沖寄存器,即將串行數(shù)據(jù)轉(zhuǎn)換成并行數(shù)據(jù)。
?、?輸入緩沖寄存器,它從輸入移位寄存器中接收并行數(shù)據(jù),然后由CPU取走。
?、煽刂萍拇嫫鳎邮誄PU送來(lái)的控制字,由控制字的內(nèi)容,決定通信時(shí)的傳輸方式以及數(shù)據(jù)格式等。例如采用異步方式還是同步方式,數(shù)據(jù)字符的位數(shù),有無(wú)奇偶校驗(yàn),是奇校驗(yàn)還是偶校驗(yàn),停止位的位數(shù)等參數(shù)。
?、薁顟B(tài)寄存器。狀態(tài)寄存器中存放著接口的各種狀態(tài)信息,例如輸出緩沖區(qū)是否空,輸入字符是否準(zhǔn)備好等。在通信過(guò)程中,當(dāng)符合某種狀態(tài)時(shí),接口中的狀態(tài)檢測(cè)邏輯將狀態(tài)寄存器的相應(yīng)位置“1”,以便讓CPU查詢。
UART的工作原理
在嵌入式設(shè)計(jì)中,UART用來(lái)與PC進(jìn)行通信,包括與監(jiān)控調(diào)試器和其它器件,如EEPROM通信。因?yàn)橛?jì)算機(jī)內(nèi)部采用并行數(shù)據(jù),不能直接把數(shù)據(jù)發(fā)到Modem,必須經(jīng)過(guò)UART整理才能進(jìn)行異步傳輸,其過(guò)程為:CPU先把準(zhǔn)備寫(xiě)入串行設(shè)備的數(shù)據(jù)放到UART的寄存器(臨時(shí)內(nèi)存塊)中,再通過(guò)FIFO(First Input First Output,先入先出隊(duì)列)傳送到串行設(shè)備,若是沒(méi)有FIFO,信息將變得雜亂無(wú)章,不可能傳送到Modem。
UART首先將接收到的并行數(shù)據(jù)轉(zhuǎn)換成串行數(shù)據(jù)來(lái)傳輸。消息幀從一個(gè)低位起始位開(kāi)始,后面是5~8個(gè)數(shù)據(jù)位,一個(gè)可用的奇偶位和一個(gè)或幾個(gè)高位停止位。接收器發(fā)現(xiàn)開(kāi)始位時(shí)它就知道數(shù)據(jù)準(zhǔn)備發(fā)送,并嘗試與發(fā)送器時(shí)鐘頻率同步。如果選擇了奇偶,UART就在數(shù)據(jù)位后面加上奇偶位。奇偶位可用來(lái)幫助錯(cuò)誤校驗(yàn)。
在接收過(guò)程中,UART從消息幀中去掉起始位和結(jié)束位,對(duì)進(jìn)來(lái)的字節(jié)進(jìn)行奇偶校驗(yàn),并將數(shù)據(jù)字節(jié)從并行轉(zhuǎn)換成串行。UART也產(chǎn)生額外的信號(hào)來(lái)指示發(fā)送和接收的狀態(tài)。例如,如果產(chǎn)生一個(gè)奇偶錯(cuò)誤,UART就置位奇偶標(biāo)志。
uart的作用
它是用于控制計(jì)算機(jī)與串行設(shè)備的芯片。有一點(diǎn)要注意的是,它提供了RS-232C數(shù)據(jù)終端設(shè)備接口,這樣計(jì)算機(jī)就可以和調(diào)制解調(diào)器或其它使用RS-232C接口的串行設(shè)備通信了。
作為接口的一部分,UART還提供以下功能:
1.將由計(jì)算機(jī)內(nèi)部傳送過(guò)來(lái)的并行數(shù)據(jù)轉(zhuǎn)換為輸出的串行數(shù)據(jù)流。
2.將計(jì)算機(jī)外部來(lái)的串行數(shù)據(jù)轉(zhuǎn)換為字節(jié),供計(jì)算機(jī)內(nèi)部使用并行數(shù)據(jù)的器件使用。
3.在輸出的串行數(shù)據(jù)流中加入奇偶校驗(yàn)位,并對(duì)從外部接收的數(shù)據(jù)流進(jìn)行奇偶校驗(yàn)。
4.在輸出數(shù)據(jù)流中加入啟停標(biāo)記,并從接收數(shù)據(jù)流中刪除啟停標(biāo)記。
5.處理由鍵盤(pán)或鼠標(biāo)發(fā)出的中斷信號(hào)(鍵盤(pán)和鼠標(biāo)也是串行設(shè)備)。
6.可以處理計(jì)算機(jī)與外部串行設(shè)備的同步管理問(wèn)題。
有一些比較高檔的UART還提供輸入輸出數(shù)據(jù)的緩沖區(qū),現(xiàn)在比較新的UART是16550,它可以在計(jì)算機(jī)需要處理數(shù)據(jù)前在其緩沖區(qū)內(nèi)存儲(chǔ)16字節(jié)數(shù)據(jù),而通常的UART是8250?,F(xiàn)在如果您購(gòu)買(mǎi)一個(gè)內(nèi)置的調(diào)制解調(diào)器,此調(diào)制解調(diào)器內(nèi)部通常就會(huì)有16550 UART。
UART應(yīng)用
通信領(lǐng)域
UART首先將接收到的并行數(shù)據(jù)轉(zhuǎn)換成串行數(shù)據(jù)來(lái)傳輸。消息幀從一個(gè)低位起始位開(kāi)始,后面是5~8個(gè)數(shù)據(jù)位,一個(gè)可用的奇偶位和一個(gè)或幾個(gè)高位停止位。接收器發(fā)現(xiàn)開(kāi)始位時(shí)它就知道數(shù)據(jù)準(zhǔn)備發(fā)送,并嘗試與發(fā)送器時(shí)鐘頻率同步。如果選擇了奇偶,UART就在數(shù)據(jù)位后面加上奇偶位。奇偶位可用來(lái)幫助錯(cuò)誤校驗(yàn)。
在接收過(guò)程中,UART從消息幀中去掉起始位和結(jié)束位,對(duì)進(jìn)來(lái)的字節(jié)進(jìn)行奇偶校驗(yàn),并將數(shù)據(jù)字節(jié)從串行轉(zhuǎn)換成并行。UART也產(chǎn)生額外的信號(hào)來(lái)指示發(fā)送和接收的狀態(tài)。例如,如果產(chǎn)生一個(gè)奇偶錯(cuò)誤,UART就置位奇偶標(biāo)志。奇偶校驗(yàn)位適用于檢驗(yàn)傳輸是否正確的。
計(jì)算機(jī)
UART是計(jì)算機(jī)中串行通信端口的關(guān)鍵部分。在計(jì)算機(jī)中,UART相連于產(chǎn)生兼容RS232規(guī)范信號(hào)的電路。RS232標(biāo)準(zhǔn)定義邏輯“1”信號(hào)相對(duì)于地為-3到-15伏,而邏輯“0”相對(duì)于地為+3到+15伏。所以,當(dāng)一個(gè)微控制器中的UART相連于PC時(shí),它需要一個(gè)RS232驅(qū)動(dòng)器來(lái)轉(zhuǎn)換電平。
Uart這里指的是TTL電平的串口;RS232指的是RS232電平的串口。TTL電平是5V的,而RS232是負(fù)邏輯電平,它定義+5~+12V為低電平,而-12~-5V為高電平。
Uart串口的RXD、TXD等一般直接與處理器芯片的引腳相連,而RS232串口的RXD、TXD等一般需要經(jīng)過(guò)電平轉(zhuǎn)換(通常由Max232等芯片進(jìn)行電平轉(zhuǎn)換)才能接到處理器芯片的引腳上,否則這么高的電壓很可能會(huì)把芯片燒壞。
我們平時(shí)所用的電腦的串口就是RS232的,當(dāng)我們?cè)谧鲭娐饭ぷ鲿r(shí),應(yīng)該注意下外設(shè)的串口是Uart類(lèi)型的還是RS232類(lèi)型的,如果不匹配,應(yīng)當(dāng)找個(gè)轉(zhuǎn)換線(通常這根轉(zhuǎn)換線內(nèi)有塊類(lèi)似于Max232的芯片做電平轉(zhuǎn)換工作的),可不能盲目地將兩串口相連。
GPIO口和UART的區(qū)別
GPIO通用端口,UART串口,I2C,SPI 他們就是時(shí)序不同,CPU和外擴(kuò)的芯片進(jìn)行通信,領(lǐng)會(huì)它們的通信時(shí)序就OK,呵呵
General Purpose Input Output (通用輸入/輸出)簡(jiǎn)稱(chēng)為GPIO,或總線擴(kuò)展器,利用工業(yè)標(biāo)準(zhǔn)I2C、SMBus?或SPI?接口簡(jiǎn)化了I/O口的擴(kuò)展。當(dāng)微控制器或芯片組沒(méi)有足夠的I/O端口,或當(dāng)系統(tǒng)需要采用遠(yuǎn)端串行通信或控制時(shí),GPIO產(chǎn)品能夠提供額外的控制和監(jiān)視功能。
UART:Universal Asynchronous Receiver/Transmitter,通用異步接收/發(fā)送裝置
I2C(Inter-Integrated Circuit)總線是由PHILIPS公司開(kāi)發(fā)的兩線式串行總線,用于連接微控制器及其外圍設(shè)備。是微電子通信控制領(lǐng)域廣泛采用的一種總線標(biāo)準(zhǔn)。它是同步通信的一種特殊形式,具有接口線少,控制方式簡(jiǎn)單,器件封裝形式小,通信速率較高等優(yōu)點(diǎn)。
SPI:高速同步串行口。是一種標(biāo)準(zhǔn)的四線同步雙向串行總線。
SPI,是英語(yǔ)Serial Peripheral interface的縮寫(xiě),顧名思義就是串行外圍設(shè)備接口。是Motorola首先在其MC68HCXX系列處理器上定義的。SPI接口主要應(yīng)用在 EEPROM,F(xiàn)LASH,實(shí)時(shí)時(shí)鐘,AD轉(zhuǎn)換器,還有數(shù)字信號(hào)處理器和數(shù)字信號(hào)解碼器之間。SPI,是一種高速的,全雙工,同步的通信總線,并且在芯片的管腳上只占用四根線,節(jié)約了芯片的管腳,同時(shí)為PCB的布局上節(jié)省空間,提供方便,正是出于這種簡(jiǎn)單易用的特性,現(xiàn)在越來(lái)越多的芯片集成了這種通信協(xié)議,比如AT91RM9200.
評(píng)論