您好,欢迎访问三七文档
当前位置:首页 > 商业/管理/HR > 管理学资料 > 第六章 输入输出接口技术新.
第六章输入输出接口I/O技术本章学习目的掌握输入/输出接口电路和基本概念、掌握I/O端口编址方法和特点及地址译码方法。掌握CPU与外设数据传送的方式方法。掌握并行数据接口的基本概念、可编程输入/输出接口芯片8255A的结构、应用及编程方法。掌握DMA的基本概念、可编程DMA控制器芯片8237A的结构、应用及编程方法。掌握定时/计数电路的基本概念、可编程定时/计数器芯片8253的结构、应用及编程方法。第六章输入输出接口I/O技术主要内容输入输出接口概述简单接口电路CPU与外设之间的数据传送方式可编程接口芯片82558253可编程定时计数器DMA接口第六章输入输出接口I/O技术输入输出接口概述微机上所有部件都是通过总线互联,外设通过外设接口(I/O接口)挂在总线上的。I/O接口:是将外设连接到总线上的一组逻辑电路的总称。在一个实际的计算机系统中,CPU与外部设备之间常需要进行频繁的信息交换,包括数据的输入和输出,外部设备状态信息的读取,控制命令的传送,这些都是通过I/O接口来实现。I/O接口是介于主机和外设之间的一种缓冲电路。对于主机,I/O接口电路提供了外部设备的工作状态及数据。对于外设,I/O接口电路记忆主机发给外设的一切命令和数据。I/O接口电路使主机与外设之间协调一致工作。第六章输入输出接口I/O技术输入输出接口概述I/O接口需要解决的问题?I/O接口的功能I/O端口及其编址方式I/O端口地址的译码I/O端口的读写时序I/O数据的传送方式CPU与外设之间的信息类型R第六章输入输出接口I/O技术I/O接口需要解决的问题速度匹配问题CPU的速度很高;外设的速度有高有低,而且不同的外设速度差异甚大。信号电平和驱动能力问题CPU的信号都是TTL电平(0-5V),而且提供功率很小;外设需要的电平要比这个范围宽得多,需要的驱动功率也较大。信号形式匹配问题CPU只能处理数字信号;外设的信号形式多种多样,有数字量、开关量、模拟量(电流、电压频率、相位),甚至还有非电量,如压力、流量、温度、速度等。第六章输入输出接口I/O技术信号格式匹配问题CPU系统总线上传送的四8、16或32位并行二进制数据;外设使用的信号形式信息格式各不相同,有的是数字量或开关量、有的是模拟量;有的外设采用电流,有的采用电压;有的外设采用并行数据,有的采用串行数据时序匹配问题CPU的各种操作都是在统一的时钟信号作用下完成的,各种操作都有自己的总线周期;各种外设有自己的定时和控制逻辑,大都与CPU时序不一致。因此,CPU与外设之间不能通过系统总线相连,必须设置专门的I/O接口电路来解决。R第六章输入输出接口I/O技术I/O接口的功能I/O地址译码和设备选择。所有外设通过I/O接口挂接在系统总线上,在同一时刻,总线只允许一个外设与CPU进行数据传送。因此,只有通过地址译码选中的I/O接口允许与总线相通,而未选中的I/O接口呈现高阻状态,与总线隔离。数据的输入输出。通过I/O接口,CPU可以从外设输入各种信息,也可将结果输出到外设。CPU可以控制I/O接口的工作(向I/O接口写入命令),还可随时监测与管理I/O接口和外设的状态。可以通过I/O接口向CPU发出申请。第六章输入输出接口I/O技术命令、数据与状态的缓冲与锁存缓冲与锁存解决CPU与外设之间速度不匹配的问题数据的缓冲与锁存命令(CPU外设),状态(外设)实现CPU与外设之间的信息交换的同步。信息转换信息格式转换:并行数据、数字量电平转换:TTL电平与其他电平的转换码制的转换:并行、串行传送管理和联络控制CPU:命令和控制信号、定时信号,对外设控制和管理。外设:工作状态,应答信号,以握手联络信号来保证主机与外设同步。R第六章输入输出接口I/O技术I/O端口及其编址方式I/O端口I/O端口的类型I/O组织I/O端口的编址方式R第六章输入输出接口I/O技术RI/O端口CPU与外设通信时,因为传送的信息较多,例数据信息、状态信息和控制信息,所以一个外设接口通常具有若干个端口,CPU在同一时刻只能与某一端口交换信息。I/O端口实际上是一些寄存器(具有记忆功能)和它们的控制逻辑,CPU可对端口中的信息直接进行读写。第六章输入输出接口I/O技术I/O端口的类型数据端口:用来存放外设送往CPU的数据或CPU要输出到外设的数据,是主机和外设之间交换的基本信息。主要起数据缓冲的作用。命令(控制)端口:存放CPU向接口发出的各种命令和控制字,以控制设备和接口工作。例启动位、停止位、允许中断位等。外设不同,控制字格式和内容各不相同。第六章输入输出接口I/O技术状态端口:指示外设的当前状态,由CPU读取,以测试或检查外设的状态,决定程序的流程。每种状态用1位表示,每个外设可以有几个状态位。READY:输入端口:1,表示端口的数据寄存器已准备好数据,等待CPU来读取;当数据被取走后,该位清为0。输出端口:1,表示端口的数据寄存器已空,即上一个数据已被外设取走,可以接收下一个数据;当新的数据到达后,该位便被清0。ERROR:数据传送过程出错,置1;当CPU查到出错状态位之后,相应处理。第六章输入输出接口I/O技术RBUSY:用来表示输出设备是否能接受数据1:表示外设正在进行输出数据传送操作,暂时不允许CPU送新的数据过来。0:本次数据传送完毕,该位清另,表示外设已处于空闲状态,又允许CPU将下一个数据送到输出端口。根据需要,一个I/O接口可能仅包含一类或二类端口,当然也可能包含全部的三类端口。第六章输入输出接口I/O技术RI/O组织A0—A15,64K个8位I/O端口。为每个I/O端口分配一个地址(称I/O地址),以译码选通当前操作是针对哪一个端口。一个外设对应1或多个端口,有时也将端口地址称为外设地址。当1个外设有多个端口时,为管理方便,通常为其分配一个连续的地址块,这个地址中最小的那个地址称为外设的基地址。第六章输入输出接口I/O技术I/O端口的编址方式(a)存储器映射方式示意图(b)I/O映射方式示意图I/O空间0000HFFFFH00000H内存空间FFFFFH1M00000H供I/O接口使用内存空间FFFFFH第六章输入输出接口I/O技术存储器映射编址(I/O端口与内存储器统一编址)把每一个I/O端口都看作一个存储单元看待,I/O端口和存储器单元在同一个地址空间中编址。通常是在整个地址空间中划分出一小块连续的地址分配给I/O端口。被I/O端口占用了的地址,存储器不能再使用。I/O控制信号可与存储器的控制信号共用。I/O映射编址(I/O端口单独编址)内存地址空间和外设地址空间是互相独立的。2个地址空间相互独立,互不影响。I/O端口与内存使用不同的控制信号。第六章输入输出接口I/O技术用访问内存的方法来访问I/O端口,指令种类多,寻址方式多样。该编址方式为访问外设带来了很大的灵活性,不需要专门的I/O指令。外设占用了一部分地址空间,减少了内存可用的地址范围,对内存容量有潜在的影响。从指令上不易区分当前操作是对内存还是对外设操作。R指令系统中设置了专门用于访问I/O指令用于对I/O端口进行读写操作,但这些指令的功能较弱,一些操作必须借助于累加器才能完成。CPU寻址内存和外设时,使用不同的控制信号来区分当前是对内存操作还是对I/O端口操作。第六章输入输出接口I/O技术RI/O端口地址的译码将总线上的地址信号转换为某个端口的使能信号的操作。译码的原因:同一时刻,CPU只能与某个端口交换信息,外设端口不能长期与CPU相连,只有被CPU选中的设备才能接收数据总线上的信息,或将外部信息送到数据总线,需设置外设地址译码电路,使CPU在同一时刻只能选中某一个I/O端口。利用低16位地址线采用线性、部分译码、全译码的方式进行译码。对于具有多个I/O端口地址的外设,16位地址中的高位参与译码决定外设的基地址,而低位则用于确定访问哪一个端口。第六章输入输出接口I/O技术I/O端口的读写时序第六章输入输出接口I/O技术I/O的读写操作:所有输入输出接口与CPU之间的通信都是由I/O指令来完成的。在执行I/O指令时,CPU首先把需要访问的端口地址送到AB上(即选中该端口),然后才能对其进行读写操作。输入输出操作时的相关信号的状态M/IO=0,访问I/O端口,CPU才能对I/O端口进行读写操作,AB上的是I/O地址。8位接口芯片与8086CPU数据总线相连。DB0-7/DB8-15只能传送I/O端口为偶/奇地址的数据,若I/O端口仅使用偶/奇地址,则I/O接口的8位数据总线与CPU的低/高8位相连;若I/O端口使用连续的地址,则必须附加8位DB到16位DB的转换逻辑。R第六章输入输出接口I/O技术CPU与外设之间的信息类型数据信息:CPU与外设交换的基本信息。状态信息:反映当前外设所处的工作状态,是外设通过接口送给CPU的。输入设备:READY,表明待输入的数据是否准备就绪。输出设备:BUSY,表明输出设备是否处于空闲状态。控制信息:CPU通过接口传送给外设,CPU发出控制信息控制外设的工作。三类信息分别传送。?在微机系统中,CPU通过接口和外设交换数据时,只有IN和OUT指令,所以只能把状态信息和控制信息都看作数据信息来传送,并且将状态信息作为输入数据,控制信息作为输出数据,于是这三种信息都可以通过数据总线传送。但要注意三种信息应送入不同端口。R第六章输入输出接口I/O技术R简单接口电路接口电路的组成三态门接口芯片锁存器接口芯片输入输出接口芯片简单接口应用示例第六章输入输出接口I/O技术接口电路的基本组成CPU与外设之间的连接示意图CPUI/O接口外设端口地址DB控制信号DB控制状态第六章输入输出接口I/O技术输入接口:负责把信息从外设送入CPU的接口。外设处理数据的时间一般比CPU长得多,数据在外部总线上保持的时间相对较长,所以要求输入接口必须具有对数据的控制能力。即要在外部数据准备好,CPU可以读时才能将数据送到DB。要使外设具有数据保持能力,通常可以用一个三态门缓冲器作为输入接口。控制信号有效时,三态门打通,该外设与DB相通,CPU将外设准备好的数据读入。控制信号无效时,三态门断开,该外设从DB上脱离,DB用于其它信息的传送。第六章输入输出接口I/O技术输出接口:将信息从CPU输出到外设的接口数据输出时,由于外设的速度较慢,要使数据能正确写入外设,CPU输出的数据一定要保持一段时间。保持工作由CPU来完成,则对其资源是个浪费。实际上,从总线写时序可以看出,CPU送到DB上的数据只能保持n个微秒,所以要求输出接口必须具有数据的锁存能力。CPU输出的数据通过DB送入接口锁存,由接口将数据一直保持到被外设取走。简单的输出接口一般由锁存器构成。第六章输入输出接口I/O技术R控制端三态门和锁存器的控制端一般与I/O地址译码输出信号线相连,当CPU执行I/O指令使,指令中指定的I/O地址经译码后即使控制信号有效,打开三态门(对外设读时)或将数据锁入锁存器(对外设写时)。第六章输入输出接口I/O技术三态门接口芯片74LS244例:利用74LS244作开关量输入接口。编写程序判断开关的状态。如果所有开关都闭合,则程序转向标号为NEXT1的程序段执行,否则转向标号为NEXT2的程序段执行。&≥1……≥1I0DQ0-7DB0-7IORA15A9A2A14A10I71G2GK0&≥1……≥1I0DQ0-7DB0-7IORA15A9A2A14A10I71G2GK0第六章输入输出接口I/O技术说明:利用三态门作输入接口应注意的问题:1、外设具有信号的保持能力,如开关,因为三态门无信息保持能力。2、I/O地址的译码方式为部分译码。3、开关断开时,输入为1;开关闭合时,输入为0。程序段:MOVDX,83FCHINAL,DXANDAL,0FFHJZNEXT1JMPNEXT2R第六章输入输出接口I/O技术锁存器芯片:
本文标题:第六章 输入输出接口技术新.
链接地址:https://www.777doc.com/doc-3707466 .html