8253工作原理.ppt

上传人:wj 文档编号:18798903 上传时间:2023-11-20 格式:PPT 页数:83 大小:740KB
下载 相关 举报
8253工作原理.ppt_第1页
第1页 / 共83页
8253工作原理.ppt_第2页
第2页 / 共83页
8253工作原理.ppt_第3页
第3页 / 共83页
8253工作原理.ppt_第4页
第4页 / 共83页
8253工作原理.ppt_第5页
第5页 / 共83页
8253工作原理.ppt_第6页
第6页 / 共83页
8253工作原理.ppt_第7页
第7页 / 共83页
8253工作原理.ppt_第8页
第8页 / 共83页
8253工作原理.ppt_第9页
第9页 / 共83页
8253工作原理.ppt_第10页
第10页 / 共83页
8253工作原理.ppt_第11页
第11页 / 共83页
8253工作原理.ppt_第12页
第12页 / 共83页
8253工作原理.ppt_第13页
第13页 / 共83页
8253工作原理.ppt_第14页
第14页 / 共83页
8253工作原理.ppt_第15页
第15页 / 共83页
8253工作原理.ppt_第16页
第16页 / 共83页
8253工作原理.ppt_第17页
第17页 / 共83页
8253工作原理.ppt_第18页
第18页 / 共83页
8253工作原理.ppt_第19页
第19页 / 共83页
8253工作原理.ppt_第20页
第20页 / 共83页
亲,该文档总共83页,到这儿已超出免费预览范围,如果喜欢就下载吧!
下载资源
资源描述

8253工作原理.ppt

《8253工作原理.ppt》由会员分享,可在线阅读,更多相关《8253工作原理.ppt(83页珍藏版)》请在冰点文库上搜索。

8253工作原理.ppt

第8章可编程接口芯片8253及应用,定时与计数在微机系统或智能化仪器仪表的工作过程中,经常需要使系统处于定时工作状态,或者对外部过程进行计数。

定时或计数的工作实质均体现为对脉冲信号的计数,如果计数的对象是标准的内部时钟信号,由于其周期恒定,故计数值就恒定地对应于一定的时间,这一过程即为定时,如果计数的对象是与外部过程相对应的脉冲信号(周期可以不相等),则此时即为计数。

定时与计数的实现方法

(1)硬件法。

设计一套电路用以实现定时与计数,特点是需要花费一定的硬件设备,而且当电路制成之后,定时值及计数范围不能改变。

(2)软件法。

利用一段延时子程序来实现定时操作,特点是无需太多的硬件设备,控制比较方便,但在定时期间,CPU不能从事其他工作,降低了机器的利用率。

(3)软、硬件结合法。

即设计一种专门的具有可编程特性的芯片来控制定时和计数的操作,而这些芯片具有中断控制能力,定时、计数到时能产生中断请求信号,因而定时期间不影响CPU的正常工作。

7.1定时/计数器芯片Intel8253的工作原理Intel8253是8086/8088微机系统常用的定时/计数器芯片,它具有定时与计数两大功能,同类型的定时/计数器芯片还有Intel8254等,8253是24脚双列直插芯片,用+5V电源供电。

1、8253的一般性能概述

(1)每个8253芯片有3个独立的16位计数器通道。

(2)每个计数器通道都可以按照二进制或二-十进制计数。

(3)每个计数器的计数速率可以高达2MHz。

(4)每个通道有6种工作方式,可以由程序设定和改变。

(5)所有的输入、输出电平都与TTL兼容。

2、8253的内部结构框图及引脚8253的内部结构如下图所示,主要由数据总线缓冲器、读/写逻辑、控制字寄存器及三个独立的、功能相同的计数器组成。

(1)数据总线缓冲器:

三态、双向的8位缓冲器,用于将8253与系统数据总线连接。

CPU执行I/O指令时,缓冲器发送或接收数据,用以写入8253控制字、装入计数初值或读出当前计数值。

