1 / 23
文档名称:

第5章DMA接口技术.doc

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

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

分享

预览

第5章DMA接口技术.doc

上传人:Hkatfwsx 2014/8/22 文件大小:0 KB

下载得到文件列表

第5章DMA接口技术.doc

文档介绍

文档介绍:第5章 DMA接口技术
本章重点
掌握DMA控制器的基本工作原理、DMA控制器的主要工作模式以及工作时序,进一步熟悉采用DMA方式进行数据传输的方法
能针对DMA控制器826>37A灵活地进行设置,使其在限定的要求下进行工作。
53>.1 DMA概述
DMA是Direct Memory Access的缩写,意思是“存储器直接访问”,是指一种高速的数据传输操作,允许在外部设备和存储器之间直接读写数据,即不通过CPU,也不需要CPU干预。整个数据传输操作在一个称为“DMA控制器”的控制下进行
DMA传送主要用于需要高速大批量数据传送的系统中,以提高数据的吞吐量,如磁盘存取、图形图像处理等。这种传送方式的特点是以增加系统硬件的复杂度和成本为代价的,因此DMA方式和程序控制方式相比,是用硬件控制代替了软件控制。另外,在DMA 工作过程中,CPU对总线的控制权被剥夺,这样外部中断可能不会被及时给予响应,因此DMA方式不适合一些实时的数据处理过程。DMA传送虽然脱离了CPU的控制,但并不是说DMA传送方式不需要进行控制和管理,通常是采用DMA控制器来取代CPU,负责以DMA方式传送数据的全程。
虽然DMA传送本身是直接依靠硬件来实现的,但为实现有关控制,CPU 需要事先向DMA控制器提出有关的控制信息。通常来说,DMA对数据的传送过程大体可以分为三个阶段:传送前预处理、正式数据传送、传送后处理。
DMA控制器主要由地址寄存器、字节计数器、控制寄存器、设备地址寄存器和控制逻辑等几部分组成,图5-1表示了DMA控制器的基本构成及其与外设及系统相连的简单情况,从图中可以看出整个DMA传输的基本过程:
(1) 设备通过DMA控制器向CPU发出DMA请求。
(2) CPU响应DMA请求,系统转变为DMA工作方式,并把总线控制权交给DMA控制器。
(3) 由DMA控制器发送存储器地址,并决定传送数据块的长度。
(4) 执行DMA传送。
(5) DMA操作结束,并把总线控制权交还CPU。
图5-1 DMA控制器
8237A控制器
1. 8237A的工作状态
DMA控制器8237A是Intel系列中的高性能可编程DMA控制器,作为两种实体(存储器和I/O设备、存储器和存储器)之间实现高速数据传送的专用处理器,它与其他外围接口控制器不同,具有系统总线的控制权,但在取得控制权之前,又和其他设备一样,受到CPU的控制。因此,8237A主要有两种工作状态:主工作模块和从工作模块。
1) 主工作模块
此时8237A的身份是对总线拥有控制权的主控器,这使得系统在它的控制下,进行I/O设备与存储器之间的数据传送工作。DMA写操作时,它发出写信号,数据由外设传到存储器;DMA读操作时,它发出读信号,数据从存储器传送到外设。
2) 从工作模块
在DMA控制器获得总线控制权之前,它受CPU的控制。此时,CPU通过对DMA控制器进行初始化编程来确定数据的传送方式和类型、内存单元的起始地址、地址的增减选择以及传送的字节总数,也可以从DMA控制器中读出当前的状态。
2. 8237A的工作模式
8237A在有效周期内有4种工作模式:单字节传送模式、数据块传送模式、请求传送模式和级联模式。
1) 单字节传送模式
在这种模式下,DMA每次传送仅传送一个字节。传送之后,字节数寄存器减1,地址寄存器加1或减1,释放总线并将总线控制权交还给CPU。
2) 数据块传送模式
在这种模式下,8237A自DREQ启动时就连续传送数据,直到字节计数器过零或者由外部输入有效的EOP信号终止DMA传送为止。DREQ只须维持有效到DACK有效。数据块传送模式的特点是:一次请求传送一个数据块,效率高,但整个DMA传送期间CPU长时间无法控制总线,此期间即便有其他DMA请求或中断请求,也不能响应。
3) 请求传送模式
在这种模式下,8237A可以连续传送数据,但出现以下三种情况之一时传送会停止:
①当计数器为零,数据传送完毕。
②外部输入一个有效的EOP信号。
③ DREQ信号变为无效(一般是外设准备好的数据已传送完)。
4) 级联模式
这种方式不是数据传送模式,而是表示8237A用于多片连接方式,第一级为主片,第二级为从片。当第一级编程为级联模式时,它的DREQ和DACK引脚分别和第二级芯片的HRQ和HLDA引脚相连,如图5-2所示。主片在响应从片的DMA请求时,不输出地址和读写控制信号,以避免与从片中有效通道的输出信号相冲突。
图5-2 主从DMA的连接
3. 8237A的DMA传输类型
8237A所支持的DMA传送,可以在I/O接口到存储器以及存储器到I/O接口及内存的不同区域之间进行,它们具有不同的特点,所需要的控制信号