- 1、本文档共18页,可阅读全部内容。
- 2、有哪些信誉好的足球投注网站(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
第十二讲 直接存储器访问(DMA)模块 1、DMA模块概述 2、F28335的DMA模块 3、DMA模块的寄存器 4、DMA模块应用 DMA模块概述 数字信号控制器的优势不能纯粹以处理器的速度来衡量,而是以整个系统的能力来衡量。数字信号控制器处理的许多应用操作都要用大量的带宽来移动数据,如从片外存储器到片内存储器,从一个外设(例如一个模数转换器)到RAM,从一个外设到另一个外设之间。例如当控制器读写AD采集的数据时或者读写外部扩展存储器内容时,内存与外设间会存在着大量的数据交换,而且这种交换是经常性的。对于这样的数据交换,若采用中断方式响应,每传送一次数据,就要经历中断处理的全部步骤,CPU就会不断的进行中断的相关操作,如将工作现场寄存器压入堆栈,中断结束时,恢复现场,CPU频繁的进行工作现场的切换,非常不专注,效率非常低。有没有一种专用通道,专用的控制器来负责这类经常性的操作,而将CPU资源释放出来呢? 直接存储访问DMA(Direct Memory Access)模块就是用硬件实现存储器与存储器之间、存储器与I/O设备之间直接进行高速数据传送,不需要CPU的干预,减少了中间环节,而且存储器地址的修改和传送均由硬件自动完成,所以极大地提高了批量数据的传送速度。 实现DMA传送的关键部件是DMA控制器(DMAC)。系统总线分别受到CPU和DMAC这两个部件的控制,即CPU 可以向地址总线、数据总线和控制总线发送信息(非DMA方式),DMAC也可以向地址总线、数据总线和控制总线发送信息(DMA方式)。 DMA模块概述 但在同一时刻,系统总线只能接受一个部件的控制。究竟哪个部件来控制系统总线,是通过这两个部件之间的“联络信号”控制实现的。DMA取得总线控制权前处于受控状态,此时,CPU可对DMAC进行初始化编程,也可从DMAC中读出状态,这时DMA处于从态,DMAC上电或复位时,DMAC自动处于从态。在DMAC获得总线控制权之后,DMAC取代CPU而成为系统总线的主控者,接管和控制系统总线。通过总线向存储器或I/O设备发出地址、读/写信号,以控制在两个实体之间的数据传送。这时候DMA处于主动态。DMA系统组成框图如图12.1所示。 F28335的DMA模块 F28335的DMA模块主要结构如图12.2所示,DMA数据传输是基于事件触发的,这就意味着DMA需要外设中断触发来启动DMA的数据传输。F28335共有18个不同的触发源,图中右边所示即为触发源,外设触发源见表12.1所示。其中有8个外部中断触发源,全部引自GPIO引脚,这样DMA的事件触发是很灵活的。DMA不能通过自身数据源定时触发,若要定时触发可以借助于外设中断触发源中CPU定时器来实现。F28335共有6个DMA通道,每个通道都可以有各自的触发源,通过各自独立的PIE中断告知CPU DMA数据传输的开始与结束,这6个通道中,第一通道有着更高的优先级。DMA模块的核心其实是一个与地址控制逻辑紧密关联的状态机,在数据传输过程中让数据块自动的重新配置,就好像是两个缓冲器之间在打乒乓球一样,我们把这种机制也叫做DMA的乒乓机制。DMA总线结构包括一个22位地址总线,一个32位数据读总线,和一个32位数据写总线,与DMA总线相连的资源,好比乒乓球运动员,分别数据传送的地址源与数据源,地址源与数据源的接口通过总线互相相连,这个接口DMA可能会访问,CPU也会访问。与DMA总线相连的资源如图中左边所示1、XINTF区域0、6、7;L4 SARAM、L5 SARAM、L6 SARAM、L7 SARAM 2、ADC存储器映射结果寄存器 3、MCBSP-A和MCBSP-B数据接收寄存器(DDR2/DDR1)和数据发送寄存器(DXR2/DXR1)4、映射到外设3的ePWM1-6/HRPWM1-6寄存器。 F28335的DMA模块 外设 中断触发源 CPU DMA软件位 (CHx.CONTROL.PERINIFRC) ADC 排序器1中断排序器2中断 外部中断 外部中断1-7、外部中断13 CPU定时器 CPU定时器0、1、2溢出 McBSP-A、McBSP-B 发送缓冲器空、接收缓冲器满 Epwm1-6 ADC启动信号 F28335的DMA模块 F28335的DMA的基本特性如下: (1) 6个DMA通道,6个通道都具有独立的PIE中断 (2) 外设中断触发源 DMA模块是基于事件触发的,因此要求一个外设触发器启动DMA数据的传递。例如它能通过将一个定时器配置成中断触发源,从而变成一个周期性的定时驱动器,中断触发源可以为6个DMA通道分别单独配制。F28335的外设中断触发源如下: ——ADC排序器1和排序器2 ——多路缓冲串行端口A和B(McBS
文档评论(0)