1 / 24

第 8 章 输入输出接口

第 8 章 输入输出接口. 主要内容 输入输出接口概述 并行通信与并行接口 可编程并行通信接口芯片 8255A. 8.1 输入输出接口概述. 8.1 输入输出接口概述. 为什么需要 I/O 接口(电路)?. 微机的外部设备多种多样,它们工作原理、驱动方式、信息格式、以及工作速度方面彼此差别很大。. 它们不能与 CPU 直接相连 , 必须经过中间电路再与系统相连,这部分电路被称为 I/O 接口电路。. 什么是 I/O 接口(电路)?. I/O 接口是位于系统与外设间、用来协助完成数据传送和控制任务的逻辑电路。. 8.1 输入输出接口概述.

milos
Download Presentation

第 8 章 输入输出接口

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


  1. 第8章 输入输出接口 主要内容 • 输入输出接口概述 • 并行通信与并行接口 • 可编程并行通信接口芯片8255A

  2. 8.1 输入输出接口概述

  3. 8.1 输入输出接口概述 • 为什么需要I/O接口(电路)? • 微机的外部设备多种多样,它们工作原理、驱动方式、信息格式、以及工作速度方面彼此差别很大。 • 它们不能与CPU直接相连,必须经过中间电路再与系统相连,这部分电路被称为I/O接口电路。 • 什么是I/O接口(电路)? • I/O接口是位于系统与外设间、用来协助完成数据传送和控制任务的逻辑电路。

  4. 8.1 输入输出接口概述 • I/O接口电路与外部设备间交换的信号的类型: • (1) 数字量: 二进制形式的数据,或是已经过编码的二进制形式的数据。最小单位为“位”(bit),8位称为一个字节(BYTE)。 • (2) 模拟量: 用模拟电压或模拟电流幅值大小表示的物理量。模拟量信号不能直接进入计算机,必须经过A/D(模拟/数字)转换器,把模拟量转换成某种形式的数字量,才能输入计算机。当外部设备需要模拟量信号控制时,I/O接口电路D/A(数字/模拟)转换器又能把数字量转换成模拟量信号。 • (3) 开关量: 开关量信号只有两种状态,即“开”或“闭”。这样,只要用一位二进制数就可表示。 • (4) 脉冲量: 在计算机控制系统中还经常用到计数脉冲、定时脉冲或控制脉冲。脉冲量信号是以脉冲形式表示的一种信号。

  5. 8.1 输入输出接口概述

  6. 8.1 输入输出接口概述 • 输入/输出的控制方式 在微机系统中,可采用的输入/输出控制方式一般有4种:程序控制方式、中断控制方式、直接存储器存取方式(DMA方式)和输入/输出处理机方式。 • 1.程序控制方式 • 这是指在程序控制下进行信息传送,程序控制方式可以分为: 无条件传送方式和条件传送方式。 • 无条件传送方式:当外设已准备就绪,那就不必查询外设的状态而进行信息传输,这就称为无条件传送。这种信息传送方式只适用于简单的外设,如开关和数码段显示器等。 • 条件传送方式:CPU通过执行程序不断读取并测试外部设备状态,如果输入外部设备处于已准备好状态或输出外部设备为空闲状态时,则CPU执行传送信息指令。也称为“查询式传送”。

  7. 8.1 输入输出接口概述 2.中断控制方式 中断控制方式一般用于低速外部设备与CPU之间的信息交换。当外部设备需要与CPU进行数据交换时,由接口部件向CPU发出一个中断请求信号,CPU响应这一中断请求,便可在中断服务程序中完成一个字节或一个字的信息交换。每操作一次,CPU要打断原来执行的程序去执行一段中断服务程序,对速度较高的外部设备会产生信息丢失,因此不能采用。 3.DMA控制方式 DMA控制方式是一种成块传送数据的方式。当某一外部设备需要输入/输出一批数据时,向DMA控制器发出请求,DMA控制器接收到这一请求后,向CPU发出总线请求;若CPU响应DMA的请求把总线使用权赋给DMA控制器,数据不通过CPU,可直接在DMA控制器操纵下进行传送。当这批数据传送完毕后,DMA控制器再向CPU发出“结束中断请求”,CPU响应这一中断请求,即可收回总线使用权。因此,采用DMA控制方式,CPU只需在数据传送结束时响应一次中断,减轻了CPU的负担,但DMA控制器一般只能对一台或几台同类型的外部设备完成控制功能。

  8. 8.1 输入输出接口概述 • 4.输入/输出处理机控制方式 • 对于有大量输入/输出设备的微机系统,DMA控制方式已不能满足这种需要。Intel公司生产了与86系列配套的输入/输出处理机(IOP)8089。系统中设置了IOP后,86系列CPU必须工作在最大工作模式。当CPU需要进行输入或输出操作时,只需在存储器中建立一个规定格式的信息块,设置好需要执行的操作和有关参数,然后把这些参数送入8089,IOP即会执行输入/输出操作。如果在数据传送过程出现差错,8089会进行重复传送或做必要的处理。在整个数据块的传送过程中,CPU可去完成其他作业。 • 在微型计算机系统中,通常是用各种类型的输入/输出接口芯片来完成CPU与其外部设备之间的信息交换。下面介绍一种常用接口芯片及工作原理。

  9. 8.2 并行通讯与并行接口(Parallel communication & Parallel Interface) 一、并行通讯及特点: 特点: (1)速度快 (2)线较多 (3)距离近

  10. 8.2 并行通讯与并行接口 二、并行接口的一般结构及其与外部的连接 :

  11. 8.2 并行通讯与并行接口 • 并行接口的输入过程: 外部设备首先将数据送给接口,并使状态线“数据输入准备好”成为高电平。接口把数据接收到数据输入缓冲寄存器的同时,使“数据输入回答”线变为高电平,作为对外部设备的响应。外部设备接到此信号,便撤除数据和“数据输入准备好”信号。数据到达接口中后,接口会在状态寄存器中设置“输入准备好”状态位,以便CPU对其进行查询,接口也可以在此时向CPU发一个中断请求。所以,CPU既可以用软件查询方式,也可以用中断方式来设法读取接口中的数据。CPU从并行接口中读取数据后,接口会自动清除状态寄存器中的“输入准备好”状态位,并且使数据总线处于高阻状态。此后,又可以开始下一个输入过程。

  12. 8.2 并行通讯与并行接口 • 并行接口的输出过程: • 每当外部设备从接口取走一个数据之后,接口就会将状态寄存器中的“输出准备好”状态位置“1”,以表示CPU当前可以往接口中输出数据,这个状态位可供CPU进行查询。此时,接口也可以向CPU发一个中断请求。所以,CPU既可以用软件查询方式,也可以用中断方式设法往接口中输出一个数据。当CPU输出的数据到达接口的输出缓冲寄存器中后,接口会自动清除“输出准备好”状态位,并且将数据送往外部设备,同时,接口往外部设备发送一个“驱动信号”来启动外部设备接收数据。外部设备被启动后,开始接收数据,并往接口发一个“数据输出回答”信号。接口收到此信号,便将状态寄存器中的“输出准备好”状态位重新置“1”,以便CPU输出下一个数据。

  13. 8.3 可编程并行通信接口芯片8255A 8255A是Intel86系列微处理机的配套并行接口芯片,它可为86系列CPU与外部设备之间提供并行输入/输出的通道。由于它是可编程的,可以通过软件来设置芯片的工作方式,所以,用8255A连接外部设备时,通常不用再附加外部电路,给使用者带来很大方便。

  14. 8.3.1 8255A芯片内部结构及其功能 8255A的内部结构图

  15. 8.3.1 8255A芯片内部结构及其功能 8255A的芯片引脚信号

  16. 8.3.1 8255A芯片内部结构及其功能 1.并行输入/输出端口A,B,C 8255A芯片内部包含3个8位端口,其中:端口A包含一个8位数据输出锁存/缓冲存储器和一个8位数据输入锁存器;端口B包含一个8位数据输入/输出、锁存/缓冲存储器和一个8位数据输入缓冲存储器;端口C包含一个输出锁存/缓冲存储器和一个输入缓冲存储器。必要时端口C可分成两个4位端口,分别与端口A和端口B配合工作,通常将端口A和端口B定义为输入/输出的数据端口,而端口C可作为状态或控制信息的传送端口。 2.A组和B组控制部件 端口A与端口C的高4位(PC7~PC4)构成A组,由A组控制部件实现控制功能,端口B与端口C的低4位(PC3~PC0)构成B组,由B组控制部件实现控制功能。它们各有一个控制单元,可接收来自读/写控制部件的命令和CPU通过数据总线(D7~D0)送来的控制字,并根据它们来定义各个端口的操作方式。

  17. 8.3.1 8255A芯片内部结构及其功能 3.数据总线缓冲存储器 这是一个三态双向8位数据缓冲存储器,它是8255A与8086CPU之间的数据接口。CPU执行输出指令时,可将控制字或数据通过数据总线缓冲存储器传送给8255A。CPU执行输入指令时,8255A可将状态信息或数据通过总线缓冲存储器向CPU输入。因此它是CPU与8255A之间交换信息的必经之路。 4.读/写控制部件 这是8255A内部完成读/写控制功能的部件,它能接收CPU的控制命令,并根据它们向片内各功能部件发出操作命令。可接收的控制命令如下: (1)CS——片选信号。由CPU输入,通常由端口的高位地址码(A15~A2)译码得到,CS有效,表示该8255A被选中。 (2)RD,WR——读、写控制信号。由CPU输入,RD有效,表示CPU读8255A,应由8255A向CPU传送数据或状态信息。WR有效,表示CPU写8255A,应由CPU将控制字或数据写入8255A。 (3)RESET——复位信号。由CPU输入。RESET有效时,清除8255A中所有控制字寄存器内容,并将各端口置成输入方式。 (4)A1和A0——端口选择信号。 当A1A0=00,选择端口A;当A1A0=01,选择端口B;当A1A0=10,选择端口C;当A1A0=11,选择控制字寄存器。

  18. 8.3.2 8255A芯片的控制字及其工作方式 • 8255A中各端口可有3种基本工作方式: 方式0——基本输入/输出方式;方式1——选通输入/输出方式;方式2——双向传送方式。 • 端口A可处于3种工作方式(方式0,方式1和方式2),端口B只可处于两种方式(方式0和方式1),端口C常常被分成高4位和低4位两部分,可分别用来传送数据或控制信息。 • 用户可用软件来分别定义3个端口的工作方式,可使用的控制字有定义工作方式控制字和置位/复位控制字。 • 1.控制字 • (1)定义工作方式控制字:格式如下图所示。通过定义工作方式控制字可将3个端口分别定义为3种不同方式的组合,当将端口A定义为方式1或方式2或将端口B定义为方式1时,要求使用端口C的某些位作控制用,这时需要使用一个专门的置位/复位控制字来对控制端口C的各位分别进行置位/复位操作。

  19. 8.3.2 8255A芯片的控制字及其工作方式 • 8255A工作方式控制字格式:

  20. 8.3.2 8255A芯片的控制字及其工作方式 (2) 置位/复位控制字: 只对端口C有效,其使用格式如图所示。

  21. 8.3.2 8255A芯片的控制字及其工作方式 2.工作方式 (1)工作方式0:这是8255A中各端口的基本输入/输出方式。它只完成简单的并行输入/输出操作,CPU可从指定端口输入信息,也可向指定端口输出信息。如果3个端口均处于工作方式0,则可由工作方式控制字定义16种工作方式的组合,这种情况下,工作方式控制字的具体格式如下图所示。

  22. 8.3.2 8255A芯片的控制字及其工作方式 • 在上述情况下,端口C被分成两个4位端口,它们可分别被定义为输入或输出端口,CPU与这三个端口之间交换数据可直接由CPU执行IN或OUT指令来完成,而不提供任何“握手”信息,适用于各种同步并行传输系统。 (2)工作方式1、2:略。 • 例题:8255A作为连接打印机的接口,工作于方式0,如下图所示: 8255A 打印机 D7~D0 PA7~PA0 8086 D7~D0 STB BUSY PC2 工作过程为:当主机要往打印机输出字符时,先查询BUSY信号,如为零,则可通过8255A向打印机输出一个字符,同时给出选通信号STB(负脉冲)。

  23. 8.3.2 8255A芯片的控制字及其工作方式 现将A端口作为传送字符的通道,工作于方式0、输出方式;B端口未用;端口C也工作于方式0,PC2作为BUSY信号输入端,故PC3~PC0为输入方式,PC6作为STB信号输出端,故PC7~PC4为输出方式。 设8255A的端口地址为: A端口:00D0H, B端口: 00D2H, C端口: 00D4H, 控制端口:00D6H 具体程序段如下: PP: MOV AL,81H ;控制字,使A,B,C三个端口均工作于方式0, A端口 OUT 0D6H,AL ;为输出, PC7~PC4为输出,PC3~PC0为输入。 MOV AL,0DH ;用置0置1方式使PC6为1,即STB为高电平。 OUT 0D6H,AL LPST: IN AL,0D4H ;读端口C的值 AND AL,04H JNZ LPST ;如不为0,说明打印机忙,故等待。

  24. 8.3.2 8255A芯片的控制字及其工作方式 MOV AL,CL OUT 0D0H,AL ;如不忙,则把CL中字符送端口A。 MOV AL,0CH OUT 0D6H,AL ;使STB为0 INC AL OUT 0D6H,AL ;再使STB为1 …… ;后续程序段 …… ……

More Related