您的位置:首頁 >生活 >

uart什么意思?串口線是用來干什么的?uart怎么讀?

2023-04-27 08:51:29 來源:貿(mào)易經(jīng)濟(jì)網(wǎng)

uart什么意思?

通用異步收發(fā)傳輸器(Universal Asynchronous Receiver/Transmitter),通常稱作UART。它將要傳輸?shù)馁Y料在串行通信與并行通信之間加以轉(zhuǎn)換。作為把并行輸入信號轉(zhuǎn)成串行輸出信號的芯片,UART通常被集成于其他通訊接口的連結(jié)上。

具體實物表現(xiàn)為獨立的模塊化芯片,或作為集成于微處理器中的周邊設(shè)備。一般是RS-232C規(guī)格的,與類似Maxim的MAX232之類的標(biāo)準(zhǔn)信號幅度變換芯片進(jìn)行搭配,作為連接外部設(shè)備的接口。在UART上追加同步方式的序列信號變換電路的產(chǎn)品,被稱為USART(Universal Synchronous Asynchronous Receiver Transmitter)。

uart的工作原理是什么?

發(fā)送接收

發(fā)送邏輯對從發(fā)送FIFO讀取的數(shù)據(jù)執(zhí)行“并→串”轉(zhuǎn)換??刂七壿嬢敵銎鹗嘉辉谙鹊拇形涣?,并且根據(jù)控制寄存器中已編程的配置,后面緊跟著數(shù)據(jù)位(注意:最低位LSB先輸出)、奇偶校驗位和停止位。

在檢測到一個有效的起始脈沖后,接收邏輯對接收到的位流執(zhí)行“串→并”轉(zhuǎn)換。此外還會對溢出錯誤、奇偶校驗錯誤、幀錯誤和線中止(line-break)錯誤進(jìn)行檢測,并將檢測到的狀態(tài)附加到被寫入接收FIFO的數(shù)據(jù)中。

波特率產(chǎn)生

波特率除數(shù)(baud-rate divisor)是一個22位數(shù),它由16位整數(shù)和6位小數(shù)組成。波特率發(fā)生器使用這兩個值組成的數(shù)字來決定位周期。通過帶有小數(shù)波特率的除法器,在足夠高的系統(tǒng)時鐘速率下,UART可以產(chǎn)生所有標(biāo)準(zhǔn)的波特率,而誤差很小。

數(shù)據(jù)收發(fā)

發(fā)送時,數(shù)據(jù)被寫入發(fā)送FIFO。如果UART被使能,則會按照預(yù)先設(shè)置好的參數(shù)(波特率、數(shù)據(jù)位、停止位、校驗位等)開始發(fā)送數(shù)據(jù),一直到發(fā)送FIFO中沒有數(shù)據(jù)。一旦向發(fā)送FIFO寫數(shù)據(jù)(如果FIFO未空),UART的忙標(biāo)志位BUSY就有效,并且在發(fā)送數(shù)據(jù)期間一直保持有效。BUSY位僅在發(fā)送FIFO為空,且已從移位寄存器發(fā)送最后一個字符,包括停止位時才變無效。即UART不再使能,它也可以指示忙狀態(tài)。BUSY位的相關(guān)庫函數(shù)是UARTBusy()

在UART接收器空閑時,如果數(shù)據(jù)輸入變成“低電平”,即接收到了起始位,則接收計數(shù)器開始運行,并且數(shù)據(jù)在Baud16的第8個周期被采樣。如果Rx在Baud16的第8周期仍然為低電平,則起始位有效,否則會被認(rèn)為是錯誤的起始位并將其忽略。

如果起始位有效,則根據(jù)數(shù)據(jù)字符被編程的長度,在Baud16的每第16個周期(即一個位周期之后)對連續(xù)的數(shù)據(jù)位進(jìn)行采樣。如果奇偶校驗?zāi)J绞鼓?,則還會檢測奇偶校驗位。

最后,如果Rx為高電平,則有效的停止位被確認(rèn),否則發(fā)生幀錯誤。當(dāng)接收到一個完整的字符時,將數(shù)據(jù)存放在接收FIFO中。

標(biāo)簽: uart什么意思 串口線是用來干什么的 uart和485接口的區(qū)別是什么

相關(guān)文章

編輯推薦