adsp2106x中dma的应用

adsp2106x中dma的应用

ID:10523626

大小:64.00 KB

页数:6页

时间:2018-07-07

adsp2106x中dma的应用_第1页
adsp2106x中dma的应用_第2页
adsp2106x中dma的应用_第3页
adsp2106x中dma的应用_第4页
adsp2106x中dma的应用_第5页
资源描述:

《adsp2106x中dma的应用》由会员上传分享,免费在线阅读,更多相关内容在工程资料-天天文库

1、ADSP2106x中DMA的应用

2、第1摘要:直接内存存取(DMA)是DSP芯片中用于快速数据交换的重要技术,对AD公司的浮点系列芯片ADSP2106x中的DMA的应用进行了详细介绍,并给出实际应用中的一些例子。1DMA概述直接内存存取(DMA)对计算机系统是非常重要的。它可以使CPU在运行指令的同时,系统能实现从外部存储器或设备中存取数据,也可以在CPU不参与的情况下,由专用的DMA设备存取数据。对于浮点DSP芯片来讲,DMA的作用更是重要。众所周知,DSP芯片主要是面向实时的信号处理,其核心的运算部件具有很高的运

3、算速度,常以MFLOPS(每秒百万次浮点运算)来衡量。ADSP2106x为120MFLOPS,但该速度是以存储在芯片内部存储器中的程序和数据为前提的。在DSP内部往往采用多总线的哈佛结构,数据总线和程序总线相互独立,即指令的存取和数据的存取并行不悖;另外在ADSP2106x内部还有各种接口总线,用以提高数据的流通能力。但在芯片的外部,所有的总线都合并在一起了。因此为了发挥DSP核心运算单元的高速运算能力,首先必须把程序和数据传输到芯片的内存中,这通常需要DMA操作来实现。另一方面,DSP系统总要与各种外部信号打交道

4、,它从外部输入数字信号,经过各种算法的处理后,再输出给其他设备。不仅如此,对于浮点DSP系统,数据的输入和输出常常是连续不断的。试想,如果用DSP的核心部件来完成数据的输入和输出,它高速的运算能力又如何发挥得出来呢?所以,浮点系列的DSP芯片大都把DMA控制部分直接集成到了芯片上,用DMA来完成数据的输入和输出。高效的DSP系统通常采用图1所示的结构。在内存中开辟出四块缓存区,两个作为输入缓存,两个作为输出缓存,用来实现输入、输出的乒乓切换。核心处理单元直接从输入缓存中取数运算,然后把运算结果写入输出缓存;而数据从

5、外部接口的输入和输出则完全由DMA来实现,不需核心处理单元的参与。只要核心处理单元的运算速度和DMA的数据率满足要求,图1所示的结构就可以完成连续的数据流输入和输出。当然,从外部看,数据的输入和输出是连续的,但在芯片内部却是分段处理的。分段处理虽然带来一些误差,但只要缓存的数据足够长,就可以使误差降到允许的范围。因为间隔越长,前后数据间的相关性越小,相互间的影响就越小,故分段处理是可行的。由于分段处理,也给DSP芯片的结构带来了一个重要影响,那就是尽可能地增加其内部存储器的容量。对于ADSP21060,其内部的SR

6、AM容量达4Mbit,可以满足大多数分段处理的需要。500)this.style.ouseg(this)">下面首先对ADSP2106x中的DMA做概要介绍,然后对几种典型的DMA操作进行详细分析。2ADSP2106x中的DMAADSP2106x中的片内DMA控制器可以同时控制10个通道的DMA,完成下列类型的数据传输操作:·内存外存或外部存储器映射设备·内存其他ADSP2106x的内存500)this.style.ouseg(this)">·内存主机接口·内存串行口·内存Link口·内存外部设备·外存

7、外部设备丰富的数据流向可以使ADSP2106x实现对各种外设的接口;另外,由于ADSP2106x的内存是双口SRAM,因此在进行上述DMA操作的同时,核心处理单元仍可以读写内存,使DMA操作与内部运算处理达到高度的并行性。当然,应尽量避免二者同时对同一内存地址进行读写。每个DMA通道都有一个(或两个)用FIFO实现的数据缓存器,最大的缓冲深度为6级,用以提高DMA数据传输率。所有的DMA数据传输都是通过这10个数据缓存器来完成的,这些缓存器如表1所示。其中通道1、3、6、7都是两个缓存器共用一个DMA通道。所有数

8、据缓存器作为I/O寄存器被映射到内存的前256个地址中。DMA的编程是通过内部核心处理单元或外部主机对片内有关的I/O寄存器设置来实现的,这些I/O口寄存器也被映射到内存的前256个地址上。与DMA操作有关的I/O寄存器除了前面的数据缓存器外,主要还包括:·DMA控制寄存器:DMAC6~9,LCTL,STCTL0~1,SRCTL0~1。·地址-计数寄存器:II0~9,IM0~9,C0~9,EI6~9,EM6~9,EC6~9。·链式操作指针寄存器:CP0~9。·二维操作寄存器(也可作DMA通用寄存器):GP0~9,D

9、A0~5,DB0~5。·DMA状态寄存器:DMASTAT。DMA设置传输过程一般如下:(1)设置对应通道的地址-计数寄存器。(2)设置对应通道的DMA控制寄存器,并将其中的DMA使能位设为有效。(3)开始DMA数据传输。(4)DMA传输结束后,产生对应的中断,程序对中断进行处理。3几种常用的DMA操作在基于ADSP2106x的DSP系统的开发过程中,最常用到

当前文档最多预览五页,下载文档查看全文

此文档下载收益归作者所有

当前文档最多预览五页,下载文档查看全文
温馨提示:
1. 部分包含数学公式或PPT动画的文件,查看预览时可能会显示错乱或异常,文件下载后无此问题,请放心下载。
2. 本文档由用户上传,版权归属用户,天天文库负责整理代发布。如果您对本文档版权有争议请及时联系客服。
3. 下载前请仔细阅读文档内容,确认文档内容符合您的需求后进行下载,若出现内容与标题不符可向本站投诉处理。
4. 下载文档时可能由于网络波动等原因无法下载或下载错误,付费完成后未能成功下载的用户请联系客服处理。