html5-img
1 / 28

第十四讲 直接存储器访问 DMA/EDMA

第十四讲 直接存储器访问 DMA/EDMA. 内容简介. DMA EDMA 特点、机制 如何运用. 概述 — 直接存储器访问. From: To: 外部存储器 片内数据存储器 片内数据存储器 片内程序存储器 外部存储器. 传输的实现: CPU DMA. 概述 — 直接存储器访问. 为了建立任何一种方式的传输,我们需要:. 概述 — C6000 DMA. 概述 — C6000 DMA 特点. 后台操作,吞吐率高 四个通道,一个辅助通道 单通道分割( split-channel )操作 支持多帧 (frame) 传输方式 多种地址产生方式

rigel-ellis
Download Presentation

第十四讲 直接存储器访问 DMA/EDMA

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


  1. 第十四讲 直接存储器访问DMA/EDMA BIT / TI

  2. 内容简介 • DMA • EDMA • 特点、机制 • 如何运用 BIT / TI

  3. 概述—直接存储器访问 From: To: 外部存储器 片内数据存储器 片内数据存储器 片内程序存储器 外部存储器 • 传输的实现: • CPU • DMA BIT / TI

  4. 概述—直接存储器访问 为了建立任何一种方式的传输,我们需要: BIT / TI

  5. 概述— C6000 DMA BIT / TI

  6. 概述— C6000 DMA特点 • 后台操作,吞吐率高 • 四个通道,一个辅助通道 • 单通道分割(split-channel)操作 • 支持多帧(frame)传输方式 • 多种地址产生方式 • 32位地址范围,支持8-/16-/32-bit字长 • 传输支持自动初始化 • 可以设定同步事件控制传输过程 BIT / TI

  7. 概述—控制寄存器 • DMA通道0/1/2/3: • 源地址寄存器(32-bit) • 目的地址寄存器(32-bit) • 主控寄存器 • 副控寄存器 • 传输计数寄存器(16-bit/16-bit)) • DMA全局地址寄存器A/B/C/D • DMA全局计数重装载寄存器A/B • DMA全局索引寄存器A/B • DMA辅助控制 BIT / TI

  8. 传输—启动 • 程序启动 • 向主控制寄存器START域写入00b,停止当前通道 • 设定源地址 • 设定目的地址 • 设定传输个数 • 设置其他的有关模式,向START域写入01b,启动传输 • 自动初始化方式启动 • 多次传输,只需设置一次 BIT / TI

  9. 传输—例子(参数) 我们需要知道那些参数? 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 BIT / TI

  11. 传输—同步 • 读同步 • 写同步 • 帧同步 BIT / TI

  12. 传输—地址产生 • 32-bit 地址寄存器 • 地址的基本调整 • 递增/递减/固定不变 • 索引值调整 • 16-bit 索引值 • 帧索引和数据单元索引 BIT / TI

  13. 传输—几种用法 • 一帧传输个数<65536 • 多帧模式传输的数据最多可达65536*65536*4=16GB • 利用帧索引代替重载地址 • 例子:每帧从固定的外部地址移动10 bytes,在目的处彼此相距一个字节排列 • 设置 • SRC DIR=00b(源固定) • DST DIR=11b(目的用索引调整) • ELEMENT INDEX=10b(以步幅2递增) • FRAME INDEX= -(9×2)= -18 =FFEEh BIT / TI

  14. 传输—几种用法 • 数据整序 BIT / TI

  15. 传输—分裂通道&辅助通道 • 分裂通道模式 • 使得一个通道可以提供双向的数据流传输 • 收发利用同一个计数器 • 需要利用DMA global address register作为分裂地址控制 • 辅助通道 • HPI主机口专用 BIT / TI

  16. 后处理—状态与中断 BIT / TI

  17. EDMA—概述 • 扩展的直接存储器访问,是C6211/C6711的独有特征 • EDMA控制器基于RAM结构 • 增强之处 • 提供了16个通道 • 由事件触发相应通道的传输 • 通道优先级设置更加灵活 • 可以实现数据传输的链接 • 独特的快速DMA(QDMA) BIT / TI

  18. EDMA —框图 BIT / TI

  19. EDMA —传输类型 • 数据单元(element)的传输 • 帧(frame)的传输 • 阵列(array)的传输 • 块(block)的传输 • 2-维(2-D)的传输 • 非2-维(non 2-D)的传输 BIT / TI

  20. EDMA —结构 • 16组通道传输参数 • 69组重加载参数 • 空闲区 BIT / TI

  21. EDMA —事件控制 • 16个通道,每个通道都有一个事件与之关联,由这些事件触发相应通道的传输 • 由有关的控制寄存器完成对事件的不同处理 • ER/EER/ECR/ESR/PQSR/CIPR/CIER/CCER • 事件编码器 BIT / TI

  22. EDMA —参数RAM 参数RAM(Parameter RAM,PaRAM)的容量为2K byte,其中存放EDMA的传输参数,以控制不同的传输行为。另外,参数入口还可以被彼此链接起来,以实现某些复杂数据流的处理 BIT / TI

  23. EDMA —传输链 • 类似于DMA中的自动初始化 • 更灵活,参数可变 • 便于实现某些复杂的数据传输的应用要求 • 传输链 • 多种参数的EDMA传输过程相连接 • 链的长度没有限制 • 在传输链中,一次传输的结束会导致自动从参数RAM中装载下一次事件应用的传输参数 BIT / TI

  24. EDMA —传输链参数重加载 • 16-bit的链接地址和LINK位控制链接 • 链中的参数都是对应同一个事件触发的传输过程 • 参数一般互不相同 BIT / TI

  25. EDMA —中断 • 通道传输结束可以产生中断—EDMA_INT • 16个通道,一个中断 • 谁来触发EDMA_INT • 该通道需要使能TINT • 设置传输结束代码(TCC ,transfer complete code) • 控制器根据TCC值设置CIPR对应的位 • 看CIER中对应的位是否已经被使能 • TCC的值与通道编号不需要一一对应 • 多个EDMA通道允许具有相同的TCC值 • 拥有同一个中断服务程序 BIT / TI

  26. EDMA —通道连接 • 多个EDMA通道的传输过程相互链接 • 某一个外设/外部器件产生的事件,将多个EDMA通道传输链接起来 • 利用四个特殊的传输结束代码TCC=8/9/10/11,实现通道(事件)连接 • 只有通道8~11支持这种链接 • 第一个通道结束会产生所选通道的触发事件 • 设置: • 第一个通道的TCINT必须设为1 • 设置TCC和CCER 通道链接使能寄存器 BIT / TI

  27. EDMA — QDMA • QDMA是C6211/C6711中搬移数据的最有效率的一种手段之一 • 由两组(2*5)存储器映射的寄存器来进行控制 • 第二组是第一组的“伪映射”(pseudo-mapping) • 第一组接受用户的设置 • 第二组进行实际的申请递交 • 不支持被事件链接,但是仍然支持通道的完成中断,以及产生EDMA链接事件 • QDMA@5个周期(or 1个周期) QDMA@36个周期 BIT / TI

  28. 实验 • 题目: • 使用channel0,实现数组间元素数据的传输 • 要求: • 数据的初始化在main函数完成 • DMA数据传输子函数是线性汇编程序 • 具体参见实验计划书 BIT / TI

More Related