《第十四讲直接存储器访问DMAEDMA.ppt》由会员分享,可在线阅读,更多相关《第十四讲直接存储器访问DMAEDMA.ppt(28页珍藏版)》请在三一办公上搜索。
1、第十四讲 DMA/EDMA,BIT/TI,1,第十四讲 直接存储器访问DMA/EDMA,第十四讲 DMA/EDMA,BIT/TI,2,内容简介,DMAEDMA特点、机制如何运用,第十四讲 DMA/EDMA,BIT/TI,3,概述直接存储器访问,From:To:外部存储器片内数据存储器片内数据存储器片内程序存储器外部存储器,传输的实现:CPUDMA,第十四讲 DMA/EDMA,BIT/TI,4,概述直接存储器访问,为了建立任何一种方式的传输,我们需要:,第十四讲 DMA/EDMA,BIT/TI,5,概述 C6000 DMA,第十四讲 DMA/EDMA,BIT/TI,6,概述 C6000 DMA特
2、点,后台操作,吞吐率高四个通道,一个辅助通道单通道分割(split-channel)操作支持多帧(frame)传输方式多种地址产生方式32位地址范围,支持8-/16-/32-bit字长传输支持自动初始化可以设定同步事件控制传输过程,第十四讲 DMA/EDMA,BIT/TI,7,概述控制寄存器,DMA通道0/1/2/3:源地址寄存器(32-bit)目的地址寄存器(32-bit)主控寄存器副控寄存器传输计数寄存器(16-bit/16-bit)DMA全局地址寄存器A/B/C/DDMA全局计数重装载寄存器A/BDMA全局索引寄存器A/BDMA辅助控制,第十四讲 DMA/EDMA,BIT/TI,8,传输
3、启动,程序启动向主控制寄存器START域写入00b,停止当前通道设定源地址设定目的地址设定传输个数设置其他的有关模式,向START域写入01b,启动传输自动初始化方式启动多次传输,只需设置一次,第十四讲 DMA/EDMA,BIT/TI,9,传输例子(参数),我们需要知道那些参数?,第十四讲 DMA/EDMA,BIT/TI,10,传输例子(参数),源地址:A_D_SRC目的地址:DMEM_DST传输计数值:200h源地址的方向:Inc/Dec/None目的地址的方向:Inc/Dec/None中断CPU:Yes/No同步:Yes/No同步事件A/D(RDY)利用:INT4/5/6/7,第十四讲 D
4、MA/EDMA,BIT/TI,11,传输同步,读同步写同步帧同步,第十四讲 DMA/EDMA,BIT/TI,12,传输地址产生,32-bit 地址寄存器地址的基本调整递增/递减/固定不变索引值调整16-bit 索引值帧索引和数据单元索引,第十四讲 DMA/EDMA,BIT/TI,13,传输几种用法,一帧传输个数65536多帧模式传输的数据最多可达65536*65536*4=16GB利用帧索引代替重载地址例子:每帧从固定的外部地址移动10 bytes,在目的处彼此相距一个字节排列设置SRC DIR=00b(源固定)DST DIR=11b(目的用索引调整)ELEMENT INDEX=10b(以步幅
5、2递增)FRAME INDEX=-(92)=-18=FFEEh,第十四讲 DMA/EDMA,BIT/TI,14,传输几种用法,数据整序,第十四讲 DMA/EDMA,BIT/TI,15,传输分裂通道&辅助通道,分裂通道模式使得一个通道可以提供双向的数据流传输收发利用同一个计数器需要利用DMA global address register作为分裂地址控制辅助通道HPI主机口专用,第十四讲 DMA/EDMA,BIT/TI,16,后处理状态与中断,第十四讲 DMA/EDMA,BIT/TI,17,EDMA概述,扩展的直接存储器访问,是C6211/C6711的独有特征EDMA控制器基于RAM结构增强之处
6、提供了16个通道由事件触发相应通道的传输通道优先级设置更加灵活可以实现数据传输的链接独特的快速DMA(QDMA),第十四讲 DMA/EDMA,BIT/TI,18,EDMA 框图,第十四讲 DMA/EDMA,BIT/TI,19,EDMA 传输类型,数据单元(element)的传输帧(frame)的传输阵列(array)的传输块(block)的传输2-维(2-D)的传输非2-维(non 2-D)的传输,第十四讲 DMA/EDMA,BIT/TI,20,EDMA 结构,16组通道传输参数69组重加载参数空闲区,第十四讲 DMA/EDMA,BIT/TI,21,EDMA 事件控制,16个通道,每个通道都有
7、一个事件与之关联,由这些事件触发相应通道的传输由有关的控制寄存器完成对事件的不同处理ER/EER/ECR/ESR/PQSR/CIPR/CIER/CCER事件编码器,第十四讲 DMA/EDMA,BIT/TI,22,EDMA 参数RAM,参数RAM(Parameter RAM,PaRAM)的容量为2K byte,其中存放EDMA的传输参数,以控制不同的传输行为。另外,参数入口还可以被彼此链接起来,以实现某些复杂数据流的处理,第十四讲 DMA/EDMA,BIT/TI,23,EDMA 传输链,类似于DMA中的自动初始化更灵活,参数可变便于实现某些复杂的数据传输的应用要求传输链多种参数的EDMA传输过程
8、相连接链的长度没有限制在传输链中,一次传输的结束会导致自动从参数RAM中装载下一次事件应用的传输参数,第十四讲 DMA/EDMA,BIT/TI,24,EDMA 传输链参数重加载,16-bit的链接地址和LINK位控制链接链中的参数都是对应同一个事件触发的传输过程参数一般互不相同,第十四讲 DMA/EDMA,BIT/TI,25,EDMA 中断,通道传输结束可以产生中断EDMA_INT16个通道,一个中断谁来触发EDMA_INT该通道需要使能TINT设置传输结束代码(TCC,transfer complete code)控制器根据TCC值设置CIPR对应的位看CIER中对应的位是否已经被使能TCC
9、的值与通道编号不需要一一对应多个EDMA通道允许具有相同的TCC值拥有同一个中断服务程序,第十四讲 DMA/EDMA,BIT/TI,26,EDMA 通道连接,多个EDMA通道的传输过程相互链接某一个外设/外部器件产生的事件,将多个EDMA通道传输链接起来利用四个特殊的传输结束代码TCC=8/9/10/11,实现通道(事件)连接只有通道811支持这种链接第一个通道结束会产生所选通道的触发事件设置:第一个通道的TCINT必须设为1设置TCC和CCER,通道链接使能寄存器,第十四讲 DMA/EDMA,BIT/TI,27,EDMA QDMA,QDMA是C6211/C6711中搬移数据的最有效率的一种手段之一由两组(2*5)存储器映射的寄存器来进行控制第二组是第一组的“伪映射”(pseudo-mapping)第一组接受用户的设置第二组进行实际的申请递交不支持被事件链接,但是仍然支持通道的完成中断,以及产生EDMA链接事件QDMA5个周期(or 1个周期)QDMA36个周期,第十四讲 DMA/EDMA,BIT/TI,28,实验,题目:使用channel0,实现数组间元素数据的传输要求:数据的初始化在main函数完成DMA数据传输子函数是线性汇编程序具体参见实验计划书,
链接地址:https://www.31ppt.com/p-4752390.html