- 1、本文档共32页,可阅读全部内容。
- 2、有哪些信誉好的足球投注网站(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
第九章 微型计算机常用接口技术 《微机原理与接口技术》 9.4 DMA控制器 DMA传送是外设和存储器传送数据的各种方式中速度最快的一种。 DMA传送是在脱离CPU控制的情况下进行的。传送过程不执行任何指令。 DMA传送必须有DMA控制器的支持,由DMA控制器产生产生传送的控制信号。 DMA控制器的功能 能接收外设的请求,向CPU发出DMA请求信号; 当CPU发出DMA响应信号后,接管对总线的控制,进入DMA方式; 能输出地址信息和修改地址; 能向存储器和外设发出相应的读/写控制信号; 能控制传输的字节数,判断DMA传输是否结束; 在DMA传输结束后,能结束DMA请求信号,释放总线,使CPU恢复正常工作。 8237A DMA控制器 主要功能 具有4个独立的DMA通道。 每个通道的DMA请求都可以单独控制。 每个通道的DMA请求的优先权,编程可设。 每次传送的数据最多为64KB。 有四种传送方式: 单字节传送方式 数据块传送方式 请求传送方式 级连方式 可以通过级联增加DMA通道的数量。 允许外设到存储器的快速传送,也允许存储器到存储器的快速传送 结束处理的输入信号线EOP。 DREQ和DACK的有效电平可以设置。 8237A的结构及引脚 每个通道有各自的: 16位基地址寄存器和当前地址寄存器; 16位基字节计数器和当前字节计数器; 8位方式寄存器; 1位DMA请求触发器; 1位屏蔽触发器 8237A的结构及引脚 基地址寄存器存放本通道DMA传输时的地址初值。 编程时初值同时被写入当前地址寄存器,每次DMA传输后自动加1或者减1。CPU可以用输入指令分两次读出当前地址寄存器中的值,每次读8位。 基地址寄存器中的值不能读出。 一个通道设置成自动预置模式,当前字节数计数器内容减至0时,基地址寄存器内容自动复制到当前地址寄存器。 基本字节数寄存器存放DMA传输字节数的初值。 初值同时被写入当前字节数寄存器。每次DMA传送一个字节,当前字节数计数器的内容减1,当减至0时,产生DMA传输结束信号EOP。 一个通道设置成自动预置模式,基字节数寄存器内容会自动复制到当前字节数计数器中。当前字节数计数器内容可由CPU通过两条指令读出。 8237A内部寄存器 8237A的结构及引脚 数据地址信号: DB0~7: (从设备)既是CPU向8237的数据通道(输入或输出); (主设备)主动状态时为向存储器输出的高8位地址A8~15 ,通过信号ADSTB锁存到外部地址锁存器 。 A0~7:分两部分: A0~3为双向,(从设备)由CPU输入时选择8237的端口, (主设备)输出时A0~3和A4~7一起输出存储器低8位地址。 CS:片选信号,决定8237的高位地址。 ADSTB——地址选通输出信号,把当前地址寄存器中的高8位地址(通过DB0~DB7)锁存到外部锁存器中。 AEN:高电平输出,地址输出允许。 以上两个信号将锁存高8位地址并送到地址总线上。 AEN信号也将在DMA传送时禁止其他设备占用总线。 8237A的结构及引脚 8237A的结构及引脚 其他信号: CLK——时钟输入端,8237A的时钟频率为4MHz。 READY:输入,高电平表示传送准备好。用来调整读写时序。 EOP:DMA过程结束信号,负脉冲输出时表示传送结束,任一个通道中计数器结束,会使DMA控制器内部的请求寄存器复位。负脉冲输入时强制结束DMA过程。 RESET:复位信号。 8237A的结构及引脚 DMA请求和应答信号: DREQ0~3:外设向8237的DMA请求,同时申请时DREQ0级别最高,直到响应信号DACK以后,I/O接口才能撤消DREQ ; DACK0~3:8237向外设的DMA应答,CPU送来总线允许信号HLDA后,便产生相应的DACK信号 HRQ:8237向CPU的DMA请求信号; HLDA:CPU向8237的DMA应答信号; HRQ和HLDA为高电平有效 DREQ和DACK的有效电平(极性)可由编程选择 8237A的两种工作状态 被动状态(空闲周期):DMA控制器受CPU控制的状态。主要是对DMA控制器进行初始化编程。 复位后处于从控状态,编程初始化,外设向8237A请求传输(DREQ),8237A再向CPU请求总线(HRQ); 8237A接收16位地址,用高12位地址产生片选信号,用低4位地址来选择内部寄存器; IOR为低电平时,CPU读取8237A内部寄存器的值;当IOW为低电平时,CPU将数据写入8237A的内部寄存器。输出AEN为低电平。 8237A的两种工作状态 主动状态(有效周期):DMA控制数据传送的状态。它既发出IOR或IOW控制外设,也发出MEMR或MEMW信号控制存储器。 收到CPU允许使用总线的通知(HLDA)后,82
文档评论(0)