欢迎来到三一办公! | 帮助中心 三一办公31ppt.com(应用文档模板下载平台)
三一办公
全部分类
  • 办公文档>
  • PPT模板>
  • 建筑/施工/环境>
  • 毕业设计>
  • 工程图纸>
  • 教育教学>
  • 素材源码>
  • 生活休闲>
  • 临时分类>
  • ImageVerifierCode 换一换
    首页 三一办公 > 资源分类 > PPT文档下载  

    微机原理与接口技术课件:07dma控制器8237a.ppt

    • 资源ID:5975733       资源大小:1.78MB        全文页数:58页
    • 资源格式: PPT        下载积分:15金币
    快捷下载 游客一键下载
    会员登录下载
    三方登录下载: 微信开放平台登录 QQ登录  
    下载资源需要15金币
    邮箱/手机:
    温馨提示:
    用户名和密码都是您填写的邮箱或者手机号,方便查询和重复下载(系统自动生成)
    支付方式: 支付宝    微信支付   
    验证码:   换一换

    加入VIP免费专享
     
    账号:
    密码:
    验证码:   换一换
      忘记密码?
        
    友情提示
    2、PDF文件下载后,可能会被浏览器默认打开,此种情况可以点击浏览器菜单,保存网页到桌面,就可以正常下载了。
    3、本站不支持迅雷下载,请使用电脑自带的IE浏览器,或者360浏览器、谷歌浏览器下载即可。
    4、本站资源下载后的文档和图纸-无水印,预览文档经过压缩,下载后原文更清晰。
    5、试题试卷类文档,如果标题没有明确说明有答案则都视为没有答案,请知晓。

    微机原理与接口技术课件:07dma控制器8237a.ppt

    1 DMA控制器概要2 8237A的编程结构和外部引脚3 8237A的工作模式和模式寄存器4 8237A的工作时序5 8237A的控制寄存器和状态寄存器6 8237A各寄存器对应的端口地址,目录,1 DMA控制器概述,一、DMA(Direct Memory Access)控制器概念,数据传送三种方式:查询、中断和DMA(直接存储器存取)查询、中断:需要累加器中转;修改地址、判断结束软件完成;DMA:不经过累加器;地址修改、判断结束硬件实现;主要用于高速、大批量数据传送。如磁盘存取、高速数据采集;以增加硬件的复杂性为代价;DMA传送期间CPU挂起,可能影响中断响应与处理。不适用于小系统、速度要求不高、数据不大的系统。,1 DMA控制器概述,一、DMA控制器概念:,DMA(Direct Memory Access):直接存储器存取技术,是一种不需要CPU干预也不需要软件介入的高速数据传送方式。CPU只是启动DMA过程,但是不干预这一过程,整个DMA过程是由硬件自动完成的,也不需要软件的介入。在DMA控制器的控制下,可以实现外设到和内存,内存到内存的数据传输。,无需CPU指令,1 DMA控制器概述,二、DMA控制器工作过程:,DMA控制器的工作过程分为四个阶段,分别是:申请阶段响应阶段数据传送阶段传送结束阶段。,1 DMA控制器概述,二、DMA控制器工作过程-申请阶段,1.外设向DMAC发出DMA请求信号DREQ(DMA Request);2.DMAC向CPU发总线请求信号HRQ(Hold Request)。,1 DMA控制器概述,二、DMA控制器工作过程-响应阶段,1.CPU向DMA发总线保持回答信号HLDA。状态:CPU让出总线,DMAC为主控者。,1 DMA控制器概述,二、DMA控制器工作过程-数据传送阶段,1.DMAC向外设发DMA请求回答信号DMACK,选中外设。2.并通过AB选中内存单元3.通过DB将数据从源端传送到目的端。,1 DMA控制器概述,二、DMA控制器工作过程-传送结束阶段,1.数据传送完毕,DMAC向外设传送“过程结束”信号EOP。2.DMAC向CPU交回总线,CPU重新获得总线的控制权。,1 DMA控制器概述,几种常见DMAC,2 8237A的编程结构和外部引脚,一、8237A的主要特点:,(1)一个芯片中有4个独立的DMA通道。(2)可以实现内存与外设,内存与内存的数据传输。(3)每一个通道的DMA请求都可以被允许或禁止。(4)每个通道的DMA请求有不同的优先级,即可以是 固定优先级,也可以是循环优先级。(5)每个通道一次传送的最大字节数为64KB。(6)8237A提供4种传送方式:单字节传送方式、数据块 传送方式、请求传送方式和级连传送方式。,二、8237A的编程结构图(1):,2.1 8237A的编程结构,2.1 8237A的外部引脚,三、8237A的外部引脚-引脚图:,8237A是有40个引脚的双列直插式芯片。40个引脚分成两组:一组与CPU的连接;一组与I/O接口的连接。,2.1 8237A的外部引脚,三、8237A的外部引脚:,1.DREQ0-DREQ3:(DMA Request)DMA请求信号。由外设输入,信号极性可编程决定2.HRQ(Hold Request):总线请求信号。输出,高电平有效。8237A向CPU请求使用总线。3.HLDA(Hold Acknowledge):总线响应信 号。输入,高电平有效。CPU对HRQ的回答,表示已让出总线控制权。4.DACK0-DACK3:(DMA Acknowledge)DMA应答信号。DMAC向外设输出,信号极性可编程决定。,2.1 8237A的外部引脚,三、8237A的外部引脚:,5.A3-A0:(Adress)地址信号。双向,DMAC控制总线时,输出16位地址中的A3-A0。CPU控制总线时,输入,选中某个寄存器。6.A7-A4:(Adress)地址信号。输出16位地址中的A7-A4(访问存储器)用。7.DB7-DB0:(Data Bus)数据/地址复用线。双向,8位数据线,传送CPU的控制命令,和内部寄存器的内容。作为地址高8位锁存。,2.1 8237A的外部引脚,三、8237A的外部引脚:,8.IOR:(I/O Read)I/O读信号。三态双向,低电平有效。作主模块时:输出,给I/O设备发读命令。作从模块时:输入,接收来自CPU的读命令。9.IOW:(I/O Write)I/O写信号。三态双向,低电平有效。作主模块时:输出,给I/O设备发写命令。作从模块时:输入,接收来自CPU的写命令10.MEMR:(Memory Read)存储器读命令。输出,低电平有效。11.MEMW:(Memory Write)存储器写命令。输出,低电平有效。,2.1 8237A的外部引脚,三、8237A的外部引脚:,12.CLK:(clock)时钟信号。输入,8237A:最高3MHZ.8237A-5:最高5MHZ.13.CS:(Chip Slected)片选信号。输入,低电平有效。14.RESET:复位信号。输入,高电平有效。8237内部寄存器清0,屏蔽寄存器置1,8237A处于状态,允许CPU访问。15.READY:就绪信号。输入,低速设备可通过给此引脚加低电平来延长总线周期。,2.1 8237A的外部引脚,三、8237A的外部引脚:,16.AEN:(Adress Enable)地址允许信号。输出,高电平有效。AEN=1时,8237A控制器输出的存储器单元地址送上系统地址总线,禁止其他总线控制设备使用总线。在DMA传送过程中,AEN信号一直有效。17.ADSTB:(Adress Strobe)地址选通信号。输出,低电平有效。表示DB7-DB0输出的是高8位地址。利用该信号将这8位地址送入片外地址锁存器。18.EOP:(End of Process)传输过程结束信号,双向,低电平有效。输出:通过外设DMA传送结束。输入:强迫8237结束DMA操作。,2 8237A的编程结构和外部引脚,二、8237A的外部引脚-与外部的连接图:,要求:每发生一次DMA请求,就从接口电路74LS244向内存传送一个字节数据。,那对于20位地址线8237如何处理?,在8086/88系统中,系统的寻址范围是1MB,地址线有20条,即A0A19。为了能够在8086/88系统中使用8237来实现DMA,需要用硬件提供一组4位的页寄存器。通道0、1、2、3各有一个4位的页寄存器。在进行DMA传送之前,这些页寄存器可利用I/O地址来装入和读出。当进行DMA传送时,DMAC将A0A15放在系统总线上,同时页寄存器把A16A19也放在系统总线上,形成A0A19这20位地址信号实现DMA传送。其地址产生如图所示。,8237,暂存器,内存,内存,A0A15,MEMW,MEMR,D0D7,内存到内存的传输,D0D7,DMA如何实现内存到内存的数据传输?,3 8237A的工作方式,8237A的工作状态 8237A的工作模式 8237A的传送类型 8237A的优先级,一、8237A的工作状态,1.主模块:接管并取得总线控制权,取代CPU而成为系统的 主控者。DMAC通过三总线向M或I/O发出地址码及 读/写信号,以控制M和I/O设备之间的数据传送。2.从模块:未取得总线控制时,同于其他 I/O设备,受CPU 的控制。这时,CPU对DMAC进行初始化操作或从 DMAC读取状态信息。,3 8237A的工作方式,二、8237A工作模式(1),1.单字节传输模式:在单字节传输方式下,DMA控制器每次请求总线只传送一个字节数据,传送完后即释放总线控制权。2.块传输模式:指DMA控制器每次请求总线连续传送一个数据块,待整个数据块全部传送完成后再释放总线控制权。由DREQ启动连续地传送数据,直到字节数寄存器从0减 到FFFFH终止计数,或由外部输入有效信号终结DMA传送 DREQ只需维持有效到DACK有效,3 8237A的工作方式,二、8237A工作模式(续),3.请求传输模式:此方式与块传输方式基本类似,不同的是每传输完一个字节,DMA控制器都要检测由I/O接口发来的DMA请求信号DREQ是否仍然有效,如果该信号仍有效,则继续进行DMA传输;否则,就暂停传输,交还总线控制权给CPU,直至DMA请求信号再次变为有效,数据块传输则从刚才暂停的那一点继续进行下去。,3 8237A的工作方式,二、8237A工作模式(续),4.级联传输模式:在系统中有多片8237A,构成主从式DMA系统。级联的办法是把从片的HRQ端与主片的DREQ端联。,3 8237A的工作方式,返回,三、8237A操作类型,1.DMA读:,3.DMA校验:这是一种伪传输,实际上是校验8237A芯片内部的读写信号,在这种传输中,8237A芯片如同DMA读和DMA写一样,产生地址及响应信号,但禁止实际传输。,2.DMA写:,内存 I/O;MEMR 和IOW,3 8237A的工作方式,四、8237A的优先级,1.固定优先级:四通道优先级固定,通道1最高,通道3最低。即:DREQ0-DREQ32.循环优先级:优先级相同。当某一通道被响应且服务后,它就被指定为最你优先级,下一通道就为最高优先级。,注意:DMA禁止嵌套,优先级排除只在DMA响应前有效,DMA响应后无效。,3 8237A的工作方式,5 8237A的寄存器,-模式寄存器,5 8237A的寄存器,5 8237A的寄存器,-请求寄存器,5 8237A的寄存器,-屏蔽寄存器,8237A每个通道有一位“屏蔽位”,当其通道的“屏蔽位”置1时,则外部对应的DREQ信号被屏蔽,不予响应,从而禁止了该通道的DMA操作。四个通道的“屏蔽位”构成一个4位的屏蔽寄存器。有两种屏蔽命令字格式,单独对某一个通道的屏蔽位进行置位或复位,;另一种是可以同时设定四个通道的屏蔽位,也称综合屏蔽命令字。,5 8237A的寄存器,-屏蔽寄存器,控制外设硬件DMA请求是否被响应(为0允许),各个通道互相独立。3种方法:单通道屏蔽字只对一个DMA通道屏蔽位进行设置主屏蔽字对4个DMA通道屏蔽位同时进行设置清屏蔽寄存器命令使4个屏蔽位都清零(允许)复位使4个通道全置于屏蔽状态当一个通道的DMA过程结束,则这一通道的屏蔽位置位后,必须再次编程为允许,才能进行下次DMA传送。,5 8237A的寄存器,-屏蔽寄存器,5 8237A的寄存器,5 8237A的寄存器,DMA控制器8237,控制寄存器格式和有关问题:,D7 D6 D5 D4 D3 D2 D1 D0,D0:为1则为内存到内存的传送。此时通道0用于存放源地址,通道1用于存放目的地址及计数值。,DMA控制器8237,D0D7,38,8237,暂存器,内存,内存,A0A15,MEMW,MEMR,D0D7,内存到内存的传输,5 8237A的寄存器,主菜单,6 8237A的编程,8237A的编程通常可按如下步骤进行。输出清除命令,使8237A进入初始状态;将DMA传送的存贮器起始地址写入基地址和当前地址寄存器;将要传送的字节数写入基字节寄存器和当前字节计数器;写模式寄存器,规定8237A的工作方式等;写控制寄存器,规定各通道优先级及DREQ、DACK的有效电平等;写屏蔽寄存器,规定开放和屏蔽的通道;写请求寄存器,发DMA请求命令(内存到内存)。,编程备用:8237A的寄存器,-模式寄存器,编程备用:8237A的寄存器,主菜单,-控制寄存器,低,高,编程备用:8237A的寄存器,-屏蔽寄存器,6 8237A的编程,编写外设到内存DMA传送的初始化程序。要求:利用8237A的通道1,将外设长度为100字节的数据块传送到内存从1000H开始的连续存储单元。采用数据块传送方式,DREQ1为高电平有效,DACK1为低电平有效,允许请求。DMA地址由信号和DMA页面寄存器提供。,6 8237A的编程,START:OUTDMA+0DH,AL;清除控制端口,执行一次写操作实现软件复位MOVAL,00H;目标数据区起始地址低位字节OUTDMA+02H,AL;当前地址寄存器和基地址寄存器端口地址MOVAL,10H;目标数据区起始地址高位字节OUTDMA+02H,AL;将目标数据区起始地址写入当前地址寄存器和基地址寄存器,6 8237A的编程,MOVAX,100;传输的字节数100DECAX;计数值调整为100199OUTDMA+03H,AL;计数值写入当前字节计数器和基字节计数器 MOVAL,AHOUTDMA+03H,AL,6 8237A的编程,MOVAL,85H;通道1,块传送,地址增1,DMA写操作(I/O到存储器)OUTDMA+0BH,AL;工作方式寄存器端口地址MOVAL,01H;屏蔽字,允许通道1请求OUTDMA+0AH,AL;单通道屏蔽寄存器端口地址MOVAL,00H;控制字,DACK低电平有效,DREQ高电平有效,允许8237A工作OUTDMA+08H,AL;控制寄存器端口地址,5 8237A的寄存器,8237A的编程举例 例:设某8088系统使用一片8237A,现欲将内存地址为8000H开始的100个字节数据以DMA方式输出到某外设,已知8237A的端口地址为20H2FH,并规定8237A通道1工作在块传输,硬件启动。试编写初始化程序段。,5 8237A的寄存器,解:根据以上已知条件和要求,初始化程序段OUT 2DH,AL;发主清除命令MOV AL,00H;写基地址和当前地址寄存器OUT 22H,ALMOV AL,80HOUT 22H,ALMOV AL,64H;写基字节寄存器和当前字节计;数器OUT 23H,ALMOV AL,00HOUT 23H,AL,5 8237A的寄存器,MOV AL,89H;选通道1,读传送,禁止自 动预置,块传输,地址递增OUT 2BH,ALMOV AL,80H;写控制字:普通时序,存储器 到外设传送,固定优先级OUT 28H,AL;正常写,DREQ、DACK高电平有效MOV AL,00H;清除所有通道屏蔽OUT 2FH,AL,6 8237A的编程,8237A通道0用来动态RAM进行刷新,通道2和通道3分别来实现软盘和内存之间的数据传输,通道1用来提供其他传输功能,系统采用固定优先级。8237A对应的端口地址分别为0000000FH.在下面程序中,标号DMA代表首地址0000,和8237A相关的高四位页面地址寄存器为74LS670.它的端口地址输出端口号为0083H。,6 8237A的编程,MOV AL,04HMOV DX,DMA+8OUT DX,AL;设置控制器,关闭8237A。使它不工作MOV AL,00HMOV DX,DMA+0DHOUT DX,AL;发总清命令,6 8237A的编程,MOV DX,DMA;将端口地址对应为通道0MOV CX,0004H WRITE:MOV AL,OFFH OUT DX,AL OUT DX,AL INC DX INC DX LOOP WRITE;使4个端口地址均为FFFFH,6 8237A的编程,MOV DX,DMA+08HMOV AL,58HOUT DX,AL;对通道0设置模式,单字节传输,地址加1,自动初始化功能MOV AL,41HOUT DX,AL;对通道1设置模式,单字节较验传输,地址加1,无自动初始化功能MOV AL,42HOUT DX,AL;对通道2设置模式,单字节较验传输,地址加1,无自动初始化功能MOV AL,43HOUT DX,AL;对通道3设置模式,单字节较验传输,地址加1,无自动初始化功能,6 8237A的编程,MOV DX,DMA+8MOV AL,0OUT DX,AL;设置控制命令,DACK低有效 DREQ高;有效,固定优先级,启动工作MOV DX,DMA+0AHOUT DX,AL;使通道0去除屏蔽MOV AL,O1HOUT DX,AL;使通道1去除屏蔽MOV AL,02HOUT DX,AL;使通道2去除屏蔽MOV AL,03HOUT DX,AL;使通道3去除屏蔽,6 8237A的编程,通道1-3是较验传输,下面的程序段对通道1-3的地址寄存器的值进行测试。MOV DX,DMA+2HMOV CX,0003HREAD:IN AL,DX;读地址的低字节 MOV AH,AL IN AL,DX;读地址的高字节 CMP AX,0FFFFH;比较读出的值和写入是否相等 JNZ HHH;不等,转出错 INC DX INC DX;指下向一个通道 LOOP READHHH:HLT;出错,停机,通过对方式字寄存器的编程,可以设置某个通道为自动初始化方式。自动初始化方式的功能:当该通道完成一个数据传送并产生信号时,用基地址寄存器和基字节寄存器的内容,使相应的当前地址寄存器和当前字节计数器恢复初值。自动初始化,通道就做好了另一次数据传送的准备。,4 8237A的初始化方式,利用这种方式,可以使数据块从一个存储空间传到另一个存储空间,将程序的影响和传输时间减到最小。这种方式要占用8237A的2个通道。由通道0提供源地址,通道1提供目的地址。通道1的字节计数器编程为传送的字节数。传送由设置一个通道0的软件DREQ启动。8237A按正常方式向CPU发出HRQ,当CPU发出总线响应信号HLDA后,DMA传送即可开始。,4 8237A的初始化方式,

    注意事项

    本文(微机原理与接口技术课件:07dma控制器8237a.ppt)为本站会员(小飞机)主动上传,三一办公仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即通知三一办公(点击联系客服),我们立即给予删除!

    温馨提示:如果因为网速或其他原因下载失败请重新下载,重复下载不扣分。




    备案号:宁ICP备20000045号-2

    经营许可证:宁B2-20210002

    宁公网安备 64010402000987号

    三一办公
    收起
    展开