100字范文,内容丰富有趣,生活中的好帮手!
100字范文 > 计算机输入输出接口形式 输入输出接口-微计算机原理-电子发烧友网站

计算机输入输出接口形式 输入输出接口-微计算机原理-电子发烧友网站

时间:2023-01-28 18:29:04

相关推荐

计算机输入输出接口形式 输入输出接口-微计算机原理-电子发烧友网站

第五节 输入输出接口

如第六章所述,CPU要通过接口电路才能和外设交换信息.一般在接口电路中要有输入输出数据锁存器和 缓冲器,要有状态和控制命令寄存器,还要有地址译码器和控制电路,以及中断控制逻辑电路.这样才能解决 CPU与外设时序匹配问题,对外设实施控制,保证CPU于外设正确可靠的交换信息.

随着大规模集成电路的发展,生产了许多通用的可编程接口芯片,这些接口芯片按数据传送方式可分成 并行接口和串行接口两大类.如Z80PIO,I8255,MC6821均为并行接口芯片,而Z80SIO,I8251,I8250,MC6850等 均为串行接口芯片,本结只讨论并行接口芯片,有关串行接口芯片在接口电路一书中介绍.

可编程并行接口芯片,在实现方法上各厂家虽各有不同,但器件的基本结构和基本功能大体相同,一般 有以下几个功能:

(1)有两个或两个以上的含有锁存器和缓冲器的数据端口.

(2)每个数据端口都有和CPU交换数据用的状态和数据信息,也有与外设交换信息用的状态和控制信息.

(3)通常每个数据端口还具有能用中断方式与CPU交换信息所必需的电路.

(4)选片和控制电路.

(5)都有控制字寄存器,这些寄存器可由CPU写入.即用程序可选择端口,端口传送方向,交换信息的方法等.

INTEL 8255A 是一个典型通用的可编程并行接口芯片,本节作详细介绍.

§7.5.18255A的内部结构

8255A的内部结构如图7-31所示.由以下几部分组成:

1.数据总线缓冲器,这是一个双向三态缓冲器,是8255A与系统总线的接口,CPU与8255A之间的数据传送 ,状态和命令传送都通过它.

2.读/写控制逻辑,它与CPU的地址总线A1,A0以及有关控制信号相连(RD,WR,RESET,IO/M),由它控制把CPU的控制命令或输出 数据送数据端口,或者将外设的状态和输入数据送CPU.CS片选信号,CS=0时允许CPU与8255A交换信息.RD 和WR读/写信号,RD=0时,CPU读入8255A的数据或状态.WR=0时,CPU将数据或状态送入8255A.RESET复位信号, RESET=1时,清除控制寄存器,并使所有端口为输入方式.A1,A0端口寻址信号,由此两位选择三个端口和一个 控制寄存器.表7-3说明了A1,A0和RD,WR及CS组合所实现的功能.

A1

A0

RD

WR

CS

功能

0

0

0

1

0

端口A->数据总线

0

1

0

1

0

端口B数据总线

1

0

0

1

0

端口C数据总线

0

0

1

0

0

数据总线端口A

0

1

1

0

0

数据总线端口B

1

0

1

0

0

数据总线端口C

1

1

1

0

0

数据总线控制字寄存器

*

*

*

*

1

数据总线为三态

*

*

1

1

0

数据总线为三态

1

1

0

1

0

非法状态

3.数据输入端口A,B,C是三个8位输入输出端口.端口A具有一个8位数据输出锁存和缓冲器,一个8位数据输入锁存器.端口A具有一个8位数据输入/输出锁存缓冲器和一个8位数据输入缓冲器.端口C具有一个8位 数据输入缓冲器.通常端口A和B作为数据输入输出端口,端口C作为控制和状态信息端口,在方式控制字的 控制下,端口C可分为两个四位端口,每个端口包含一个四位锁存器.

4.A组和B组控制电路,这是两组根据CPU送来的控制字控制8255工作方式电路,A组控制端口A和端口C的 高4位,B组控制端口B和端口C的低4位.

§7.5.2工作方式

8255A有三种基本的工作方式,他们是方式0(MODE 0),基本输入/输出方式;方式1(MODE 1),选通输入/输出方式;方式2(MODE 2),双向传送.

1.方式选择控制字

使用8255A时要对8255进行初始化编程,CPU向8255A的控制寄存器输出一个方式选择控制字,由它来决定8255A三个功能和工作方式.控制字的格式如图7-32所示.可以分别选择端口A和端口B的工作方式.端口C则分成两部分,高四位随端口A,低四位随端口B,端口A可有三种工作方式,而端口B只能工作于方式0和方式1.

2.按位置位复位功能

端口C的每一位都可由输出指令置位或复位,这一功能主要用于控制,实现这一功能的控制字格式见图 7-33.要注意的是,端口C按位置位复位的控制字是写到控制寄存器的地址.例如,下面几条指令使端口C的 BIT 1置0,而使BIT 7置1,设控制寄存器地址为CNTRL.

MOV AL,02H

OUT CNTRL,AL ;置PC1为0

MOV AL,0FH

OUT CNTRL,AL ;置PC7为1

§7.5.38255A的工作方式

1.方式0的功能

方式0是一种基本的输入或输出方式,在这种工作方式下,三个端口的每一个都可由程序设定为输入或 输出端口,但这种方式沒有规定固定的用于应答式的联络信号线,基本功能为:有两个8位端口和两个4位 端口(C),因此,输入输出可有16种不同的组合;任何一端可作为输入或输出,输出是锁存的,输入是不锁存的. 在这种方式下,CPU可用输入输出指令读或写,可用作无条件传送接口电路,也可用作条件接口传送电路, 此时端口C某些位作端口A和B的控制或状态位.方式0的输入输出时序如图7-34所示.

