微机原理与接口技术输入输出接口技术课件_第1页
微机原理与接口技术输入输出接口技术课件_第2页
微机原理与接口技术输入输出接口技术课件_第3页
微机原理与接口技术输入输出接口技术课件_第4页
微机原理与接口技术输入输出接口技术课件_第5页
已阅读5页,还剩77页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

第六章输入输出接口

微机接口概述及接口技术

I/O端口与其编址方式

CPU与外设之间的数据传送方式本章内容端口地址译码掌握微型计算机接口技术的根本概念

了解主机与外设之间的各种数据传送方式

了解I/O端口的寻址方式学习目的6.1微机接口概述及接口技术微型计算机系统可通过系统总线与外设相连,进行系统的扩展与开发,而外设必须通过接口才能与CPU交换信息。

CPU或系统总线I/O接口电路外设数字化存储示波器、数字化万用表终端、调制解调器A/D转换器开关量输入

D/A转换器开关量输出键盘、鼠标、数字化仪、光笔、图形输入仪麦克风、扫描仪打印机显示器磁盘磁带软盘光盘智能仪器接口通信接口过程控制接口输入接口输出接口外存接口CPU内存DB

AB

CB图1-1微机系统各类接口框图CPU与外设两者的信号线不兼容,在信号线功能定义、逻辑定义和时序关系上都不一致

两者的工作速度不兼容,CPU速度高,外设速度低假设不通过接口,而由CPU直接对外设的操作实施控制,就会使CPU处于穷于应付与外设打交道之中,大大降低CPU的效率假设外部设备直接由CPU控制,也会使外设的硬件结构依赖于CPU,对外设本身的开展不利。6.1微机接口概述及接口技术为什么要采用I/O接口为了使CPU能适应各种各样的外设,就需要在CPU与外设之间增加一个接口电路,由它完成相应的信号转换、速度匹配、数据缓冲等功能,以实现CPU与外设的连接,完成相应的输入输出操作。一个接口的根本作用是在系统总线和I/O设备之间架起一座桥梁,以实现CPU与I/O设备之间的信息传输。采用接口技术的目的6.1微机接口概述及接口技术一、I/O接口的功能作为接口电路,通常必须为外部设备提供几个不同地址的存放器,每个存放器称为一个I/O端口。通常的I/O接口示意图如以下图所示:I/O接口示意图

6.1微机接口概述及接口技术I/O接口内部一般由数据、状态、控制三类存放器组成。数据寄存器在输入时,保存外设发往CPU的数据

(输入寄存器)在输出时,保存CPU发往外设的数据

(输出寄存器)状态存放器——保存状态信息,CPU可从状态口读取当前状态;控制存放器——用来保存CPU写入的控制字。6.1微机接口概述及接口技术任何接口电路均包括如下根本功能:1.作为微型机与外设间传递数据的中间缓冲站;2.正确寻址与微机交换数据的外设

;3.提供微型机与外设间交换数据所需的控制逻辑与状态信号。6.1微机接口概述及接口技术4.完成中断判优、中断屏蔽,向CPU送入中断类型码等功能。5.具有可编程特性,可以通过指令设定接口的工作方式,工作参数,以满足不同外设的要求。6.联络功能,当CPU要访问外设时,首先要查询外设状态,能否接受访问,接口应将外设状态准备好,供CPU查询;或向CPU发特定的信号通知外设已准备好。6.1微机接口概述及接口技术二、CPU与I/O之间的接口信号1.数据信息(DATA)(1)数字量

由键盘、光电输入机等输入的信息。(通常以二进制表示的数或以

ASCII码表示的数或字符)

CPU与外设交换的根本信息是数据,有三种类型:6.1微机接口概述及接口技术(2)模拟量非电量信息传感器电量信号处理A/DCPU

(3)开关量两个状态的量

(可以用0、1表示)例如电机的启与停,开关的合与开等。6.1微机接口概述及接口技术2.状态信息(STATUS)输入时,输入设备是否准备好?

(READY)输出时,输出设备是否空闲?(BUSY)反映当前外设工作状态的信息,例如:6.1微机接口概述及接口技术3.控制信息(CONTROL)例如控制I/O设备启动或停止等。CPUI/O

设备I/O

接口123ABDBCBDATASTATUSCONTROLCPU与外设之间的接口信息

CPU通过接口输出用以控制外设工作的信息。6.1微机接口概述及接口技术三.I/O接口的根本结构1〕端口I/O接口电路内部通常有假设干个存放器,用来存放CPU和外部设备之间传输的数据信息、状态信息和控制信息。

