微机原理与接口技术 教学课件 ppt 作者 周国运 微机原理与接口技术8

上传人:E**** 文档编号:89501002 上传时间:2019-05-26 格式:PPT 页数:22 大小:1.48MB
返回 下载 相关 举报
微机原理与接口技术 教学课件 ppt 作者 周国运 微机原理与接口技术8_第1页
第1页 / 共22页
微机原理与接口技术 教学课件 ppt 作者 周国运 微机原理与接口技术8_第2页
第2页 / 共22页
微机原理与接口技术 教学课件 ppt 作者 周国运 微机原理与接口技术8_第3页
第3页 / 共22页
微机原理与接口技术 教学课件 ppt 作者 周国运 微机原理与接口技术8_第4页
第4页 / 共22页
微机原理与接口技术 教学课件 ppt 作者 周国运 微机原理与接口技术8_第5页
第5页 / 共22页
点击查看更多>>
资源描述

《微机原理与接口技术 教学课件 ppt 作者 周国运 微机原理与接口技术8》由会员分享,可在线阅读,更多相关《微机原理与接口技术 教学课件 ppt 作者 周国运 微机原理与接口技术8(22页珍藏版)》请在金锄头文库上搜索。

1、微机原理与接口技术 第8章 DMA技术,主编:周国运 机械工业出版社 2011.9,第8章 DMA技术,本章内容 8.1 8237A的组成和工作原理 8.2 8237A的工作方式和寄存器 8.3 8237A在PC机中的应用,本章介绍了DMA控制芯片8237A的内部结构、引脚定义、工作方式以及寄存器格式和定义。然后又讨论了8237A的软命令,和8237A的应用。 通过本章的学习,了解DMA的工作原理和8237A芯片的内部结构,掌握8237A的工作方式以及寄存器格式和软命令,并最终掌握8237A的应用编程。,8.1 8237A的组成和工作原理,一、DMA 直接存储器存取(Direct Memory

2、 Access)简称为DMA,是在存储器和I/O设备之间建立数据通路,让I/O设备和内存通过该数据通路直接交换数据。 DMA技术可以在没有CPU干预的情况下,实现内存与外设,或者外设与外设之间的快速数据传输。,8.1 8237A的组成和工作原理,二、8237A的主要特点 Intel 8237A 芯片是高性能的可编程 DMA 控制器,其主要特点如下: 每个8237A芯片有4个DMA通道。 每个DMA通道具有不同的优先权。 每个DMA通道可以分别允许和禁止。 每个DMA通道有4种工作方式。 一次传送的最大长度可达64KB,其数据传送率可达1.5Mb/s。 多个8237A芯片可以级连,扩展通道。,8

3、.1 8237A的组成和工作原理,三、8237A的结构,8.1 8237A的组成和工作原理,1基本控制逻辑单元 (1)时序与控制逻辑 根据初始化编程时所设置的工作式,产生8237A内部定时信号和外部控制信号。 (2)优先级编码单元 CPU对8237A送来的初始化命令所设置的优先权,对外设同时提出的多个DMA请求,进行排队判优,裁决各通道的优先次序。 (3)命令控制单元 CPU控制总线,8237A处于从属状态时,对CPU送来的初始化命令进行译码;当8237A控制总线,CPU脱离总线时,对设定的DMA工作方式字进行译码。,8.1 8237A的组成和工作原理,2缓冲器 (1)地址I/O缓冲器 4位双

4、向的三态缓冲器,在CPU控制总线时,将地址总线的低4位A3A0送入8237A进行译码,选通内部寄存器,在IOW有效时,将数据总线的数据写入所选通的内部寄存器中;在IOR有效时,将所选通的寄存器内容送到总线上。 (2)数据I/O缓冲器 8位双向的三态缓冲器,是8237A与系统数据总线的接口,CPU对8237A的编程控制字、CPU从8237A 中读取的状态字、当前地址、字节计数器的内容,经过它进行输入输出。 (3)输出缓冲器 4位三态输出缓冲器,在8237A控制总线时导通,8237A提供的16位存储器地址中的A7A4由此送出。,8.1 8237A的组成和工作原理,四、8237A的引脚信号 A0A3

