您现在的位置: 范文先生网 >> 理工论文 >> 电子通信论文 >> 正文

ADSP2116中DMA的应用

时间:2007-1-20栏目:电子通信论文

摘要:直接内存存取(DMA)是DSP芯片中用于快速数据交换的重要技术,文中对AD公司的浮点系列芯片ADSP2116x中DMA的应用方法作了详细介绍,同时重点介绍了链式DMA的操作方法,给出了一些实际应用中的例子。

    关键词:DMA 链式DMA 浮点系列芯片 ADSP2116x

1 DMA概述

直接内存存取(DMA)是计算机系统提高运行效率的一项重要技术。它可以在CPU运行指令的同时,使系统从外部存储器或设备中存取数据也可以在核心处理器不参与的情况下由专用的DMA设备存取数据。

对于DSP芯片来讲,DMA的作用尤为重要。众所周知,DSP芯片主要面向实时信号处理其核心运算部件具有很高的运算速度,常以MFLOPS(每秒百万次浮点运算)来衡量。ADSP2116x的速度为600MFLOPS此速度是以存储在芯片内部存储器中的程序和数据为前提的。在DSP内部,一般采用多总线的哈佛结构数据总线和程序总线相互独立,即指令的存取和数据的存取并行不悖,另外,在AD-SP2116x内部还有各种接口总线,可用以提高数据的流通能力,而在芯片的外部,所有的总线都被合并在一起了。为了发挥DSP核心运算单元的高速运算能力,必须先把外部数据传输到片内存储器中。使用DMA操作可以减少核心处理器的负担,提高运算速度。另一方面,DSP系统总要与各种外部信号打交道它从外部输入数字信号,经过各种算法处理后,还要输出给其它外部设备。不仅如此,对于很多应用系统数据的输入和输出常常是连续不断的。试想若用DSP的核心部件完成数据的输入和输出,将无法发挥DSP的高速运算能力。而AD公司的ADSP2116x系列则集成了DMA控制器,从而可用DMA来完成数据的输入和输出。

高效的DSP系统通常采用图1所示的结构。该结构的内部带有输入、输出缓冲区,而数据的获得则依靠DMA控制器。这样,核心运算单元就可以专门进行信号处理,而将外界数据的获取交给 DMA来完成。
(范文先生网www.fwsir.com收集整理)
2 ADSP2116x中的DMA

2.1 ADSP2116x中DMA的数据传输类型

ADSP2116x中的DMA包含14条独立通道,可完成下列类型的数据传输操作:

●片内存储器与片外存储器或片外设备之间的传输操作;

●片内存储器与其它ADSP2116x的片内存储器之间的传输操作;

●片内存储器与主处理器之间的传输操作;

●片内存储器与串行口之间的传输操作;

●片内存储器与Link口之间的传输操作;

●片内存储器与SPI口之间的传输操作;

●片外存储器与片外设备之间的传输操作。

2.2 ADSP2116x中与DMA有关的寄存器

DMA的编程实际上是通过内部核心处理单元或外部主机对片内有关的I/O寄存器设置来完成的,与DMA有关的I/O寄存器如表1所列。控制寄存器主要用来设置数据传输的方向、数据格式、是否链式等操作;参数寄存器用来设置数据传输的地址、数目等信息;数据缓存器则主要用来缓存传输的数据,以提高数据的传输率。这些I/O寄存器都被映射到片内存储器的前256个地址上。

表1 ADSP2116x中的DMA缓存器

DMA通道号 控制寄存器 参数寄存器 数据缓存器 说  明 0 SPCTL0 II0A,IM0A,CP0A,GP0A RX0A,TX0A 串口0A 1 II0B,IM0B,C0B,CP0B,GP0B RX0B,TX0B 串口0B 2 SPCTL1 II1A,IM1A,C1A,CP1A,GP1A RX1A,TX1A 串口1A 3 II1B,IM1B,C1B,CP1B,GP1B RX1B,TX1B 串口1B

[1] [2] [3] [4] [5] 下一页

下页更精彩:1 2 3 4 下一页