ch9_dma控制器的编程结构及编程ppt课件

上传人:bin****86 文档编号:54898942 上传时间:2018-09-21 格式:PPT 页数:48 大小:537KB
返回 下载 相关 举报
ch9_dma控制器的编程结构及编程ppt课件_第1页
第1页 / 共48页
ch9_dma控制器的编程结构及编程ppt课件_第2页
第2页 / 共48页
ch9_dma控制器的编程结构及编程ppt课件_第3页
第3页 / 共48页
ch9_dma控制器的编程结构及编程ppt课件_第4页
第4页 / 共48页
ch9_dma控制器的编程结构及编程ppt课件_第5页
第5页 / 共48页
点击查看更多>>
资源描述

《ch9_dma控制器的编程结构及编程ppt课件》由会员分享,可在线阅读,更多相关《ch9_dma控制器的编程结构及编程ppt课件(48页珍藏版)》请在金锄头文库上搜索。

1、微型机原理与技术 CH9 DMA控制器的编程结构及编程,2,主要内容,DMA 控制器概要,DMA 控制器8237的原理,8237A的工作方式和寄存器,9.1,9.2,9.3,8237A各寄存器对应的端口地址,9.4,8237A的编程和应用,9.5,DMA 传输的特点,9.0,3,DMA DMA (Direct Memory Access):让存储器与高速外设直接进行数据交换而无需CPU的干预。 特点 DMA传送期间,DMA控制器(DMAC)接管了CPU对总线的控制权。 DMA方式中,内存地址的修改、传送结束的判断都由硬件电路实现。即:用硬件控制代替了软件控制。 DMA控制器是实现DMA传送的核

2、心器件。,9.0 DMA传送的特点,4,应用场合 DMA方式主要用于高速大批量传输数据的场合。如: 硬盘和软盘外设; 快速通信通道; 多处理机和多程序数据块传送; 图像处理中向CRC屏幕传送数据; 快速数据采集; DRAM的刷新操作。,9.0 DMA传送的特点,5,9.1 DMA控制器概要,6,DMA的传送过程分5个阶段: 1. 初始化阶段,9.1 DMA控制器概要,7,2. 申请阶段 当外设有DMA需求,并且已准备就绪,则向DMA控制器发出DMA请求信号DREQ。 DMA控制器接收到DMA请求信号后,向CPU发出总线请求信号HRQ。该信号连接到CPU的HOLD信号。,9.1 DMA控制器概要

3、,8,3. 响应阶段 CPU收到DMA的HRQ请求后,若允许DMA传输,则在当前总线周期结束后,释放总线控制权,并向DMAC发HLDA信号,通知其CPU已交出总线。,DMAC成为总线主控者,9.1 DMA控制器概要,9,4. 数据传送阶段 DMA控制器获得总线的控制权,向外设发送应答信号DACK,通知外设可以进行DMA传输了。 DMA控制器送出地址信号和控制信号,实现外设与内存的数据传输。,9.1 DMA控制器概要,10,5. 传送结束阶段 DMAC向外设发送EOP信号,外设撤销DREQ请求,同时HRQ和HLDA信号变为无效,DMAC释放总线,CPU重获总线控制权。,CPU重获总线控制权,DM

4、AC向外设发EOP信号,外设撤消DREQ信号,HRQ和HLDA变为无效,DMAC交出总线控制权,9.1 DMA控制器概要,DMA控制器8237A-5 的基本特点 8237A-5是一个高性能通用可编程DMAC。 具有4个独立的通道,通过级联方式进行扩充。最多可扩展4个从片,即16个DMA通道。每个通道可传输的最大数据块均为64KB。 可实现内存到外设、外设到内存以及内存到内存之间的高速数据传输,最高数据传输速率可达1.6MB/s。 具有多种控制方式和操作类型。,11,9.2 DMA控制器8237A的原理,12,9.2 DMA控制器8237A的原理,DMA控制器的2种状态 主动工作态:主模块在主动

5、工作状态下,DMAC取代处理器CPU,获得了对系统总线的控制权,成为系统总线的主控者,向存储器和外设发号施令。 被动工作态:从模块在被动工作状态下,DMAC接受CPU对它的控制和指挥。例如:对DMAC进行初始化编程以及从DMAC读取状态等。,1. 8237A的编程结构,8237A-5外部特性 概况40引脚双列直插封装。 引脚说明,13,9.2 DMA控制器8237A的原理,8237A内部结构 4个DMA通道和一个公共控制部分。 每个DMA通道包括: 基本地址寄存器、当前地址寄存器 基字节寄存器、当前字节计数器 公共控制部分: 工作方式寄存器、命令寄存器、状态寄存器 请求寄存器、屏蔽寄存器、暂存

