微机原理ch07基本输入输出接口.doc_第1页
微机原理ch07基本输入输出接口.doc_第2页
微机原理ch07基本输入输出接口.doc_第3页
微机原理ch07基本输入输出接口.doc_第4页
微机原理ch07基本输入输出接口.doc_第5页
已阅读5页,还剩8页未读 继续免费阅读

下载本文档

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

文档简介

7 基本输入输出接口7.1 I/O接口的概念外设输入输出设备是微机系统的重要组成部分,各种外设通过I/O接口与系统相连,并在接口电路的支持下实现数据传送和操作控制。接口(interface)是一个广泛使用的概念和术语,泛指两个不同系统相互作用时的连接部分。接口技术是采用硬件与软件相结合的方法研究微处理器如何与外设进行耦合与匹配以实现CPU与外设高效且可靠的信息交换的一门技术。为了实现友好的人机交互和各种形式的输入输出,人们使用了多种多样的I/O设备,如:l 键盘l 鼠标l 显示器l 打印机l 绘图仪l 调制解调器l 在一些控制场合,还会用到:l 模数,数模转换器l 发光二极管l 数码管l 按纽l 开关l 这些外设在工作原理、驱动方式、信息格式、工作速度等方面彼此的差别很大,在处理数据时,其速度通常比CPU要慢得多。所以它们(外设)不能直接与CPU相连,必须经过中间电路与系统相连,这部分电路被称为I/O接口电路,简称为I/O接口。I/O接口是介于系统与外设之间协助完成数据传送和控制任务的逻辑电路。接口电路属于微机的硬件系统,但其工作一般离不开软件的驱动与配合,应注意其软硬结合的特点。7.2 I/O接口的主要功能I/O接口用于实现微处理器系统与外设的数据交换和系统对外设的控制,在系统与外设之间起到适配的作用,其功能表现在以下几方面。7.2.1 信号电平的转换外设产生的信号的电气特性(数字量、开关量、模拟量、)可能与系统总线的电气特性、规范不一致,往往不是TTL电平或MOS电平,因而需要接口完成交换信号的电平转换。l 电平信号 电流信号l 弱电信号 强电信号l 数字信号 模拟信号7.2.2 数据格式的转换系统总线上传输的是8位,16位或32位的并行数据,而外设可能串行数据传输方式,这就要求接口电路完成串行并行,并行串行的数据传输方式的转换。即使是外设也是采用并行数据传输方式,其使用的位长和代码格式也可能与系统总线不同,这也需要接口电路来实现数据格式的转换。7.2.3 数据的缓冲与锁存由于外设的工作速度与CPU的工作速度之间的差异很大,通常外设是低速设备,这就要求接口能够实现外设与系统交换信息时数据传输速度的匹配。l 在输出接口中,一般要安排锁存环节(如锁存器),以便锁存输出数据,使较慢的外设有足够的时间进行处理。l 在输入场合中,一般要安排缓冲隔离环节(如三态门)只有当CPU选通时才允许某个被选定的设备将数据送到系统总线上,其他的输入设备此时与系统总线是隔离的。7.2.4 与CPU和I/O设备进行联络I/O接口位于CPU和外设之间,既要面向CPU进行联络,又要面向外设进行联络,联络的内容有:l 状态信息l 控制信息l 请求信息l 7.2.5 对I/O端口的寻址在一个外设的接口电路中可能会有多个端口(port),每个端口用来保存和交换不同的信息,接口电路的任务之一就是它们进行译码寻址。7.3 I/O接口的典型结构7.3.1 内部结构接口电路中可以被CPU存取的寄存器称为I/O端口。接口电路内部一般由3类寄存器组成:l 数据寄存器l 状态寄存器l 控制寄存器数据、状态、控制寄存器占用的I/O端口通常被称为数据端口、状态端口、控制端口,也简称为数据口、状态口、控制口。7.3.1.1 数据寄存器输入时,保存外设发往CPU的数据,称为数据输入寄存器。输出时,保存CPU发往外设的数据,称为数据输出寄存器。有些数据寄存器同时支持输入和输出,实际上是具有输入和输出两种寄存器,但共用一个端口地址和端口引线,随着读写控制的不同可分别访问到其中的输入或输出寄存器。7.3.1.2 状态寄存器保存状态数据,CPU可以从中读取当前接口电路或外设的状态。7.3.1.3 控制寄存器保存控制数据,CPU向控制寄存器中写入命令,选择接口电路的工作方式,或控制外设进行有关操作。7.3.2 外部特性接口电路的外部特型由其对外的引出信号体现。根据连接的的对象分为两侧的信号:l 面向CPU一侧的信号用于与局部总线或系统总线连接,主要有数据线、地址线、控制线。这些信号的连接类似于存储器与CPU的连接,主要是处理好地址译码的问题。l 面向外设一侧的信号外设的种类繁多,型号不一,信号五花八门,其功能定义、时序及有效电平等差异很大,与外设连接的接口信号比较复杂,应弄清外设的工作原理、工作特点。7.3.3 接口电路芯片的分类接口电路可以很简单:只由一块中下规模集成电路或一块大规模通用集成电路芯片组成。接口电路也可能很复杂:不亚于系统主板,如网卡、图形加速卡等。其核心部件往往是一块或数块大规模集成电路芯片,称为接口芯片。按照功能可分为:l 通用接口芯片支持通用数据输入输出和控制的芯片,如:l 并行接口芯片8212,8255Al 串行接口芯片8250,8251l 面向外设的专用接口芯片一般是针对某种外设而设计的,仅用于某些特定点外设接口,如:l CRT控制器MC6845支持显示器接口电路,l 软盘控制器uPD765支持软盘接口电路。l 面向微机系统的专用接口芯片与CPU和系统配套使用,以增强总体功能。有时候也把这部分电路认为是主机的一部分。如:l 中断控制器8259Al DMA控制器8237l 定时计数器82537.3.4 接口电路的可编程性许多接口芯片往往具有多种功能和工作方式,以适应较为广泛的应用场合。使用时,需要根据具体应用问题通过程序来选定某种功能和工作方式,这就是接口电路的可编程性(programmable),也称这类芯片为可编程接口芯片。为设定芯片工作方式而编写的程序段一般称为该接口芯片的初始化程序段。在学习可编程芯片的应用时,除了进行物理连接之外,还要考虑接口软件的编写,接口软件是指管理、控制、驱动外设的程序。7.4 I/O端口的编址I/O端口是CPU可以存取的寄存器,或者是可以被CPU寻址的存储单元,所以I/O端口也像内存单元一样有地址。I/O端口地址的编排有两种形式:l I/O端口单独编址,其地址空间独立于存储器地址空间,如x86l I/O端口与存储器统一编址,共享一个地址空间,如M68007.4.1 I/O端口独立编址I/O映象(I/O mapped)I/O寻址,80x86所采用。在这种寻址方式下,CPU将主存和I/O端口视为完全分离的地址空间。CPU在进行数据存取时会送出一个控制信号,指明指令是对内存或I/O端口的存取。特点:1) 主存未被I/O端口占用对存储器寻址,CPU给出20位地址信息,A19A0对I/O端口寻址,CPU给出16位地址信息,A15A0,A19A16无效I/O端口有8位和16位之分。通常16位端口安置在偶地址,CPU在一次总线周期内就可以存取16位数据。8位端口可以安置在偶地址也可以安置在奇地址,由-BHE和A0来决定。I/O端口安置地址数据总线例子8位偶地址D7D0in al, 20h奇地址D15D8out 21h, al16位偶地址D15D0in ax, 20h2) 有专用的I/O指令(软件)INInput Data from PortFlags:UnchangedFormat:in accumulator, port;input byte or word into AL or AXFunction:Transfers a byte or word to AL or AX from an input portspecified by the second operand. The port address can bedirect or register indirect.(1) Direct: port address is specified directly and cannot be larger than FFH.Example 1:in al, 99h;bring a byte into al from port 99HExample 2:in ax, 78h;bring a word from address 78H & 79H;The byte from port 78H goes to AL;and byte from port 79H to AH.(2) Register indirect: port address is kept by the DX register. Therefore, it can be high as FFFFH.Example 3:mov dx, 481h;DX = 481Hin al, dx;bring a byte into al from the port;whose address is pointed by DXExample 4:in ax, dx;bring a word from port address of ;pointed by DX. The byte from port;DX goes to AL and byte from prot;DX+1 to AHOUTOutput Byte or WordFlags:UnchangedFormat:out dest, accumulator;transfer accumulator to port descFunction:Transfers a byte or word from AL or AX to an output portspecified by the first operand. The port address can bedirect or register indirect.(1) Direct: port address is specified directly and cannot be larger than FFH.Example 1:out 68h, al;send out a byte from AL to port 68HExample 2:out 34h, ax;send out a word from AX to port;addresses 34H and 35H. The byte from;AL goes to port 34H and the byte;from AH goes to port 35H(2) Register indirect: port address is kept by the DX register. Therefore, it can be high as FFFFH.Example 3:mov dx, 64b1h;DX = 64b1Hout dx, al;send out the byte in AL to the port;whose address is pointed by DXExample 4:out dx, ax;send out a word from AX to port;address pointed by DX. ;The byte from AL gose to port DX;and byte from AH goes to prot DX+1 3) 增加一个控制信号(硬件)7.4.2 I/O端口与存储器统一编址内存映象(memory mapped)I/O寻址把内存中的某个区域规划出来留给I/O端口使用,I/O端口作为存储器空间的一个地址单元对待,即每一个I/O端口占用一个存储器单元的地址。由于将I/O端口的地址映射到存储器地址空间,所以称为memory mapped。特点:l 不需要专门的I/O指令,I/O数据的存取与存储器的存取一样。l 程序不易阅读l I/O端口要占用部分存储空间7.4.3 I/O端口地址配置x86 CPU使用A15A0作为I/O的寻址信号,可寻址64K空间,而CPU实际上只用了1K个地址,PC系统的I/O端口可分为两大类:l 系统主板上使用的芯片,如:l 8251串行通信接口l 8255并行通信接口l 8259中断控制器l l 扩展槽的I/O接口装置,如:l 显卡l 声卡l 网卡l 7.4.3.1 PC/XT系统I/O端口的地址配置7.4.3.2 PC/AT系统I/O端口的地址配置地址芯片001FDMA第一控制器203F第一中断控制器8259A405F计时器8254606F键盘8042地址I/O端口名称1F01FF硬盘接口20020FGame I/O adapter27027FParallel printer port 22F02FFSerial port 2 (COM2)36036F网卡37037FParallel printer port 13B03DF显卡3F03F7软盘接口3F83FFSerial port 1 (COM1)7.5 I/O操作方式7.5.1 外设信息的类型1) 数据信息8位或16位类型可以是数字量、模拟量、开关量2) 状态信息反映了外设的当前工作状态。3) 控制信息控制信息是控制命令,由外设来执行命令规定的动作。这三种不同性质信息的流动方式相同,都是通过数据总线在CPU和外设之间流动。CPU通过存取接口中不同I/O端口来区分这些不同性质的信息。7.5.2 数据传送方式输入输出的控制(操作)方式是指微机系统和外设之间数据传送的管理方式,是系统协调、管理输入输出操作的方法。可以采用的I/O操作方式有4种:l 程序控制方式通过CPU执行程序中的I/O指令来完成数据传送,进一步可分为:l 无条件传送方式传送前CPU无需了解端口的状态,直接进行数据传送l 查询传送方式传送前CPU先查询端口的状态,待端口就绪后进行传送l 中断控制方式传送请求由外设提出,CPU视情况响应后,调用预先安排好的中断服务程序(Interrupt service routine ISR)来完成数据传送。l DMA控制方式Direct Memory Access 直接存储器存取是一种成块数据传送的方式,DMA控制方式完全由硬件实现,一般在外设和存储器之间进行,具有非常高的传输速率。l I/O处理机控制方式CPU委托专门的I/O处理机(8089)来控制外设,完成传送和相应的数据处理。7.5.2.1 无条件传送对于简单的设备,如LED(Light-Emitting Diode 发光二极管)、按键、按纽等,相对于CPU而言,其状态很少发生变化,在CPU与之交换数据时,可以认为他们总是处于“就绪”状态,随时可以进行数据传送,即无条件传送。如LED,只要CPU将数据传送给它,就能立即获得显示。又如按键,其状态对CPU而言并不经常发生变化,人们每次按键将持续几十毫秒以上,只要CPU需要,就可以随时读取。“就绪”(ready)的含义随场合和对象而改变,如:l 在输入场合,“就绪”说明输入接口已经准备好送往CPU的数据,正等着CPU来读取;或者,接口中的数据缓冲器已“满”l 在输出场合,“就绪”说明输出接口已经作好准备,等待接收CPU

温馨提示

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

评论

0/150

提交评论