预览加载中,请您耐心等待几秒...
1/10
2/10
3/10
4/10
5/10
6/10
7/10
8/10
9/10
10/10

亲,该文档总共15页,到这已经超出免费预览范围,如果喜欢就直接下载吧~

如果您无法下载资料,请参考说明:

1、部分资料下载需要金币,请确保您的账户上有足够的金币

2、已购买过的文档,再次下载不重复扣费

3、资料包下载后请先用软件解压,在使用对应软件打开

ADSP2116中DMA的应用摘要:直接内存存取(DMA)是DSP芯片中用于快速数据交换的重要技术,文中对AD公司的浮点系列芯片ADSP2116x中DMA的应用方法作了详细介绍,同时重点介绍了链式DMA的操作方法,给出了一些实际应用中的例子。关键词:DMA链式DMA浮点系列芯片ADSP2116x1DMA概述直接内存存取是计算机系统提高运行效率的一项重要技术。它可以在CPU运行指令的同时,使系统从外部存储器或设备中存取数据也可以在核心处理器不参与的情况下由专用的DMA设备存取数据。对于DSP芯片来讲,DMA的作用尤为重要。众所周知,DSP芯片主要面向实时信号处理其核心运算部件具有很高的运算速度,常以MFLOPS来衡量。ADSP2116x的速度为600MFLOPS此速度是以存储在芯片内部存储器中的程序和数据为前提的。在DSP内部,一般采用多总线的哈佛结构数据总线和程序总线相互独立,即指令的存取和数据的存取并行不悖,另外,在AD-SP2116x内部还有各种接口总线,可用以提高数据的流通能力,而在芯片的外部,所有的总线都被合并在一起了。为了发挥DSP核心运算单元的高速运算能力,必须先把外部数据传输到片内存储器中。使用DMA操作可以减少核心处理器的负担,提高运算速度。另一方面,DSP系统总要与各种外部信号打交道它从外部输入数字信号,经过各种算法处理后,还要输出给其它外部设备。不仅如此,对于很多应用系统数据的输入和输出常常是连续不断的。试想若用DSP的核心部件完成数据的输入和输出,将无法发挥DSP的高速运算能力。而AD公司的ADSP2116x系列则集成了DMA控制器,从而可用DMA来完成数据的输入和输出。高效的DSP系统通常采用图1所示的结构。该结构的内部带有输入、输出缓冲区,而数据的获得则依靠DMA控制器。这样,核心运算单元就可以专门进行信号处理,而将外界数据的获取交给DMA来完成。2ADSP2116x中的DMA2.1ADSP2116x中DMA的数据传输类型ADSP2116x中的DMA包含14条独立通道,可完成下列类型的数据传输操作●片内存储器与片外存储器或片外设备之间的传输操作;●片内存储器与其它ADSP2116x的片内存储器之间的传输操作;●片内存储器与主处理器之间的传输操作;●片内存储器与串行口之间的传输操作;●片内存储器与Link口之间的传输操作;●片内存储器与SPI口之间的传输操作;●片外存储器与片外设备之间的传输操作。2.2ADSP2116x中与DMA有关的寄存器DMA的编程实际上是通过内部核心处理单元或外部主机对片内有关的I/O寄存器设置来完成的,与DMA有关的I/O寄存器如表1所列。控制寄存器主要用来设置数据传输的方向、数据格式、是否链式等操作;参数寄存器用来设置数据传输的地址、数目等信息;数据缓存器则主要用来缓存传输的数据,以提高数据的传输率。这些I/O寄存器都被映射到片内存储器的前256个地址上。表1ADSP2116x中的DMA缓存器DMA通道号控制寄存器参数寄存器数据缓存器说明0SPCTL0II0A,IM0A,CP0A,GP0ARX0A,TX0A串口0A1II0B,IM0B,C0B,CP0B,GP0BRX0B,TX0B串口0B2SPCTL1II1A,IM1A,C1A,CP1A,GP1ARX1A,TX1A串口1A3II1B,IM1B,C1B,CP1B,GP1BRX1B,TX1B串口1B4SPCTL2II2A,IM2A,C2A,CP2A,GP2ARX2A,TX2A串口2A5II2B,IM2B,C2B,CP2B,GP2BRX2B,TX2B串口2B6SPCTL3II3A,IM3A,C3A,CP3A,GP3ARX3A,TX3A串口3A7II3B,IM3B,C3B,CP3B,GP3BRX3B,TX3B串口3B8LCTLSPICTLIILB1,IMLB1,CLB1,CPLB1,GPLB1IISTX,IMSRX,CSRX,GPSRXLUBF0SPIRXLink0口SPI发送口9IILB1,IMLB1,CLB1,CPLB1,GPLB1IISTX,IMSTX,CSTX,GPSTXLUBF1SPITXLink1口SPI发送口10DMAC10IIEP0,IMEP0,CEP0,CPEP0,GPEP0,EIEP0,EMEP0,ECEP0EPB0外部接口011DMAC11IIEP1,IMEP1,CEP1,CPEP1,GPEP1,EIEP1,EMEP1,ECEP1EPB1外部接口112DMAC12IIEP2,IMEP2,CEP2,CPEP2,GPEP2,EIEP2,EMEP2,ECEP2EPB2外部接口213DMAC13GPEP3,EIEP3,CEP3,CPEP3,GPEP3,EIEP3,EMEP3,ECEP3EPB3外部接口32.