资源描述:
《微机原理与接口技术(第二版) 教学课件 作者 马维华 主编1,3,4,5,8,9,10,11章十一五教材讲稿第9章DMA控制器及外存接口.ppt》由会员上传分享,免费在线阅读,更多相关内容在教育资源-天天文库。
1、第9章DMA控制器及外存接口【本章提要】介绍DMA控制器8237的组成、工作原理及其编程方法,介绍硬盘控制器接口以及RAID技术。【学习目标】了解DMA一般结构及DMA读写信号的产生方法了解DMA控制器芯片8237的组成及工作原理熟悉8237的编程应用了解硬盘适配器常用接口及特点熟悉SATA接口及引脚信号,掌握SATA的主要特点了解RAID技术及主要特点,RAID的几种工作模式第9章DMA控制器及外存接口DMA及DMA控制器9.1硬盘控制器接口9.2RAID技术概述9.3本章主要内容9.1DMA及DMA控制
2、器2021/7/22DMA方式输出单个数据示例2021/7/22DMA控制信号的产生电路4二选一数据选择器2021/7/22DMA控制信号的产生组合HLDA(G)M/IO(A/B)W/R产生的信号及操作类型000/IORC,读I/O001/IOWC,写I/O010/MRDC,读存储器011/MWTC,写存储器1××输出高阻,无效操作2021/7/22二、DMA控制器82372021/7/228237引脚信号(1)CLK时钟;/CS片选信号,低电平有效;RESET复位输入信号,高电平有效。READY准备好信号
3、,高电平有效。AEN地址允许输出,高电平有效。ADSTB地址选通输出,高电平有效。/MEMR存储器读输出信号,低电平有效(三态)。/MENW存储器写输出,低电平有效(三态)。/IORI/O读,双向三态,低电平有效。在芯片空闲期间,作为输入控制信号,用于微处理器读内部寄存器;在DMA写操作期间,作为输出控制信号,从I/O器件读取数据准备写入到存储器。2021/7/228237引脚信号(2)/IOWI/O写,双向三态,低电平有效。在芯片空闲期间,作为输入控制信号,用于微处理器写入编程信息到内部寄存器;在DMA读
4、操作期间,作为输出控制信号,将存储器读出的数据写入I/O器件中。/EOP过程结束双向信号线,低电平有效。一旦接收到有效的信号,8237立即终止DMA服务并复位内部的寄存器。DERQ3~DERQ04个DMA通道的请求信号;HRQ总线请求输出信号,高有效。HLDA总线准总线保持响应输入信号,高电平有效。A0~A3地址低4位,双向三态。A4~A7地址高4位,三态输出。DB0~DB7数据线8位,双向。2021/7/228237的工作模式1.单字节传输方式在单字节传送时,传送一个字节数据后,字节计数器自动减1,地址寄
5、存器加1或减1修正,随后撤消HRQ信号,退出DMA,向微处理器交还总线控制权。2.块传输方式在块方式下,一旦开始传送,就会一个字节一个字节进行下去,直到完成预定数据块的字节数才交出系统的总线控制权。3.请求传输方式请求传输方式也用于成块数据的传输,与块传送方式相比,仅增加了一个功能,即用DREQ信号无效来打断传输过程。4.级联方式级联方式是为扩展DMA通道采用的一种方式,在这种方式下,可以把一片8237和几片8237进行级联。2021/7/22三、8237主要寄存器命令寄存器2021/7/22模式控制寄存器
6、2021/7/22状态寄存器2021/7/22屏蔽寄存器两种模式(a)格式:地址000AH(b)格式:地址000FH2021/7/22请求寄存器2021/7/22四、DMA控制器的编程及应用8237编程的一般步骤(1)发送主清除命令(2)写入基地址和当前地址寄存器(3)写入基字节数和当前字节数寄存器(4)写入模式控制字(5)写入屏蔽寄存器(6)写入控制寄存器(7)写入请求寄存器2021/7/228237寄存器地址中2021/7/22DMA编程示例1【例】如果利用通道1从外设输入54KB的一个数据块,传送至5
7、678H开始的存储区域(增量传送),采用块传送方式,传送完不自动初始化,外设的DREQ和DACK都为高电平有效。已知8237的端口地址为00H-0FH。2021/7/22编程示例解OUT0DH,AL;主清除命令,0DH对应主清命令地址DH=1101BMOVAL,78H;基地址和当前地址的低8位78HOUT00H,ALMOVAL,56H;基地址和当前地址的高8位56HOUT00H,ALMOVAL,00H;基字节数和当前字节数低8位(54K=0D800H)OUT01H,ALMOVAL,0D8H;基字节数和当前字
8、节数高8位OUT01H,ALMOVAL,85H;模式控制字OUT0BH,ALMOVAL,01H;屏蔽控制字,使通道1的屏蔽位复位(不屏蔽)OUT0FH,ALMOVAL,80H;命令字OUT08H,AL2021/7/22DMA编程示例2【例】AT兼容机系统中,两个8237(为方便起见,尽管不是8237,但由于与其兼容,仍说成8237)的DMA通道的地址如下:主DMA控制器占用地址0000H-000FH,级联的DMA