ImageVerifierCode 换一换
格式:DOCX , 页数:9 ,大小:42.58KB ,
资源ID:6229728      下载积分:3 金币
快捷下载
登录下载
邮箱/手机:
温馨提示:
快捷下载时,用户名和密码都是您填写的邮箱或者手机号,方便查询和重复下载(系统自动生成)。 如填写123,账号就是123,密码也是123。
特别说明:
请自助下载,系统不会自动发送文件的哦; 如果您已付费,想二次下载,请登录后访问:我的下载记录
支付方式: 支付宝    微信支付   
验证码:   换一换

加入VIP,免费下载
 

温馨提示:由于个人手机设置不同,如果发现不能下载,请复制以下地址【https://www.bdocx.com/down/6229728.html】到电脑端继续下载(重复下载不扣费)。

已注册用户请登录:
账号:
密码:
验证码:   换一换
  忘记密码?
三方登录: 微信登录   QQ登录  

下载须知

1: 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。
2: 试题试卷类文档,如果标题没有明确说明有答案则都视为没有答案,请知晓。
3: 文件的所有权益归上传用户所有。
4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
5. 本站仅提供交流平台,并不能对任何下载内容负责。
6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

版权提示 | 免责声明

本文(ADSP2116中DMA的应用.docx)为本站会员(b****6)主动上传,冰豆网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即通知冰豆网(发送邮件至service@bdocx.com或直接QQ联系客服),我们立即给予删除!

ADSP2116中DMA的应用.docx

1、ADSP2116中DMA的应用ADSP2116中DMA的应用摘要:直接内存存取(DMA)是DSP芯片中用于快速数据交换的重要技术,文中对AD公司的浮点系列芯片ADSP2116x中DMA的应用方法作了详细介绍,同时重点介绍了链式DMA的操作方法,给出了一些实际应用中的例子。 关键词:DMA 链式DMA 浮点系列芯片 ADSP2116x概述直接内存存取()是计算机系统提高运行效率的一项重要技术。它可以在运行指令的同时,使系统从外部存储器或设备中存取数据 也可以在核心处理器不参与的情况下由专用的设备存取数据。对于芯片来讲,的作用尤为重要。众所周知,芯片主要面向实时信号处理 其核心运算部件具有很高的运

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

3、用的核心部件完成数据的输入和输出,将无法发挥的高速运算能力。而公司的系列则集成了控制器,从而可用来完成数据的输入和输出。高效的系统通常采用图所示的结构。该结构的内部带有输入、输出缓冲区,而数据的获得则依靠控制器。这样,核心运算单元就可以专门进行信号处理,而将外界数据的获取交给 来完成。中的 中的数据传输类型中的包含条独立通道,可完成下列类型的数据传输操作:片内存储器与片外存储器或片外设备之间的传输操作;片内存储器与其它的片内存储器之间的传输操作;片内存储器与主处理器之间的传输操作;片内存储器与串行口之间的传输操作;片内存储器与口之间的传输操作;片内存储器与口之间的传输操作;片外存储器与片外设备

4、之间的传输操作。 中与有关的寄存器的编程实际上是通过内部核心处理单元或外部主机对片内有关的寄存器设置来完成的,与有关的寄存器如表所列。控制寄存器主要用来设置数据传输的方向、数据格式、是否链式等操作;参数寄存器用来设置数据传输的地址、数目等信息;数据缓存器则主要用来缓存传输的数据,以提高数据的传输率。这些寄存器都被映射到片内存储器的前个地址上。表1 ADSP2116x中的DMA缓存器DMA通道号控制寄存器参数寄存器数据缓存器说 明0SPCTL0II0A,IM0A,CP0A,GP0ARX0A,TX0A串口0A1II0B,IM0B,C0B,CP0B,GP0BRX0B,TX0B串口0B2SPCTL1I

5、I1A,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,GPLB1 IISTX,IMSRX,CSRX,GPSRXLUBF0

6、SPIRXLink0口SPI发送口9IILB1,IMLB1,CLB1,CPLB1,GPLB1 IISTX,IMSTX,CSTX,GPSTXLUBF1 SPITXLink1口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

