微机原理与接口技术(第二版) 教学课件 作者 马维华 主编1,3,4,5,8,9,10,11章 十一五教材讲稿第9章DMA控制器及外存接口.ppt

微机原理与接口技术(第二版) 教学课件 作者 马维华 主编1,3,4,5,8,9,10,11章 十一五教材讲稿第9章DMA控制器及外存接口.ppt

  1. 1、本文档共31页,可阅读全部内容。
  2. 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
第9章 DMA控制器及外存接口 【本章提要】 介绍DMA控制器8237的组成、工作原理及其编程方法,介绍硬盘控制器接口以及RAID技术。 【学习目标】 了解DMA一般结构及DMA读写信号的产生方法 了解DMA控制器芯片8237的组成及工作原理 熟悉8237的编程应用 了解硬盘适配器常用接口及特点 熟悉SATA接口及引脚信号,掌握SATA的主要特点 了解RAID技术及主要特点,RAID的几种工作模式 第9章 DMA控制器及外存接口 本章主要内容 9.1 DMA及DMA控制器 DMA方式输出单个数据示例 DMA控制信号的产生电路 DMA控制信号的产生组合 二、DMA控制器8237 8237引脚信号(1) CLK时钟; /CS片选信号,低电平有效; RESET 复位输入信号,高电平有效。 READY 准备好信号,高电平有效。 AEN 地址允许输出,高电平有效。 ADSTB 地址选通输出,高电平有效。 /MEMR 存储器读输出信号,低电平有效(三态)。 /MENW 存储器写输出,低电平有效(三态)。 /IOR I/O读,双向三态,低电平有效。在芯片空闲期间,作为输入控制信号,用于微处理器读内部寄存器;在DMA写操作期间,作为输出控制信号,从I/O器件读取数据准备写入到存储器。 8237引脚信号(2) /IOW I/O写,双向三态,低电平有效。在芯片空闲期间,作为输入控制信号,用于微处理器写入编程信息到内部寄存器;在DMA读操作期间,作为输出控制信号,将存储器读出的数据写入I/O器件中。 /EOP 过程结束双向信号线,低电平有效。一旦接收到有效的信号,8237立即终止DMA服务并复位内部的寄存器。 DERQ3~DERQ0 4个DMA通道的请求信号; HRQ 总线请求输出信号,高有效。 HLDA 总线准总线保持响应输入信号,高电平有效。 A0~A3 地址低4位,双向三态。 A4~A7 地址高4位,三态输出。 DB0~DB7 数据线8位,双向。 8237的工作模式 1.单字节传输方式 在单字节传送时,传送一个字节数据后,字节计数器自动减1,地址寄存器加1或减1修正,随后撤消HRQ信号,退出DMA,向微处理器交还总线控制权。 2.块传输方式 在块方式下,一旦开始传送,就会一个字节一个字节进行下去,直到完成预定数据块的字节数才交出系统的总线控制权。 3.请求传输方式 请求传输方式也用于成块数据的传输,与块传送方式相比,仅增加了一个功能,即用DREQ信号无效来打断传输过程。 4.级联方式 级联方式是为扩展DMA通道采用的一种方式,在这种方式下,可以把一片8237和几片8237进行级联。 三、8237主要寄存器 命令寄存器 模式控制寄存器 状态寄存器 屏蔽寄存器 两种模式 请求寄存器 四、DMA控制器的编程及应用 8237编程的一般步骤 (1) 发送主清除命令 (2) 写入基地址和当前地址寄存器 (3) 写入基字节数和当前字节数寄存器 (4) 写入模式控制字 (5) 写入屏蔽寄存器 (6) 写入控制寄存器 (7) 写入请求寄存器 8237寄存器地址 中 DMA编程示例1 【例】如果利用通道1从外设输入54KB的一个数据块,传送至5678H开始的存储区域(增量传送),采用块传送方式,传送完不自动初始化,外设的DREQ和DACK都为高电平有效。已知8237的端口地址为00H-0FH。 编程示例解 OUT 0DH, AL ;主清除命令,0DH对应主清命令地址DH=1101B MOV AL, 78H ;基地址和当前地址的低8位78H OUT 00H, AL MOV AL, 56H ;基地址和当前地址的高8位56H OUT 00H, AL MOV AL, 00H ;基字节数和当前字节数低8位(54K=0D800H) OUT 01H, AL MOV AL, 0D8H ;基字节数和当前字节数高8位 OUT 01H, AL MOV AL, 85H ;模式控制字 OUT 0BH, AL MOV AL, 01H ;屏蔽控制字,使通道1的屏蔽位复位(不屏蔽) OUT 0FH,AL MOV AL, 80H ;命令字 OUT 08H, AL DMA编程示例2 【例】AT兼容机系统中,两个8237(为方便起见,尽管不是8237,但由于与其兼容,仍说成8237)的DMA通道的地址如下: 主DMA控制器占用地址0000H-000FH,级联的DMA控制器0C0H-0DFH(实际只用到C0H-CFH)。 在X86系统的BIOS中,对8237初始化程序,包括对其中每一个通道的当前地址和基地址以及基本字节数寄存器写入0FFFFH,然后读出检查,若有错,便停止系统的工作,接着写入全0再检查是否正确。

您可能关注的文档

文档评论(0)

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

1亿VIP精品文档

相关文档