嵌入式系统及应用 (19).pdf
《嵌入式系统及应用 (19).pdf》由会员分享,可在线阅读,更多相关《嵌入式系统及应用 (19).pdf(15页珍藏版)》请在淘文阁 - 分享文档赚钱的网站上搜索。
1、嵌入式系统及应用嵌入式系统及应用第十九讲 DMA【课本10.2】直接存储器存取直接存储器存取DMA,也属于深度内容范畴也属于深度内容范畴,当实际应用开发中当实际应用开发中,需需要提高存储器与外设传输速度需要用到要提高存储器与外设传输速度需要用到DMA技术技术。这里给出基本内涵这里给出基本内涵,以以便实际开发中想到还有这种技术可以使用便实际开发中想到还有这种技术可以使用。例如例如,我们在做一个灯光量化我们在做一个灯光量化项目时项目时,使用使用DMA-UART传输传输,解决了解决了CPU的占用问题的占用问题。嵌入式系统及应用嵌入式系统及应用10.2 DMA10.2.1 DMA的通用基础知识的通用基
2、础知识1.DMA含义含义为了为了提高提高CPU的利用效率的利用效率,人们提出了许多减轻人们提出了许多减轻CPU负担的方法负担的方法。直接存储直接存储器存取器存取(Direct Memory Access,DMA)是一种数据传输方式是一种数据传输方式,该方式可以使数该方式可以使数据不经过据不经过CPU直接在存储器与直接在存储器与I/O设备之间设备之间、不同存储器之间进行传输不同存储器之间进行传输。这样的这样的好处是好处是传输速度块传输速度块,且且不占用不占用CPU的时间的时间。DMA传输将数据从一个地址空间复制到另一个地址空间传输将数据从一个地址空间复制到另一个地址空间。当当MCU初始化传初始化
3、传输动作输动作,传输动作本身由传输动作本身由DMA控制器完成控制器完成,而而MCU可以继续处理其它的工作可以继续处理其它的工作。第第2 2页页 共共1515页页嵌入式系统及应用嵌入式系统及应用2.DMA控制器控制器MCU内部的内部的DMA控制器是一种能够通过专用总线将存储器与具有控制器是一种能够通过专用总线将存储器与具有DMA能力的外设连接起来的控制器能力的外设连接起来的控制器。一般而言一般而言,DMA控制器含有地址总线控制器含有地址总线、数据数据总线和控制寄存器总线和控制寄存器。高效率的高效率的DMA控制器具有访问其所需要的任意资源的能控制器具有访问其所需要的任意资源的能力力,而无须处理器本
4、身的介入而无须处理器本身的介入,它它必须能产生中断必须能产生中断,必须能在控制器内部计必须能在控制器内部计算出地址算出地址。实现实现DMA传输时传输时,是由是由DMA控制器直接掌管总线控制器直接掌管总线,因此因此,存在存在着一个着一个总线控制权转移问题总线控制权转移问题。即即DMA传输前传输前,MCU要把总线控制权交给要把总线控制权交给DMA控制器控制器,在结束在结束DMA之后之后,DMA控制器应立即把总线控制权再交回给控制器应立即把总线控制权再交回给MCU。值得注意的是值得注意的是,通常只有数据量较大的外设才需要有支持通常只有数据量较大的外设才需要有支持DMA的能力的能力,如视频如视频、音频
5、和网络等接口音频和网络等接口。第第3 3页页 共共1515页页嵌入式系统及应用嵌入式系统及应用3.DMA的一般操作流程的一般操作流程这里以这里以RAM与与I/O接口之间通过接口之间通过DMA的数据传输为例来说明一个完整的的数据传输为例来说明一个完整的DMA传输传输过程过程,一般需要经过:一般需要经过:请求请求、响应响应、传输传输、结束结束四个步骤四个步骤。(1)CPU向向DMA发出请求发出请求。CPU完成对完成对DMA控制器的初始化控制器的初始化,并向并向I/O接口发出接口发出操作命令操作命令,I/O接口向接口向DMA控制器提出请求控制器提出请求。(2)DMA响应响应。DMA控制器对控制器对D
6、MA请求判别优先级及屏蔽请求判别优先级及屏蔽,向总线裁决逻辑提向总线裁决逻辑提出总线请求出总线请求。当当CPU执行完当前总线周期即可释放总线控制权执行完当前总线周期即可释放总线控制权。此时总线裁决逻辑输此时总线裁决逻辑输出总线应答出总线应答,表示表示DMA已经响应已经响应,由由DMA控制器通知控制器通知I/O接口进行接口进行DMA传输传输。(3)DMA传输传输。DMA控制器获得总线控制权后控制器获得总线控制权后,CPU即刻挂起或只执行内部操即刻挂起或只执行内部操作作,由由DMA控制器输出读写命令控制器输出读写命令,直接控制直接控制RAM与与I/O接口进行接口进行DMA传输传输。(4)DMA结束
7、结束。当完成规定的成批数据发送后当完成规定的成批数据发送后,DMA控制器即刻释放总线控制控制器即刻释放总线控制权权,并向并向I/O接口发出结束信号接口发出结束信号。当当I/O接口收到结束信号后接口收到结束信号后,停止停止I/O设备的工作设备的工作,同同时时CPU发出中断请求发出中断请求,使使CPU从不介入的状态解脱从不介入的状态解脱,并执行一段检查本次并执行一段检查本次DMA传输操传输操作正确性的代码作正确性的代码。最后最后,带着本次操作结果及状态继续执行原来的程序带着本次操作结果及状态继续执行原来的程序。第第4 4页页 共共1515页页嵌入式系统及应用嵌入式系统及应用10.2.2 基于基于构
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 嵌入式系统及应用 19 嵌入式 系统 应用 19
限制150内