输入时,当外设准备好一个数据,CPU执行一条输入指令便可从8255读入这个数据.但RD的宽度要大于300ns,而且地址信号要超前RD信号TAR,这样在RD有效后经TRD时间,数据即可稳定在数据总线上.

输出时,CPU用输出指令将数据输出到8255数据输出锁存器,并传给外设,要求WR宽度大于400ns,且地址信号要超前WR信号TAW,并在WR信号结束后保持TWA时间(TWA大于70ns).另外输出数据必须在WR结束前TDW时间内有效(大于100ns),并在WR信号结束后保持TWA时间(接口).

2.方式1的功能

这是一种选通的I/O方式,在这种方式时,端口A和B仍作为数据的输入输出端口,但同时规定端口C的某些 位用作控制或状态信息.在方式1工作时,三个端口分成AB两组,每组包含有8位数据口及三条控制和状态线. 每组即可输入也可输出.当端口A和B工作在方式1输入时,其控制字格式及信号连接如图7-35所示.

其中各控制信号的意义如下:

STB(Strobe):选通输入,低电平有效.这是由外设提供的输入信号,当其有效时,将输入设备送来的数据 送入输入锁存器.

IBF:输入缓冲器滿信号,高电平有效,是8255的输出信号,当其有效时,表示数据已输入至输入锁存器,他 由STB信号置位,RD信号上升沿复位.

INTR:中断请求信号,高电平有效,是8255的输出信号,向CPU申请中断请求.当STB,IBF和IBTE都为高电平 时被置为高,由RD信号下降沿清除.

INTE A:端口A中断允许信号,由PC4的置位复位控制,PC4=1时允许中断.

INTE B:由PC2的置位复位控制.

方式1的输入时序见图7-36.当外设准备好数据,用STB信号把数据送入输入锁存器.STB的宽度至少为500 ns,STB的下降沿经过TSIB时间(TSIB<300ns),IBF信号有效,输给外设,阻止外设输入新的数据,也可供CPU 查询.STB信号结束后经TSIT向CPU发出INTR信号.CPU响应中断并转入中断服务程序,执行输入指令发出RD信号,把数据读入CPU,并清除INTR,使IBF变为低电平.

方式1输出工作情况如图7-37所示:

控制信号如下:

OBF(Output Buffer Full):输出缓冲器满信号,低电平有效,送给外设信号.当有效时,表示CPU已将数据送到输出锁存器,由WR上升沿置成低电平,ACK使其变高.

ACK(Acknowlege):外设送来的响应信号,低电平有效,表示数据已被外设取走.

INTR:中断请求信号,当外设已取走数据,向CPU中断请求,要求CPU送下一个数据,当ACK,OBF和INTE均为 高电平时,INTR变高,由WR的下降沿复位.

INTE A由PC6置位复位,INTE B由PC2置位/复位.

方式1的输出时序如图7-38.方式1用中断方式输出時,由CPU响应中断开始,在中断服务程序,CPU执行输出 指令时发出WR信号,将数据送到输出锁存器,在WR的上升沿产生OBF信号,由OBF将数据送到外设,外设收到数据 后,发回ACK信号,它使OBF变高,使INTR变高,又向CPU申请中断.

3.方式2的功能

方式2可使外设在单一总线上即可接收数据也可发送数据.只有端口A有这种功能,端口C提供5位控制状态 信息。各控制信息信号的信息与方式1输入输出时信号意义相同.其中INTE A表示允许输出中断,由PC6置位/复位控制,INTE B允许输入时中断,由PC4置位/复位控制.

方式2的工作时序就是方式1的输入时序与输出时序的组合,输入和输出都可请求中断.

当端口A工作在方式2时,端口B可工作在方式0或方式1,当端口B工作在方式1时,PC0是INTRB,PC1是IBFB或 OBFB,PC2是INTE B,可以用输入指令读入端口C,检查各位的状态.

§7.5.48255A的应用

在IBM PC/XT中,有一片8255A三个端口全部工作在方式0,起电路如图7-40所示.

1.PA0~PA7在加电自检时工作于输出状态,输出当前部件的标志信号,若检测到关键性故障停机时,测量PA口的电平可确定发生故障的部件.PA口主要输出下列被检部件标志:

PA2 PA1 PA0

0 0 1 BIOS累加和错

0 1 08253错

0 1 1 8237错

1 0 0 前16KB RAM错

1 0 1 8259错

1 1 0 CRT適配器

在正常的工作时,CPU通过PA口读取键盘输入扫描码.

2.PB口输出系统内部控制信号,通过编程设置,可以控制系统内部某些电路的动作.

PB0输出TIM2GATESPK信号,送到8253的GATE2,控制8253通道工作.

PB1输出SPKDATA信号,控制扬声器发声.

PB3输出控制对系统开关DIP的读取,当PB3=0时,允许PC口读取DIP的低四位,PB3=1时,允许PC口读取DIP的高四位.

PB4输出ENBRAMPCK信号,是允许系统板RAM进行奇偶校验信号,送到奇偶校验电路.

PB5输出ENABLE I/O CK信号,送到NMI控制电路,PB5=0时,允许I/O通道中奇偶校验结果送入NMI控制电路.

PB6和PB7是键盘接口电路的控制信号.

3.PC口读取系统内部状态,其中PC0~PC3读取系统配置开关DIP的设置状态,PC4读取扬声器的状态,PC5 读取8252的OUT2状态,PC6读取I/O通道中奇偶校验状态,PC7读取系统板上RAM奇偶校验的结果.

本内容不代表本网观点和政治立场,如有侵犯你的权益请联系我们处理。
网友评论
网友评论仅供其表达个人看法,并不表明网站立场。