1 / 7
文档名称:

DMA实验.doc

格式:doc   大小:52KB   页数:7页
下载后只包含 1 个 DOC 格式的文档,没有任何的图纸或源代码,查看文件列表

如果您已付费下载过本站文档,您可以点这里二次下载

分享

预览

DMA实验.doc

上传人:drp539609 2019/6/24 文件大小:52 KB

下载得到文件列表

DMA实验.doc

文档介绍

文档介绍:一、实验目的1、了解DMA传送原理;2、掌握S3C2410DMA控制器的使用;3、掌握DMA软件编程方法。二、实验内容1、编写单字节方式、双字节方式和四字节方式常规内存拷贝及时间检测程序;2、编写DMA方式内存拷贝及时间检测程序;3、比较DMA方式内存拷贝及常规内存拷贝的效率。三、实验设备1、硬件:DM2410实验板;测控与显示扩展板;PC机;JTAG仿真器;2、软件:PC机操作系统(WINDOWS2000);;Multi-(Build1319);四、基础知识1、掌握ADS开发环境的基本功能;2、了解DMA的原理以及处理步骤。五、实验说明1、DMA基本知识计算机系统中常用的传输数据的控制方式通常包括三种:查询方式、中断方式和DMA方式。对于高速外设与系统内存,或者系统内存的不同区域之间,进行大量数据的快速传送时,采用DMA方式可以大大提高系统的效率。DMA(直接存储器存取)方式是指在一定时间段内,由DMA控制器取代CPU,获得总线控制权,来实现内存与外设,或者内存的不同区域之间大量数据的快速传递。典型DMA控制器(DMAC)的数据传送过程如下:DMAC发出DMA传送请求;DMAC通过连接到CPU的HOLD信号向CPU提出DMA请求;CPU在完成当前总线操作后立即对DMA请求响应。CPU的响应包括两部分:CPU将控制总线、数据总线和地址总线浮空,即放弃对各总线的控制权;CPU将有效的HLDA信号加到DMAC上,PU已经放弃了总线的控制权;CPU放弃总线控制权后,DMAC接管系统总线的控制权,并向外设送出DMA的应答信号;DMAC送出地址信号和控制信号,实现外设与内存或内存之间大量数据的快速传送;DMAC将规定的数据字节传送完后,通过向CPU发HOLD信号,撤销对CPU的DMA请求。CPU收到此信号后,使HLDA信号无效,同时又重新开始控制总线,实现正常取指令、分析指令和执行指令的操作。【注意】1)在内存与外设之间进行DMA传送期间,DMAC只输出地址信号和控制信号而数据传送是直接在内存和外设端口之间进行的,并不经过DMAC;2)对于内存不同区域之间的DMA传送,则应先用一个DMA存储器读周期将数据从内存的源区域读出,存入到DMAC的内部数据暂存器中,再利用一个DMA存储器写周期将该数据写到内存的目的区域中去。2、S3c2410的DMA控制器存储器CPU数据端口状态/控制端口数据缓冲寄存器DMA请求触发器DMA控制器地址寄存器控制/状态寄存器计数器HOLDHLDA输入外设ReadyDMA请求DMA响应典型的DMA控制器如下图所示:S3c2410支持位于系统总线和外设总线之间的4个通道的DMAC,每个通道可以处理四种情况:源和目的都在系统总线上;源在系统总线上,目的在外设总线上;源在外设总线上,目的在系统总线上;源和目的都在外设总线上。关于每个寄存器的详细说明,请参考S3c2410的数据手册。3、实验参考代码及其结果本实验通过DMA方式实现存储器到存储器的数据传送。头文件、函数声明及特殊功能寄存器#include<>#include""#include""#include""#include""#include"241