5、:4根低地址线,双向三态。 DB0DB7:双向三态双功能线。 IOR/IOW :I/O读/写信号,双向。 DREQ0DREQ3:DMA通道请求。 DACK0DACK3:DMA通道响应。 HRQ:总线请求。 HLDA:总线响应。 ADSTB:地址选通,输出。 AEN:地址允许,输出。 MEMR:存储器读。 MEMW:存储器写。 READY:准备好。 EOP:过程结束。 CS:片选。,8.1 8237A的组成和工作原理,五、8237A的工作周期及时序,8.1 8237A的组成和工作原理,1DMA空闲周期SI 在没有DMA请求时,8237A会进入空闲周期。 2DMA过渡状态S0 当8237A检测到D

6、REQ请求有效,则表示有外设要求DMA传送,此时,8237A即向CPU发出总线请求信号HRQ。DMAC发出HQR之后,8237A的时序从SI状态跳出进入S0状态,并重复执行S0状态,直到收到CPU的应答信号HLDA,得到总线控制权后,才结束S0状态,进入S1状态。 3DMA有效周期 8237A得到总线控制权后,进入有效周期,开始传送数据。一个完整的DMA传送周期包括S1,S2,S3和S4个状态。如果存储器或外设的速度跟不上,可在S3和S4之间插入等待状态周期SW。,8.2 8237A的工作方式和寄存器,一、8237A的工作方式 1通道数据传输方式 8237A的每个通道传输数据都有4种方式: (

7、1)单字节传输方式 (2)数据块传输方式 (3)请求传送方式 (4)级联方式 2通道优先级方式 8237A的优先级设置有2种方式: 固定优先级和循环优先级。,8.2 8237A的工作方式和寄存器,二、8237A的寄存器 18237A寄存器的主要功能 8237A内部有12类,共27个寄存器,其中每个通道都有独立的基地址寄存器、基字节数计数器、当前地址寄存器、当前字节数寄存器和方式控制寄存器。其他的寄存器则是公用的。,8.2 8237A的工作方式和寄存器,8.2 8237A的工作方式和寄存器,28237A主要寄存器格式,8.2 8237A的工作方式和寄存器,28237A主要寄存器格式,8.2 82

8、37A的工作方式和寄存器,38237A寄存器的端口地址分配及读/写操作,8.2 8237A的工作方式和寄存器,三、8237A的软命令 (1)主清除命令 主清除命令与硬件的RESET信号具有相同作用。执行这条命令后,命令、状态、请求、暂存寄存器以及先/后触发器都被复位,屏蔽寄存器被置位。然后,8237A处于空闲周期。 主清除命令是对0DH地址写入任意值。,8.2 8237A的工作方式和寄存器,(2)清除先/后触发器命令 当先/后触发器为0时,读写低位字节,为1时则读写高位字节。触发器在每次读写这组寄存器后都翻转一次。 该命令是对0CH地址写入任意值。 (3)清屏蔽寄存器命令 执行这个命令将清除全

9、部4个通道的屏蔽寄存器,使它们允许接收DMA请求。 清屏蔽寄存器命令是对0EH地址写入任意值。,8.3 8237A在PC机中的应用,例8-2 某微机系统,采用一片8237A传送数据,通过通道0将磁盘输入的1K数据块,送到内存6000H单元开始的区域,采用增量、块连续方式,禁止自动预置,磁盘的DREQ、DACK线都是高电平有效,设DMA地址是00H0FH,进行初始化。,8.3 8237A在PC机中的应用,MOV AL,04H ;禁止8237工作 OUT 08H,AL ;禁止DMA工作 OUT 0DH,AL ;复位命令 MOV AL,00H ;设定基地址和当前地址寄存器 OUT 00H,AL ;送基地址和当前地址低8位 MOV AL,60H OUT 00H,AL ;送基地址和当前地址高8位 MOV AX,0400H ;传送的总字节数1K DEC AX,8.3 8237A在PC机中的应用,OUT 01H,AL ;字节数的低8位 MOV AL,AH OUT 01H,AL ;字节数的高8位 MOV AL,10000100B OUT 0BH,AL ;工作方式 MOV AL,00H ;00H=00000000B OUT 0AH,AL ;写入屏蔽字,通道0屏蔽位清0 MOV AL,80H ;80H=100000000B OUT 08H,AL ;写入命令字,

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

当前位置:首页 > 高等教育 > 大学课件

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