1 / 20

高速 DSP 原理、应用及实践

高速 DSP 原理、应用及实践. 自动化测试与控制研究所 许永辉 2011.3.2. Part4 : EDMA. 1. EDMA 数据传输. 在 没有 CPU 参与 的情况下完成片内存储器、片内外设或是外部器件之间的数据转移 DSP 用于快速数据交换的重要技术; 具有独立于 CPU 的后台批量数据传输能力; 能够满足实时图像处理中高速数据传输的要求。. 2. EDMA 概述. 64 个通道 通道间的优先级可设置 支持不同结构数据传输的链接 允许读 / 写任何可寻址存储空间的数据移动操作(包括 L2 SRAM 、外设及外部存储器). 3.

chung
Download Presentation

高速 DSP 原理、应用及实践

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. 高速DSP原理、应用及实践 自动化测试与控制研究所 许永辉 2011.3.2

  2. Part4:EDMA

  3. 1 EDMA数据传输 在没有CPU参与的情况下完成片内存储器、片内外设或是外部器件之间的数据转移 • DSP用于快速数据交换的重要技术; • 具有独立于CPU的后台批量数据传输能力; • 能够满足实时图像处理中高速数据传输的要求。

  4. 2 EDMA概述 • 64个通道 • 通道间的优先级可设置 • 支持不同结构数据传输的链接 • 允许读/写任何可寻址存储空间的数据移动操作(包括L2 SRAM、外设及外部存储器)

  5. 3 EDMA控制器结构 • 事件和中断处理寄存器:捕获EDMA事件,事件是触发一个EDMA通道传输的同步信号 • 事件编码器:当多个事件同时发生时,解决优先级问题 • 参数RAM:存放与事件相关的传输参数,决定数据搬运方式 • 地址产生器

  6. 4 EDMA术语 • 数据单元(element)传输,单个数据单元从源地址向目的地址传输 • 帧(frame),一组数据单元组成一帧,一帧中的数据单元,可以使相邻连续存放的,也可以使间隔存放的 • 阵列(array),一组连续的数据单元组成一个阵列,阵列中的数据不允许间隔存放。 • 块(block),多帧数据或者多个阵列组成一个数据块。 • 一维(1D)传输,多个数据帧组成一个一维的传输块。 • 二维(2D)传输,多个数据块组成一个一维的传输块。

  7. 5 EDMA控制寄存器 • EDMA控制器中的64个通道中的每一个通道都有一个特定的事件与之同步,这些事件触发与相应通道有关的数据传输 • 执行事件处理的控制寄存器控制对事件的不同处理 • 基本上控制寄存器的每一位对应一个事件的控制 • 由于是64个通道,一般都是一个低位寄存器和一个高位寄存器的结构

  8. 6 EDMA参数RAM • EDMA控制器基于RAM结构,参数RAM为2KB,可以存放85组传输控制参数,其内同包括: • 64个EDMA通道对应的入口传输参数,每组6个字; • 21个用于链接的传输参数组,每组6个字; • 8字节个字节的空余作为高速暂存区域。 • 多组传输参数还可以彼此连接起来,实现复杂传输。 • 一旦事件发生器捕捉到某个事件,控制寄存器将从参数RAM的64组入口参数中读取事件对应的控制参数,送往地址发生器,发起传输。

  9. 7 OPT选项传输参数

  10. 9 EDMA传输分类:1D传输

  11. 10 EDMA传输分类:2D传输

  12. 11 EDMA传输启动 • CPU启动EDMA • CPU可以1到ESR相应的位触发一个DMA通道事件。 • CPU初始化的DMA传输为非同步数据传输,对于CPU初始化的EDMA传输,这些事件使能位不需要在EER中设置,这是因为CPU写入ESR是作为实时事件处理的。 • 事件触发EDMA • 一旦事件编码器捕获到一个触发事件并在ER寄存器中锁存,将执行所请求的访问。 • 触发EDMA的同步事件可以源于外设、外部硬件中断或某个EDMA传输完成。事件和通道是固定的,每个EDMA通道都有与它相关的事件。

  13. 12 EDMA传输参数的链接

  14. 13 EDMA中断的产生 • EDMA 控制器负责向CPU产生完成中断 • EDMA只向CPU产生一个中断(EDMA_INT),代表有64个通道 • 编程设置 1、设置OPT寄存器的TCINT位为1 2、设置OPT寄存器的TCC(传输完成代码)位为n 3、设置CIER(EDMA的中断使能寄存器)的CIEn位为1

  15. 14 传输完成代码 注意:TCC和通道号之间没有任何直接关系,这就允许多个通道具有相同的传输完成代码,从而使CPU可以执行相同的中断服务程序。也就是说,相同的通道可以根据执行的传输设定多个传输代码。

  16. 15 EDMA操作实例 下面的实例是EDMA在视频图像处理中的一个典型应用。视频端口0设定为捕获模式,捕获视频大小288×352。视频端口设定为两行数据触发一次EDMA事件,每帧图像触发144次EDMA事件,每帧图像结束触发一个EDMA中断,通知CPU处理图像。由于视频图像是连续的,还需要用到EDMA的链接。

  17. 16 QDMA传输 QDMA(快速DMA)是C64x中新增加的一个功能。EDMA控制器能够接收来自CPU的QDMA请求,执行快速、高效的数据传输。QDMA传输非常适合于需要快速数据传输的应用场合,比如在紧耦合循环算法中的数据存取。 QDMA几乎支持EDMA所有的传输模式,而且QDMA递交传输请求的速度远快于EDMA。在实际应用中,EDMA适合完成与外设之间固定周期的数据传输。如果需要CPU直接搬移一块数据,则更适合采用QDMA。

  18. 17 QDMA寄存器

  19. 18 QDMA操作实例

More Related