一種基于DMA技術(shù)的高效串口數(shù)據(jù)處理方法
【文章頁(yè)數(shù)】:3 頁(yè)
【部分圖文】:
圖1DMA傳送數(shù)據(jù)原理圖
DMA技術(shù),即直接存儲(chǔ)器訪問(DirectMemoryAccess,DMA)方式。在這種方式下,DMA可以不經(jīng)由CPU控制而直接從內(nèi)存中存取數(shù)據(jù),用于實(shí)現(xiàn)外設(shè)與存儲(chǔ)器之間,以及存儲(chǔ)器與存儲(chǔ)器之間的高速數(shù)據(jù)傳輸。該操作是根據(jù)地址空間的標(biāo)志,實(shí)現(xiàn)單通道源地址和目的地址之間的單向數(shù)....
圖2環(huán)形DMA串口發(fā)送數(shù)據(jù)方法流程圖
提出一種結(jié)合循環(huán)存儲(chǔ)的串口發(fā)送方法。該方法包括以下四個(gè)要素:循環(huán)數(shù)組、DMA狀態(tài)標(biāo)志、讀寫指針、容量計(jì)算。循環(huán)數(shù)組用于存儲(chǔ)CPU要發(fā)送的數(shù)據(jù)。其長(zhǎng)度由開發(fā)者自定義,一般需要結(jié)合數(shù)據(jù)傳輸頻率和通信協(xié)議的長(zhǎng)度決定,但須保證存放新的數(shù)組時(shí),不會(huì)覆蓋掉當(dāng)前正在發(fā)送的數(shù)據(jù),否則會(huì)造成漏傳丟....
圖3循環(huán)緩存示意圖
循環(huán)存儲(chǔ)設(shè)計(jì)是結(jié)合環(huán)形DMA發(fā)送而設(shè)計(jì)的特殊存儲(chǔ)方法。不同于一般緩存設(shè)計(jì),使用該方法時(shí),一般要求緩存容量遠(yuǎn)大于通信協(xié)議長(zhǎng)度。如圖3所示,以容量256bytes容量為例。根據(jù)四要素要求,定義讀寫指針,其中讀指針tr記錄當(dāng)前已發(fā)送的最后一個(gè)字節(jié)在數(shù)組中的地址,寫指針tw記錄當(dāng)前緩存進(jìn)....
本文編號(hào):3905069
本文鏈接:http://sikaile.net/kejilunwen/jisuanjikexuelunwen/3905069.html