您好,登錄后才能下訂單哦!
這次來深入學(xué)習(xí)一下ARM串口通信的相關(guān)知識。
以三星公司的S5PV210系列為原型,通用異步接收機(jī)和發(fā)射機(jī)(UART)S5PV210提供四個(gè)獨(dú)立異步接口:串行輸入/輸出(I / O)端口。
所有的端口操作在一個(gè)基于中斷或DMA的模式。UART通過生成一個(gè)中斷或DMA請求在CPU和UART之間傳輸數(shù)據(jù)。
UART支持比特率3 mbps,每個(gè)UART通道包含兩個(gè)fif來接收和傳輸數(shù)據(jù):
在通道0的FIFO里可以存256字節(jié),通道1的FIFO里可以存64字節(jié),通道2和通道3的FIFO里可以存16字節(jié)。
UART包括可編程的波特率;紅外(IR)發(fā)射器/接收器;一個(gè)或兩個(gè)停止位插入;6位,7位或8位數(shù)據(jù)寬度和奇偶校驗(yàn)。
每個(gè)UART包含波特率發(fā)生器、發(fā)射機(jī)、接收機(jī)和一個(gè)控制單元,波特率的來源是PCLK或SCLK_UART。
發(fā)射機(jī)和接收機(jī)包含fifo和數(shù)據(jù)轉(zhuǎn)換器(uart shifter)。
要傳輸?shù)臄?shù)據(jù)被寫入Tx FIFO,并復(fù)制到數(shù)據(jù)轉(zhuǎn)換器(uart shifter)。然后,數(shù)據(jù)被通過Tx發(fā)送走。接收到的數(shù)據(jù)從接收數(shù)據(jù)處(RxDn)被復(fù)制到Rx FIFO。
uart異步收發(fā)裝置的特點(diǎn):
RxD0、TxD0 RxD1、TxD1 RxD2,TxD2,RxD3和TxD3 是基于DMA或基于中斷操作的。
在通道0的FIFO里可以存256字節(jié),通道1的FIFO里可以存64字節(jié),通道2和通道3的FIFO里可以存16字節(jié)。(上面提到了)
至于流控啥的我們就不需要了解了,現(xiàn)在流控基本上也不需要了。
并且S5PV210芯片的串口裝置支持握手發(fā)射接收。
傳輸?shù)臄?shù)據(jù)幀是可編程的。它由一個(gè)起始位,五到八個(gè)數(shù)據(jù)位,一個(gè)可選則的奇偶校驗(yàn)位,一到兩個(gè)停止位,這些東西由行控制位(ULCONn)來控制。
發(fā)送器也可以在一幀傳輸時(shí)間后產(chǎn)生一個(gè)中斷迫使串口輸出邏輯0狀態(tài)。這個(gè)模塊會在當(dāng)前發(fā)送的數(shù)據(jù)完全發(fā)送完以后產(chǎn)生一個(gè)中斷信號。
中斷信號發(fā)送完之后,表示一幀數(shù)據(jù)已經(jīng)成功發(fā)送了,發(fā)送器繼續(xù)發(fā)送數(shù)據(jù)到Tx FIFO(Tx保持寄存器,以防Non-FIFO模式)
類似于數(shù)據(jù)發(fā)送,接收的數(shù)據(jù)幀也可編程。它由一個(gè)起始位,五到八個(gè)數(shù)據(jù)位,一個(gè)可選的校驗(yàn)位,一個(gè)兩個(gè)停止位,由行控制寄存器(ULCONn)來控制。
接收方檢測到溢出錯誤,奇偶校驗(yàn)錯誤,誤幀和休息狀態(tài),這些錯誤每一個(gè)都設(shè)置一個(gè)錯誤標(biāo)志。
->溢出錯誤表明,新數(shù)據(jù)覆蓋舊數(shù)據(jù)之前舊的數(shù)據(jù)被讀取。
->奇偶校驗(yàn)誤差表明,接收機(jī)已經(jīng)探測到一個(gè)不期望的奇偶校驗(yàn)結(jié)果。
->幀錯誤表明接收的數(shù)據(jù)沒有一個(gè)有效的停止位。
->休息狀態(tài)表明破壞條件表明RxDn處于邏輯0狀態(tài)超過了一幀的傳輸時(shí)間。
如果數(shù)據(jù)沒有在三個(gè)word接收的時(shí)間內(nèi)被接收,則會產(chǎn)生收發(fā)超時(shí)。
在FIFO模式下,Rx FIFO不是空的。
免責(zé)聲明:本站發(fā)布的內(nèi)容(圖片、視頻和文字)以原創(chuàng)、轉(zhuǎn)載和分享為主,文章觀點(diǎn)不代表本網(wǎng)站立場,如果涉及侵權(quán)請聯(lián)系站長郵箱:is@yisu.com進(jìn)行舉報(bào),并提供相關(guān)證據(jù),一經(jīng)查實(shí),將立刻刪除涉嫌侵權(quán)內(nèi)容。