- 相關(guān)推薦
ADSP2116中DMA的應(yīng)用
摘要:直接內(nèi)存存取(DMA)是DSP芯片中用于快速數(shù)據(jù)交換的重要技術(shù),文中對(duì)AD公司的浮點(diǎn)系列芯片ADSP2116x中DMA的應(yīng)用方法作了詳細(xì)介紹,同時(shí)重點(diǎn)介紹了鏈?zhǔn)紻MA的操作方法,給出了一些實(shí)際應(yīng)用中的例子。1。模停粮攀
直接內(nèi)存存。ǎ模停粒┦怯(jì)算機(jī)系統(tǒng)提高運(yùn)行效率的一項(xiàng)重要技術(shù)。它可以在CPU運(yùn)行指令的同時(shí),使系統(tǒng)從外部存儲(chǔ)器或設(shè)備中存取數(shù)據(jù)?也可以在核心處理器不參與的情況下由專用的DMA設(shè)備存取數(shù)據(jù)。
對(duì)于DSP芯片來(lái)講,DMA的作用尤為重要。眾所周知,DSP芯片主要面向?qū)崟r(shí)信號(hào)處理?其核心運(yùn)算部件具有很高的運(yùn)算速度,常以MFLOPS(每秒百萬(wàn)次浮點(diǎn)運(yùn)算)來(lái)衡量。ADSP2116x的速度為600MFLOPS?此速度是以存儲(chǔ)在芯片內(nèi)部存儲(chǔ)器中的程序和數(shù)據(jù)為前提的。在DSP內(nèi)部,一般采用多總線的哈佛結(jié)構(gòu)?數(shù)據(jù)總線和程序總線相互獨(dú)立,即指令的存取和數(shù)據(jù)的存取并行不悖,另外,在AD-SP2116x內(nèi)部還有各種接口總線,可用以提高數(shù)據(jù)的流通能力,而在芯片的外部,所有的總線都被合并在一起了。為了發(fā)揮DSP核心運(yùn)算單元的高速運(yùn)算能力,必須先把外部數(shù)據(jù)傳輸?shù)狡瑑?nèi)存儲(chǔ)器中。使用DMA操作可以減少核心處理器的負(fù)擔(dān),提高運(yùn)算速度。另一方面,DSP系統(tǒng)總要與各種外部信號(hào)打交道?它從外部輸入數(shù)字信號(hào),經(jīng)過(guò)各種算法處理后,還要輸出給其它外部設(shè)備。不僅如此,對(duì)于很多應(yīng)用系統(tǒng)?數(shù)據(jù)的輸入和輸出常常是連續(xù)不斷的。試想?若用DSP的核心部件完成數(shù)據(jù)的輸入和輸出,將無(wú)法發(fā)揮DSP的高速運(yùn)算能力。而AD公司的ADSP2116x系列則集成了DMA控制器,從而可用DMA來(lái)完成數(shù)據(jù)的輸入和輸出。
高效的DSP系統(tǒng)通常采用圖1所示的結(jié)構(gòu)。該結(jié)構(gòu)的內(nèi)部帶有輸入、輸出緩沖區(qū),而數(shù)據(jù)的獲得則依靠DMA控制器。這樣,核心運(yùn)算單元就可以專門進(jìn)行信號(hào)處理,而將外界數(shù)據(jù)的獲取交給 DMA來(lái)完成。
2 ADSP2116x中的DMA
2.1 ADSP2116x中DMA的數(shù)據(jù)傳輸類型
ADSP2116x中的DMA包含14條獨(dú)立通道,可完成下列類型的數(shù)據(jù)傳輸操作:
●片內(nèi)存儲(chǔ)器與片外存儲(chǔ)器或片外設(shè)備之間的傳輸操作;
●片內(nèi)存儲(chǔ)器與其它ADSP2116x的片內(nèi)存儲(chǔ)器之間的傳輸操作;
●片內(nèi)存儲(chǔ)器與主處理器之間的傳輸操作;
●片內(nèi)存儲(chǔ)器與串行口之間的傳輸操作;
●片內(nèi)存儲(chǔ)器與Link口之間的傳輸操作;
●片內(nèi)存儲(chǔ)器與SPI口之間的傳輸操作;
●片外存儲(chǔ)器與片外設(shè)備之間的傳輸操作。
2.2 ADSP2116x中與DMA有關(guān)的寄存器
DMA的編程實(shí)際上是通過(guò)內(nèi)部核心處理單元或外部主機(jī)對(duì)片內(nèi)有關(guān)的I/O寄存器設(shè)置來(lái)完成的,與DMA有關(guān)的I/O寄存器如表1所列。控制寄存器主要用來(lái)設(shè)置數(shù)據(jù)傳輸?shù)姆较、?shù)據(jù)格式、是否鏈?zhǔn)降炔僮;參?shù)寄存器用來(lái)設(shè)置數(shù)據(jù)傳輸?shù)牡刂贰?shù)目等信息;數(shù)據(jù)緩存器則主要用來(lái)緩存?zhèn)鬏數(shù)臄?shù)據(jù),以提高數(shù)據(jù)的傳輸率。這些I/O寄存器都被映射到片內(nèi)存儲(chǔ)器的前256個(gè)地址上。
表1 ADSP2116x中的DMA緩存器
2.3 ADSP2116x中DMA一般傳輸過(guò)程的設(shè)置
DMA一般傳輸過(guò)程的設(shè)置步驟如下:
(1)設(shè)置對(duì)應(yīng)通道的參數(shù)寄存器?
(2)設(shè)置對(duì)應(yīng)通道的DMA控制寄存器,并將其中的DMA使能位設(shè)為有效?
(3)開(kāi)始DMA數(shù)據(jù)傳輸?
(4)DMA傳輸結(jié)束后,產(chǎn)生對(duì)應(yīng)的中斷,并通過(guò)程序?qū)χ袛噙M(jìn)行處理。
2.4 ADSP211
【ADSP2116中DMA的應(yīng)用】相關(guān)文章:
目標(biāo)規(guī)劃及其在經(jīng)濟(jì)中的應(yīng)用05-11
氣管插管在院前急救中的應(yīng)用05-29
Openprocess在熱網(wǎng)監(jiān)控系統(tǒng)中的應(yīng)用06-04
醫(yī)院護(hù)理管理中績(jī)效管理的應(yīng)用價(jià)值04-29
幼兒文學(xué)在幼兒教育中的應(yīng)用論文04-28
精益生產(chǎn)在企業(yè)管理中的應(yīng)用05-26
英語(yǔ)文學(xué)在英語(yǔ)教學(xué)中的應(yīng)用04-21