在接口电路中,把分配了地址的存放器或缓冲电路称为端口。每个端口都有一个地址。6.1微机接口概述及接口技术〔1〕数据端口:数据端口分为数据输入端口和数据输出端口。在输入时,保存外设发往CPU或内存的数据;在输出时,保存CPU或内存发往外设的数据。〔2〕状态端口:状态端口用来保存外部设备和接口电路本身的工作状态。CPU通过读取状态端口,就可以了解当前外设和接口电路的状态。〔3〕控制端口:控制端口用来存放CPU发来的控制指令,初始化接口电路,确定接口电路的工作方式和功能。6.1微机接口概述及接口技术一个简单的外设接口图6.1微机接口概述及接口技术1〕地址译码电路CPU在执行输入/输出指令时,首先要向地址总线发送端口地址〔地址信号〕。其中高位地址经过译码电路,用来选择不同的接口电路,而低位地址用来选择接口电路内部的不同端口。2〕数据缓冲器与锁存器接口电路内部具有数据缓冲器和数据锁存器,一方面起到CPU和外部设备之间速度不匹配的协调作用;另一方面,使得数据传输端在不传输数据时呈高阻状态。6.1微机接口概述及接口技术外部设备与微处理器进行信息交换必须通过访问该外设相对应的端口来实现。具体访问这些外设端口的过程叫做寻址。

通常有两种编址方式:存储器映像的统一编址方式和I/O端口单独编址方式。

6.2I/O端口及其编址方式一、存储器映像的I/O统一编址方式端口地址与存储器地址统一编址存储器映像的I/O端口统一编址方式

A15WRRDCPURDWR6.2I/O端口及其编址方式优点:1.端口寻址手段丰富,且不需要专门的I/O指令。2.I/O存放器数目与外设数目不受限制,而只受总存储容量的限制。3.读写控制逻辑比较简单。缺点:I/O端口要占用存储器的一局部地址空间,使可用的内存空间减少。6.2I/O端口及其编址方式二、I/O端口单独编址方式I/O端口和存储器分开编址

I/O端口单独编址方式示意图

CPU访问I/O端口必须采用专用I/O指令,故也叫专用I/O指令方式〔SpecialI/OInstructionMode〕。这些专用的I/O指令通常有两类,即输入指令IN、输出指令OUT及其相关指令组。对于不同的微处理器,具有各不相同的指令格式。8086/8088等就采用了I/O端口单独寻址方式。这些指令包含直接寻址和存放器间接寻址两种类型。二、I/O端口单独编址方式〔续〕采用直接寻址,那么其指令格式为: 输入指令:INAL,PORT 输出指令:OUTPORT,AL这种直接寻址方式的端口地址为一个字节长,可寻址256个端口采用间接寻址,那么其指令格式为: 输入指令:INAL,DX 输出指令:OUTDX,AL这种间接寻址方式的端口地址为两个字节长,由DX存放器间接给出,可寻址64K个端口地址。优点:1.I/O口的地址空间独立,且不占用存储器地址空间。2.地址线较少,且寻址速度相对较快

。3.专门I/O指令的使用,使编制的程序清晰,便于理解和检查。二、I/O端口单独编址方式〔续〕6.2I/O端口及其编址方式1.I/O指令较少,导致程序设计的灵活性较差;2.需要存储器和I/O端口两套控制逻辑,增加了控制逻辑的复杂性。缺点:二、I/O端口单独编址方式〔续〕6.2I/O端口及其编址方式16DB16MEMRMEMWCPU控制逻辑存储器(1MB)I/O端口(64K个)R/W控制20AB20168IORIOW访问存储单元用地址总线A19~A0,全译码后得到00000H~FFFFFH共1MB地址空间.I/O端口只利用其中的一局部地址线,即A15~A0地址线,可译出0000H~FFFFH共64KB个I/O端口地址.由于端口是与存储器隔离的,所以用户可扩展存储器到最大容量,而不必为I/O端口留出地址空间.286.2I/O端口及其编址方式I/O与存储器(RAM)的地址重复,用不同的读写信号和指令区分。存储器读写:MEMW,MEMRI/O读写:IOR,IOW(PC/XT)INAL,10HOUT10H,ALAND[SI],AXADD[DI],BX296.2I/O端口及其编址方式28引脚,存储器、I/O控制信号,输出。用来控制CPU进行的是对存储器的访问还是对外部输入输出口的访问.高电平为对存储器的访问,低电平为对I/O口的访问,具体的上下电平由指令(软件)控制。存储器/IO选择6.2I/O端口及其编址方式指令不同,上下电平不同,操作的对象也不同6.2I/O端口及其编址方式三、I/O端口地址分配