(2)读/写逻辑:

读/写逻辑电路接受来自系统总线的信号,然后产生控制整个芯片工作的控制信号。

(3)控制字寄存器:

当A1、A0全为1时,接收并存储来自数据总线缓冲器的控制字。

每个计数器对应1个控制寄存器,只能写入,不能读出。

(4)计数器02:

三个计数器内部结构相同,每个计数器有一个16位减法计数器,可对二进制数或BCD码进行计数。

某些方式下,一次计数结束可以自动取初值进行下一次计数。

每个计数器都有时钟输入CLK、门控输入GATE和输出OUT引脚。

计数过程、输出信号与控制字中设定的内容有关。

每个计数器的工作方式和工作过程完全独立。

28253的外部引脚8253芯片是具有24个引脚的双列直插式集成电路芯片,其引脚分布如图7-2所示。

38253的控制字8253有一个8位的控制字寄存器,其格式如图7-3所示。

48253的工作方式8253共有6种工作方式,各方式下的工作状态是不同的,输出的波形也不同,其中比较灵活的是门控信号的作用。

由此组成了8253丰富的工作方式、波形。

(1)几条基本原则。

1)控制字写入计数器时,所有的控制逻辑电路立即复位,输出端OUT进入初始状态。

初始状态对不同的模式来说不一定相同。

2)计数初始值写入之后,要经过一个时钟周期上升沿和一个下降沿,计数执行部才可以开始进行计数操作,因为第一个下降沿将计数寄存器的内容送减1计数器。

3)通常,在每个时钟脉冲CLK的上升沿,采样门控信号GATE。

不同的工作方式下,门控信号的触发方式是有具体规定的,即或者是电平触发,或者是边沿触发,在有的模式中,两种触发方式都是允许的。

其中0、2、3、4是电平触发方式,1、2、3、5是上升沿触发。

4)在时钟脉冲的下降沿,计数器作减1计数,0是计数器所能容纳的最大初始值。

二进制相当于216,用BCD码计数时,相当于104。

特点:

写入控制字寄存器后,输出OUT就变低,GATE为高计数,为低停止计数;不自动重新计数,需要重新将计数值写入计数器后开始计数;计数到0时,可利用OUT产生中断信号。

(2)方式0:

计数结束产生中断。

方式0的波形如图7-4所示,当控制字写入控制字寄存器后,输出OUT就变低,当计数值写入计数器后开始计数,在整个计数过程中,OUT保持为低,当计数到0后,OUT变高。

(3)方式1:

可编程的硬件触发单拍脉冲。

特点:

写入控制字寄存器后,输出OUT就变高;GATE的上升沿触发计数,同时OUT变低,直到计数到0;遇到GATE的上升沿时,自动重新计数。

(4)方式2:

速率发生器。

特点:

写入控制字寄存器后,输出OUT就变高;GATE为高计数;计数到1时,OUT变低,计数到0时,OUT变高,并自动重新计数。

GATE为低时,禁止计数,直到GATE变高,重新自动写入计数值计数。

一般作为分频器使用。

(5)方式3:

方波速率发生器。

特点:

与方式2类似,只是进行减2操作,直到0时,OUT变低,并自动重新写入计数值减2操作,直到0时,OUT变高。

一般作为方波发生器使用。

(6)方式4:

软件触发的选通信号发生器。

特点:

写入控制字寄存器后,输出OUT就变高;GATE为高计数,为低停止计数;不自动重新计数,需要重新将计数值写入计数器后开始计数;计数到0时,OUT变为低,经过一个CLK周期后变为高。

不自动重新计数,只有重新软件写入计数值,同时GATE为高时开始计数。

(7)方式5:

硬件触发的选通信号发生器。

特点:

写入控制字寄存器后,输出OUT就变高;GATE的上升沿触发计数;计数到0时,OUT为低,经过一个CLK周期后变为高。

只有遇到GATE的上升沿时,自动重新计数。

