下载此文档

第十章_ARM9_直接存储器存取DMA控制.ppt


文档分类:IT计算机 | 页数:约28页 举报非法文档有奖
1/28
下载提示
  • 1.该资料是网友上传的,本站提供全文预览,预览什么样,下载就什么样。
  • 2.下载该文档所得收入归上传者、原创者。
  • 3.下载的文档,不会出现我们的网址水印。
1/28 下载此文档
文档列表 文档介绍
计算机基本知识第十章直接存储器存取(DMA)控制
DMA基本知识
计算机系统中各种常用的数据输入/输出方法有查询方式(包括无条件及条件传送方式)和中断方式,这些方式适用于CPU与慢速及中速外设之间的数据交换。但当高速外设要与系统内存或者要在系统内存的不同区域之间进行大量数据的快速传送时,就在一定程度上限制了数据传送的速率。直接存储器存取(DMA)就是为解决这个问题提出的,采用DMA方式,在一定时间段内,由DMA控制器取代CPU,获得总线控制权,来实现内存与外设或者内存的不同区域之间大量数据的快速传送。
典型DMA控制器(以下简称DMAC )工作电路如图10-1所示,其数据传送工作过程如下:
DMAC发出DMA传送请求;
2. DMAC通过连接到CPU的HOLD信号向CPU提出DMA请求;
。CPU的响应包括两个方面:一方面,CPU将控制总线、数据总线和地址总线浮空,即放弃对这些总线的控制权;另一方面,CPU将有效的HLDA信号加到DMAC上,以通知DMAC CPU己经放弃了总线的控制权;
,即放弃了总线控制权后,由DMAC接管系统总线的控制权,并向外设送出DMA的应答信号;
,实现外设与内存或内存之间大量数据的快速传送。
,通过向CPU发HOLD信号,撤消对CPU的DMA请求。CPU收到此信号,一方面使HLDA无效,另一方面又重新开始控制总线,实现正常取指令、分析指令、执行指令的操作。
需要注意的是,在内存与外设之间进行DMA传送期间,DMAC控制器只是输出地址及控制信号,而数据传送是直接在内存和外设端口之间进行的,并不经过DMAC。对于内存不同区域之间的DMA传送,则应先用一个DMA存储器读周期将数据从内存的源区域读出,存入到DMAC的内部数据暂存器中,再利用一个DMA存储器写周期将该数据写到内存的目的区域中去。
DMA传送包括三种方式:I/O接口到存储器、存储器到I/O接口以及存储器到存储器,由于它们具有不同的特点,所需要的控制信号也不相同。
. I/O接口到存储器
当进行由I/O接口到存储器的数据传送时,来自I/O接口的数据利用DMAC送出的控制信号将数据输送到系统数据总线D0~D7上,同时,DMAC送出存储器单元地址及控制信号,将存在于D0~D7上的数据写入所选中的存储单元中。这样就完成了由I/O接口到存储器一个字节的传送。同时DMAC修改内部地址及字节数寄存器的内容。
.存储器到I/O接口
与前一种情况类似,在进行这种传送时,DMAC送出存储器地址及控制信号,将选中的存储单元的内容读出放在数据总线D0~D7上,接着,DMAC送出控制信号,将数据写到规定的(预选中)端口中去,而后MDAC自动修改内部的地址及字节数寄存器的内容。
.存储器到存储器
存储器到存储器的DMA数据传送采用数据块传送方式,首先送出内存源区域的地址和控制信号,将选中内存单元的的数据暂存,接着修改地址及字节数寄存器的值,然后输出内存目的区域的地址及控制信号,将暂存的数据通过系统数据总线写入到内存的目的区域中去,最后修改地址和字节数据寄存器的内容,当字节计数器减到零或外部输入时,可结束一次DMA传输过程。
S3C2410的DMA控制器
S3C2410支持位于系统总线和外设总线之间的4个通道的DMA控制器。每个通道可以处理以下四种情况:
1. 源和目的都在系统总线上;
2. 源在系统总线而目的在外设总线上;
3 源在外设总线而目的在系统总线上;
4 源和目的都在外设总线上。
关于每个寄存器的详细说明,请参考随书软件包S3C2410的使用手册,下面,将结合程序代码简单的说明S3C2410DMA控制器相关的一些设置。
DMA地址寄存器:
DISRC0~DISRC3[30:0] 寄存DMA要传送的数据的源地址,
0~3[30:0] 寄存DMA要传送的数据的目的地址
0~3[1]:=0,DMA源数据在AHB总线上;=1,DMA源数据在APB总线上
0~3[0]:=0,源数据每传一个,源地址加一;=1,源地址固定。
DIDSTC0~ DIDSTC3[1]:=0,DMA目的数据在AHB总线上;=1,DMA目的数据在APB总线上
DIDSTC0~ DIDSTC3[0]:=0,目的数据接收一个,目的地址加一;=1,目的地址固定。
DMA控制寄存器:
DCON0~DCON3[31]=0,请求模式;=1,握手摸式;
DCON0~DCON3[30]=0,DMAZ中断与APB同步;=1,与AHB同步;
DCON0~DCON3[29]=0,禁止中断;=1,允许中断;
DCON0~DCON

第十章_ARM9_直接存储器存取DMA控制 来自淘豆网m.daumloan.com转载请标明出处.

相关文档 更多>>
非法内容举报中心
文档信息
  • 页数28
  • 收藏数0 收藏
  • 顶次数0
  • 上传人wzt520728
  • 文件大小0 KB
  • 时间2015-10-26