PC机的I/O地址线可有16根,对应的I/O编址可达64K字节,但由于IBM公司当初设计微机主板及规划接口卡时,其端口地址译码是采用非完全译码方式,即只考虑了低10位地址线A0~A9,而没有考虑高6位地址线A10~A15,故其端口地址范围是0000H~03FFH,总共只有1024个端口,且将前512个端口分配给了主板,后512个端口分配给了扩展槽上的常规外设。6.2I/O端口及其编址方式I/O芯片名称端口地址DMA控制器1000~01FHDMA控制器20C0~0DFHDMA页面寄存器080~09FH中断控制器1020~03FH中断控制器20A0~0BFH定时器040~05FH键盘接口060~06FHRT/CMOSRAM070~07FH协处理器0F0~0FFH系统板上接口芯片的端口地址I/O接口名称端口地址游戏控制卡200~20FH并行口控制卡1370~37FH并行口控制卡2270~27FH串行口控制卡13F8~3FFH串行口控制卡22F0~2FFH标准卡(用户)300~31FH同步通信卡13A0~3AFH同步通信卡2380~38FH单显MDA3B0~3BFH彩显CGA3D0~3DFH彩显EGA/VGA3C0~3CFH硬驱控制卡1F0~1FFH软驱控制卡3F0~3F7HPC网卡360~36FH扩展槽上接口控制卡的端口地址6.2I/O端口及其编址方式允许用户使用的端口地址是300H~31FH。这一段地址是留给用户在开发IBM_PC系列机插板(功能模块)时,使用的端口地址,系统不会占用。除已分配的地址外,其余的地址由厂商保存使用。6.2I/O端口及其编址方式I/O端口地址的选用原那么1)但凡被系统配置所占用的地址一律不能使用;2)原那么上讲,未被占用的地址,用户可以使用,但对计算机厂家声明保存的地址,不要使用。否那么,会发生I/O端口地址重叠和冲突,造成用户开发的产品与系统不能兼容。3)一般,用户可使用300~31FH地址。但是,由于每一个用户都可以使用,所以为了防止与其他用户开发的插板发生地址冲突,最好采用地址开关。6.2I/O端口及其编址方式门电路译码采用各种门电路,如与门、或门和非门等组合电路构成译码电路。译码器译码利用3-8译码器同样可以构成地址译码器。6.3I/O端口地址译码例:假设总有9根地址线,接口电路的地址线有2根,因此地址空间最多为4个,假设占用四个地址〔如下表〕:40H,41H,42H,43H,试设计该接口电路的译码电路。片选地址片内地址接口电路地址

A9A8A7A6A5A4A3A2A1A0000100000040H0141H1042H1143H6.3I/O端口地址译码片选地址片内地址接口电路地址

A9A8A7A6A5A4A3A2A1A0000100000040H0141H1042H1143H6.3I/O端口地址译码..A4A5A6A7S0S1S2S3A0A1A2A3RDB0B1B2B3A0A1A2A=BA3

EFGHBCDAWRA=B74LS8574LS3274LS3074LS32&&&+5VDIP11YIOWIOR........+5V四位比较器译码电路6.3I/O端口地址译码6.4CPU与外设之间的数据传送方式微机与外设间的数据传送,实际上是CPU与I/O接口间的数据传送。CPU与外设间的数据传送通常包括无条件传送、查询传送、中断传送、以及DMA方式。CPU与外设之间的数据传送方式一、无条件传送方式