(8)8253的工作方式小结。

1)方式2、4、5的输出波形是相同的,都是宽度为一个CLK周期的负脉冲,但方式2连续工作,方式4由软件触发启动,方式5由硬件触发启动。

2)方式5与方式1的工作过程相同,但输出波形不同,方式1输出的是宽度为N个CLK脉冲的低电平有效的脉冲(计数过程中输出为低),而方式5输出的是宽度为一个CLK脉冲的负脉冲(计数过程中输出为高)。

3)输出端OUT的初始状态。

方式0在写入方式字后输出为低;其余方式,写入控制字后输出均变为高。

4)任一种方式,均是在写入计数初值之后才能开始计数,方式0、2、3、4都是在写入计数初值之后开始计数的,而方式1和方式5需要外部触发启动才开始计数。

5)6种工作方式中,只有方式2和方式3是连续计数,其他方式都是一次计数,要继续工作需要重新启动,方式0、4由软件启动,方式1、5由硬件启动。

6)门控信号的作用。

通过门控信号GATE,可以干预8253某一通道的计数过程,在不同的工作方式下,门控信号起作用的方式也不同,其中0、2、3、4是电平起作用,1、5是上升沿起作用。

7)计数到0后计数器的状态。

方式0、1、4、5进行倒计数,变为FF、FE,而方式2、3则自动装入计数初值继续计数。

7.28253的应用,7.2可编程并行接口芯片8255A7.2.1并行通信与接口Intel8255A是一个通用的可编程并行接口芯片,它有三个并行I/O口,又可通过编程设置多种工作方式,价格低廉、使用方便,可以直接与Intel系列的芯片连接使用,在中小系统中有着广泛的应用。

7.2.28255A的编程结构8255A的编程结构如图7-10所示,由以下几部分组成:

(1)三个数据端口A、B、C。

这三个端口均可看作是I/O口,但它们的结构和功能稍有不同。

(2)A组和B组的控制电路。

(3)数据总线缓冲器。

(4)读/写控制逻辑。

7.2.38255A的引脚功能引脚信号可以分为两组:

一组是面向CPU的信号,一组是面向外设的信号。

1面向CPU的引脚信号及功能2面向外设的引脚信号及功能PA0PA7:

A组数据信号,用来连接外设。

PB0PB7:

B组数据信号,用来连接外设。

PC0PC7:

C组数据信号,用来连接外设或者作为控制信号。

7.2.48255A的工作方式8255A有三种工作方式,用户可以通过编程来设置:

方式0:

简单输入/输出,查询方式,A、B、C三个端口均可。

方式1:

选通输入/输出,中断方式,A和B两个端口均可。

方式2:

双向输入/输出,中断方式,只有A端口才有。

工作方式的选择可通过向控制端口写入控制字来实现。

在不同的工作方式下,8255A三个输入/输出端口的排列示意图如图7-11所示。

(1)方式0。

一种简单的输入/输出方式,没有规定固定的应答联络信号,可用A、B、C三个口的任一位充当查询信号,其余I/O口仍可作为独立的端口和外设相连。

方式0的应用场合有两种:

一种是同步传送,一种是查询传送。

(2)方式1。

方式1是一种选通I/O方式,A口和B口仍作为两个独立的8位I/O数据通道,可单独连接外设,通过编程分别设置它们为输入或输出,而C口要有6位,分成两个3位,分别作为A口和B口的应答联络线,其余两位仍可工作在方式0,可通过编程设置为输入或输出。

(3)方式2。

方式2为双向选通I/O方式,只有A口才有此方式。

这时,C口有5根线用作A口的应答联络信号,其余3根线可用作方式0,也可用作B口方式1的应答联络线。

方式2就是方式1的输入与输出方式的组合,各应答信号的功能也相同。

而C口余下的PC0PC2正好可以充当B口方式1的应答联络线,若B口不用或工作于方式0,则这三条线也可工作于方式0,7.3可编程串行接口芯片8251A7.3.18251A的基本性能8251A是可编程的串行通信接口芯片,基本性能如下:

