新微型计算机接口技术(第二版) 教学课件 古辉 刘均 雷艳静 第4章 DMA技术.ppt

新微型计算机接口技术(第二版) 教学课件 古辉 刘均 雷艳静 第4章 DMA技术.ppt

  1. 1、本文档共77页,可阅读全部内容。
  2. 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
* * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * (2) 初始化编程 * OUT 5DH,AL ; 总清命令 MOV AL, 0 ; 写基字节和当前字节寄存器(低字节) OUT 50H,AL ; 54K = D800H MOV AL, 0D8H ; 写基字节和当前字节寄存器(高字节) OUT 50H,AL MOV AL, 78H ; 写基地址和当前地址寄存器(低字节) OUT 50H,AL MOV AL, 56H ; 写基地址和当前地址寄存器(高字节) OUT 50H,AL * MOV AL, 1000 0100H ; 工作方式:块传输,地址增量 OUT 5DH,AL ; 非预置,DMA写,通道0 MOV AL, ; 通道0不被屏蔽 OUT 50H,AL ; 使用单通道屏蔽寄存器 MOV AL, 1010 0000H ; 命令寄存器:DACK和DREQ高 OUT 58H,AL ; 启动8237A,非M→M传输 MOV AL, ; 通道0有请求 OUT 59H,AL ; 请求寄存器 8237A 工作周期分为2类:空闲周期和有效周期。 空闲周期 Si 复位后8237A处于空闲周期。此时,8237A处于被动状态,CPU可对其进行初始化;或虽已初始化,但尚未有DMA请求。 有效周期 8237A获得外设的DMA请求后,从空闲周期转入有效周期。此时,它作为主控芯片,控制DMA的传输过程。 有效周期由 S0 ~ S4 5个周期组成。 * (6) 8237A 的工作时序 S0:等待周期 8237A收到外设的DREQ请求,并向CPU发送HRQ后,就从空闲周期 Si 转入等待周期 S0,并重复执行 S0,等待CPU让出总线控制权。 处在S0状态,若收到CPU发来的HLDA响应,即CPU已让出总线控制权,则S0状态结束,准备进入DMA操作状态。 * S1:更新高 8 位地址 8237A 用DB7 ~ DB0送出高8位地址 A15 ~ A8,同时使ADSTB和AEN有效,使得高8位地址首先送入锁存器,然后再从锁存器送入总线系统。 由于传输一段连续的数据块时,存储器地址总是相邻的,其高8位地址往往不变,这样在传输下一个字节时就无需更新高8位地址,此时S1可省略。 只有低8位向高8位进位时才会再次更新高8位地址,故每传送256个字节才出现一个S1周期。 * S2:发DACK寻址I/O设备,并输出16位RAM地址和读信号 8237A 向外设发DACK信号,启动外设工作,同时发出16位RAM 地址线。 如果为读内存操作,则向存储器发 MEMR信号。 如果为读外设操作,则向外设发IOR信号。 * S3:发写操作的控制信号 如果是向内存写操作,则向存储器发 MEMW信号。如果是向外设写操作,则向外设发IOW信号。 S3 状态结束时,若Ready信号无效,则插入一个等待周期 Sw,延续S3的各种状态。 S3 或 Sw 状态结束时,若Ready信号有效,则进入S4周期。 S4:结束本次一个字节的传输 如果整个数据块DMA传输结束,则后面紧接着是 Si 周期。 如果还有下一个字节需要传输,则再次重复S1 ~ S4的过程。 * * * Si Si S0 S0 S1 S2 S3 S4 SW SW DREQ HLDA 就绪 未就绪 空闲状态 请求应答状态 数据传输状态 块字节 单字节 8237A的内部状态转换图 * 内容概要 DMA 控制器 8237A 2 PC中的 DMA应用 3 DMA 概述 1 8237A的内部结构 8237A的外部引脚 8237A的寄存器功能 8237A的寄存器地址分配 8237A的编程 8237A的工作时序 (1) DMA系统的组成 为了实现DMA传送,除了DMA控制器外,一般还需其它配套芯片。 一个完整的DMA系统包括以下几部分: 8237A DMA控制器 地址锁存器 DMA页面地址寄存器 总线控制器 总线仲裁器 4.3 PC机中的 DMA 应用 * * 存储器地址的生成 8237A只能生成16位地址 ( A7~A0,DB7~DB0),而PC机地址总线有20位、24位、32位等。 解决办法:为了能寻址到所

文档评论(0)

时间加速器 + 关注
实名认证
内容提供者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档