《DSP实用教程》第7章 直接存储器访问(DMA).pptVIP

《DSP实用教程》第7章 直接存储器访问(DMA).ppt

  1. 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
  2. 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  3. 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
  4. 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
  5. 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们
  6. 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
  7. 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多

**7.17.27.37.47.57.67.77.8概述DMA控制寄存器DMA的初始化和启动传输计数同步传输地址的产生通道的分裂操作DMA控制器DMA控制器在TMS320C620x/C670xDSP功能框中位置如图7-1的阴影部分所示。DMA控制具有以下特点:后台操作:DMA控制器可以独立于CPU工作;高吞吐量:可以在一个CPU时钟周期内完成单元数据的传输;4个通道:DMA控制器可以控制4个独立通道的传输;辅助通道:主机口用辅助通道来访问CPU的内存空间,辅助通道与其它通道间的优先级可以设置;单通道分割操作:利用单个通道即可与一个外设间同时进行数据传输,像两个DMA通道一样;多帧传输:每个传输块传输过程可以包括多个帧;优先级可编程:各通道的优先级均可独立指定;地址可编程:每个通道的源地址寄存器和目标地址寄存器对于每次读写都是可配置的。地址可以是常量﹑递增﹑递减或者是设定地址索引值;32位地址范围:DMA控制器可以对任何一个地址映射区域进行访问;传输宽度可编程:每个通道可以独立选择宽度为字节﹑半字或字;自动初始化:每传送完一数据块,DMA通道会自动重新为下一个数据块的传送做好准备;事件同步:读﹑写和帧操作都可以由指定的事件触发;产生中断:当一帧或一数据块传送完毕,或出现错误情况时,每一个通道都可以向CPU发出中断。每一个DMA通道都存在一组与之相关的寄存器来完成传输控制,在DMA启动之前,必须对其进行初始化操作。表7-1列出DMA通道的控制寄存器及其存储器映射地址。DMA主控制寄存器(PRICTL)分别独立控制各个DMA通道,如图7-2所示。各字段的描述见表7-2。DMA通道从控制寄存器(SECCTL)的结构如图7-3所示。各字段说明见表7-3。TMS320C6202(B)/C6203(B)/C6204/C6205DSP的SECCTL寄存器被扩展为包含3个新的字段:WSPOL、RSPOL和FSIG。这些位段用于一个帧同步数据传输的控制。7.3.1初始化一个DMA块传输手动启动操作:DMA控制寄存器设置完成后,将PRICTL中的START设为01b,启动该通道的DMA。DMA通道启动后,STATUS的值为01b。暂停操作:DMA通道启动后,通过向STATUS写入01b来暂停。如果某个数据单元读取传输已完成,则DMA通道完成相应写传输。在DMA完成当前的写传输后STATUS的值为10b。停止操作:通过向START写入00b的方法停止DMA控制器。停止操作与暂停操作类似。如果DMA未工作于非自动初始化状态,DMA完成数据传输后即进入到停止状态STATUS=00b。DMA控制器可以在完成一个数据传输后自动进行初始化操作。自动初始化允许:连续操作:通常,CPU必须在一次传输完成后重新对DMA控制器初始化。使用重载寄存器,可以在当前块传输开始后的任何时间为下一个块传输需要的参数进行初始化。重复操作:该操作看作是连续操作的一种特殊情况。当某块传输完成后,DMA控制器将重复前一个块传输。此时,CPU不需要反复设置重载寄存器,只需在第一个传输之前配置重载寄存器的值。自动初始化使能:将主控寄存器START设置为11b将以自动初始化方式启动DMA。这样,在一个块传输完成后,指定的DMA通道寄存器被重载,DMA通道重新启动。自动初始化和非自动初始化的切换:DMA可以从自动初始化传输模式切换为非自动初始化模式。为了切换模式,应该将已启动的DMA通道的主控寄存器的START字段设置为10b将其暂停,然后再将主控寄存器的START设为01b再将其重新启动。DMA的通道传输计数寄存器包含两个字段:帧计数和元素计数,其结构如图7-4所示。DMA的全局计数重装载寄存器的结构如图7-5所示。同步机制使用户可以利用某些事件来触发DMA的传输过程,可以为每个通道使能如下的3种同步方式:读同步:每次读传输都等待选定的事件发生后再进行;写同步:每次写传输都等待选定的事件发生后再进行;帧同步:每一帧的传输都等待选定的事件发生后再进行。表7-4列出了这两字个段和同步事件的对应关系。?1.DMA通道事件的锁定DMA同步事件的锁定:被选择事件信号由低到高的变换由DMA通道锁定。这些变换的发生导致SECCTL寄存器相应的STAT字段置位。如果没有选择同步,STAT字段总为1。单个事件可以用来触发多个操作。清除和设置事件:在启动一个块传输之前,通过清除没有完成的事件,可以强制DMA通道转变为对下一个事件的等待状态。相反,在启动一个块传输之前,通过设置事件,可以强制事件与开始一个单元的传输同步,通过分别向STAT或CLR写1,写0到这些字段无效。2.自

文档评论(0)

扬州牧 + 关注
实名认证
文档贡献者

资料收集自互联网,若有侵权请联系删除,谢谢~

版权声明书
用户编号:8036120077000004

1亿VIP精品文档

相关文档