(1)两种工作方式。

同步方式和异步方式。

同步方式下,波特率为064K;异步方式下,波特率为019.2K。

(2)同步方式下的格式。

每个字符可以用5、6、7或8位来表示,并且内部能自动检测同步字符,从而实现同步。

除此之外,8251A也允许同步方式下增加奇/偶校验位进行校验。

(3)异步方式下的格式。

每个字符也可以用5、6、7或8位来表示,时钟频率为传输波特率的1、16或64倍,用1位作为奇/偶校验,1个启动位,并能根据编程为每个数据增加1个、1.5个或2个停止位。

可以检查假启动位,自动检测和处理终止字符。

(4)全双工的工作方式。

其内部提供具有双缓冲器的发送器和接收器。

(5)提供出错检测。

具有奇偶、溢出和帧错误三种校验电路。

7.3.28251A的内部结构8251A的内部结构如图7-12所示。

1发送器发送器由发送缓冲器和发送控制电路两部分组成。

2接收器接收器由接收缓冲器和接收控制电路两部分组成。

3数据总线缓冲器数据总线缓冲器是CPU与8251A之间的数据接口,包含3个8位的缓冲寄存器4读/写控制电路读/写控制电路用来配合数据总线缓冲器的工作,7.3.38251A的引脚功能8251A的引脚如图7-13所示。

18251A和CPU之间的连接信号8251A和CPU之间的连接信号可以分为以下4类:

(1)片选信号。

(2)数据信号。

(3)读/写控制信号。

(4)收发联络信号。

28251A与外部设备之间的连接信号8251A与外部设备之间的连接信号分为以下两类:

(1)收发联络信号。

(2)数据信号。

3时钟、电源和地8251A除了与CPU及外设的连接信号外,还有电源端、地端和3个时钟端。

7.3.48251A的编程编程的内容包括两大方面:

一是由CPU发出的控制字,即方式选择控制字和操作命令控制字;二是由8251A向CPU送出的状态字。

1方式选择控制字(模式字)方式选择控制字的格式如图7-14所示。

2操作命令控制字(控制字)操作命令控制字的格式如图7-15所示。

3状态字状态字的格式如图7-16所示。

例如,若要查询8251A接收器是否准备好,则可用下列程序段完成:

MOVDX,0FFF2H;状态口L:

INAL,DX;读状态口ANDAL,02H;查Dl=1?

即准备好了吗?

JZL;未准备好,则等待MOVDX,OFFF0H;数据口INAl,DX;已准备好则输入数据,48251A的初始化步骤及流程图(如图7-17所示)如下:

(1)芯片复位以后,第一次用奇地址端口写入的值作为模式字进入模式寄存器。

(2)按照模式字中的规定,使8251A工作在同步模式。

(3)由CPU用奇地址端口写入的值将作为控制字送到控制寄存器,而用偶地址端口写入的值将作为数据送到数据输出缓冲寄存器。

7.4其他接口芯片介绍在外设接口电路中,经常需要对传输过程中的信息进行放大、隔离以及锁存,能实现上述功能的接口芯片最简单的就是缓冲器、数据收发器和锁存器。

74LS373是一种8D锁存器,具有三态驱动输出,其引脚电路如图7-18所示。

74LS373的锁存功能如表7-2所示。

74LS373锁存器主要用于锁存地址信息、数据信息以及DMA页面地址信息等。

7.4.1Intel8279Intel8279是一种通用的可编程序的键盘、显示接口器件,单片器件就能够完成键盘输入和显示控制两种功能。

7.4.2HD7279AHD7279A是比高公司生产的单片具有串行接口、可同时驱动8位共阴式数码管(或64只独立LED)的智能显示驱动芯片,该芯片可同时连接多达64键的键盘矩阵,一片即可完成LED显示及键盘接口的全部功能。

