基于 DSP-dMAX 的嵌入式 FIFO 數(shù)據(jù)傳輸系統(tǒng)設(shè)計
嵌入式設(shè)備由于具有硬件可在線配置,實現(xiàn)靈活等特點,使得其應(yīng)用越來越廣泛。尤其在基于FPGA的硬件系統(tǒng)中應(yīng)用較多,目前在許多產(chǎn)品中實現(xiàn)了嵌入式網(wǎng)口、嵌入式PCI/PCI-E、嵌入式USB等各種模塊。但在DSP中實現(xiàn)嵌入式設(shè)備還比較少,一般DSP都直接集成這些設(shè)備模塊,用戶選擇不同型號的DSP芯片以滿足產(chǎn)品應(yīng)用要求。但對于一些較為特殊的嵌入式設(shè)備,DSP也可以實現(xiàn)該功能。
本文引用地址:http://m.butianyuan.cn/article/150805.htm
TI公司的DSP芯片C6727B,由于其片內(nèi)集成dMAX模塊,使得實現(xiàn)嵌入式FIFO成為可能。其實現(xiàn)嵌入式FIFO的本質(zhì)就是將DSP的片內(nèi)一段RAM空間設(shè)置成FIFO空間,F(xiàn)IFO和外部設(shè)備的數(shù)據(jù)交換由EMIF接口完成。該FIFO的數(shù)據(jù)讀寫不需要DSP的CPU參與,從而提高整個系統(tǒng)性能,實現(xiàn)數(shù)據(jù)交換和數(shù)據(jù)處理的同時進行。本文以dMAX和EMIF接口的數(shù)據(jù)傳輸為例,介紹嵌入式FIFO的設(shè)計、配置及其使用。
dMAX及其結(jié)構(gòu)
dMAX(Dual Data Movement Accelerator,雙向數(shù)據(jù)傳輸加速器)是TI公司的DSP芯片C6727B特有的一種片內(nèi)設(shè)備。應(yīng)用dMAX和EMIF(External Memory Interface,外部存儲器接口)可以實現(xiàn)片內(nèi)RAM、片內(nèi)和片外設(shè)備以及兩個片外設(shè)備之間的數(shù)據(jù)傳輸。dMAX模塊的內(nèi)部結(jié)構(gòu)如圖1所示。
圖1 dMAX內(nèi)部結(jié)構(gòu)圖
從圖中可以看出,dMAX主要由事件和中斷處理模塊、事件編碼器、傳輸事件模塊等組成。事件模塊分成高優(yōu)先級和低優(yōu)先級兩個相互獨立的模塊,各自有獨立的事件入口和事件參數(shù)表,和CPU有獨立的接口。使得dMAX可以同時處理兩個不同的事件。當(dāng)訪問CPU端口時,MAX0的優(yōu)先級高,MAX1的優(yōu)先級低。dMAX能夠通過執(zhí)行先進的一維、二維與三維數(shù)據(jù)的存儲器傳輸工作,從而使DSP得以專注于信號處理任務(wù),顯著提高系統(tǒng)性能。適合圖像的子幀提取或者語音信號的子信道提取。
DSP內(nèi)部的數(shù)據(jù)交換中心在dMAX的控制下,可以實現(xiàn)片內(nèi)RAM、EMIF以及HPI接口之間的數(shù)據(jù)交換。本文介紹在dMAX控制下,實現(xiàn)片內(nèi)RAM和EMIF接口之間的數(shù)據(jù)交換。如果DSP采用普通的異步接口方式,數(shù)據(jù)傳輸需要建立、選通和保持3個階段,最少需要5個EMIF時鐘(建立和保持各1個時鐘,選通3個時鐘)。為了保證通信的可靠性,一般采用10個EMIF時鐘(建立3個時鐘,保持2個時鐘,選通5個時鐘)。而EMIF時鐘最快為133MHz;這樣,采用異步接口的通信速率一般為13.3M×32b/s(采用32位數(shù)據(jù)總線寬度)。此外,異步接口數(shù)據(jù)傳輸必須在CPU的參與下,使用指令實現(xiàn)數(shù)據(jù)搬移。將占用大量的CPU開銷,在很多高速的數(shù)據(jù)采集和處理中,將降低系統(tǒng)的整體性能。為此,采用dMAX實現(xiàn)嵌入式FIFO數(shù)據(jù)傳輸克服異步傳輸?shù)娜秉c,其傳輸采用突發(fā)讀寫方式進行,可以連續(xù)突發(fā)讀寫8個數(shù)據(jù),一共只需要20個時鐘,通信速率提高為53.2M×32b/s,提高4倍讀寫速率。還可以采用和DMA后臺運行,這樣將大大降低整個系統(tǒng)數(shù)據(jù)讀寫的開銷,從而可以實現(xiàn)更加復(fù)雜和可靠的算法處理。
嵌入式FIFO設(shè)計
嵌入式FIFO的設(shè)計主要就是控制FIFO的7個參數(shù)。這7個參數(shù)分別為基地址、空間大小、空標(biāo)志、滿標(biāo)志、錯誤標(biāo)志、讀指針和寫指針。它們之間的關(guān)系如圖2所示。
圖2 FIFO結(jié)構(gòu)示意圖
linux操作系統(tǒng)文章專題:linux操作系統(tǒng)詳解(linux不再難懂)
評論