




版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
第8章可编程接口技术1第8章可编程接口技术2本章介绍可编程并行接口Intel8255A,定时/计数器Intel8253,可编程串行接口Intel8251A和DAM控制器8237A。使用这些芯片,可以方便地构成各种用途的计算机应用系统。8.1并行通信接口8255A3并行通信是将传送数据的各位分别用一根线同时进行传输,同时并行传送的二进位数就是数据宽度,而实现与外设并行通信的接口电路就是并行接口。8255A是一种可以同时实现输入/输出的双向可编程并行接口芯片。一、8255A的内部结构与引脚定义4图8255A内部结构方块图1、8255A的内部结构5由内部结构方块图可知,8255A由以下几个部分组成:1)数据总线缓冲器2)端口A、端口B、端口C3)A组控制和B组控制4)读写控制逻辑62、8255A的引脚定义图8255A的引脚7由8255A芯片的引脚图可知,8255A芯片有40根引脚,可分为如下三类:(1)电源与地线2根:VCC(26脚),GND(7脚)(2)与外设相连的共24根:
8(3)与CPU相连的共14根:RESET(35脚)复位信号,高电平有效;
片选信号,低电平有效;
读信号,低电平有效;写信号,低电平有效;A1、A0(8脚、9脚):端口选择信号;二、8255A的编程命令98255A有两个编程命令,即工作方式命令和对C端口的按位操作(置位/复位)命令,它们是用户使用8255A来组建各种接口电路的重要工具。10方式命令方式命令,又称初始化命令。方式命令出现在8255A开始工作之前的初始化程序段中。方式命令的作用与格式如下。作用:指定8255A的工作方式及其方式下8255A三个并行端口的输入/输出功能。格式:8位命令字的格式与含义如下图所示。图8255A方式命令的格式112.C端口按位置位/复位命令这是一个按位控制命令,要在初始化以后才能使用,它可放在初始化程序段之后的任何位置。C端口按位置位/复位命令的作用和格式如下。作用:指定8255A的C端口8个引脚中的任意一个引脚,输出高电平/低电平。格式:8位命令字的格式与含义如图所示。图8255A按位置位/复位命令的格式123.关于两个命令的使用两个命令的最高位(D7)都分配为特征位。C端口按位置位/复位命令虽然是对C端口进行按位输出操作,但它不能写入作数据口用的C端口,只能写入命令口,这是因为它不是数据,而是命令,要按命令的格式来解释和执行。A端口和B端口也可以按位输出高/低电平,但是,它与前面C端口的按位置位/复位命令有本质的区别,并且实现方法也不同。C端口按位输出是以命令的形式送到命令寄存器去执行的,而A端口、B端口的按位输出是以送数据到A端口、B端口来实现的。三、8255A的工作方式138255A有三种工作方式,通过向8255A的控制字寄存器写入的方式选择字,就可以规定各端口的工作方式。当8255A工作于方式1和方式2时,C口可用作A口或B口的联络信号,用输入指令可以读取C口的状态。下面具体介绍这三种不同的工作方式和C口状态字格式。14方式0方式0称为基本输入/输出(BasicInput/Output)方式,它适用于不需要用应答信号的简单输入/输出场合。在这种方式下,A口和B口可作为8位的端口,C口的高4位和低4位可作为两个4位的端口。15方式0的输入时序如图所示,图8255A方式0输入时序162.方式1方式1也称为选通输入/输出(StrobeInput/Out)方式。在这种方式下,A口和B口作为数据口,均可工作于输入或输出方式。而且,这两个8位数据口的输入、输出数据都能锁存、但它们必须在联络(handshaking)信号控制下才能完成I/O操作。端口C的6根线用来产生或接收这些联络信号。17选通输入/输出方式可分以下几种情况。1)选通输入方式如果A口和B口都工作于选通输入方式,则它们的端口状态、联络信号和控制字如下图所示。18图方式1选通输入方式192)选通输出方式如果A口和B口都工作于选通输出方式,它们的联络控制信号和控制字的格式如下图所示。20图方式1选通输出方式213)选通输入/输出方式组合8255A工作于方式1时,还允许对A口和B口分别进行定义,一个端口作输入,另一个端口作输出。如果将A口定义为方式1输入口,而将B口定义为方式1输出口,在这种情况下,端口C的PC0~PC5作状态和控制线,C口余下的两位PC6和PC7,可作数据输入/输出用。当控制字的D3=1时,PC6和PC7作输入;D3=0时,PC6和PC7作输出。223.方式2方式2称为双向总线方式(BidirectionalBus)。只有A口可以工作于这种方式。在这种方式下,CPU与外设交换数据时,可在单一的8位端口数据线PA7~PA0上进行,既可以通过A口把数据传送到外设,又可以从A口接收从外设送过来的数据,而且输入和输出数据均能锁存,但输入和输出过程不能同时进行。23端口A工作于方式2时,端口C的5位(PC3~PC7)作A口的联络控制信号,对应关系如下图所示,图中也给出了方式控制字的格式。图
方式2的控制信号和方式控制字244.C口状态字当8255A工作于方式0时,C口各位作输入/输出用。当它工作于方式1和方式2时,C口产生或接收与外设间的联络信号,这时,读取C口的内容可使编程人员测试或检查外设的状态,用输入指令对C口进行读操作就可读取C口的状态。C口的状态字有以下几种格式。251)方式1状态字输入状态字如下。其中,D7~D3位为A组状态字,D2~D0位为B组状态字。输出状态字如下。其中,D7~D3位为A组状态字,D2~D0位为B组状态字。262)方式2状态字其中,D7~D3位为A组状态字,D2~D0位为B组所用,当B口工作于方式1时,这几位作B口状态字,B口工作于方式0时,这几位不是状态位,而是作输入输出用。27四、8255A的应用举例用8255A方式0与打印机接口打印机一般采用并行接口,其主要信号与传送时序如下图所示。图
方式0的打印机接口28假设这个8255A芯片在系统中的I/O地址分配是:端口A、B和C的I/O地址为FFF8H、FFFAH和FFFCH,控制端口的地址为FFFEH。;初始化程序段movdx,0fffeh;控制端口地址为FFFEHmoval,10000001B;方式控制字outdx,al;A端口方式0输出,C端口上半
部输出、下半部输入(端口B任意)moval,00001111B;端口C的复位置位控制字outdx,al;使PC7=1,即置=1(只在输出数据时,才是低脉冲)29Printcprocpushaxpushdx;输出打印数据子程序,入口参数:AH=打印数据prn:movdx,0fffch;读取端口Cinal,dx;查询打印机的状态andal,04h;打印机忙否(PC2=BUSY=0)?jnzprn;PC2=1,打印机忙,则循环等待movdx,0fffeh;PC2=0,打印机不忙,则输出数据moval,00001110B;使PC7=0,即置=0outdx,alnop;适当延时,产生一定宽度的低电平nopmoval,00001111B;使PC7=1,即置=130outdx,alpopdx;最终,产生
低脉冲信号popaxretendpprintc312.双机并行通信接口在两台单板机之间利用8255A的端口A实现并行传送数据。甲机的8255A采用方式1发送数据,乙机的8255A采用方式0接收数据。两机的CPU与接口之间均使用查询方式交换数据,如下图所示。图
并行通信接口电路32假设8255A的端口A、B、C和控制端口的I/O地址为FFF8H、FFFAH、FFFCH和FFFEH。;甲机初始化程序段movdx,0fffehmoval,0alhoutdx,al;输出工作方式字:端口A方式1输出moval,0dh;使PC6(INTEA)=1,允许中断outdx,al
;甲机发送程序,AH=发送的数据trsmt:movdx,0fffehinal,dx;查询PC3(INTRA)=1?andal,08hjztrsmtmovdx,0fff8h;发送数据moval,ahoutdx,al33;乙机接收程序:AH=接收的数据receive:movdx,0fffchinal,dx;查询PC4=0?andal,10hjnzreceivemovdx,0fff8h;接收数据inal,dxmovah,al;接收的数据存于AHmovdx,0fffehmoval,00h;使PC0=0outdx,alnop;适当延时,产生一定宽度的低脉冲nopmoval,01h;使PC0=1outdx,al;产生低脉冲信号348.2可编程定时计数器8253一、8253主要功能Intel8253就是一种常用的可编程定时器/计数器接口芯片。主要功能有:每片8253上有三个独立的16位减法计数器,最大计数范围为0~65535。2.每个计数器都可按二进制或二-十进制计数(BCD)。3.每个计数器都有6种不同的工作方式,都可以通过程序设置来改变。4.每个计数器计数脉冲的频率最高可达2MHz。全部输入输出与TTL电平兼容。
二、8253的外部引脚与内部结构351、8253的引脚定义8253具有三个独立的功能完全相同的16位减法计数器,24脚DIP封装,由单一的+5V电源供电。8253引脚如图所示。图8253引脚图361)计数器引脚8253有3个独立的计数器,每个计数器与外部的引脚有3个,分别是脉冲输入引脚CLK、门控输入引脚GATE、计数器输出引脚OUT。2)数据引脚D7~D0CPU对8253的编程、计数初值的输入、计数值的读出均是通过这8位数据线传输的。373)读/写信号控制引脚读信号
有效时,CPU可以读出计数器当前的计数值;写信号
有效时,CPU可以对芯片编程,输入计数器初值。4)片选引脚和地址引脚片选引脚
和地址引脚A1、A0一起决定了8253的地址空间,
决定了地址的高位,A1和A0决定了地址的低位,并且A1和A0的4个不同的组合就构成了8253的4个不同的地址。382、8253的内部结构8253的内部结构如图所示。由图可知,它由数据缓冲器、读/写逻辑电路、控制字寄存器和三个计数器通道所组成。图8253的内部结构391)数据总线缓冲器数据总线缓冲器是8位、双向、三态的缓冲器,通过8根数据线D0~D7接收CPU向控制寄存器写入的控制字,向计数器写入的计数初值,也可以把计数器的当前计数值读入CPU。2)读/写逻辑电路读/写控制逻辑电路从系统总线接收输入信号,经过译码,产生对8253各部分的控制信息。403)控制字寄存器当地址信号A1和A0都为1时,访问控制字寄存器。控制字寄存器接收从CPU发来的控制字,控制字决定了8253的工作方式、计数方式以及使用哪个计数器等。控制字寄存器只能写入不能读出。4)计数器通道8253有3个相互独立的同样的计数电路,分别称做计数器0、计数器1和计数器2。413.8253的编程8253没有复位信号,加电后的工作方式不确定。为了使8253正常工作,微处理器必须对其初始化编程,写入控制字和计数初值。计数过程中,还可以读取计数值。1)写入方式控制字虽然8253的每个计数器都需要方式控制字,但控制字格式相同,如下图所示。而且写入控制字的I/O地址也相同,要求A1A0=11(控制字地址)。42图8253的方式控制字432)写入计数值每个计数器通道都有对应的计数器I/O地址用于读写计数值。读写计数值时,还必须按方式控制字规定的读写格式进行。3)读取计数值利用计数器I/O地址,可以读取计数器的当前计数值。但对8位数据线的8253来说,读取16位计数值需要分两次。由于计数在不断进行,在前后两次执行输入指令的过程中,计数值可能已经变化。所以,如果计数过程可以暂停,可在读取计数值时使GATE信号为低;否则应该将当前计数值先行锁存,然后读取。444.8253的工作方式8253的3个通道根据控制寄存器的设置均有6种工作方式。1)方式0—技术结束中断方式当某一通道设置为方式0,则该计数器的输出OUT立即变为低电平,在计数初值写入该计数器后,输出仍保持低电平。若门控信号GATE为高电平,计数器在CLK的每一个下降沿开始进行减1计数,当计数器从初值减到0时,输出OUT便变为高电平,且一直保持高电平到重新写入控制字或者重新写入新的计数值为止。452)方式1—可编程单脉冲方式当控制字设为方式1时,OUT输出为高电平。在计数初值写入该计数器后,计数并不开始,只有在门控GATE来一个上升沿之后的下一个CLK的下降沿,才开始计数,同时OUT由高电平变为低电平,直到计数值变为0时,OUT才变为高电平。所以OUT输出负脉冲的宽度为计数初值*CLK脉冲周期数。463)方式2—分频工作方式该方式写入控制字之后OUT输出高电平,如果GATE为高电平,在写入计数初值后,计数器开始计数,在计数器到1时,OUT输出低电平,经过一个CLK周期后,OUT变为高电平,计数器从初值重新开始计数。4)方式3—方波发生器在工作方式3下,在计数过程中其输出前一半时间为高电平,后一半时间为低电平,故为方波输出。475)方式4—软件触发选通方式这种方式与方式0非常相似。当设置完方式控制字后,OUT变为高电平。当写入计数初值后立即开始计数(即为软件触发)。当计数到0后,OUT输出为低电平,持续一个CLK周期的低电平后变为高电平,计数器停止计数。6)方式5—硬件触发选通方式这种方式与方式1非常相似。当设置为方式5后,OUT输出高电平,写入初值后,OUT仍保持高电平不变。485.8253应用举例用8253实现生产流水线上的工件计数,每通过100个工件,扬声器便发出频率为1000H中的音响信号,持续时间为3秒。设外部时钟频率为2MHz。下图是该设备的工作原理示意图。49图8253用于工件计数50设8253的端口地址为40H~43H,8255A的端口地址为60H~63H,则实现本例功能的程序段如下:主程序:MOVAL,00010001B;8253计数通道0初始化:方式0,只写低8位,BCD计数OUT43H,ALMOVAL,99H;写计数通道0的计数初值MOV40H,ALMOVAL,10000000B;8255A初始化:A口方式0输出OUT63H,ALSTI;CPU开中断HERE:JMPHERE;等待中断51中断服务程序:MOVAL,01H;8255A的PA0输出高电平,启动8253计数通道1工作OUT60H,ALMOVAL,01110111B;8253计数通道1初始化:先写低8位,后写高8位OUT43H,AL;方式3,BCD计数MOVAL,00HOUT41H,AL;写计数初值低8位MOVAL,20HOUT41H,AL;写计数初值高8位CallDELAY3S;延迟3秒MOVAL,00H;8255A的PA0输出低电平,停止8253计数通道1工作OUT60H,ALMOVAL,99H;写8253计数通道0的计数初值(为下次工作做准备)OUT40H,ALIRET8.3串行通信接口8251A52一、串行通信概述通信是指计算机与外部设备之间或计算机与计算机之间的信息交换。通信的基本方式可以分为并行通信和串行通信两种。并行通信是指数据的每位同时传输,如8.1节所述的8255A与外设间的数据交换采用的就是并行通信方式。53串行通信则把需要传输的数据按照一定的数据格式一位一位地按顺序传输。串行通信的信号在一根信号线上传输。发送时,把每个数据中的各个二进制位一位一位地发送出去,发送一个字节后再发送下一个字节;接收时,从信号线上一位一位地接收,并把它们拼成一个字节传输给CPU进行处理。54串行通信时,数据在两个设备A和B之间传送,按传送方式可分为单工、半双工和全双工3种方式,如图所示。图串行通信数据传输551)单工单工传送方式只能在一个方向上传输数据,两个设备之间进行通信时,一边发射数据,另一边只能接收数据。2)半双工半双工传送方式中,数据可以在两个设备之间任意方向传送,但是由于只有一根传输线,故在同一时间内只能在一个方向上传输数据,不能同时收发。3)全双工由于在两个设备之间有两根数据传输线,所以两个设备间可以同时发射和接收数据。56串行传送有两种基本工作方式:异步方式和同步方式。1)异步方式不发送数据时,数据信号线为高电平,处于空闲状态。当有数据要发送时,数据线变为低电平,并持续一位的时间,表示传送字符开始,该位称为起始位。起始位之后,在信号线上依次出现发送的每一位字符数据,最低有效位D0最先出现,因此它最早发送出去。在数据位的后面有一个奇偶校验位。在奇偶校验位的后面有1到2位的高电平,称为停止位,用于表示字符的结束。如果传输完一个字符后,立即传输下一个字符,则后一个字符的起始位就紧跟在前一个字符的停止位后,否则停止位后又进入空闲状态。以上格式如下图所示。57图异步数据传送格式582)同步方式同步方式数据传送格式如图所示。没有数据发送时,数据线处于空闲状态。为了表示数据传输开始,发送方先发送一个或两个特殊字符,称为同步字符。接着就可以一个字符接着一个字符地发送一块数据,不需要用到起始位和停止位。这样就可以提高数据的传输速率。图同步数据传送格式59二、可编程串行通信接口芯片8251A可编程串行接口芯片有多种型号,常用的有Intel公司生产的8251A,Motorola公司生产的6850、6852,ZILOG公司生产的SIO及TNS公司生产的8250等。下面以Intel公司生产的8251A为例介绍可编程串行通信接口的基本工作原理、内部结构、工作过程等。601.8251A芯片引脚8251A是一个采用NMOS工艺制造的28条引脚双列直插式芯片,全部输入输出与TTL电平兼容,单一+5V电源,单一TTL电平时钟,8251A芯片引脚信号分配如图所示。图8251A引脚信号图61(1)8251A与CPU相连的信号线8251A的28条引脚按其信号分为两组:D0~D7:双向数据线,与系统的数据总线相连。CLK(20脚):时钟信号输入线,用于产生8251A的内部时序。RESET(21脚):芯片的复位信号。
(11脚):片选信号,低电平有效。C/(12脚):控制/数据信号。根据C/信号是1还是0,来判别当前数据总线上信息流是控制字还是与外设交换的数据。62(13脚):读信号,低电平有效。有效时,CPU正在从8251A读取数据。(10脚):写信号,低电平有效。有效时,CPU正在向8251A写入数据。TxRDY(15脚):发送器准备好信号,输出,高电平有效。RxRDY(14脚):接收器准备好信号,输出,高电平有效。63SYNDET/BRKDET(16脚):同步或中止符检测信号,高电平有效。TxEMPTY(18脚):发送移位寄存器空信号。64(2)8251A与外部或调制解调器相连的信号线RxD(3脚):数据接收端,用来接收由外设输入的串行数据。
(25脚):接收时钟信号,输入。TxD(19脚):数据发送端,往外部设备输出串行
数据。
(9脚):发送时钟信号,外部输入。
(24脚):数据终端准备好信号,输出,低电平有效。65
(22脚):数据装置准备好信号,输入,低电平有效。
(23脚):发送方请求发送信号,输出,低电平有效。
(17脚):清除发送信号,输入,低电平有效。662.8251A的内部结构8251A的内部结构如图所示,共有5个部分。图8251A的内部结构67数据总线缓冲器:双向、三态缓冲器,用来与CPU传
输数据信息、命令信息、状态信息。接收器:包括接收缓冲器、接收移位寄存器及接收
控制器三部分。串行接口收到的数据,转变成并行
数据后,存放在该缓冲器中,以供CPU读取。发送器:包含发送缓冲器、发送移位寄存器、发送
控制器三部分。是一个分时使用向外发送。另一方面,
命令字也存放在这里,以指挥串行口工作。读/写逻辑电路:用来接收CPU的控制信号,以控制数据
的传输方向。调制解调器控制电路:用来简化8251A和调制解调器的
连接,提供与调制解调器的联络信号。683.8251A的工作过程
接收器的工作过程当控制命令字的“允许接收”位RxE(D2位)和“准备好接收数据”位DTR(D1位)有效时,接收控制器开始监视RxD线。外设数据从RxD端逐位进入接收移位寄存器中,接收中对同步和异步两种方式采用不同的处理过程。当接收数据缓冲器接收到由外设传送来的数据后,发出“接收准备就绪”RxRDY信号,通知CPU取走数据。69(2)发送器的工作过程当操作命令寄存器中的TxEN=1(D0位)且引脚=0时,才能开始发送过程。接收来自CPU的数据并存入发送缓冲器。发送缓冲器存有待发送的数据后,使引脚TxRDY变为低电平,表示发送缓冲器满。当调制解调器做好接收数据的准备后,向8251A输入一个低电平信号,使
(低电平有效)引脚有效。70在编写初始化命令时,使操作命令控制字的TxEN位(D0位)为高,让发送器处于允许发送的状态下。满足以上②、③、④条件时,若采用同步方式,发送器将根据程序的设定自动送一个(单同步)或两个(双同步)同步字符,然后由移位寄存器从数据输出线TxD串行输出数据块;若采用异步方式,由发送控制器在其首尾加上起始位及停止位,然后从起始位开始,经移位寄存器从数据输出线TxD串行输出。待数据发送完毕,使TxEMPTY有效(高电平)。CPU可向8251A发送缓冲器写入下一个数据。71三、8251A的控制字及初始化8251A是一种多功能的串行接口芯片,使用前对它进行初始化编程后,才能收发数据,使用中可以利用状态字来了解它的工作状态。8251A的控制字可以分为方式字、命令字和状态字。72下面对方式字、命令字、状态字及初始化编程进行介绍。方式字8251A的方式字格式如下图所示。73图8251A的方式字格式742.命令字8251A的命令字格式如图所示。图8251A的命令字格式753.状态字在数据通信系统中,常常要了解8251A的工作状态,如检查传送中是否产生了错误,TxRDY是否有效等,以便控制CPU与8251A之间的数据交换。8251A内部设有状态寄存器,CPU可随时用IN指令读取状态寄存器的内容,在CPU读状态时,8251A将自动禁止改变状态。状态字的格式如下图所示。76图8251A的状态字的格式774.8251A的初始化对8251A进行初始化编程时,必须在系统复位之后(RESET引脚为高电平),使得收发引脚处于空闲状态、各个寄存器处于复位状态的情况下,才能进行编程。通常8251A的初始化编程流程如下图所示。78图8251A的初始化流程79四、8251A应用举例1、异步模式下的初始化程序举例设8251A工作在异步模式,波特率系数(因子)为16,7个数据位/字符,偶校验,2个停止位,发送、接收允许,设端口地址为00E2H和00E4H,请完成初始化程序。80【分析】根据题目要求,可以确定模式字为:
11111010B即FAH控制字为:00110111B即37H81则初始化程序如下:MOVAL,0FAH;送模式字MOVDX,00E2HOUTDX,AL;异步方式,7位/字符,
偶校验,2个停止位MOVAL,37H;设置控制字,使发送、接收允许,清除错标志,使
、有效OUTDX,AL822、同步模式下初始化程序举例设端口地址为52H,采用内同步方式,
2个同步字符(设同步字符位16H),偶校验,7位数据位/字符,请完成初始化程序。【分析】根据题目要求,可以确定模式字为:00111000B即38H而控制字为:10010111B即97H。83具体程序段如下:MOVAL,38H;设置模式字,同步模式,用2个同步字符OUT52H,AL;7个数据位,偶校验MOVAL,16HOUT52H,AL;送同步字符16HOUT52H,ALMOVAL,97H;设置控制字,使发送
器和接收器启动OUT52H,AL8.4DMA控制器8237A84一、DMA控制器概述DMA(DirectMemoryAccess)是指一种外设与存储器之间直接传输数据的方法,适用于需要数据高速大量传送的场合,它不需要CPU直接参与。实现这种数据传输方法的专门硬件电路称为DMA控制器(DMAC)。85DMA传送示意图如图所示。图DMA传送示意图86DMA数据传送过程如下:I/O接口向DMAC发出DMA请求。如果DMAC未被屏蔽,则在接到DMA请求后,向CPU发出总线请求,希望CPU让出数据总线、地址总线和控制总线的控制权,由DMAC控制。CPU执行完现行的总线周期,如果CPU同意让出总线控制权,向DMAC发出响应请求的回答信号,并且脱离三总线处于等待状态。87DMAC在收到总线响应信号后,向I/O接口发DMA响应信号,并由DMAC接管三总线控制权。进行DMA传送。DMAC给出传送数据的内存地址,传送的字节数及发出/信号;在DMA控制下,每传送一个字节,地址寄存器加1,字节计数器减1,如此循环,直至计数器之值为0。DMA读操作:读存储器写外设。DMA写操作:读外设写存储器。DMA传送结束,DMAC撤除总线请求信号,CPU重新控制总线,恢复CPU的工作。88二、8237A的内部结构与引脚功能1.8237A的内部结构8237A的内部结构如下图所示,主要由3个基本控制逻辑单元、3个地址/数据缓冲器单元和1组内部寄存器组成。89图8237A的内部结构90(1)控制逻辑单元控制逻辑单元包括定时和控制逻辑、命令控制逻辑和优先级控制逻辑,它们的功能分别如下。定时和控制逻辑:根据初始化编程所设置的工作方式寄存器的内容和命令,在输入时钟信号的控制下,产生8237A的内部定时信号和外部控制信号。命令控制逻辑:主要是在CPU控制总线(即DMA处于空闲周期)时,将CPU在初始化编程时送来的命令字进行译码;当8237A进入DMA服务时,对DMA的工作方式控制字进行译码。优先级控制逻辑:用来裁决各通道的优先顺序,解决多个通道同时请求DMA服务时可能出现的优先权竞争问题。91(2)地址/数据缓冲器单元缓冲器包括I/O缓冲器1、I/O缓冲器2和输出缓冲器,功能分别如下。I/O缓冲器1:8位、双向、三态地址/数据缓冲器,作为8位数据D7~D0输入/输出和高8位地址A15~A8输出缓冲。I/O缓冲器2:4位、双位、地址缓冲器,作为地址A3~A0输出缓冲。输出缓冲器:4位、单向、地址缓冲器,作为地址A7~A4输出缓冲。92(3)内部寄存器名称位数数量CPU访问方式基地址寄存器164只写基字节计数寄存器164只写当前地址寄存器164可读可写当前字节计数寄存器164可读可写地址暂存寄存器161不能访问字节计数暂存寄存器161不能访问控制寄存器81只写工作方式寄存器84只写屏蔽寄存器81只写请求寄存器81只写状态寄存器81只读暂存寄存器81只读8237A的内部寄存器共有12个,见下表。表8237A的内部寄存器932.8237A的引脚8237A采用双列直插式,有40个引脚,其引脚排列如图所示。图8237A的引脚排列94DB7~DB0:8位地址/数据线。A3~A0:地址线,双向。A7~A4:地址线,单向。
:片选信号,低电平有效。
(I/Oread):I/O读信号,双向,低电平有效。I/Owrite):I/O写信号,双向,低电平有效。
(memoryread):存储器读信号,输出,低电平有效。95
(memorywrite):存储器写信号,输出,低电平有效。DREQ3~DREQ0(DMArequest):4个通道的DMA请求输入信号,由请求DMA传送的外设输入,其有效极性和优先级可以通过编程设定。DACK3~DACK0(DMAacknowledge):4个通道的DMA响应输出信号,作为对请求DMA传送外设的应答信号,其有效极性可以通过编程设定。HRQ(holdrequest):总线请求信号,输出,高电平有效。96HLDA(holdacknowledge):总线应答信号,输入,高电平有效。CLK(clock):时钟信号。作为芯片内部操作的定时,并控制数据传送的速率。RESET:复位信号,高电平有效。READY(I/Odeviceready):外设准备就绪信号,输入,高电平有效。AEN(addressenable):地址允许信号,输出,高电平有效。97ADSTB(addressstrobe):地址选通信号,输出,高电平有效。
(endofprocess):DMA传送结束信号,双向,低电平有效。Vcc:+5V电源。GND:接地。N/C:未用。98三、8237A的工作方式及初始化编程1、8237A的工作方式8237A有4种DMA传送方式,3种DMA传送类型,可以实现存储器到存储器的传送。I.DMA传送方式DMA传送有4种工作方式。99每次DMA操作仅传送一个字节的数据,完成一个字节的数据传送后,8237A将当前地址寄存器的内容加1(或减1),并将当前字节数寄存器的内容减1,每传送完这一个字节,DMAC就将总线控制权交回CPU。若传送后使字节数寄存器从0减到FFFFH,终止计数,则终结DMA传送或重新初始化。(1)单字节传送方式100(2)数据块传送方式在这种传送方式下,8237A一旦获得总线控制权,便开始连续传送数据。每传送一个字节,自动修改当前地址及当前字节数寄存器的内容,直到字节数寄存器从0减到FFFFH终止计数,或收到外部输入的有效
信号才终结DMA传送,将总线控制权交给CPU,一次所传送数据块的最大长度可达64KB,数据块传送结束后可自动初始化。101(3)请求传送方式DREQ信号有效,8237A连续传送数据,当DREQ信号无效时,DMA传送被暂时终止,8237A释放总线,CPU可继续操作。如果外设又准备好进行传送,可使DREQ信号再次有效,DMA传送就会继续进行下去。102(4)级联方式利用这种方式可以把多个8237A连接在一起,以便扩充系统的DMA通道数。下一级的HRQ接到上一级的某一通道的DREQ上,而上一级的响应信号DACK可接下一级的HLDA,其连接如下图所示。103图8237A级联方式104II.DMA传送类型在前3种工作方式下,DMA传送有3种类型:DMA读、写和校验。(1)DMA读如果将数据从存储器传送到外设,则8237A输出
和有效信号。由有效从存储器读出数据,由有效把这一数据写入外设。105(2)DMA写如果将数据从外设传送到存储器,则8237A输出
和有效信号。由
有效从外设输入数据,由有效把这一数据写入存储器。(3)DMA校验DMA校验是一种空操作。8237A也像DMA读或DMA写传送一样产生地址信号和
信号,但不发生存储器和I/O读写控制信号,所以实际上并不真正进行数据传送。这种传送类型一般用于对DMAC器件进行测试时使用。106III.存储器到存储器的传送8237A具有存储器到存储器的传送功能,利用8237A编程命令寄存器,可以选择通道0和通道1两个通道实现由存储器到存储器的传送。107①固定优先权方式:4个通道的优先权是固定的,即通道0优先权最高,依次降低,通道3最低。IV.DMA通道的优先权方式8237A中的任一通道获得服务后,其他通道无论优先权高低,均被禁止,DMA传送不存在嵌套。②循环优先权方式:4个通道的优先权是变化的,即最近一次服务的通道在下次循环中变成最低优先权,其他通道依次轮流相应的优先权。若3个通道已经被服务,则剩下的通道一定是优先权最高的。108V.自动初始化方式若DMA通道设置为自动初始化方式,则每当DMA过程结束
信号产生时,都用基地址寄存器和基字节数寄存器的内容,使相应的现行寄存器恢复为初始值,包括恢复屏蔽位,允许DMA请求。1092、8237A的内部寄存器结构8237A的内部寄存器有两类。一类称为通道寄存器,每个通道包括基地址寄存器、当前地址寄存器、基字节计数器、当前字节计数器和工作方式寄存器,这些寄存器的内容在初始化编程时写入;另一类为控制寄存器和状态寄存器,这类寄存器是4个通道公用的,其中控制寄存器用来设置8237A的传送类型和请求控制等,初始化编程时写入,而状态寄存器存放8237A的工作状态信息,共CPU读取查询。8237A内部寄存器的端口地址分配及读/写操作功能见下表。110表8237A内部寄存器端口地址分配及读/写操作功能通道号A3A2A1A0地址读操作(
=0)写操作(
=0)00000DMA+00H当前地址寄存器基(当前)地址寄存器0001DMA+01H当前字节计数器基(当前)字节计数器10010DMA+02H当前地址寄存器基(当前)地址寄存器0011DMA+03H当前字节计数器基(当前)字节计数器20100DMA+04H当前地址寄存器基(当前)地址寄存器0101DMA+05H当前字节计数器基(当前)字节计数器30110DMA+06H当前地址寄存器基(当前)地址寄存器0111DMA+07H当前字节计数器基(当前)字节计数器公用1000DMA+08H状态寄存器控制寄存器1001DMA+09H
请求寄存器1010DMA
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 2025年玻璃纤维仿形织物项目投资风险评估报告
- “软件工程”意识在网页设计教学中的应用
- 2025年IC卡售气系统项目合作计划书
- 企业法律风险防控
- 体育锻炼防受伤课件视频
- 数学 第四册(五年制高职) 教案 1.6 第16章逻辑代数初步 复习
- 国际贸易与物流师试题及答案
- 统编版语文五年级下册《语文园地四》精美课件
- 广西玉林市博白县2025届高三考前热身化学试卷含解析
- 植物细胞亡的机制研究试题及答案
- 2024安徽合肥市轨道交通集团限公司常态化招聘管理单位遴选500模拟题附带答案详解
- 工程项目安全施工教育培训制度(2篇)
- 《石油化工硫黄回收加热炉工程技术规范》
- 2024年江西省公务员录用考试《行测》真题及答案解析
- 先兆流产课件-课件
- 公路工程劳务分包指导价
- 电子商务概论(第四版)课件 第11、12章 电子商务典型应用、电子商务应用案例
- 设备安装说明及技术指导方案
- DB34T∕ 2647-2016 煤矿在用防爆柴油机单轨吊机车安全检测检验规范
- 2024年中国除尘器滤袋市场调查研究报告
- MFP无机硅声能凝胶施工方案
评论
0/150
提交评论