7.5CPU和外设之间的数据传送方式各种外设的工作速度相差很大,如磁盘机的传送速度高达0.1Mbps6Mbps,而键盘人工输入数据的速度通常为几十毫秒1个字节。

由于外设受机械和其他因素的影响工作速度不一致,CPU何时从输入设备读取数据以及何时往输出设备写入数据成为较复杂的定时问题。

CPU与外设之间的数据传送方式有三种:

程序方式、中断方式和DMA方式。

7.5.1程序方式程序方式是指在程序控制下进行信息传送。

程序传送又分为无条件传送方式和条件传送方式。

1无条件传送无条件传送是指计算机能够确认一个外设已经准备就绪,不必查询外设的状态即可直接进行信息传输。

2条件传送方式条件传送也称为查询方式传送。

查询方式是主机在传送数据(包括读入和写出)之前要检查外设是否“准备好”,若没有准备好,则继续检查其状态,直至外设准备好了,即确认外设已具备传送条件之后才能进行数据传送。

7.5.2中断方式1中断传送的工作原理在中断传送方式下,外设具有申请CPU服务的主动权。

当输入设备将数据准备好或者输出设备可以接收数据时,便可以向CPU发出中断请求,使CPU暂时停下当前的工作而和外设进行一次数据传输,等数据传输操作过程结束后,CPU再继续进行原来的工作。

可见,在中断传送方式下,CPU不必花大量时间去查询外设的工作状态,因为外设准备就绪后会主动发出中断请求信号。

然而CPU必须具有这样的功能:

在每条指令执行完毕后,会检查外部是否有中断请求信号。

如有中断请求,在中断标志为1的情况下,CPU保留下一条指令的地址(称为断点)和当前的标志,转到中断服务程序去执行。

当从中断服务程序返回时,CPU会恢复标志和断点地址。

2中断源类型发出中断请求的外部设备或引起中断的内部原因称为中断源。

在8086系统中,有两类中断:

外部中断和内部中断。

(1)外部中断。

1)不可屏蔽中断NMI。

2)可屏蔽中断INTR。

(2)内部中断。

3中断优先级当系统有多个中断源时,就可能同时出现几个中断源申请中断,而CPU在一个时刻只能响应并处理一个中断请求。

为此,应根据任务的轻重缓急给每个中断源指定CPU响应的优先级。

安排了优先级后,当有多个中断源申请中断时,CPU只响应并处理优先级最高的中断申请。

通常在微机系统中采用软件查询方式、简单硬件方式和可编程中断控制器解决优先级问题。

7.5.3DMA方式DMA主要用于需要高速大批量数据传送的系统中,以提高数据的吞吐量。

1DMA控制器的功能DMA控制器具有以下功能:

(1)当外设准备就绪希望进行DMA操作时,会向DMA控制器发出DMA请求信号,DMA控制器接到此信号后,向CPU发总线请求信号。

(2)CPU接到总线请求信号后,如果允许,则会发出DMA响应信号,从而CPU放弃对总线的控制,这时DMA控制器应能实现对总线的控制。

(3)DMA控制器得到总线控制权后,要向地址总线发送地址信号,修改所用的存储器或接口的地址指针。

为此,DMA控制器内部有地址寄存器。

一开始,由软件向此寄存器中设置DMA的首地址。

在DMA操作过程中,每传送一个字节,就会自动对地址寄存器的内容进行修改,以指向下一个要传送的字节。

(4)在DMA传送期间,DMA控制器应能发出读/写信号。

(5)DMA内部有一个字节计数器,用来存放所传送的字节数。

在DMA过程中,每传送一个字节,字节计数器的值便自动减1,当字节计数器的值为0时,DMA过程结束。

(6)DMA过程结束时,DMA控制器应向CPU发出结束信号,将总线控制权交还给CPU。

2DMA控制器的结构及工作原理DMA控制器有两种工作方式:

单个数据传输和数据块传输。

