- 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
- 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
集成外设及DSP.doc
集成外设及DSP/BIOS应用实例
5? TMS320C6000的DMA控制器设计
??? 本节主要介绍C6000系列的直接存储器访问(DMA,Direct Memory Access)控制器其中介绍硬件特点、DMA通道与寄存器。
5.1? DMA硬件介绍
??? DMA控制器最大的特点是可以在没有CPU参与的情况下完成映射存储空间中的数据搬移。这些数据搬移可以是在片内存储器、片内外设或是外部器件之间,而且是在CPU后台进行的。DMA控制器具有4个相互独立编程的传输通道,允许进行4个不同内容的DMA传输。另外,还有一个辅助通道用来服务于主机口接口读写访问。
在讨论DMA操作时,需要了解C6000的DMA传输中的几个概念:
(1)数据的读传输(read transfer):DMA控制器从源地址存储器中读取数据。
(2)数据的写传输(write transfer):DMA控制器将读取的数据写入目标地址存储器中。
(3)数据单元传输(element transfer):一个数据单元的读传输和写传输的结合。
(4)帧传输( transfer):帧的大小可编程设置。完成一个帧传输即传输一定数量的数据单元。
(5)块传输(block transfer):每个DMA通道也可以独立定义每块中帧的数量。完成一个块传输即传输一定数量的帧。
(6)发送数据单元的传输(transmit element transfer):在通道分割模式下,数据单元从源地址中读出并写入分割目的地址。
(7)接受数据单元的传输(receive element transfer):在通道分割模式下,数据单元从分割源地址中读出并写入目的地址。
DMA控制器有如下主要特点:
(1)后台操作:DMA控制器可以独立于CPU工作。
(2)高吞吐率:可以以CPU时钟的速度进行数据传输。
(3)4个通道:DMA摔制器可以控制4个独立通道的传输。
(4)辅助通道:主机口用辅助通道来访问CPU的存储空间。辅助通道与其他通道间的优先级可以设置。
(5)单通道分割(split-channel)操作:利用单个通道就可以与一个外设间同时进行数据的读和写传输,效果就好像使用两个DMA通道一样。
(6)多帧()传输:传送的每个数据块可以含有多个数据帧。
(7)优先级可编程:每一个通道对于CPU的优先级是可编程确定的。
(8)地址产生方式可编程:每个通道的源地址寄存器和目标地址寄存器对于每次读写都是可配置索引的。地址可以是常量、递增、递减,或是设定地址索引值。
(9)32位地址范围:DMA控制器可以对仟何一个地址映射区域进行访问,包括:
·片内数据存储区 ·片内程序存储区(当其作为映射存储器时,而不是作为cache使用)
·片内的集成外设 ·通过EMIF接口的外部存储器 ·通过扩展总线接口的扩展存储器
(10)传送数据的字长可编程:每个通道都可以独立选择宽度为字节、半字(16位)或字(32位)。
(11)自动初始化:每传送完一块数据,DMA通道会自动为下一个数据块的传送重新初始化。
(12)事件同步:读、写和帧操作都町以由指定的事件触发。
(13)中断反馈:当一帧或一块数据传送完牛,或是出现错误情况时,每一个通道都可以向CPU发出中断请求。 5.2? DMA控制器设计及应用
??? 1.DMA寄存器、初始化和启动
DMA寄存器用于初始化和控制DMA操作。每一个DMA通道都有一套相关的寄存器完成传输控制,在启动DMA之前,必须刘它们进行初始化。?每一个DMA通道启动可以在程序中由CPU完成,也可以是通过自动初始化肩动。每一个DMA通道都可以山CPU控制独立启动、暂停和停止。DMA通道控寄存器(PRICTL)的STATIS域指示相应DMA通道的当前状态。只有在STATUS位和START位相同时,才可以修改主控寄存器。启动操作如下所示:
??? ·手工启动:向DMA主控制寄存器(PRICTL)的START域写入01b将直即启动该通道的DMA。一旦启动,STATUS的值会变成01b。注意一旦启动,再写入01b将不会有任何影响。
??? ·暂停操作:在启动后,向START写10b可以暂停DMA。暂停时,如果某个数据单元传输的读传输过程已经完成,此时DMA通道会继续完成其对应的写传输。STATUS在DMA完成当前写传送后变为10b。
??? ·停止操作:启动后写入START=00b,DMA控制器将被停止。停止操作和暂停操作相??? 同。除非是工作在自动初始化模式下,否则一旦DMA完成数据传输,该通道使进入停止状态,STATUS的值变为00b。
???? 在一次块传送任务完成后,DMA控制器可以自动初始化。向主控制寄存器的START写入11b将以自动
您可能关注的文档
最近下载
- 公路工程建设项目投资估算编制办法,JTG3820-2018.pdf VIP
- 医疗器械贮存及养护控制程序.pdf VIP
- JTG 3820-2018 公路工程建设项目投资估算编制办法.docx VIP
- 2025团校入团考试题库(含答案).docx VIP
- 35kv集电线路施工组织设计.doc VIP
- 铁路建设项目现场安全文明标志.pdf VIP
- 2023年考研《英语二》真题及答案.pdf VIP
- 中职语文基础模块上册期末考试试卷及答案.docx VIP
- 2025年冀教版(2025)初中英语七年级下册Unit 7 Ways to be healthy Lesson 4 Tim's healthy lifestyle课件(共26张PPT)(内嵌音频+视频).pptx VIP
- 国家开放大学,形考资料,02323生产与运作管理,学习记录.docx VIP
原创力文档


文档评论(0)