第7章 增强的直的接存储器访问.ppt

  1. 1、本文档共23页,可阅读全部内容。
  2. 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
第7章 增强的直的接存储器访问

从 到 外部存储器 片内数据存储器 片内数据存储器 片内程序存储器 外部存储器 传输的实现: 由CPU控制实现数据传输,效率低 DMA直接存储器访问,效率高,不需CPU干预 EDMA的特点 C621x/C671x/C64x特有 EDMA控制器基于RAM结构 比DMA的增强之处如下: 提供了16个通道 由事件触发相应通道的传输 通道优先级可设置 支持不同结构数据的传输链接 独特的快速DMA(QDMA) EDMA控制器的结构 参数RAM(PaRAM),设置通道入口和重新加载的参数 事件和中断处理寄存器,使能或屏蔽事件、使能触发的类型、清除或处理中断 传输完成检测,检测是否完成数据传输,并提交新的传输或产生CPU中断 EDMA传输中的术语 数据单元(element)的传输:单个数据单元从源地址向目的地址传输 帧(frame):1组数据单元组成1帧,帧中的数据单元可以连续存放,也可以间隔存放,帧一般用于1维传输 阵列(array): 1组连续的数据单元组成1个阵列,阵列一般用于2维传输 块(block):多个帧或多个阵列的数据组成1个数据块 1维传输:多个数据帧组成1个1维数据传输 2维传输:多个数据阵列组成1个2维数据传输,第1维是阵列中的数据单元,第2维是阵列的个数。 EDMA传输方式 单元同步1维传输(FS=0) 帧同步1维传输(FS=1) EDMA传输方式 阵列同步2维传输(FS=0) 块同步2维传输(FS=1) 同步事件 每个通道都与一个事件关联,由这些事件触发相应通道的传输,不能由多个事件触发 事件寄存器(ER)负责捕获所有的事件,事件使能寄存器(EER)控制每一个事件的使能/禁止 由事件信号的上升沿触发EDMA控制器 如果有多个事件同时发生,则由事件编码器进行排序 EDMA的参数RAM 容量为2KB,总共可以存放85组EDMA传输控制参数,其内容包括三部分: 16组EDMA通道入口参数,每组6个字 用于重加载/链接的传输参数组,每组6个字 空余“草稿区”,8个字节 一旦事件发生器捕捉到某个事件,控制寄存器将从参数RAM的16组入口参数中读取事件对应的控制参数,送往地址发生器,发起传输 EDMA参数存储结构 选项参数(Options Parameter) 选项参数寄存器 EDMA参数存储结构 源地址(SRC)/目标地址(DST):32位,EDMA访问的起始源地址和目标地址,以字节为单位,通过OPT中的SUM/ DUM位设定对SRC/DST地址的修改方式。 数据单元计数(ELECNT):存放1帧或1个阵列中的数据单元个数,有效范围1~65535。 帧/阵列计数(FRMCNT):存放的是1-D数据传输中的帧计数,或是2-D数据传输中的阵列计数,最大值为65536。 数据单元/帧/阵列索引(Element/Frame/Array Index):作为地址修改的索引值。数据单元索引只能应用于1-D传输,作为下一数据单元的地址偏移值(2-D传输不允许数据单元间隔存放)。帧/阵列索引用于控制下一帧/阵列的地址索引值。 数据计数的重加载(Element Count Reload):用于在每帧最后一个数据元素传输之后,重新加载传输计数值。这一参数只应用于1-D传输中。 连接地址(Link Address):当设定可选参数中LINK=1时,可以由连接地址确定下一个EDMA事件采用参数的装载/重装载地址,从而将多组EDMA传输参数形成EDMA传输链。 EDMA的启动 两种方式启动EDMA: CPU启动EDMA/非同步的EDMA,CPU通过写事件置位寄存器(ESR),强制触发对应事件,启动1个EDMA通道 由事件触发的EDMA,事件锁存器一旦捕获到一个触发事件,并且事件本身已被使能,那么该事件将启动传输操作 多组EDMA传输参数的连接 (linking) 将不同的EDMA传输参数连接起来,组成一个参数链,为同一个通道服务 多个EDMA通道的链接(chaining) 由一个EDMA通道的传输结束触发另一个EDMA通道的传输 不同于EDMA连接(linking),EDMA连接是利用多组参数依次重加载某一个EDMA通道参数 触发由当前通道的传输结束码对应的EDMA通道的传输 EDMA中断 所有16个通道共用一个中断信号EDMA_INT, 利用CIPR寄存器来判断发生了哪个事件 通道的传输结束代码TCC值与CIPR位一一对应,不同的通道可以有相同的TCC,所以不同的通道可以产生完全相同的中断,处理相同的服务

文档评论(0)

liwenhua00 + 关注
实名认证
内容提供者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档