6、寄存器,14,9.2 DMA控制器8237A的原理,15,9.2 DMA控制器8237A的原理,图9.1 8237A的编程结构和外部连接,(1) 请求与应答信号 DREQ3 DREQ0:DMA通道请求输入信号(由外设提供)。有效电平可高可低,由程序选定。 优先级:DREQ0最高, DREQ3最低。 DACK3 DACK0:DMA响应输出信号(外接外设)。有效电平可高可低,由程序选定。 8237A在同一个时间,只能有一个DACK应答信号有效。 HRQ:8237A-5向CPU发出的总线请求信号,高电平有效。 HLDA:CPU发给8237A-5的总线请求响应信号。高电平有效。有效时表示CPU已让出总

7、线。,16,9.2 DMA控制器8237A的原理,2. 8237A的外部信号,(2)地址信号线 A3 A0:地址线,双向三态。被动状态下,为输入,作为CPU对8237A内部的16个寄存器与计数器寻址之用。主动状态下,为输出,作为20位存储器地址的最低4位。 A7 A4:地址线,单向。主动状态下,为输出。作为访问20位存储器地址低8位中的高4位。,17,9.2 DMA控制器8237A的原理,2. 8237A的外部信号,(3)数据信号 DB7 DB0:地址数据复用线,双向三态。 被动状态下,为双向数据线。用于CPU对8237A进行初始化,或DMA传输结束后传送状态。 主动状态下,分时复用作为访问存

8、储器的高8位地址线和数据线。在存储器到存储器传送方式中,作为数据的输入输出端。,18,9.2 DMA控制器8237A的原理,2. 8237A的外部信号,(4)控制信号 CS:片选信号,低有效。被动状态下用于CPU对8237的寻址。 CLK:控制芯片内部操作和数据传输。 RESET:输入信号,复位8237A。 IOR/IOW:读写控制信号。 被动状态下,为输入。用于CPU向DMAC写命令或初始化参数,或CPU读取8237A内部寄存器状态。 主动状态下,为输出。对外设进行读写。 MEMR/MEMW:存储器读/写信号,单向输出。当8237A为主动工作状态时,对存储器进行读写。,19,9.2 DMA控

9、制器8237A的原理,2. 8237A的外部信号,ADSTB:地址选通信号。此信号有效时,DMA控制器的当前地址寄存器中的高8位地址通过DB0DB7送到外部锁存器。 AEN:地址允许。使地址锁存器中的高8位地址送地址总线。 READY:准备就绪信号。低电平时,8237A处于等待状态,高电平表示外设或存储器准备就绪。 EOP:DMA传输过程结束信号。DMA传送过程结束,则从EOP输出一个低有效脉冲。若从EOP输入低脉冲信号,则表明外部强制结束DMA传送。,20,9.2 DMA控制器8237A的原理,(4)控制信号,DMA的传送类型 数据传送:把源地址的数据传送到目的地址去。 DMA读:把数据由存

10、储器传送到外设。 DMA写:把外设输入的数据写入存储器。 存储器与存储器之间的传递。 读/写操作均是针对存储器而言。 数据校验:对数据块内的每个字节进行校验。 数据检索:在指定的内存区域内查找某个关键字节或某几个关键数据位是否存在,如果查到了,就停止检索。,9.3 8237A的工作方式和方式寄存器,22,单字节传送方式 每次传送一个字节,然后释放总线控制权。传送下一个字节时,重新申请使用总线。 特点 CPU在每个DMA周期结束后立即控制总线。对系统影响不大。 CPU和DMAC轮流控制系统总线,传输效率低。,9.3 8237A的工作方式和方式寄存器,1. 8237A的工作方式和方式寄存器,823

11、7A的四种工作方式,23,数据块传送方式 只要DMA一启动,DMAC始终占用总线,直到数据传送结束,或外部强制停止,才交出总线控制权。 特点 效率高。 DMA传输期间CPU长时间不能控制总线。若一次传输的数据较多,对系统会有一定响应。,8237A的四种工作方式,9.3 8237A的工作方式和方式寄存器,1. 8237A的工作方式和方式寄存器,24,请求传送方式 当8237A检测到DREQ请求时就传输一字节,当DREQ 无效,或操作结束,或由外部送来结束信号EOP,DMAC都会释放总线,把总线控制权交还CPU。 具体实现:每传完一个字节,DMAC都会检测外设的DREQ请求。若DREQ无效,则马上

