第4章 EDMA.ppt
《第4章 EDMA.ppt》由会员分享,可在线阅读,更多相关《第4章 EDMA.ppt(51页珍藏版)》请在淘文阁 - 分享文档赚钱的网站上搜索。
1、第四章第四章 扩展直接存储器访问扩展直接存储器访问(EDMA)1.DMA(Direct Memory Access)的概念uDMA方式不用处理器干预完成M与I/O间数据传送。uDMA期间系统总线由其它主模块控制(驱动)u控制总线的主模块要提供系统的地址及控制信号。uDMA控制器与处理器配合可实现系统的DMA功能。EDMA 数据传输数据传输从 到外部存储器 片内数据存储器片内数据存储器 片内程序存储器 外部存储器传输的实现:由由CPU控制实现数据传输,效率低控制实现数据传输,效率低EDMA直接存储器访问,效率高,不需直接存储器访问,效率高,不需CPU干预干预uEDMA Control Regis
2、tersC621x/C671x DSP 见90页EDMA的特点的特点uEDMA是C621x/C671x/C64x特有的访问方式。uEDMA控制器基于RAM结构u比DMA的增强之处如下提供了16/64个通道(DM642提供了64个通道)由事件触发相应通道的传输通道优先级可设置支持不同结构数据的传输链接独特的快速DMA(QDMA)-QDMA与EDMA的功能类似,但是传输效率更高,尤其适合于需要快速传递数据的场合,CSL中的DAT模块即使用QDMA。C671xEDMA控制器的结构控制器的结构事件寄存器事件寄存器对EDMA事件进行捕获,触发一个EDMA通道开始数据传输。若有多个事件同时发生,则由事件编
3、事件编码器码器进行分辨。参数参数RAM中的传输参数被送入地地址发生器址发生器硬件,产生读写所需的地址。C671xEDMA传输中的几个基本概念传输中的几个基本概念u数据单元(element)的传输:单个数据单元从源地址向目的地址传输,每个数据单元都可以由同步事件触发传输。u帧(frame):1组数据单元组成1帧,帧中的数据单元可以连续存放,也可以间隔存放,帧可以选择是否受同步事件控制。帧一般用于1维传输。u阵列(array):1组连续的数据单元组成1个阵列,阵列中的数据单元不允许间隔存放。阵列可以选择是否受同步事件控制。阵列一般用于2维传输。u块(block):多个帧或多个阵列的数据组成1个数据
4、块u1维(1-D)传输:多个数据帧组成1个1维数据传输,块中帧的个数可以是165536。u2维(2-D)传输:多个数据阵列组成1个2维数据传输,第1维是阵列中的数据单元,第2维是阵列的个数。块中阵列的个数为065535。C671xEDMA传输中的几个基本概念传输中的几个基本概念C671x同步事件同步事件u每个通道都与一个事件关联,由这些事件触发相应通道的传输,不能由多个事件触发u事件寄存器(ER)负责捕获所有的事件,事件使能寄存器(EER)控制每一个事件的使能/禁止u由事件信号的上升沿触发EDMA控制器u如果有多个事件同时发生,则由事件编码器进行排序C671xEDMA的参数的参数RAMu容量为
5、2KB,总共可以存放85组EDMA传输控制参数,其内容包括三部分:16/64个EDMA通道对应的入口参数,每组参数包括6个字(24字节)用于重加载/链接的传输参数组,每组6个字 8个字节空余的RAM可以作为“草稿区”,实际上,只要该区域对应的事件被禁止(即不会用到该参数区),EDMA对应的参数RAM就可以作为“草稿区”。u一旦事件发生器捕捉到某个事件,控制寄存器将从参数RAM的16/64组入口参数中读取事件对应的控制参数,送往地址发生器,发起传输。C671xEDMA参数存储结构参数存储结构可选参数(Options Parameter)参见PDF 104页C671x字段具体含义需查阅参考文献字段
6、具体含义需查阅参考文献TMS320C6000 DSP EDMA Controller Reference Guide(Rev.A).pdfEDMA参数存储结构参数存储结构源地址源地址(SRC)/目标地址目标地址(DST):32位,位,EDMA访问的起始源地址和目标地访问的起始源地址和目标地址,以字节为单位,通过址,以字节为单位,通过OPT中的中的SUM/DUM位设定对位设定对SRC/DST地址的地址的修改方式。修改方式。数据单元计数数据单元计数(ELECNT):16bit无符号数,存放无符号数,存放1帧或帧或1个阵列中的数据单个阵列中的数据单元个数,有效范围元个数,有效范围165535,等于,
7、等于0时操作无效。时操作无效。帧帧/阵列计数阵列计数(FRMCNT):16bit无符号数,存放的是无符号数,存放的是1-D数据传输中的帧计数据传输中的帧计数,或是数,或是2-D数据传输中的阵列计数,最大值为数据传输中的阵列计数,最大值为65536。数据单元数据单元/帧帧/阵列索引阵列索引(Element/Frame/Array Index):16bit有符号数,有符号数,作为地址修改的索引值。数据单元索引只能应用于作为地址修改的索引值。数据单元索引只能应用于1-D传输,作为下一数传输,作为下一数据单元的地址偏移值据单元的地址偏移值(2-D传输不允许数据单元间隔存放传输不允许数据单元间隔存放)。
8、帧。帧/阵列索引阵列索引用于控制下一帧用于控制下一帧/阵列的地址索引值。阵列的地址索引值。数据计数的重加载数据计数的重加载(Element Count Reload):16bit无符号数,用于在每无符号数,用于在每帧最后一个数据元素传输之后,重新加载传输计数值。这一参数只应用帧最后一个数据元素传输之后,重新加载传输计数值。这一参数只应用于于1-D传输中。传输中。连接地址连接地址(Link Address):当设定可选参数中:当设定可选参数中LINK=1时,可以由连接地时,可以由连接地址确定下一个址确定下一个EDMA事件采用参数的装载事件采用参数的装载/重装载地址,从而将多组重装载地址,从而将多
9、组EDMA传输参数形成传输参数形成EDMA传输链。传输链。C671xEDMA的启动的启动两种方式启动EDMA:uCPU启动EDMA/非同步的EDMA:CPU通过写事件置位寄存器(ESR)启动一个EDMA通道,向ESR中某一位写1时,强制触发对应事件,启动1个EDMA通道传输。u由事件触发的EDMA:事件锁存器一旦捕获到一个触发事件,并且事件本身已被使能,那么该事件将启动传输操作u触发EDMA传输的同步事件可以源于外设、外部器件的中断或是某个EDMA通道传输结束。C671x参考:PDF 94页多组多组EDMA传输参数的连接传输参数的连接将不同的EDMA传输参数连接起来,组成一个参数链,为同一个通
10、道服务C671x多个多个EDMA通道的链接通道的链接(chaining)u由一个EDMA通道的传输结束触发另一个EDMA通道的传输u不同于EDMA参数连接(linking),EDMA参数连接是利用多组参数依次重加载某一个EDMA通道参数;通道链接不会修改/更新任何通道的传输参数,实质上只是为所链接的通道提供了一个同步事件。u触发由当前通道的传输结束码对应的EDMA通道的传输u通道链接由通道链接使能寄存器 CCER控制。见99页C671xEDMA中断中断u所有16个通道共用一个中断信号EDMA_INT,u利用查询CIPR寄存器来判断发生了哪个事件u通道的传输结束代码TCC值与CIPR位一一对应,
11、不同的通道可以有相同的TCC,所以不同的通道可以产生完全相同的中断,执行相同的中断服务程序。C671xCIPR寄存器的使用见PDF 97页快速快速DMA(QDMA)u几乎支持EDMA的所有传输模式,不支持参数连接不支持参数连接u两组寄存器,第二组是第一组的“伪映射”,每组包含5个寄存器,是C671x搬移数据最有效的手段u一个典型的QDMA操作如下:QDMA_SRC=SRC_ADDRESS;/设置源地址 QDMA_DST=DST_ADDRESS;/设置目标地址 QDMA_CNT=NUM;/设置阵列的帧计数 QDMA_IDX =0 x00000000;/不采用索引 QDMA_S_OPT=0 x21
12、B80001;/设定帧同步,1维源,2维目标,启动传输C671xPDF 52页双通道数据搬移加速控制器双通道数据搬移加速控制器双通道数据搬移加速控制器(dMAX)用于处理内部数据存储控制器和C672x DSP外围设备之间用户编程数据的传输,dMAX也允许任何可寻址存储空间之间的数据传输,包括内部存储器、外设和外部存储器。C672x dMAX控制器有如下功能控制器有如下功能u 可以进行高级数据分类的三维数据传输 u 把一部分存储器作为循环缓冲/FIFO存储器,并有基于读写数据的延迟u 可以同时处理两个传输请求(假设它们的源地址或目的地址不同)dMAX控控制器的结构制器的结构框图框图 事件和中断处
13、理寄存器。事件和中断处理寄存器。事件编码器事件编码器 高优先级事件参数随机高优先级事件参数随机存储器存储器(PaRAM)低优先级事件参数随机低优先级事件参数随机存储器存储器PaRAM 用于高优先级事件的地用于高优先级事件的地址生成器址生成器MAX0(HiMAX)用于低优先级事件的地用于低优先级事件的地址生成器址生成器MAX1(LoMAX)参数存储器参数存储器(PaRAM)每个PaRAM包括:一个事件入口表(event entry table)事件入口描述了事件的类型,并且把事件和一个传输类型或一个中断相联系。如果一个事件入口把事件和一个传输类型相联系,事件入口就会包含一个指向传输入口表中某个传
14、输入口的指针。一个传输入口表(transfer entry table)传输入口表可以包括最多八个传输入口。传输入口要设定dMAX进行传输所需要的细节。如果一个传输入口把事件和一个中断相联系,事件入口就会设定当事件到达时对CPU产生一个什么样的中断。C672x参数存储器参数存储器(PaRAM)PaRAM存储器的大小等于128个字长(32位的字),PaRAM中事件入口表位于0 x00和0 x1F(字地址,下同)之间,0 x20-0 x27保留,传输入口表使用其余的部分,一个指向传输入口(PTE)的指针定义了从PaRAM基点到传输入口起始点的字偏移量。C672x参数存储器参数存储器(PaRAM)事
15、件入口表最多可以有32个事件入口,每个事件入口为1个字长(4字节)传输入口表最多可以包括8个传输入口,传输入口表的大小等于88个字长,每个传输入口的大小是11个字长。无论是高优先级还是低优先级PaRAM都可以有总共8个传输入口。C672x 通用数据传输的事件入口通用数据传输的事件入口17-16 ESIZE1:0 单元大小,00-8位单元,01-16位单元,10-32位单元14-8 PTE 传输入口指针(PTE)4-0 ETYPE 事件类型:00011-通用数据传输00100-FIFO写传输00101-FIFO读传输00111-产生中断触发DSP00110-1维突发传输00010-从SPI数据传
16、输通用数据传输事件入口如下图所示,下表为各字段的详细解释C672x通用数据传输的传输入口通用数据传输的传输入口 有两种传输入口表,每种可以有最多8个传输入口。一种表与高优先级事件相联系,另一种与低优先级事件相联系。传输入口的大小固定为11个字长。不同传输类型传输入口的格式是不同的,通用数据传输的传输入口见下图。C672x1D数据块搬移传输示例数据块搬移传输示例程序操作过程中,经常要把数据块从一个位置搬移到另一个位置,而且经常在片内和片外存储器之间搬移。dMAX执行的最基本的操作就是一个数据块的搬移。本例中,数据的一部分从外部存储器复制到内部存储器。数据块是255半字长,存储在地址0 x8000
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 第4章 EDMA
限制150内