收藏 分销(赏)

微机原理与接口概要.ppt

上传人:丰**** 文档编号:10350479 上传时间:2025-05-23 格式:PPT 页数:29 大小:2.27MB
下载 相关 举报
微机原理与接口概要.ppt_第1页
第1页 / 共29页
微机原理与接口概要.ppt_第2页
第2页 / 共29页
点击查看更多>>
资源描述
微机原理与接口,第十 二章,8237A DMA,控制器及其应用,(416),前面各种,I/O,方式都需要,CPU,作为中介:,外设,CPU,内存,两个含义:,1,)软件:外设与内存之间的数据传送是通过,CPU,执行程序来完成的(,PIO,方式);,2,)硬件:,I/O,接口和存储器的读写控制信号、地址信号都是由,CPU,发出的(总线由,CPU,控制)。,缺点:程序的执行速度限定了传送的最大速度(约为几十,KB/,秒),解决方法:,DMA,传输,DMA,传输概念,外设直接与存储器进行数据交换,,,CPU,不再担当数据传输的中介者;,DMA,传输,:,外设,内存,优点:,数据传输,由,DMA,硬件来控制,数据,直接在内存和外设之间交换,可以达到很高的传输速率(可达几,MB/,秒),总线由,DMA,控制器(,DMAC,)进行控制(,CPU,要放弃总线控制权),内存,/,外设的地址和读写控制信号均由,DMAC,提供,DMA,传输概念,总线控制权,:master,、,slave,DMA,传输,:,外设,内存,几个基本概念:,DMAC,编程周期:,slave,DMAC,控制总线进行数据传输周期:,master,DMA,的数据传输形式,:,基本的,:MEM,I/O,和扩充的,:,MEM,MEM,I/O,I/O,DMA,传输概念,DMA,传送原理示意,图,外设发出,DMA,请求,DMAC,向,CPU,申请总线,CPU,响应,释放总线控制权,DMAC,得到总线控制权,并发出,DMA,响应信号,由,DMAC,发出各种控制信号,控制外设与存储器之,间的数据传送,数据传送完后,,DMAC,撤销,HOLD,信号,CPU,释放,HLDA,信号,并重新控制总线,系统总线,CPU,DMAC,存储器,外设接口,AEN,IOW,MEMW,MEMR,IOR,MEMW,MEMR,IOW,IOR,AEN,HOLD,HLDA,DREQ,DACK,AEN,IOW,IOR,MEMW,MEMR,DMA,传输概念,DMA,控制器的工作过程,1,)当外设准备好,可以进行,DMA,传送时,外设向,DMA,控制器发出,“,DMA,传送请求,”,信号(,DREQ,),;,2,),DMA,控制器收到请求后,向,CPU,发出,“,总线请求,”,信号,HOLD,,表示希望占用总线,;,3,),CPU,在完成当前总线周期后会立即对,HOLD,信号进行响应。响应包括两个动作:一是,CPU,将数据总线、地址总线和相应的控制信号线均置为高阻态,由此放弃对总线的控制权。另一方面,,CPU,向,DMA,控制器发出,“,总线响应,”,信号(,HLDA,)。,4,),DMA,控制器收到,HLDA,信号后,就开始控制总线,并向外设发出,DMA,响应信号,DACK,;,DMA,传输概念,DMA,控制器的工作过程,5,),DMA,控制器送出地址信号和相应的控制信号,实现外设与内存或内存与内存之间的直接数据传送;,例如,,向,I/O,接口发出读信号,同时往地址总线上发出存储器的地址和存储器写信号和,AEN,信号,即可从外设向内存传送一个字节。,6,),DMA,控制器自动修改地址和字节计数器,并判断是否需要重复传送操作。当规定的数据传送完后,,DMA,控制器就撤销发往,CPU,的,HOLD,信号。,CPU,检测到,HOLD,失效后,紧接着撤销,HLDA,信号,并在下一时钟周期重新开始控制总线。,DMA,传输概念,DMA,的三种传输方式,P423:,连续传送(块传送),:DMAC,申请到总线后,将一块数据传送完后才释放总线,而不管在这期间,DREQ,是否有效,单次传送(每次传送一个字节),:,每个,DMA,周期只传送一个字节就立即释放总线。,按需传送(猝发传送、请求传送),:,也可以传送数据块,直到要求停止。与块传送不同的是,每次传送一个字节后都要对,DREQ,进行测试,一旦该信号无效,就马上停止传送。但不释放总线,一旦,DREQ,有效,又开始传送。,12-1 8237A,的组成和工作原理(,P416),一、,8237,的内部结构,1.,时序控制逻辑,:,8237A,是一个可编程的,DMA,控制器芯片,它直接应用于,8086/8088,和,80286,系统。在,386,和,486,系统中,作为集成系统外设接口芯片中的一部分仍起着,DMA,控制器的作用。,8237A,的内部结构框图见,P417,图,12-1,从态时接受系统送来的时钟,复位,片选和读写信号,完成相应的操作;,主态时则向系统发出相应的控制信号。,2.,优先权编码电路,:,根据初始化命令,对同时提出,DMA,请求的多个通道进行排队判优。(,8237A,有,4,个,DMA,通道),优先级管理方式:固定优先级,循环优先级。,8237A,的组成和原理,一、,8237,的内部结构,3.,数据和地址缓冲器组,A,7,A,4,、,A,3,A,0,为地址线;,DB,7,DB,0,在从态时传送数据信息,主态时传送地址信息。,4.,命令控制逻辑,:,从态时接收,CPU,送来的寄存器选择信号,(A,3,A,0,),,选择内部寄存器。,主态时,对方式字的,D1,,,D0,位进行译码,以确定,DMA,的操作类型。,A,3,A,0,与,IOR,、,IOW,配合可以组成各种操作命令。,一、,8237,的内部结构,5.,内部寄存器组,(,P417),8237A,的组成和原理,二、,8237,的引脚功能,(,P418),8237A,有两种工作状态:主态和从态,部分管脚在主态和从态时其意义有所不同。,CLK,:,时钟信号,,3MHZ,;,CS:,从态时有效,作为,8237,的片选信号;,READY:,存储器或外设的引入信号,速度慢时插 入,Tw,;,A3A0:,双向,从态时,寻址内部寄存器,主态 时,输出被访问存储器的最低,4,位地址;,A7A4:,输出,从态时浮空,主态时输出,4,位地址,DB7DB0:,从态时,,CPU,与,8237,交换数据使用,即编程。主态时,输出地址信息,15A8,,与,A7A0,构成,16,位地址信息。,8237A,的组成和原理,二、,8237,的引脚功能,ADSTB,:,将地址线,DB7DB0,上输出的高,8,位地址锁存到外部地址锁存器中;,AEN,:,使锁存器中的地址信息送到地址总线上,与,A7A0,构成,16,位地址信息;,IOR,IOW:,双向,从态时输入,作为,CPU,读取,8237,内部寄存器的读写信号;主态时输出,,输出的,I/O,读,/,写信号;,MEMR,MEMW:,主态时,,8237,输出的存储器读写信号,从态时无效;,DREQ3DREQ0:,外设接口电路向,8237,的请求信号;,DACK3DACK0:,8237,对外设接口电路的应答信号;,HRQ,HLDA:,DMA,请求和回答信号;,EOP:,传输结束信号。,8237A,的组成和原理,三、,8237,的内部寄存器,(,P420,表,12-1,),1,、基地址寄存器和当前地址寄存器,每个通道都有一个基地址寄存器,一个当前地址寄存器,,16,位,,占用相同的端口地址,如果,8237,设置成自动预置方式,产生,EOP,后,自动将基地址寄存器的内容重新装入到该寄存器中。,基地址寄存器:,DMA,传输的内存地址初值,在初始化时由,CPU,分两次写入。,当前地址寄存器:,DMA,传输过程中,内存地址的当前值。每传输一字节,该寄存器的值增,1,或减,1,。,CPU,可分两次读出其值。,8237A,的组成和原理,三、,8237,的内部寄存器,2,、基字计数寄存器和当前字节计数寄存器,每个通道都有一个基字计数器,一个当前字节计数器,,16,位,占用相同的端口地址,基字节计数器:,DMA,传输的字节数初值,在初始化时由,CPU,分两次写入。,8237,规定,初值比实际传输的字节数少,1,。,当前字节计数器:,DMA,传输过程中,当前的计数值。每传输一字节,该寄存器的值减,1,。当计数值减到,FFFFH,时,,8237,发出结束信号,EOP,。,CPU,可分两次读出其值。,如果,8237,设置成自动预置方式,产生,EOP,后,自动将基字节寄存器的内容重新装入到该寄存器中。,THANK YOU,SUCCESS,2025/5/23 周五,15,可编辑,8237A,的组成和原理,三、,8237,的内部寄存器,3,、命令寄存器,8,位,,4,个通道共用,用于设定,8237,的信号形式、工作时序、传输方向。,(,地址:,A,3,A,2,A,1,A,0,=1000B,),D0,:,0=,内存,I/O,间的传输;,1=,内存,内存间的传输。,D1,:,内存到内存传输时,,D1=1,使源地址保持不变。,若,D0=0,时,该位无效。,D2,:,0=,启动,(,指允许,)8237,工作;,1=,停止,(,指禁止,)8237,工作。,8237A,的组成和原理,三、,8237,的内部寄存器,3,、命令寄存器,D3,:,0=,正常时序,,1=,压缩时序,D4,:,0=,固定优先级,通道,0,优先级最高,通道,3,优先级最低;,1=,循环优先级(顺序为:刚响应过的通道优先级变为最低,以防止某一通道长期占用总线)。,D6,:,0=DREQ,高电平有效;,1=DREQ,低电平有效。,D5,:,1=,扩展写信号,,IOW,/,MEMW,比正常时序提前一个周期;,0=,不扩展写信号,D7,:,0=DACK,低电平有效;,1=DACK,高电平有效。,8237A,的组成和原理,三、,8237,的内部寄存器,4,、工作方式寄存器,(,地址:,A,3,A,2,A,1,A,0,=1011B,),8,位,设定,DMA,的传输模式,,4,个通道的模式寄存器共用一个端口地址,,单字节传输模式:,每次,DMA,操作只传送一字节后,接着,8237,释放总线;,请求传输模式:,每传输一个字节后,,8237,要检测,DREQ,信号(询问外设),当,DREQ,无效时,,8237,暂停传输(不释放总线),当,DREQ,再次有效后,继续进行传输;,块传输模式:,8237,获得总线控制权后,连续传送多个字节,直到所要求的字节数传输完(当前字节计数器减至,FFFFH,),,8237,在,EOP,引脚上发出结束信号,然后释放总线。在块传输过程中,若向,8237,的,EOP,引脚上输入低电平,可强行结束传输;,8237A,的组成和原理,三、,8237,的内部寄存器,级联传输模式:,多片,8237,级联时,可以构成主从式,DMA,系统。级联的方式是把从片的请求线,HRQ,连至主片的,DREQ,引脚,主片的,DACK,联至从片的,HLDA,引脚。(见教材,P424,图,12-5,),D1,,,D0,:,通道选择(决定,D,7,D2,定义的是哪一个通道的工作方式),00=,通道,0 01=,通道,1,10=,通道,2 11=,通道,3,D3,,,D2,:所选通道的,传输方向选择,00=,校验传输,,01,=,写传输(,I/O,内存),,10,=,读传输(内存,I/O,),,11,=,无意义,工作方式寄存器各数据位定义:(,P422,图,12-4,),4,、工作方式寄存器,(,地址:,A,3,A,2,A,1,A,0,=1011B,),8237A,的组成和原理,三、,8237,的内部寄存器,D4,:,自动预置功能,,0,=,禁止,,1,=,允许,D7,,,D6,:,模式选择,00,=,请求传输模式,,,01,=,单字节传输模式,10,=,块传输模式,,,11,=,级联传输模式,工作方式寄存器各数据位定义:,4,、工作方式寄存器,(,地址:,A,3,A,2,A,1,A,0,=1011B,),D5,:,存储器地址增减选择,,0,=,地址增,1,,,1,=,地址减,1,5,、请求寄存器,(,地址:,A,3,A,2,A,1,A,0,=1001B,),四个通道的请求触发器构成一个请求寄存器,一般情况下,,DMA,请求由硬件信号,DREQ,发出,也可由软件设置请求触发器来发出,DMA,请求。,(P424,图,12-6),D,7,D,6,D,5,D,4,D,3,D,2,D,1,D,0,不用,D2=1,设置,DMA,请求,D1D0,:指定软件,DMA,请求的通道,8237A,的组成和原理,三、,8237,的内部寄存器,6,、屏蔽寄存器,(1),写单个通道屏蔽寄存器,(,A,3,A,2,A,1,A,0,=1010B,),4,位,每位对应一个通道。相应位为,1,时,禁止请求。,8237,可以写入两种屏蔽字,地址不同。,D,7,D,6,D,5,D,4,D,3,D,2,D,1,D,0,不用,D2=1,,设置屏蔽;,D2=0,,清除屏蔽;,D1D0,:选通道,格式:,当屏蔽位置位时,该通道就禁止接受,DREQ,的,DMA,请求信号。反之,屏蔽位复位则允许,DREQ,的请求。,当某一通道进行,DMA,传输后,产生,EOP,信号,则这一通道在禁止自动预置工作条件下的屏蔽位置,“,1,”,。必须再次编程,使该通道屏蔽位复位,才能进行下一次的,DMA,传输。,8237A,的组成和原理,三、,8237,的内部寄存器,6,、屏蔽寄存器,P427,的表,12-2,D,7,D,6,D,5,D,4,D,3,D,2,D,1,D,0,不用,D3D0,:相应通道的屏蔽位,(2),主屏蔽字,(,A3 A2A1 A0=1111B,),可用写入一条主屏蔽命令分别对,4,个通道相应位进行复位,(,允许,),及置位,(,禁止,)DMA,请求。,注意:,当系统,RESET,复位或用软件置位时,主屏蔽寄存器各位均被置位,即禁止所有通道接受,DMA,请求。,8237A,的组成和原理,三、,8237,的内部寄存器,7,、状态寄存器,(读,A,3,A,2,A,1,A,0,=1000B,),8,位,,4,个通道共用,记录每个通道是否有请求、传输是否结束。,D3D0,:分别对应通道,30,,指出,4,个通道的,DMA,传,送是否结束,结束为,1,D7D4,:分别对应通道,30,,表示,4,个通道是否有,DMA,请求,有,DMA,请求为,1,当芯片编程选择操作方式为存储器到存储器传输时,通道,0,和通道,1,交换的数据保存在暂存寄存器,(8,位,),,待传输全部完成后,最后一个传输数据仍保存在,暂存器中,可,被,CPU,编程读出,在,DMA,复位时被,清除。,8,、暂存器,(,与主清命令,REG,地址相同,A,3,A,2,A,1,A,0,=1101B,),8237A,的组成和原理,三、,8237,的内部寄存器,9,、软件命令,(类似于启动,A/D,,只对地址译码,数据取值情况无所谓,),清除先,/,后触发器命令,(地址:,A,3,A,2,A,1,A,0,=1100B,),对该地址虚写一次即可完成。,主清命令,:同,RESET,,使屏蔽,REG,置,1,,其它,REG,清,0,清除屏蔽寄存器命令:,允许各个通道接受,DMA,请求,10,、各寄存器对应的端口地址,对,8237,内部寄存器进行读写操作,必须首先选中,8237,,即,8237,的片选,CS,必须有效,通常该信号有高位地址产生。,8237,的,A3A0,与系统总线的,A3A0,相连,用于选择,8237,内部寄存器,占用,16,个端口地址。具体地址见教材,P427,表,12-2,。,8237A,的组成和原理,三、,8237,的内部寄存器,一个完整的,DMA,传输过程必须经过,4,个阶段:,DMA,请求。,DMA,控制器,(8237),接受由,I/O,设备发来的,DMA,请求信号,DREQ,,并经判优后向总线裁决逻辑提出总线请求,HRQ,信号。,DMA,响应。由总线裁决逻辑对总线请求进行裁决。如,CPU,不再对,DMA,初始编程,则当,CPU,完成当前总线周期后予以响应,允许进行,DMA,传输。,CPU,放弃对总线的控制权,向,8237 DMA,控制器发出总线应答信号,HLDA,。,DMA,传输。由,DMA,控制器控制总线,发出相应的地址与控制信息,按要传输的字节数直接控制,I/O,接口与,RAM,的数据交换。,8237A,的组成和原理,三、,8237,的内部寄存器,DMA,传输结束。当,DMA,传输结束时,,DMA,控制器产生计数终止信号,EOP,,并通过接口向,CPU,提出中断请求,以使,CPU,进行,DMA,传输正确性检查并重新获得对总线的控制权。,12-3 8237A,的编程和应用举例,一、,DMAC8237,的编程步骤:,1,、输出主清命令,使,8237,复位;,2,、写入基地址和当前地址寄存器,确定起始地址;,3,、写入基字计数和当前计数寄存器,确定传送的字节数;,4,、写入方式寄存器,确定工作方式;,5,、写入屏蔽寄存器,允许哪个通道发出,DMA,请求;,6,、写入命令寄存器,确定有效电平等规定;,7,、写入请求寄存器,用软件使,DMA,发出请求,(,需要软件控制时)。,程序例见教材,P433,。,8086,CPU,8284,时钟发生器,地址锁存器,数据收发器,8288,总线控制器,8259,中断控制器,8253,定时器,8255,并行接口,8237,DMA,控制器,RAM,ROM,8251,串行接口,高速外设,并行设备,串行设备,THANK YOU,SUCCESS,2025/5/23 周五,29,可编辑,
展开阅读全文

开通  VIP会员、SVIP会员  优惠大
下载10份以上建议开通VIP会员
下载20份以上建议开通SVIP会员


开通VIP      成为共赢上传
相似文档                                   自信AI助手自信AI助手

当前位置:首页 > 包罗万象 > 大杂烩

移动网页_全站_页脚广告1

关于我们      便捷服务       自信AI       AI导航        抽奖活动

©2010-2025 宁波自信网络信息技术有限公司  版权所有

客服电话:4009-655-100  投诉/维权电话:18658249818

gongan.png浙公网安备33021202000488号   

icp.png浙ICP备2021020529号-1  |  浙B2-20240490  

关注我们 :微信公众号    抖音    微博    LOFTER 

客服