12、停止DMA传输,将总线控制权交给CPU。 特点 实现灵活,DMA操作可由外设用DREQ信号控制发送过程。,8237A的四种工作方式,9.3 8237A的工作方式和方式寄存器,1. 8237A的工作方式和方式寄存器,25,26,级联传送方式 将多个DMAC连在一起,一个为主,其余为从。从片收到外设的DMA请求后,不是向CPU申请总线,而是向主片申请,再由主片向CPU申请。,8237A的四种工作方式,9.3 8237A的工作方式和方式寄存器,1. 8237A的工作方式和方式寄存器,27,8237A的方式寄存器,9.3 8237A的工作方式和方式寄存器,1. 8237A的工作方式和方式寄存器,例:P

13、C系列软盘读写操作选择DMA通道2,单字节传送,地址增1,不用自动预置,其写、读、校验操作的方式字分别如下: 写操作:01000110 = 46H。 读操作:01001010 = 4AH。 校验操作:01000010 = 42H。,9.3 8237A的工作方式和方式寄存器,1. 8237A的工作方式和方式寄存器,9.3 8237A的工作方式和方式寄存器,2. 8237A的控制寄存器和有关问题,(1) 8237A命令寄存器(只写),30,D7、D6:决定DREQ和DACK的有效电平。 D5:扩展写和不扩展写 D5=1:扩展写信号,表示写脉冲加宽。 D5=0:不扩展写信号,表示正常时序。 D4:控

14、制通道的优先权 D4=0:采用固定优先级,DREQ0最高,DREQ3最低。 D4=1:采用循环优先级。已服务过的通道优先权变为最低,其下一个通道优先权变为最高。,9.3 8237A的工作方式和方式寄存器,2. 8237A的控制寄存器和有关问题,(1) 8237A命令寄存器(只写),31,9.3 8237A的工作方式和方式寄存器,2. 8237A的控制寄存器和有关问题,(1) 8237A命令寄存器(只写),D3:时序类型 D3=0:普通时序,每传输一个字节需要3个时钟周期。 D3=1:压缩时序,每传输一个字节需要2个时钟周期。D2:启动和停止8237A的工作。 D2=0:启动;D2=1:停止。

15、该位影响所有的通道D1:通道0地址保持。用于内存到内存的传输。 D1=0:不保持。D1=1:保持。 配合D0位使用。,32,D0:允许和禁止内存到内存传输。 D0=1:允许。D0=0:禁止。 在实现内存到内存的传输时,需把源数据先送到8237的暂存器中,然后再送到目的区。这时,用通道0的地址寄存器存放源地址,用通道1的地址寄存器和字节计数器存放目的地址和计数值。传输时,目的地址寄存器的值正常加1或减1,但源地址寄存器的值可通过设置D1=1而保持不变,这样可使同一数据传输到整个选定的内存区域。,9.3 8237A的工作方式和方式寄存器,2. 8237A的控制寄存器和有关问题,(1) 8237A命

16、令寄存器(只写),33,【例】PC微机中的8237A-5,按如下要求工作:禁止存储器到存储器传送,正常时序,滞后写入,固定优先级,允许8237A-5工作,DREQ信号高电平有效,DACK信号低电平有效。已知写命令寄存器对应的地址为08H,请给出写命令的程序段。 命令字为 00000000H 写命令字代码段: MOV AL, 00H OUT 08H, AL,9.3 8237A的工作方式和方式寄存器,2. 8237A的控制寄存器和有关问题,34,低4位表示哪些DMA通道传送结束。 高4位表示哪些通道有DMA请求还未处理。 状态位在复位或被读出后,均被清零。,9.3 8237A的工作方式和方式寄存器,3. 8237A的状态寄存器的格式,35,(1)请求标志和请求寄存器(只写) 一般DMA请求由硬件发出,通过DREQ引脚引入DMA请求。但也可通过软件来发出DMA请求。 若是内存到内存传输,则必须由软件请求启动通道0。 仅适用于块传输方式,传送结束信号EOP自动清除请求位。,9.3 8237A的工作方式和方式寄存器,4. 8237A的请求标志、屏蔽标志和复位命令,

展开阅读全文
相关资源
相关搜索

当前位置:首页 > 办公文档 > PPT模板库 > PPT素材/模板

电脑版 |金锄头文库版权所有
经营许可证:蜀ICP备13022795号 | 川公网安备 51140202000112号