王红鑫嵌入式系统DMA控制_第1页
王红鑫嵌入式系统DMA控制_第2页
王红鑫嵌入式系统DMA控制_第3页
王红鑫嵌入式系统DMA控制_第4页
王红鑫嵌入式系统DMA控制_第5页
已阅读5页,还剩20页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

1、 陕西科技大学电气与信息工程学院嵌入式系统DMA控制专业:电力电子与电力传动姓名:王红鑫学号:1206009 陕西科技大学电气与信息工程学院什么是什么是DMADMA(Direct Memory Acess)是指不用处理器干预即可完成储存器与I/O间数据传送。 陕西科技大学电气与信息工程学院为什么要使用为什么要使用DMA控制控制 嵌入式系统I/O操作中,中断方式(包括查询方式)是广泛使用的操作方式。其特点是需要通过CPU执行ISR来控制整个数据的传送,输入输出都要以CPU的寄存器为中转站。以中断方式数据传输为例,每一次响应中断,CPU都要保护主程序断点的工作现场,而后执行ISR。数据传输操作完毕

2、后,还要恢复断点处的工作现场。因此在某些高频度I/O操作的嵌入式应用场合,执行中断方式的输入输出会导致系统频繁切换工作现场,CPU运行效率不高。 陕西科技大学电气与信息工程学院DMADMA控制的优势控制的优势 在高速大数据量传输场合,DMA方式可以不通过CPU直接完成输入输出设备与存储器间的数据交换,在数据传送期间不会影响CPU的其它工作, 使CPU具有了同时进行多种实时操作的能力,增强了系统的实时性。 DMA方式由于系统开销少,传输效率,比中断方式优越。因此,现代通用计算机都具备DMA传输功能。嵌入式系统并非都拥有DMA功能。8位嵌入式处理器一般不具备DMA数据传输功能。但16位和32位嵌入

3、式处理器一般都具有DMA功能。例如:ARM、68K、PowerPC和MIPS处理器。 陕西科技大学电气与信息工程学院几款常用嵌入式处理器的几款常用嵌入式处理器的DMA控制器简表控制器简表 陕西科技大学电气与信息工程学院DMADMA系统组成系统组成地址总线地址总线HRQ DREQDMACHLDA DACK总线总线请求请求总线总线响应响应 HOLD HLDACPUDMA请求请求DMA响应响应I / O设备设备控制总线控制总线数据总线数据总线 陕西科技大学电气与信息工程学院DMA DMA 通道类型通道类型 源设备和目标都在系统总线AHB上 源设备和目标都在外围总线APB上 源设备在系统总线,而目标设

4、备位于外围总线 源设备在外围总线,而目标设备位于系统总线 陕西科技大学电气与信息工程学院 S3C2410S3C2410的的DMADMA方式方式 DMA请求源 陕西科技大学电气与信息工程学院DMA的模式 DMA请求模式 DMA请求模式表明一个DMA操作是由谁发起的。S3C2410支持2种DMA请求模式:S/W请求模式和H/W请求模式。 DMA传输模式 DMA传输模式描述了DMA操作触发后,数据传输的同步。有两种传输模式:询问模式和握手模式。 DMA传输模式 DMA传输模式描述了DMA传输操作该如何结束。DMA的服务模式有两种:单独服务模式和整体服务模式。 陕西科技大学电气与信息工程学院DMA的基

5、本时序 陕西科技大学电气与信息工程学院询问/握手时序 陕西科技大学电气与信息工程学院单发/阵法传输时序 陕西科技大学电气与信息工程学院DMA寄存器 每个DMA通道有9个控制寄存器 DISRC DISRCC DCON DIDST DIDSTC DMASKTRIG DSTAT DCSRC DCDST 陕西科技大学电气与信息工程学院DISRC 需要传输的数据的起始地址 地址只能当没有数据传送( CURR_SRC 为0)而且DMA 请求被响应后(ACK为1)才能装载到CURR_SRC 陕西科技大学电气与信息工程学院DISRCC 数据传送源设备位置和地址增长方式 陕西科技大学电气与信息工程学院 DMA控

6、制寄存器 设置传输方式,传输尺寸,传输协议等信息DCON 陕西科技大学电气与信息工程学院 DCONn31(DMD_HS) 0:Demand方式 1:HandShake方式 DCONn30(SYNC) 0:采用PCLK时钟(外围总线) 1:采用HCLK时钟(系统总线) DCONn29(INT) 0:禁止CURR_TC中断 1:所有的传输结束后(CURR_TC=0)产生中断请求 陕西科技大学电气与信息工程学院 DCONn28(TSZ) 0:单元传输方式 1:猝发传输方式(4单元) DCONn27(SERVMODE) 0:单一服务模式(当一个原子操作完成后将DMA停止并等待新的请求) 1:整体服务模

7、式(重复进行原子操作,直到计数为0) DCONn21:20(HWSRCSEL) 数据尺寸 00 = Byte 01 = Half word 10 = Word 11 = reserved 陕西科技大学电气与信息工程学院 DCONn19:0(TC) 初始传输次数 实际的传输字节通过DSZ x TSZ x TC计算 只有当CURR_SRC 为 0和DMA ACK为 1时才装载到CURR_SRC 中 陕西科技大学电气与信息工程学院 当前DMA操作源地址DCSRC 陕西科技大学电气与信息工程学院DMASKTRIGDMASKTRIGn2:STOP1:当前的原子操作结束后,立即停止DMA操作CURR_TC

8、设为0DMASKTRIGn1:ON_OFF0: DMA通道关闭1: DMA通道开启DMASKTRIGn0:SW_TRIG1:软件触发一个DMA操作必须选择S/W 请求模式 (DCONn23) ,通道的ON_OFF位为1 当DMA操作开始后,该位自动清除 陕西科技大学电气与信息工程学院操作步骤 v DMA通道初始化:rDISRC 、rDISRCC 、rDCON0 、rDIDST 、rDIDSTC 、rDMASKTRIG0v DMA中断初始化v 设置DMA请求源,如:Uart设置成DMA形式 rUCON0 = rUCON0 & 0 xff3 | 0 x8;v 设置DMA中断服务程序 陕西科

9、技大学电气与信息工程学院实例程序#include#include”reg2410.h”#include”isr.h”Void DMA0Int(int srcAddr,int dstAddr,int length,int dw);Void_irq DMA0Done(void);Volatile int dma0Done;Void Main(void) unsigned char *src,*dst; int i; 陕西科技大学电气与信息工程学院 rINTMSK=BIT_GLOBAL; pISR_DMA0=(int)DMA0Done; dst=(unsigned char *)malloc(0 x80000); src=(unsigned char *)malloc(0 x80000); r

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论