您好,欢迎访问三七文档
当前位置:首页 > 商业/管理/HR > 经营企划 > 微机原理 第8章 微型计算机输入输出接口技术
1第八章微型计算机输入/输出接口技术在不同的微机系统中,为了实现人机对话,人们使用了大量的输入/输出设备,如键盘、鼠标、显示器等,在某些控制场合,还用到了模/数转换器和数/模转换器。由于这些外部设备和装置的工作原理、驱动方式、信息格式和数据处理速度等各不相同,必须经过中间电路才能与CPU相连,这部分中间电路就是所谓的输入/输出接口,简称I/O接口。本章主要讨论输入/输出接口和系统中的数据传送机制,其内容包括:I/O接口、I/O接口的基本结构和功能、I/O端口寻址方式、CPU与外设之间的数据传送方式等。28.1概述8.1.1输入/输出接口的概念与功能一、概念接口是位于系统与外设间,协助完成数据传送的电路。接口技术是研究CPU如何与外部世界进行最佳耦合与匹配,实现双方高效、可靠地交换信息的一门技术,是软件、硬件结合的体现,是微机应用的关键。研究内容涉及到硬件接口电路和软件接口程序两部分3二、I/O接口与系统和外设的连接CPU外设片选译码数据线状态线接口电路PC总线CPU辅助电路控制线控制线数据线低位地址线高位地址线与CPU相连的系统总线包括数据线、地址线和控制线与外设相连的I/O总线包括数据线、控制线和状态线4外设是用来实现人机交互的一些机电设备。不能直接挂在总线上,必须通过接口和系统相连,因为存在下列不匹配:三、采用I/O接口的必要性1、速度的不匹配:CPU速度很快,而外设的速度要慢得多2、信号电平不匹配:CPU所使用的信号多是TTL电平,而外设大多是复杂的机电设备,往往不能用TTL电平驱动,必须有自己的电源系统和信号电平。3、信号格式不匹配:CPU系统总线上传送的并行数据,而外设使用的信号格式各不相同4、时序不匹配:各种外设都有定时和控制逻辑,与CPU的时序不一致5四、I/O接口的功能1、设置数据的寄存、缓冲逻辑,以适应CPU与外设之间的速度差异;2、进行信息格式的转换,如串行和并行的转换;3、协调CPU与外设在信息类型和电平上的差异,如电平转换驱动器、数/模和模/数转换器等;4、协调时序差异,同步CPU与外设的工作;5、地址译码和设备选择功能,使CPU在某一时刻只能选中一个I/O端口;6、提供联络信号,承担CPU与外设之间的联络工作,联络的具体信息有控制信息、状态信息和请求信号等,如外设的“Ready”、“Busy”等状态;7、设置中断和DMA控制逻辑,以保证在中断和DMA允许的情况下,产生中断和DMA请求信号,并在接受到中断和DMA应答之后完成中断处理和DMA传输。6五、I/O接口的类型I/O接口可按以下几种方式进行分类:1、按数据传送方式分为并行接口与串行接口两类主机侧的内部接口,数据在接口与主机之间总是通过系统总线按字节或字或多字进行并行传输;外设侧的外部接口,数据在接口与外设之间有串行和并行两种传送方式。2、按功能选择的灵活性分为可编程接口与不可编程接口两类3、按通用性分为通用接口与专用接口4、按数据传送的控制方式分为程序式接口与DMA式接口5、按设备的连接方式分为点对点接口与多点接口78.1.2CPU与外设之间的接口信息CPU与外设之间的接口信息主要包括数据信息、状态信息和控制信息微处理器I/O接口I/O设备译码数据缓冲器读/写控制逻辑数据端口状态端口控制端口数据控制状态DBusCBusABusCS8接口和端口的区别:端口:是指接口电路中能被CPU直接访问的寄存器或某些特定的器件,分别用来存放数据信息,控制信息和状态信息,相应的端口就是数据端口、控制端口和状态端口。CPU通过这些端口来发送命令、读取状态和传送数据。接口:若干个端口加上相应的控制逻辑才能组成。数据信息:通常包括数字量、模拟量和开关量三种基本形式状态信息:主要用来指示输入/输出设备当前的状态,CPU根据这些状态信息适时准确地进行有效的数据传送。控制信息:主要是用来控制输入/输出设备的一类接口信息,它能控制设备的启动与停止98.1.3I/O端口的编址方法1、端口与存储器统一编址(存储器映射方式)特点:I/O端口相当于内存的一部分,使内存容量减小对I/O端口的读/写与对存储器的读/写相同,所有可对内存操作的指令对I/O端口均可使用,指令多。指令系统中不专设I/O指令,寻址速度慢例motorola的M6800系列内存空间I/O空间10特点:端口与存储器分别独立编址端口不占用内存空间设有专门的I/O指令对端口进行读写,指令执行速度快对内存操作的指令不能用于I/O端口例Intel的80X86系列I/O空间内存空间2、端口与存储器独立编址(I/O映射方式)例MOV[10H],AL对内存操作IN10H,AL对端口操作11可寻址220=1M个内存单元内存范围00000~FFFFFh内存单元的地址有5种寻址可寻址216=64K个I/O端口I/O端口范围0000~FFFFHI/O端口的地址由一个8位二进制数直接寻址或DX寄存器间接寻址外部数据总线为16位,因此I/O口可以为8位(64K)或16位(32K)8086CPU采用I/O端口与存储器分别独立编址I/O空间内存空间12可寻址220=1M个内存单元内存范围00000~FFFFFh内存单元的地址有5种寻址可寻址216=64K个I/O端口I/O端口范围0000~FFFFHI/O端口的地址由一个8位二进制数直接寻址或DX寄存器间接寻址外部数据总线为8位,因此I/O口只能为8位8088CPU采用I/O端口与存储器分别独立编址I/O空间内存空间131.输入指令IN格式执行操作INAL,port(AL)←(port端口)INAX,port(AL)←(port端口)(AH)←(port+1端口)INAL,DX(AL)←((DX)端口)INAX,DX(AL)←((DX)端口)(AH)←((DX)+1端口)port为数字形式的端口地址,大小为0~255或0~FFH14例(1)INAL,28H若(28H端口)=10101111B执行后(AL)=(28H端口)=0AFH(2)INAX,28H若(28H端口)=10101111B(29H端口)=01010000B执行后(AL)=(28H端口)=0AFH(AH)=(29H端口)=50H(3)MOVDX,300HINAL,DX若(300H端口)=69H执行后(AL)=(300H端口)=69H152.输出指令OUT格式执行操作OUTport,AL(port端口)←(AL)OUTport,AX(port端口)←(AL)(port+1端口)←(AH)OUTDX,AL((DX)端口)←(AL)OUTDX,AX((DX)端口)←(AL)((DX)+1端口)←(AH)(1)OUT21H,AL若(AL)=11001100B执行后(21H端口)=0CCH(2)MOVDX,21BHOUTDX,AL若(AL)=10100110B执行后(21BH端口)=(AL)=0A6H例16(1)累加器AL、AX的专用指令对输入指令IN,目的操作数只能为AL,或AXINAL,21HINAX,DXINBX,21H对输出指令OUT,源操作数只能为AL,或AXOUT20H,ALOUTDX,AXOUTDX,CX输入/输出指令(IN、OUT)特点:17(2)端口地址可由直接方式或间接方式给出例OUT219H,ALMOVDX,219HOUTDX,AL例INAL,218HMOVDX,218HINAL,DX当端口号FFH,即255时,需把端口号放在DX寄存器中,DX是一个16位寄存器,范围在0-FFFFh之间。当端口号在0-FFH,即0-255时,可在指令中直接指定端口号例INAL,21HOUT20H,AL18当端口号在0-FFH,即0-255时,可在指令中直接指定端口号,称长格式指令当端口号FFH,即255时,需把端口号放在DX寄存器中,称短格式指令原因是使用直接端口方式的指令机器码相对长例指令机器码INAL,21HE421;两个字节OUT20H,ALE620INAL,DXEC;一个字节OUTDX,ALEE19(3)可进行字节或字传送由指令中AL或AX的类型决定(4)注意端口地址与端口内容的区别INAL,21H不等于(AL)←21HOUTDX,AL不等于(DX)←(AL)INAL,20H;字节传送INAX,20H;字传送INAL,DX;字节传送INAX,DX;字传送OUT20H,AL;字节传送OUT20H,AX;字传送OUTDX,AL;字节传送OUTDX,AX;字传送208.1.4I/O端口的地址分配不同的微型计算机对I/O端口地址的分配是不同的。8088系列微型计算机系统支持的端口数目是1024个。其端口地址空间为000H~3FFH,由地址线A9~A0进行译码。PC系列微型计算机中的I/O端口地址分为两部分,即1024个端口的前256个端口(000H~0FFH)专供I/O接口芯片使用,后768个端口(100H~3FFH)专供I/O扩展槽上的接口控制卡使用。具体见课本。8.1.5I/O端口的译码1、地址译码电路的作用,就是将CPU执行IN/OUT指令发出的地址信号,翻译成欲操作端口的选通信号,此信号常常作为I/O接口内三态门或锁存器的控制信号,接通或断开接口数据线与CPU的连接。212、译码电路的构成74LS138译码器门电路:与门、非门、或门、与非门、或非门等译码器:2-4线译码器74LS1393-8线译码器74LS1384-16线译码器74LS154等可用门电路、译码器或者两者的组合实现。AY0BY1CY2Y3E3Y4E2Y5E1Y6Y722据端口地址确定地址信号A15-A0的取值,用门电路、译码器或两者组合实现满足此取值情况的电路。3、设计译码电路的方法设计译码电路时:1.端口的选通信号通常为低电平有效2.除端口的地址信号参加译码外,控制信号WR、RD(IO/M、DEN也可参加译码)23例设计端口地址为218H的译码电路分析CPU执行IN/OUT指令时,发出端口的地址信号MOVDX,218HINAL,DX或OUTDX,AL对应218H端口的地址信号为(取A9~A0):A9A8A7A6A5A4A3A2A1A0(地址信号)1000011000B218H只要满足此地址取值的译码电路均可24方法一、用门电路实现218H的地址译码数据线DBRDWRCS端口译码电路0A9A8A7A6A5A4A3A2A1A0AENIORIOWD0~D7D0~D710000110000&译码电路部分满足:只当地址信号A9-A0为:A9A8A7A6A5A4A3A2A1A01000011000即218H时,输出0,使I/O接口的CS有效否则输出1使I/O接口的CS无效注意译码电路中:由于高位地址线A15-A10未参与译码,即:地址A15-A0为:××××××1000011000均能输出0,所以该电路使:一个端口对应多个地址,共26=64个218,618,A18,E18等等25采用实际芯片:PC总线RDWRCSI/O口D0~D7数据线DB端口译码电路0A9A8A7A6A5A4A3A2A1A0AEN+5VIORIOWD0~D710000110000&&≥10074LS3074LS2074LS3274LS30为8输入与非门74LS20为4输入与非门74LS32为2输入或门当地址信号为:A9A8A7A6A5A4A3A2A1A01000011000即地址为218H或门74LS32输出0,使I/O接口的CS有效。26当端口地址信号为:A9A8A7A6A5A4A3A2A1A01000011000即218H时,Y0输出0,使I/O接口的CS有效方法二、用译码器、门电路组合实现218H的地址译码74LS1383-8译码器218HAY0BY1CY2E3Y3Y4E1Y5Y6E2Y70000110000100&A0A1A2AENA3A4A5A6A7A8A9IORIOWCSD0~D7&RDWR数据线DBD0~D7端口译码电路27219H21AH21BH21CH21DH21EH21FH218H思考1Y2--Y7译出的端口地址各是多少?74LS1383-8译
本文标题:微机原理 第8章 微型计算机输入输出接口技术
链接地址:https://www.777doc.com/doc-3155501 .html