微机原理与接口概要_第1页
微机原理与接口概要_第2页
微机原理与接口概要_第3页
微机原理与接口概要_第4页
微机原理与接口概要_第5页
已阅读5页,还剩24页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

第十二章8237ADMA控制器及其应用(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、slaveDMA传输:外设

内存几个基本概念:DMAC编程周期:slave DMAC控制总线进行数据传输周期:masterDMA的数据传输形式:

基本的: MEM↔I/O

和扩充的: MEM↔MEM I/O↔I/ODMA传输概念DMA传送原理示意图①外设发出DMA请求②DMAC向CPU申请总线③CPU响应,释放总线控制权④DMAC得到总线控制权,并发出DMA响应信号⑤由DMAC发出各种控制信号,控制外设与存储器之间的数据传送⑥数据传送完后,DMAC撤销HOLD信号⑦CPU释放HLDA信号,并重新控制总线①系统总线CPUDMAC存储器外设接口AENIOWMEMWMEMRIORMEMWMEMRIOWIORAENHOLDHLDADREQDACK②③④⑤AENIOWIORMEMWMEMR⑥⑦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-18237A的组成和工作原理(P416)一、8237的内部结构1.时序控制逻辑:8237A是一个可编程的DMA控制器芯片,它直接应用于8086/8088和80286系统。在386和486系统中,作为集成系统外设接口芯片中的一部分仍起着DMA控制器的作用。8237A的内部结构框图见P417图12-1从态时接受系统送来的时钟,复位,片选和读写信号,完成相应的操作;主态时则向系统发出相应的控制信号。2.优先权编码电路:根据初始化命令,对同时提出DMA请求的多个通道进行排队判优。(8237A有4个DMA通道)优先级管理方式:固定优先级,循环优先级。8237A的组成和原理一、8237的内部结构3.数据和地址缓冲器组A7~A4、A3~A0为地址线;DB7~DB0在从态时传送数据信息,主态时传送地址信息。4.命令控制逻辑:从态时接收CPU送来的寄存器选择信号(A3~A0),选择内部寄存器。主态时,对方式字的D1,D0位进行译码,以确定DMA的操作类型。

A3~A0与IOR、IOW配合可以组成各种操作命令。一、8237的内部结构5.内部寄存器组(P417)8237A的组成和原理二、8237的引脚功能(P418)8237A有两种工作状态:主态和从态,部分管脚在主态和从态时其意义有所不同。CLK:时钟信号,3MHZ;

CS:从态时有效,作为8237的片选信号;

READY:存储器或外设的引入信号,速度慢时插 入Tw;

A3~A0:双向,从态时,寻址内部寄存器,主态 时,输出被访问存储器的最低4位地址;A7~A4:

输出,从态时浮空,主态时输出4位地址 DB7~DB0:从态时,CPU与8237交换数据使用, 即编程。主态时,输出地址信息15~A8, 与A7~A0构成16位地址信息。8237A的组成和原理二、8237的引脚功能

ADSTB:将地址线DB7~DB0上输出的高8位地址锁存到外部地址锁存器中;

AEN:使锁存器中的地址信息送到地址总线上,与A7~A0构成16位地址信息;

IOR,IOW:

双向,从态时输入,作为CPU读取8237内部寄存器的读写信号;主态时输出,输出的I/O读/写信号;

MEMR,MEMW:

主态时,8237输出的存储器读写信号,从态时无效;

DREQ3~DREQ0:外设接口电路向8237的请求信号;

DACK3~DACK0:

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后,自动将基字节寄存器的内容重新装入到该寄存器中。THANKYOUSUCCESS2023/11/2915可编辑8237A的组成和原理三、8237的内部寄存器3、命令寄存器8位,4个通道共用,用于设定8237的信号形式、工作时序、传输方向。(地址:A3A2A1A0=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、工作方式寄存器(地址:A3A2A1A0=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:通道选择(决定D7~D2定义的是哪一个通道的工作方式)00=通道001=通道110=通道211=通道3D3,D2:所选通道的传输方向选择

00=校验传输,01=写传输(I/O

内存),

10=读传输(内存

I/O),11=无意义工作方式寄存器各数据位定义:(P422图12-4)4、工作方式寄存器(地址:A3A2A1A0=1011B)8237A的组成和原理三、8237的内部寄存器D4:自动预置功能,0=禁止,1=允许D7,D6:模式选择00=请求传输模式

,01=单字节传输模式10=块传输模式,11=级联传输模式工作方式寄存器各数据位定义:4、工作方式寄存器(地址:A3A2A1A0=1011B)D5:存储器地址增减选择,0=地址增1,1=地址减15、请求寄存器(地址:A3A2A1A0=1001B)四个通道的请求触发器构成一个请求寄存器,一般情况下,DMA请求由硬件信号DREQ发出,也可由软件设置请求触发器来发出DMA请求。(P424图12-6)D7D6D5D4D3D2D1D0不用D2=1设置DMA请求D1~D0:指定软件DMA请求的通道8237A的组成和原理三、8237的内部寄存器6、屏蔽寄存器(1)

写单个通道屏蔽寄存器(A3A2A1A0=1010B)4位,每位对应一个通道。相应位为1时,禁止请求。8237可以写入两种屏蔽字,地址不同。D7D6D5D4D3D2D1D0不用D2=1,设置屏蔽;D2=0,清除屏蔽;D1~D0:选通道格式:当屏蔽位置位时,该通道就禁止接受DREQ的DMA请求信号。反之,屏蔽位复位则允许DREQ的请求。当某一通道进行DMA传输后,产生EOP信号,则这一通道在禁止自动预置工作条件下的屏蔽位置“1”。必须再次编程,使该通道屏蔽位复位,才能进行下一次的DMA传输。8237A的组成和原理三、8237的内部寄存器6、屏蔽寄存器P427的表12-2D7D6D5D4D3D2D1D0不用D3~D0:相应通道的屏蔽位(2)主屏蔽字(A3A2A1A0=1111B)可用写入一条主屏蔽命令分别对4个通道相应位进行复位(允许)及置位(禁止)DMA请求。注意:当系统RESET复位或用软件置位时,主屏蔽寄存器各位均被置位,即禁止所有通道接受DMA请求。8237A的组成和原理三、8237的内部寄存器7、状态寄存器(读A3A2A1A0=1000B)8位,4个通道共用,记录每个通道是否有请求、传输是否结束。D3~D0:分别对应通道3~0,指出4个通道的DMA传送是否结束,结束为1D7~D4:分别对应通道3~0,表示4个通道是否有

DMA请求,有DMA请求为1当芯片编程选择操作方式为存储器到存储器传输时,通道0和通道1交换的数据保存在暂存寄存器(8位),待传输全部完成后,最后一个传输数据仍保存在暂存器中,可被CPU编程读出,在DMA复位时被清除。8、暂存器(与主清命令REG地址相同A3A2A1A0=1101B)8237A的组成和原理三、8237的内部寄存器9、软件命令(类似于启动A/D,只对地址译码,数据取值情况无所谓)清除先/后触发器命令(地址:A3A2A1A0=1100B)对该地址虚写一次即可完成。

主清命令:同RESET,使屏蔽REG置1,其它REG清0

清除屏蔽寄存器命令:允许各个通道接受DMA请求10、各寄存器对应的端口地址对8237内部寄存器进行读写操作,必须首先选中8237,即8237的片选CS必须有效,通常该信号有高位地址产生。8237的A3~A0与系统总线的A3~A0相连,用于选择8237内部寄存器,占用16个端口地址。具体地址见教材P427表12-2。8237A的组成和原理三、8237的内部寄存器一个完整的DMA传输过程必须经过4个阶段:

DMA请求。DMA控制器(8237)接受由I/O设备

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论