- 相關推薦
ADSP2116中DMA的應用
摘要:直接內存存取(DMA)是DSP芯片中用于快速數據交換的重要技術,文中對AD公司的浮點系列芯片ADSP2116x中DMA的應用方法作了詳細介紹,同時重點介紹了鏈式DMA的操作方法,給出了一些實際應用中的例子。1 DMA概述
直接內存存。ǎ模停粒┦怯嬎銠C系統提高運行效率的一項重要技術。它可以在CPU運行指令的同時,使系統從外部存儲器或設備中存取數據?也可以在核心處理器不參與的情況下由專用的DMA設備存取數據。
對于DSP芯片來講,DMA的作用尤為重要。眾所周知,DSP芯片主要面向實時信號處理?其核心運算部件具有很高的運算速度,常以MFLOPS(每秒百萬次浮點運算)來衡量。ADSP2116x的速度為600MFLOPS?此速度是以存儲在芯片內部存儲器中的程序和數據為前提的。在DSP內部,一般采用多總線的哈佛結構?數據總線和程序總線相互獨立,即指令的存取和數據的存取并行不悖,另外,在AD-SP2116x內部還有各種接口總線,可用以提高數據的流通能力,而在芯片的外部,所有的總線都被合并在一起了。為了發揮DSP核心運算單元的高速運算能力,必須先把外部數據傳輸到片內存儲器中。使用DMA操作可以減少核心處理器的負擔,提高運算速度。另一方面,DSP系統總要與各種外部信號打交道?它從外部輸入數字信號,經過各種算法處理后,還要輸出給其它外部設備。不僅如此,對于很多應用系統?數據的輸入和輸出常常是連續不斷的。試想?若用DSP的核心部件完成數據的輸入和輸出,將無法發揮DSP的高速運算能力。而AD公司的ADSP2116x系列則集成了DMA控制器,從而可用DMA來完成數據的輸入和輸出。
高效的DSP系統通常采用圖1所示的結構。該結構的內部帶有輸入、輸出緩沖區,而數據的獲得則依靠DMA控制器。這樣,核心運算單元就可以專門進行信號處理,而將外界數據的獲取交給 DMA來完成。
2。粒模樱校玻保保叮械模模停
2.1 ADSP2116x中DMA的數據傳輸類型
ADSP2116x中的DMA包含14條獨立通道,可完成下列類型的數據傳輸操作:
●片內存儲器與片外存儲器或片外設備之間的傳輸操作;
●片內存儲器與其它ADSP2116x的片內存儲器之間的傳輸操作;
●片內存儲器與主處理器之間的傳輸操作;
●片內存儲器與串行口之間的傳輸操作;
●片內存儲器與Link口之間的傳輸操作;
●片內存儲器與SPI口之間的傳輸操作;
●片外存儲器與片外設備之間的傳輸操作。
2.2 ADSP2116x中與DMA有關的寄存器
DMA的編程實際上是通過內部核心處理單元或外部主機對片內有關的I/O寄存器設置來完成的,與DMA有關的I/O寄存器如表1所列?刂萍拇嫫髦饕脕碓O置數據傳輸的方向、數據格式、是否鏈式等操作;參數寄存器用來設置數據傳輸的地址、數目等信息;數據緩存器則主要用來緩存傳輸的數據,以提高數據的傳輸率。這些I/O寄存器都被映射到片內存儲器的前256個地址上。
表1 ADSP2116x中的DMA緩存器
2.3 ADSP2116x中DMA一般傳輸過程的設置
DMA一般傳輸過程的設置步驟如下:
(1)設置對應通道的參數寄存器?
(2)設置對應通道的DMA控制寄存器,并將其中的DMA使能位設為有效?
(3)開始DMA數據傳輸?
(4)DMA傳輸結束后,產生對應的中斷,并通過程序對中斷進行處理。
2.4 ADSP211
【ADSP2116中DMA的應用】相關文章:
紅外遙控在汽車中的應用03-19
淺析力學在機械中的應用05-19
竹子在設計中的應用價值12-02
RPMS在煉化企業中的應用12-09
NUFFT在ISAR成像中的應用03-07
淺談生活中的數學應用06-27
沉井施工在工程中的應用11-23
稀土在電鍍中的應用分析03-18