在单个数据传输方式下,每次数据传输之后,DMA控制器立即将控制权还给CPU;在数据块传输方式下,DMA控制器直到整个数据块传输完毕之后才将控制权交还给CPU。

在8086系统中,CPU通过HOLD引脚接收DMA控制器的总线请求,而在HLDA引脚上发出对总线请求的允许信号。

DMA控制器向HOLD引脚发出一个高电平,表示发出总线请求,而当CPU在完成当前总线操作后,就使HLDA引脚出现高电平表示响应总线请求。

DMA控制器收到此信号后,成为总线的主宰。

当DMA完成数据传输任务后,DMA控制器将HOLD端变为低电平,放弃对总线的控制。

8086系统检测到HOLD信号变为低电平后,也将HLDA变为低电平,于是CPU又控制了系统总线,如图7-22所示。

当DMA工作在数据块传输方式下,系统通过接口向内存输入一个数据块的工作过程为:

(1)接口向DMA控制器发出一个DMA请求。

(2)DMA控制器发出总线请求,然后得到CPU送来的DMA允许信号,得到总线控制权。

(3)DMA控制器中地址寄存器的内容送到地址总线上。

(4)DMA控制器向接口发一个确认DMA传输的信号,以便通知接口把数据送到数据总线。

(5)数据送到地址总线所指定的内存单元。

(6)地址寄存器的值加1。

(7)字节寄存器的值减1。

(8)如果字节寄存器的值为0,则结束;否则返回第一步。

下面给出一个典型的启动数据块输入的程序段。

程序中INTSTAT表示接口的状态寄存器,INTCON表示接口的控制寄存器,DMACON表示DMA控制器的控制寄存器,BYTE_REG和ADD_REG分别表示DMA的字节计数器和地址计数器。

IDLE:

INAL,INTSTAT;检测设备是否是忙状态,如是,则等待TESTAL,04JNZIDLEMOVAX,COUNT;设置计数器OUTBYTE_REG,AXLEAAX,BUFFER;设置地址初值OUTADD_REG,AXMOVAL,DMAC;取原DMA控制字ORAL,49H;设置方向、块传输和允许标志OUTDMACON,AL;设置DMA控制字MOVAL,INTC;设置接口的传输方向及允许标志ORAL,05HOUTINTCON,AL;设置接口的控制字,3DMA控制器的特点综上所述,DMA控制器具有以下特点:

(1)DMA控制器是一个特殊的接口。

DMA控制器是一个接口电路,具有I/O端口地址,CPU可以通过端口地址对DMA控制器进行读/写操作;另外,DMA控制器在获得总线控制权后,可以控制系统总线,操纵外设与存储器之间的数据传输。

这是一般接口不具备的功能。

(2)DMA控制器在传输数据时不用指令,而是通过硬件逻辑电路用固定顺序发地址和读/写信号来实现高速数据传输。

在此过程中,数据不经过CPU而是直接在外设和存储器之间传输。

7.6DMA控制器Intel82377.6.1DMA控制器芯片Intel8237的性能概述7.6.28237的内部组成与结构18237的内部组成8237的方框图如图7-23所示。

主要包含以下几个部分:

(1)四个独立的DMA通道。

(2)定时及控制逻辑电路。

(3)优先级编码逻辑。

(4)共用寄存器。

28237的工作周期在设计8237时,规定它具有两种主要的工作周期(或工作状态),即空闲周期和有效周期,每一个周期又是由若干时钟周期组成的。

(1)空闲周期(IdleCycle)。

DMA存储器写总线周期如图7-24所示。

(2)有效周期(ActiveCycle)。

当处于空闲状态的8237的某一通道接收到外设提出的DMA请求DREQ时,它立即向CPU输出HRQ有效信号,在未收到CPU回答时,8237仍处于编程状态,又称初始状态,记为S0状态。

38237的外部结构图8237是具有40个引脚的双列直插式集成电路芯片,其引脚如图7-25所示。

