您好,欢迎访问三七文档
当前位置:首页 > 商业/管理/HR > 管理学资料 > 接口技术-输入输出接口概述
1输入输出接口概述2输入输出接口(教材8.1节)•I/O接口概述•查询传送方式及其接口•中断传送方式及其接口•DMA传送方式3I/O接口概述为什么需要I/O接口(电路)?•微机的外部设备多种多样•工作原理、驱动方式、信息格式、以及工作速度方面彼此差别很大•它们不能与CPU直接相连•必须经过中间电路再与系统相连•这部分电路被称为I/O接口电路多种外设4I/O接口概述(续1)什么是I/O接口(电路)?•I/O接口是位于系统与外设间、用来协助完成数据传送和控制任务的逻辑电路•PC机系统板的可编程接口芯片、I/O总线槽的电路板(适配器)都是接口电路CPU接口电路I/O设备5I/O接口概述(续2)什么是微机接口技术?•处理微机系统与外设间联系的技术•注意其软硬结合的特点•根据应用系统的需要,使用和构造相应的接口电路,编制配套的接口程序,支持和连接有关的设备6I/O接口的主要功能⑴对输入输出数据进行缓冲和锁存输出接口有锁存环节,输入接口有缓冲环节实际的电路常用:输出锁存缓冲环节,输入锁存缓冲环节⑵对信号的形式和数据的格式进行变换微机直接处理:数字量、开关量、脉冲量⑶对I/O端口进行寻址⑷与CPU和I/O设备进行联络7I/O接口的典型结构控制总线CB地址总线ABI/O接口电路数据控制状态数据总线DBCPU外设控制寄存器状态寄存器数据寄存器1.接口电路的内部结构2.接口电路的外部特性3.接口电路芯片的分类4.接口电路的可编程性81.接口电路的内部结构•CPU与外设主要有数据、状态和控制信息需要相互交换,于是从应用角度看内部:⑴数据寄存器–保存外设给CPU和CPU发往外设的数据⑵状态寄存器–保存外设或接口电路的状态⑶控制寄存器–保存CPU给外设或接口电路的命令92.接口电路的外部特性•主要体现在引脚上,分成两侧信号面向CPU一侧的信号:–用于与CPU连接–主要是数据、地址和控制信号面向外设一侧的信号:–用于与外设连接–提供的信号五花八门–功能定义、时序及有效电平等差异较大103.接口电路芯片的分类接口电路核心部分往往是一块或数块大规模集成电路芯片(接口芯片):•通用接口芯片–支持通用的数据输入输出和控制的接口芯片–如:并行接口芯片、串行接口芯片等。•面向外设的专用接口芯片–针对某种外设设计、与该种外设接口–如:显示接口电路、磁盘驱动接口电路等。•面向微机系统的专用接口芯片–与CPU和系统配套使用,以增强其总体功能–如:8259A、8237、8253等。114.接口电路的可编程性•许多接口电路具有多种功能和工作方式,可以通过编程的方法选定其中一种•接口需要进行物理连接,还需要编写接口软件•接口软件有两类:–初始化程序段——设定芯片工作方式等–数据交换程序段——管理、控制、驱动外设,负责外设和系统间信息交换12I/O端口的编址接口电路占用的I/O端口有两类编排形式•I/O端口单独编址–I/O地址空间独立于存储地址空间–如8086/8088•I/O端口与存储器统一编址–它们共享一个地址空间–如M68000理解端口13I/O端口单独编址•优点:–I/O端口的地址空间独立–控制和地址译码电路相对简单–专门的I/O指令使程序清晰易读•缺点:–I/O指令没有存储器指令丰富内存空间I/O空间FFFFF0FFFF80x86采用I/O端口独立编址14I/O端口与存储器统一编址•优点:–不需要专门的I/O指令–I/O数据存取与存储器数据存取一样灵活•缺点:–I/O端口要占去部分存储器地址空间–程序不易阅读(不易分清访存和访问外设)内存部分I/O部分存储器空间00000FFFFF158088/8086的I/O端口•8088/8086只能通过输入输出指令与外设进行数据交换;呈现给程序员的外设是端口(Port),即I/O地址16端口(PORT)•端口泛指I/O地址,通常对应寄存器•一个接口电路可以具有多个I/O端口,每个端口用来保存和交换不同的信息•数据寄存器、状态寄存器和控制寄存器占有的I/O地址常依次被称为数据端口、状态端口和控制端口,用于保存数据、状态和控制信息•输入、输出端口可以是同一个I/O地址一定要理解•8086用于寻址外设端口的地址线为16条,端口最多为216=65536(64K)个,端口号为0000H~FFFFH•每个端口用于传送一个字节的外设数据18I/O寻址方式•8088/8086的端口有64K个,无需分段,设计有两种寻址方式直接寻址:只用于寻址00H~FFH前256个端口,操作数i8表示端口号间接寻址:可用于寻址全部64K个端口,DX寄存器的值就是端口号•对大于FFH的端口只能采用间接寻址方式19数据交换方式•如果输入输出一个字节,利用AL寄存器•如果输入输出一个字,利用AX寄存器•输入一个字,实际上是从连续两个端口输入两个字节,分别送AL(对应低地址端口)和AH(对应高地址端口)•输出一个字,实际上是将AL(对应低地址端口)和AH(对应高地址端口)两个字节的内容输出给连续两个端口20I/O指令功能说明INAL,PORTINAX,PORTINAL,DXINAX,DXOUTPORT,ALOUTPORT,AXOUTDX,ALOUTDX,AXAL←(PORT)AH,AL←(PORT+1,PORT)AL←(DX)AH,AL←(DX+1,DX)(PORT)←AL(PORT+1,PORT)←AH,AL(DX)←AL(DX+1,DX)←AH,AL单字节访问双字节访问单字节访问双字节访问单字节访问双字节访问单字节访问双字节访问8086/8088的I/O指令21IN指令(从20H、21H端口输入一个字);方法1:字量输入,直接寻址inax,20h;方法2:字量输入,间接寻址movdx,20hinax,dx;方法3:字节输入,直接寻址inal,21hmovah,alinal,20h;方法4:字节输入,间接寻址movdx,21hinal,dxmovah,aldecdxinal,dx22OUT指令(向300H端口输出一个字节);唯一的方法:间接寻址,字节量输出moval,bvar;bvar是字节变量movdx,300houtdx,al23I/O地址的译码常见的I/O地址的译码(或称端口地址选择)方法有三种:•门电路组合法•译码器译码法•比较器比较法•门电路组合法是最简单的一种端口地址选择方法,它采用常见的逻辑门电路,比如与门、或门、非门等作为基本的组合元件。•一般端口都是指寄存器、锁存器或缓冲器,这些器件都有一个芯片选择信号,简称片选信号,多数是低电平有效,当然,也有一些芯片没有片选信号,而是有使能端,或脉冲控制端,总之是使器件产生动作的控制端。•端口地址选择的目的,是当地址线上出现某种信息组合时,在电路的输出端会产生一个有效信号(有效信号有四种状态,即高电平、低电平、上跳沿、下降沿,具体使用哪种状态,视所使用器件而定),该信号连到器件的控制端,使器件产生动作,从而完成I/O端口的读/写操作。•这种方法简单、直观,适合于单个端口,常用的基本门电路有7400(2输入4与非门)、7408(2输入4与门)、7420(4输入双与非门)、7430(8输入与非门)、7402(2输入4或非门)、7432(2输入4或门)、7404(六反相器)等等。25逻辑门电路进行I/O地址译码A9A8A7A6A5A2A4A3AENA1A074LS033E7H•译码器译码法是最常用的一种方法,就是利用译码器芯片对地址进行译码。•PC/XT微型机系统板上接口芯片的端口地址译码采用了一个74LS138译码电路。这些芯片也都有片选信号,74LSl38译码器的输出与这些芯片的片选信号连接。•各接口芯片内部有多个寄存器,因而应有多个端口地址。译码器只直接使用A9~A5,其余的低5位地址A4~A0未接,留给各接口芯片自行内部译码,以便寻址多个寄存器。显然,由于A4~A0未接到译码器,所以每个译码器的输出端对应25=32个端口地址,系统为每个接口芯片预留出32个端口地址,至于每个接口芯片用多少,则视接口芯片内部寄存器的数目而定。•译码器译码法可以方便地对多个地址进行译码,适合于多个端口的电路。常用的译码器有74139/74155(双2线-4线译码器)、74138(3线-8线译码器)、74154(4线-16线译码器)。8237000H~01FH8259020H~03FH8253040H~05FH8255060H~07FHDMA页面寄存器080H~09FHNMI屏蔽寄存器0A0H~0BFH保留0C0H~0DFH保留0E0H~0FFH27IBMPC/XT主机板的I/O译码电路Y0Y1Y2Y3Y4Y5Y6Y7A5A6A7A8A9AENIOWABCG2BG2AG174LS138DMACS(8237)INTRCS(8259)T/CCS(8253)PPICS(8255)WRTDMAPG(写DMA页面寄存器)WRTNMIREG(写NMI屏蔽寄存器)28IBMPC/AT主机板的I/O译码电路接口芯片内部译码A0~A4DMA控制器1中断控制器1定时计数器并行接口电路DMA页面寄存器中断控制器2DMA控制器2协处理器A5A6A7A8A9LS138译码器HLDAMASTERABCE1E2E3Y0*Y1*Y2*Y3*Y4*Y5*Y6*Y7*•比较器比较法是比较灵活的一种方法,就是利用数码比较器把地址线上的地址同拨码开关预定的地址相比较,进而确定地址是否相符。如果比较后两个地址相等,则表示地址总线送来的端口地址就是该端口的地址。•用比较器比较法进行端口地址译码不仅原理直观,方法简便,更主要的是通过改变预设置,就能够很容易地改变接口电路中端口的地址,而不需要改变线路,使用非常灵活。在一些通用接口模板中,这一方法已得到广泛的应用。•常用的比较器有7485(4位数字比较器)、74688(8位数字比较器)。74LS688P0P=QP6P7P5P3P4P2P1Q1Q2Q0Q3Q4Q5Q6Q7GA19A18A17A16A15A14MEMRMEMW+5V10KX8片选信号输出接存储器芯片的CS10KX28088最大方式系统总线用74LS688作译码器的译码电路简单接口电路•数据输入接口–必须具有三态输出能力,以便与总线挂接–外设有数据保持能力时—可用三态门实现–外设无数据保持能力时—用三态输出的锁存器实现•数据输出接口–常用锁存器实现•三态门:高电平、低电平、高阻态–通常一个器件中包含8个三态门–常用芯片:74LS244(8位三态缓冲器)–应用例子:开关接口•工作波形图如下:A0~A15IOR#译码输出D0~D7开关状态地址有效简单的输入接口举例(8位开关量输入)K6K7+5VI0I3D0-D7DO0DO7~74LS244E1E2≥1&A2A3A4A5A6A7A8A9A10A11A12A13A14A15IOR系统总线信号≥1K5K4K3K2K1K0I1I2I4I5I6I7接口电路图如下:83FCH~83FFH译码器•锁存器:由D触发器构成–通常一个器件包含8个D触发器–常用芯片:•74LS273(8-D触发器)•74LS374(具有三态输出的锁存器)简单的输出接口举例(发光二极管接口)译码器=1=1.........+5VRD0|D7CPQ0Q7...D0~D7A0~A15IOW#74LS273R输入/输出接口综合应用例子•根据开关状态在7段数码管上显示数字或符号–共阳极7段数码管结构–用74LS273作为输出接口,把数据送到7段数码管•74LS273的地址假设为F0H–用74LS244作为输入口,读入开关K0~K3的状态•74LS244的地址假设为F1H–当开关的状态分别为0000~1111时,在7段数码管上对应显示’0’~’F’–(7段码表见下页)符号形状7段码.gfedcba符号形状7段码.gfedcba’0’00111111’8’01111111’1’00000110’9’01100111’2’01011011’A’01110111’3’01001111’B’01111100’4’01100110’C’00111001’5’011
本文标题:接口技术-输入输出接口概述
链接地址:https://www.777doc.com/doc-4935848 .html