7、,CEP3,CPEP3,GPEP3,EIEP3,EMEP3,ECEP3EPB3外部接口3 中一般传输过程的设置一般传输过程的设置步骤如下:()设置对应通道的参数寄存器 ()设置对应通道的控制寄存器,并将其中的使能位设为有效 ()开始数据传输 ()传输结束后,产生对应的中断,并通过程序对中断进行处理。 中的链式为了减少由引起的中断,中的控制器提供了链式功能。所谓链式,是指在当前的结束时,处理器能够自动加载参数并开始下一个传输。利用这种特性,程序能够设置多个具有不同属性的传输。在链式过程中,通常先把每次传输的有关参数写成一个传输控制块(),并把它们存储在片内。传输过程中,在当前的结束时,处理器将对

8、链式指针寄存器()进行控制以使其指向存储在片内的下一个。表2 TCB中各相关参数寄存器的排列顺序地 址外部口Link口和串口CPx+0x00040000IIEPxIIxCPx-1+0x00040000IMEPxIMxCPx-2+0x00040000CEPxCxCPx-3+0x00040000CPEPxCPxCPx-4+0x00040000GPEPxGPxCPx-5+0x00040000EIEPxCPx-6+0x00040000EMEPxCPx-7+0x00040000ECEPxCPx-8+0x00040000-在链式中具有非常重要的作用,它是一个位的寄存器,其中低位是偏移地址,在中,这组偏移地

9、址加上后才是片内存储器中的实际地址,其中最高一位为中断控制位。该位在被设置的情况下,处理器将在链式结束时产生一个中断,实际上指向的是的最大地址,在中,各有关参数寄存器的排列顺序如表所列。表中的“”代表所用到的通道。链式传输过程的设置步骤如下:()在片内存储器中设置好所有的 ()设置对应通道的控制寄存器,并将其中的使能位和链式使能位设为有效 ()将第一个的最大地址写到中,并开始链式的传输 ()传输结束后,产生对应的中断。有两点要特别注意:第一是链式只能发生在同一通道内;二是口不支持链式。几种常用的操作在基于的系统开发过程中,最常用的操作是片内存储器和片外存储器之间的、口之间的、串口之间的以及之间

10、的等几种。限于篇幅,本文只介绍前面两种。 片内存储器和片外存储器之间的片内存储器与片外存储器之间的传输可用通道这四个通道中的任意一个来进行。下面通过一个例子来说明这种传输。假定要把片内存储器地址中的个数据 利用通道传送到片外存储器中,则可用下面的程序来实现:;(); 清空对应通道的控制寄存器设置片内存储器参烽寄存器; (); 设置片内存储器起始地址; (); 设置片内存储器地址增加值; (); 设置片内存储器计数寄存器设置片外参数寄存器( ) 设置片外存储器起始地址; (); 设置片外存储器地址增加值; (); 设置片外存储器计数寄存器设置对应通道的控制寄存器; ;(); 设置为和无打包模式,

11、并开始传输上面的例子是一般的传输。而如果需要进行两段或两段以上的数据传输,则要在中断后重新设置参数寄存器,在这种情况下,用链式更有利于提高核心处理单元的效率。假定要把片内存储器地址中的个数据和中的个数据利用通道分别传送到片外存储器和中,可用下面的程序来实现: , , , , , ,保证第一次结束后自动加载第二个, , ; , , , , , ,保证第二个结束后产生中断,;, , ,(); 清空对应通道的控制器; ;(); 设置为和无打包模式,链式;() ; 加载第一个的 开始传输完第一段数据后自动开始加载第二个,直到两段数据后产生中断 设置全局中断使能 设置通道中断使能 片内存储器与口之间的具

12、有很强的并行工作能力,它不需另加任何外部仲裁电路,便可以直接通过口联接在一起并行工作以实现片间数据的交换,在通常情况下可采用方式,以便充分发挥其优点。下面是两片之间通过口进行数据传输的例子。假定要把第一片片内存储器中的个数据传送到第二片的片内存储器中。其程序如下:第一片 设置 清空对应通道的控制寄存器 设置控制器设置口为时钟,发送数据模式,链式 设置寄存器中的位 设置中的 加载中的,并开始链式第二片 设置 清空对应通道的控制寄存器 设置控制器设置口为时钟,接收数据模式,链式 设置中的位 设置中的 加载中的 并开始链式 结束语本文简要介绍了中的基本原理,给出了几种操作时的编程实例,这些例子重点突出了链式的应用。由于中操作功能强大,形式多样。因此,只有熟练掌握和应用各种,才能使数据进出芯片变得更加流畅,同时也才能使其核心处理单元的运算能力发挥到极致。

copyright@ 2008-2022 冰豆网网站版权所有

经营许可证编号:鄂ICP备2022015515号-1