48237的工作方式8237的各个通道在进行DMA传送时,有4种工作方式:

(1)单字节传送方式。

(2)数据块传送。

(3)请求传送。

(4)级联方式。

58237的DMA传输类型DMA所支持的DMA传送可以在I/O接口到存储器、存储器到I/O接口以及内存的不同区域之间进行,它们具有不同的特点,所需要的控制信号也不相同。

(1)I/O接口到存储器的传送。

(2)存储器到I/O接口。

(3)存储器到存储器。

68237各个通道的优先级及传输速率

(1)优先级。

8237有两种优先级方案可供编程选择:

1)固定优先级:

2)循环优先级:

(2)传送速率。

7.6.38237的内部寄存器组

(1)基地址寄存器。

(2)基字节数寄存器。

(3)当前地址寄存器。

(4)当前字节数寄存器。

(5)地址暂存寄存器和字节数暂存寄存器。

(6)方式寄存器。

(7)命令寄存器。

(8)请求寄存器。

(9)屏蔽寄存器。

8237的屏蔽字有两种形式:

1)单个通道屏蔽字。

2)四通道屏蔽字。

(10)状态寄存器。

(11)暂存寄存器。

用于存储器到存储器传送过程中对数据的暂时存放。

(12)字节指针触发器。

7.78237的编程及应用7.7.18237的寻址及连接7.7.28237在系统中的典型连接,7.7.38237的初始化,PC机中BIOS对8237的初始化部分的说明:

(1)为了对DMAC8237初始化,首先进行总清。

总清时只要求对总清地址进行写操作并不关心写入什么数据。

(2)对DMAC8237的4个通道的基地址寄存器与当前地址寄存器、基字节数寄存器及当前字节数寄存器先写入FFFFH,再读出比较,看读写操作是否正确,若正确,再写入0000H;同样读出校验,若仍正确则认为DMAC工作正常,就开始对其初始化。

若比较时发现有错,则执行停机指令。

由于每个通道的上述4个寄存器占用两个地址(见表7-5),故将循环计数器CX的内容置为8。

(3)程序对DMAC8237的通道0初始化。

在PC机中,通道0用于产生对动态存储器的刷新控制。

利用可编程定时器8253每隔15.0857ms向DMAC提出一次请求。

DMAC响应后向CPU提出DMA请求。

获得总线控制权后,使CPU进入总线放弃状态。

在此DMA期间,DMAC送出刷新行地址,并利用DACK0控制产生各刷新控制信号,对DRAM一行进行刷新。

一行刷新结束,HRQ变为无效,退出DMA。

此处给出通道0的初始化程序,如下所示:

DMAC8237的接口地址及连接简图如图7-36所示。

图中接口请求传送数据的信号经触发器74LS74的Q端形成,由三态门输出作为DMA请求信号。

当DMAC响应接口请求时,送出存储器地址和信号,使选中存储单元的数据出现在系统数据总线D0D7上,OUTDMA+0DH,AL;总清8237MOVDS,BXMOVES,BX;初始化DS和ESMOVAL,0FFHOUTDMA+1,ALOUTDMA+1,AL;通道0的传送字节数为64KB,先写低位,后写高位MOVDL,0BH;使DX=000BH(方式字地址)MOVAL,58HOUTDX,AL;写方式字,单字节传送方式,每次传送行地址MOVAL,0;然后地址自动加1,允许自动预置OUTDMA+8,AL;写入命令字OUTDMA+10,AL;写入屏蔽字(单通道屏蔽字),DMA初始化程序如下:

INITADM:

OUTDMA+13,AL;总清MOVAL,40HOUTDMA+2,AL;送地址低字节到通道1MOVAL,74HOUTDMA+2,AL;送地址高字节到通道1,7440H为通道基地址MOVAL,80HOUTPAG

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > IT计算机 > 电脑基础知识

copyright@ 2008-2023 冰点文库 网站版权所有

经营许可证编号:鄂ICP备19020893号-2