- 1、本文档共45页,可阅读全部内容。
- 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
第11章ma控制器
第11章 DMA控制器 11.1 DMA系统概述 11.2 可编程DMA控制器8237A 11.3 8237A DMA可编程控制在微机系统中的应用 11.1 DMA系统概述 11.1.1 DMA概述 11.1.2 DMA的功能 11.1.1 DMA概述 DMA方式就是直接存储器存取工作方式。在DMA方式下,外设通过DMA控制器向CPU提出接管总线控制权的总线要求,CPU在当前的总线周期结束后,响应DMA请求,并把总线控制权交给DMA控制器。在DMA控制器的管理下,外设和寄存器之间就可以直接进行数据交换。 11.1.2 DMA的功能 (1)外设通过DMA控制器向CPU提出DMA申请。 (2)DMA控制器接受外设的DMA请求,取得总线控制权。 (3)总线载决逻辑对总线申请进行载决,把总线控制权交给DMA控制器。 (4)DMA控制器通知外设DMA应答,开始进入DMA传输。 (5)DMA控制器按传输数据的长度直接控制外设与RAM进行数据交换。 (6)DMA操作结束,DMA控制器向外设输出计数终止信号,通过接口提出中断申请,并把总线控制权交给CPU,完成一次DMA数据传控。 11.2 可编程DMA控制器8237A 11.2.1 8237A的内部结构 11.2.2 8237A的外部引脚及其功能特性 11.2.3 8237A内部寄存器及其作用 11.2.1 8237A的内部结构 其内部结构如图4.1所示。 1.地址寄存器 地址寄存器、基地址寄存器、当前地址寄存器 2.字节数寄存器 字节数寄存器、基本字节寄存器、当前字节计数器 11.2.2 8237A的外部引脚及其功能特性 8237A的外部引脚共有40个,如图4.2所示。各引脚功能特性如下: 11.2.3 8237A内部寄存器及其作用 1.工作方式 2.方式寄存器 3.控制存储器 4.状态寄存器 5.请求寄存器 6.屏蔽寄存器 7.先/后触发器 8.8237A各寄存器的端口地址 11.3 8237A DMA可编程控制在微机系统中的应用 11.3.1 8237A的编程及其应用 11.3.2 编程实例 11.3.3 8237A DMA可编程控制与微机系统的接口电路 11.3.1 8237A的编程及其应用 1.DMA的系统结构及主要性能 2.8237A编程 11.3.2 编程实例 11.3.3 8237A DMA可编程控制与微机系统的接口电路 1.用于将数据从存储器传送到I/O接口的DMA控制电路 2.用于将数据从I/O接口传送到内存的接口电路 图 4.3 DMA系统逻辑结构示意图 表4.7 PC/AT微机DMA系统的基本性能 (1)初始化通道方式寄存器。 (2)预置该通道的基地址和当前地址寄存器(低16位)与页面寄存器(高4位或高8位)。 (3)求传输的字节数,将其值减1并预置该通道的基地址及当前字节(或字节计数器)。 (4)判断传输的数据量是否已经超出边界,若出界则返回错误代码。 (5)开放通道,并允许DREQ请求。 返回本节 (1)初始化通道方式寄存器。 (2)预置该通道的基地址和当前地址寄存器与页面寄存器。 (3)求传输的字节数,将其值减1并预置该通道的基地址及当前字节。 (4)判断传输的数据量是否已经超出边界,若出界则返回错误代码。 (5)开放通道,并允许DREQ请求。 ;初始化通道2 ;入口参数:AL=DMA方式字节 ;读盘(DMA写)=046H ;写盘(DMA读)=04AH ;DH=传输的扇区数 ;ES:BX=RAM缓冲区首地址 ;定义要使用的符号 DMA EQU 0 ;第0片DMA通道端口 下面为PC/AT机的软盘驱动器与存储器RAM之间进行数据交换的实例。 DMA1 EQU 0C0H ;第1片DMA通道端口 DAM08 EUQ 08 ;第0片DMA命令寄存器地址 DMA18 EUQ 0D0H ;第1片DMA命令寄存器地址 D—SET PROC NEAR ;DMA 初始化过程 PUSH CX ;保存CX寄存器 CLI ;关中断 OUT DMA+12 ,AL ;清除先/后触发器 JMP SHORT $+2 ;满足DMA的I/O定时要求 ;初始化方式寄存 OUT DMA+11,AL ;写方式寄存 MOV AX,ES ;取寄存器RAM段地址 MOV CL,4 ; ROL AX,CL ;循环左移4 MOV CH,AL ;高4位保存在CH AND AL,0F0H
文档评论(0)