无条件传送一般适合于数据传送不太频繁的情况,如对开关、数码显示器等一些简单外设的操作。所谓无条件,就是假设外设已处于就绪状态,数据传送时,程序就不必再去查询外设的状态,而直接执行I/O指令进行数据传输。6.3CPU与外设之间的数据传送方式(续〕无条件传送接口示意图一、无条件传送方式端口地址输入操作:INAL,PORT

M/IO=0,RD=0,地址译码有效,输入

缓冲器被选中。输出操作:OUTPORT,

AL

M/IO=0,WR=0,地址译码有效,输出锁存器被选中。一、无条件传送方式(续〕当外设作输入设备,输入数据的保持时间相对于CPU的处理时间长,所以可以直接用缓冲器;外设作为输出设备,由于外设速度比较慢,CPU的数据必须在接口保持一段时间,因此必须采用锁存器。无条件传输时,输出时,必须确认输出锁存器的原数据无效,才能正确输出;输入时,必须认为输入缓冲器中的数据已准备好,否那么读取错误。一、无条件传送方式(续〕无条件传送的接口电路举例

一、无条件传送方式(续〕例:图中二极管接口电路,欲使LED自上而下依次发光2s,编写控制程序。分析:因为LED总是准备好,为无条件输出。地址:10H,用OUT语句向对应的数据线写0。第一次:01111111第二次:10111111……最后:11111110MOVAL,7FHLOP:OUT10H,ALCALLdelay2sRORAL,1JMPLOP一、无条件传送方式(续〕二、查询传送方式程序控制下的查询传送方式,又称异步传送方式。它在执行输入输出操作之前,需通过测试程序对外部设备的状态进行检查。当所选定的外设已准备“就绪”后,才开始进行输入输出操作。

查询传送方式流程图

查询传送方式工作流程包括两个根本工作环节〔1〕查询环节主要通过读取状态存放器的标志位来检查外设是否“就绪〞。〔2〕传送环节当上一环节完成后,将对数据口实现寻址,并通过输入指令从数据端口输入数据,或利用输出指令从数据端口输出数据。

二、查询传送方式〔续〕1.查询式输入

查询输入接口电路二、查询传送方式〔续〕1)查询式输入如图,状态线占用一根数据线D0,*STB是选通信号,在输入时随着数据一起从输入端口出现,是表示输入数据已就绪的状态信号。CPU先读状态口,假设状态就绪,再读数据口。数据口42H状态口40HSTROBE:选通信号二、查询传送方式〔续〕①外设未准备好,*STB为高,D触发器无脉冲,CPU读状态口(40H),翻开缓冲器(1),读出DB0为低,表示未准备好。二、查询传送方式〔续〕②外设准备好,STB为低,a.翻开锁存器,将输入数据锁存起来;b.STB有下降沿脉冲,使Q为高,CPU读状态口(40H)读入的DB0为高,表示数据有效,程序转而读数据口42H。状态改变二、查询传送方式〔续〕③读数据口42H,a.翻开缓冲器(2),读数据线,这时,缓冲器(1)高阻,所以数据线上是输入设备的数据;b.同时,读数据口的控制线将D触发器清零。Q端输出0,下次再读状态口时读入的DB0为0,表示数据未准备就绪。④重复①、②、③步骤二、查询传送方式〔续〕例:从输入设备上输入1000个字节的数据,传送到存储器的缓冲区,外设数据端口42H,状态端口40H,状态线为DB0。DATASEGMENTBUFFERDB1000DUP(?)DATAENDS……CODESEGMENTASSUMECS:CODE,DS:DATA …… ……LEASI,BUFFERMOVCX,1000LOP:INAL,40H;读状态口

TESTAL,01H;判断数据是否就绪JZLOP;未就绪,重复读取INAL,42H;读数据口MOVBYTEPTR[SI],ALINCSILOOPLOPHLT二、查询传送方式〔续〕2〕查询式输出如图,OBF(OutputBufferFull):输入信号,为1表示输出缓冲器满,即数据已经到外设输入口;ACK(Acknowledge):输出信号,应答,为0表示数据已被外设取走,可以发送下一个数据。数据口62H状态口60HOBFACK二、查询传送方式〔续〕①CPU输出数据,锁存器选通,将数据输入锁存器,同时,D触发器有脉冲,使OBF为1,通知外设取数据。二、查询传送方式〔续〕

②CPU读状态口,因为外设速度较慢,数据输入后有个读取的过程,所以外设未完全取走数据时,ACK信号为高,因此读取的DB0为高,表示外设还未将数据取走,CPU不能送入下一个数据。状态口DB0为1二、查询传送方式〔续〕③

外设取走数据,ACK信号为低,将D触发器清零,Q端输出为0.因此读取状态口的DB0为低,表示外设已将数据取走,CPU可以继续送入下一个数据。状态口DB0为0④

重复①、②、③步骤二、查询传送方式〔续〕例:将BUFFER区50个字节输出,外设数据端口62H,状态端口60H,状态线为DB0。DATASEGMENTBUFFERDB50DUP(‘3’)DATAENDS……CODESEGMENTASSUMECS:CODE,DS:DATA …… ……LEASI,BUFFERMOVCX,50LOP:MOV

AL,[SI]OUT62H,AL;输出数据LOP1:INAL,60H;读取状态口

TESTAL,01H;判断外设是否取走数据JNZLOP1;未取走,等待INCSI;取走,输出下一个LOOPLOPHLT二、查询传送方式〔续〕查询传送流程2.中断传送方式所谓中断,就是当CPU正常运行程序时,由于内部或外部的随机事件,引起CPU暂时中止正在运行的程序,转而去执行请求中断的外设〔或内部事件〕的中断效劳程序,中断效劳结束后再返回被中止的程序。这一过程称为中断。二、中断传送方式中断的用处:主机可以与外设同步并行操作实时处理;故障处理断点主程序中断效劳程序中断请求对外设进行处理继续执行返回断点二、中断传送方式〔续〕中断传送流程二、中断传送方式〔续〕四、DMA方式DMA(DirectMemoryAccess):是存储器与外设或存储器之间进行大量数据传送的方法,是在DMA控制器(DMAC)的控制下进行的。四、DMA方式CPU总线存储器外设程序控制的数据输入/输出DMADMA与程序控制数据传送路径比较DMA与程序控制数据传送路径的比较四、DMA方式〔续〕1.DMA传送的工作原理DMA传送原理图四、DMA方式〔续〕DMA工作流程

四、DMA方式〔续〕〔2〕CPU响应后,接管对总线的控制,进入DMA方式。〔1〕能向CPU发出BUSRQ请求信号。〔3〕能发出地址信息,并对I/O端口或存储器寻址。2.DMA控制器的根本功能四、DMA方式〔续〕〔5〕决定数据传送的地址和数据传送的长度。〔4〕发出读、写控制信号。〔6〕判断DMA操作的结束,撤消总线请求信号,使CPU恢复正常工作。3.DMA操作的根本方法〔1〕CPU停机方式DMA传送时,CPU停止工作,不再使用总线。〔2〕周期挪用方式利用窃取CPU不进行总线操作周期进行DMA传送四、DMA方式〔续〕〔3〕周期扩展方式利用外加时钟电路,当进行DMA时,时钟电路向CPU发送加宽时钟信号。4.DMA操作方式

〔1〕单字节方式DMA控制器操作每次均只传送一个字节。〔2〕字组方式也叫请求方式或查询方式。这种方式以有DMA请求为前提,能够连续传送一批数据。

四、DMA方式〔续〕〔3〕连续方式连续操作方式是指在数据块传送的整个过程中,不管DMA请求是否撤消,DMA控制器始终控制着总线。除非传送结束或检索到“匹配字节〞,才把总线控制权交回CPU。特点从DMA操作角度来看,以连续方式最快,字组方式次之,单字节方式最慢。

从CPU的使用效率来看,那么正好相反,以单字节方式最好,连续方式最差,字组方式居中。四、DMA方式〔续〕DMA传送流程6.3简单的I/O接口芯片应用6.3.1常用芯片功能介绍1.单向三态缓冲器74LS244

74LS244缓冲器主要用于三态输出的地址驱动器、时钟驱动器、总线定向接收器和定向发送器等。

74LS244是一个典型的三态输出的8缓冲器。由于三态门具有“通断〞控制能力,所以可用作输入接口。利用三态门作为输入信号接口时,要求信号的状态是能够保持的。这是因为三态门本身没有对信号的保持或锁存能力。2.锁存器接口芯片〔1〕锁存器74LS273由于三态门器件没有数据的保持能力,所以它一般只用作输入接口,不能直接用作数据输出接口。数据输出接口通常是用具有信息存储能力的双稳态触发器来实现。〔2〕三态输出锁存器74LS374从引线上可以看出,它比74LS273多了一个输出允许OE端。只有当OE=0时74LS374的输出三态门才导通。当OE=1时,那么呈高阻状态。6.3.2简单的I/O接口设计应用如果希望完成如下任务:当开关接通时,CPU执行程序段ON;当开关断开时,CPU执行程序段OFF。下述指令的执行可以完成该任务:

MOVDX,0FFF7HINAL,DXANDAL,01HJZON

JMPOFF

锁存器作为输出接口,其外设地址为0000H。当CPU执行如下指令时,即可将图中两个发光二极管点亮。MOVAL,81HMOVDX,0000HOUTDX,AL而CPU执行下述指令可以使两个发光二极管不发亮。

MOVDX,0000HMOVAL,00HOUTDX,AL当执行OUT指令时,CP端会有负脉冲产生,这就可以将数据线上的81H锁存在输出端,从而点亮发光二极管。三态门74LS244作为输入接口,其I/O地址采用了局部地址译码——地址A1和A0未参加译码,所以它所占用的地址为FF00H~FF04H。可以使用其中任何一个线地址,而其他重叠的3个地址空着

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

最新文档

评论

0/150

提交评论