微型计算机原理及应用(第三版)电子教案第8章_第1页
微型计算机原理及应用(第三版)电子教案第8章_第2页
微型计算机原理及应用(第三版)电子教案第8章_第3页
微型计算机原理及应用(第三版)电子教案第8章_第4页
微型计算机原理及应用(第三版)电子教案第8章_第5页
已阅读5页,还剩108页未读 继续免费阅读

下载本文档

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

文档简介

1、第8章输入/输出接口,8.1微型计算机的输入/输出接口 8.2并行通信与并行接口 8.3可编程并行通信接口芯片8255A 8.4串行通信及串行接口 8.5可编程串行通信接口芯片8251A 习题,输入/输出(I/O)接口电路是计算机的重要组成部分。通过I/O接口电路可实现计算机与外部设备通信,与外部设备交换信息。 在微机系统中,最常用的外部设备有键盘、显示器、打印机、磁盘机等。在工业微机控制系统中,I/O接口电路还可通过A/D转换器或D/A转换器与各种工业检测和控制仪表相连接,这些仪表装置也属于外部设备。,8.1 微型计算机的输入/输出接口8.1.1 输入/输出接口的交换信号,计算机I/O接口电

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

3、数脉冲、定时脉冲或控制脉冲。脉冲量信号是以脉冲形式表示的一种信号。,8.1.2 输入/输出的控制方式,在微机系统中,可采用的输入/输出控制方式一般有4种:程序控制方式、中断控制方式、直接存储器存取方式(DMA方式)和输入/输出处理机方法。 1. 程序控制方式 这是指在程序控制下进行信息传送。,(1) 无条件传送方式: 当外设已准备就绪,那就不必查询外设的状态而进行信息传输,这就称为无条件传送。这种信息传送方式只适用于简单的外设,如开关和数码段显示器等。 当简单外设作为输入设备时,输入数据保持时间要比CPU的处理速度慢得多,所以可直接使用三态缓冲存储器与数据总线相连,如图8.1所示。CPU执行输

4、入指令时,读信号RD有效,选通信号M/IO0,因而三态缓冲存储器被选通,于是已准备好的输入数据便可进入数据总线。,图8.1,当简单外部设备作为输出设备时,一般都需要锁存器。这是因为CPU送出的数据应在接口电路的输出端保持一段时间。在图8.1中,当CPU执行输出指令时,M/IO0及WR0,于是接口中的输出锁存器被选中,CPU输出的信息经过数据总线送入输出锁存器。 (2) 条件传送方式: CPU通过执行程序不断读取并测试外部设备状态,如果输入外部设备处于已准备好状态或输出外部设备为空闲状态时,则CPU执行传送信息指令。由于条件传送方式是CPU在不断调查外部设备的当前状态后才进行信息传送,所以也称为

5、“查询式传送”。因此,条件传送方式的接口电路应包括:传送数据端口及传送状态端口。当输入信,息时,查询到外部设备准备好后,则使接口的“准备好”标志位置1。当输出信息时,外部设备取走一个数据后,传送状态端口使标志为“空闲”状态,可以接收下一个数据。 图8.2为查询式输入的接口电路。输入设备在数据准备好后便往接口发出一个选通信号。,图8.2,这个选通信号起两个作用,一是把外部设备的数据送到接口的锁存器中;另一方面,它使接口中的一个D触发器置1,从而使三态缓冲存储器的READY1。在查询输入过程中,CPU先从外部设备输入数据中读取状态字,检查“准备好”标志位是否为“1”。若已准备好,这时数据已进入接口

6、锁存器,则执行输入传送指令。同时把“准备好”标志位清“0”,接着便可开始下一个数据传输过程。 图8.3为查询式输出接口电路。CPU执行输出指令时,由选择信号M/IO及写信号WR产生的选通信号把数据送入数据锁存器,同时使D触发器输出“1”。此信号一方面告诉外部设备在接口中已有数据要输出,另一方面D触发器的输出信号使状态寄,存器的对应标志位置“1”,告诉CPU;当前外部设备处于“忙”状态,从而阻止CPU输出新的数据。当外部设备从接口中取走数据后,通常也会送出一个应答信号ACK,ACK使接口中的D触发器置“0”,从而使状态寄存器中的对应标志位置“0”,这样便可开始下一个数据的输出过程。,图8.3,2

7、. 中断控制方式 中断控制方式一般用来传送低速外部设备与CPU之间的信息交换。当外部设备需要与CPU进行数据交换时,由接口部件的CPU发出一个中断请求信号,CPU响应这一中断请求,便可在中断服务程序中完成一个字节或一个字的信息交换。这样每操作一次,CPU要打断原来执行的程序去执行一般中断服务程序,对速度较高的外部设备会产生信息丢失,因此不能采用。 3. DMA控制方式 DMA控制方式是一种成块传送数据的方式。当某一外部设备需要输入/输出一批数据时,向DMA控制器发出请求,DMA控制器接收到这一请求后,,向CPU发出总线请求;若CPU响应DMA的请求把总线使用权赋给DMA控制器,数据不通过CPU

8、,可直接在DMA控制器操纵下进行。当这批数据传送完毕后,DMA控制器再向CPU发出“结束中断请求”,CPU响应这一中断请求,即可收回总线使用权。因此,采用DMA控制方式,CPU只需在数据传送结束时响应一次中断,减轻了CPU的负担,但DMA控制器一般只能对一台或几台同类型的外部设备完成控制功能。 4. 输入/输出处理机控制方式 对于有大量输入/输出设备的微机系统,DMA控制方式已不能满足这种需要。Intel公司生产与86系列配套的输入/输出处理机(IOP)8089。系统中设置了,IOP后,86系列CPU必须工作在最大工作模式。当CPU需要进行输入或输出操作时,只需在存储器中建立一个规定格式的信息

9、块,设置好需要执行的操作和有关参数,然后把这些参数送入8089,IOP即会执行输入/输出操作。如果在数据传送过程出现差错,8089会进行重复传送或做必要的处理。在整个数据块的传送过程中,CPU可去完成其他作业。 在微型计算机系统中,通常是用各种类型的输入/输出接口芯片来完成CPU与其外部设备之间的信息交换。下面介绍几种常用接口芯片及工作原理。,8.2 并行通信与并行接口8.2.1 并行通信,并行通信是把一个字符的各数位用几条线同时进行传输,传输速度快,信息率高。但它比串行通信所用的电缆多,因此,并行通信常用在传输距离较短(几米至几十米)和数据传输率较高的场合。,8.2.2 并行接口,实现并行通

10、信的接口就是并行接口。一个并行接口可设计为只作为输出接口,如一个并行接口连接一台打印机;还可设计为只作为输入接口,如一个并行接口连接卡片读入机。另外,还可以设计成既作为输入又作为输出的接口。它可以用两种方法实现,一种是利用同一个接口中的两个通路,一个作输入 通路,一个作输出通路;另一种是用一个双向通路,既作为输入又作为输出。前一种方法是用在主机需要同时输入和输出的情况,如此接口既接纸带读入机,又接纸带穿孔机。后一种方法是用在输入输出动作并不同时进行的主机与外部设备之间,如连接两台磁盘驱动器。,图8.4,典型的并行接口和外部设备连接如图8.4所示。图中的并行接口用一个通道和输入设备相连,用另一个

11、通道和输出设备相连,每个通道中除数据线外均配有一定的控制线和状态线。,从图8.4中看到,并行接口中应该有一个控制寄存器用来接收CPU对它的控制命令,有一个状态寄存器提供各种状态位供CPU查询。为了实现输入和输出,并行接口中还必定有相应的输入缓冲寄存器和输出缓冲寄存器。 1. 并行接口的输入过程 外部设备首先将数据送给接口,并使状态线“数据输入准备好”成为高电平。接口把数据接收到数据输入缓冲寄存器的同时,使“数据输入回答”线变为高电平,作为对外部设备的响应。外部设备接到此信号,便撤除数据和“数据输入准备好”信号。数据到达接口中后,接口会在状态寄存器中设置“输入准备好”状态位,以便CPU对其进行查

12、询,接口也,可以在此时向CPU发一个中断请求。所以,CPU既可以用软件查询方式,也可以用中断方式来设法读取接口中的数据。CPU从并行接口中读取数据后,接口会自动清除状态寄存器中的“输入准备好”状态位,并且使数据总线处于高阻状态。此后,又可以开始下一个输入过程。 2. 并行接口的输出过程 每当外部设备从接口取走一个数据之后,接口就会将状态寄存器中的“输出准备好”状态位置“1”,以表示CPU当前可以往接口中输出数据,这个状态位可供CPU进行查询。此时,接口也可以向CPU发一个中断请求。所以,CPU既可以用软件查询方式,也可以用中断方式设法往接口中输出一个数据。当,CPU输出的数据到达接口的输出缓冲

13、寄存器中后,接口会自动清除“输出准备好”状态位,并且将数据送往外部设备,同时,接口往外部设备发送一个“驱动信号”来启动外部设备接收数据。外部设备被启动后,开始接收数据,并往接口发一个“数据输出回答”信号。接口收到此信号,便将状态寄存器中的“输出准备好”状态位重新置“1”,以便CPU输出下一个数据。,8.3 可编程并行通信接口芯片8255A,8255A是Intel86系列微处理机的配套并行接口芯片,它可为86系列CPU与外部设备之间提供并行输入/输出的通道。由于它是可编程的,可以通过软件来设置芯片的工作方式,所以,用8255A连接外部设备时,通常不用再附加外部电路,给使用者带来很大方便。,8.3

14、.1 8255A芯片内部结构及其功能,由图8.5和图8.6可见,8255A由以下几部分组成:,图8.5,图8.6,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位(P

15、C7PC4)构成A组,由A组控制部件实现控制功能,端口B与端口C的低4位,(PC3PC0)构成B组,由B组控制部件实现控制功能。它们各有一个控制单元,可接收来自读/写控制部件的命令和CPU通过数据总线(D7D0)送来的控制字,并根据它们来定义各个端口的操作方式。 3. 数据总线缓冲存储器 这是一个三态双向8位数据缓冲存储器,它是8255A与8086CPU之间的数据接口。CPU执行输出指令时,可将控制字或数据通过数据总线缓冲存储器传送给8255A。CPU执行输入指令时,8255A可将状态信息或数据通过总线缓冲存储器向CPU输入。因此它是CPU与8255A之间交换信息的必经之路。,4. 读/写控制

16、部件 这是8255A内部完成读/写控制功能的部件,它能接收CPU的控制命令,并根据它们向片内各功能部件发出操作命令。可接收的控制命令如下: (1) CS片选信号。由CPU输入,通常由端口的高位地址码(A15A2)译码得到,CS有效,表示该8255A被选中。 (2) RD,WR读、写控制信号。由CPU输入,RD有效,表示CPU读8255A,应由8255A向CPU传送数据或状态信息。WR有效,表示CPU写8255A,应由CPU将控制字或数据写入8255A。 (3) RESET复位信号。由CPU输入。RESET有效时,清除8255A中所有控制字寄存器内容,并将各端口置成输入方式。,(4) A1和A0

17、端口选择信号。 当A1A000,选择端口A; 当A1A001,选择端口B; 当A1A010,选择端口C; 当A1A011,选择控制字寄存器。,8.3.2 8255A芯片的控制字及其工作方式,8255A中各端口可有3种基本工作方式: 方式0基本输入/输出方式;方式1选通输入/输出方式;方式2双向传送方式。 端口A可处于3种工作方式(方式0,方式1和方式2),端口B只可处于两种方式(方式0和方式1),端口C常 常被分成高4位和低4位两部分,可分别用来传送数据或控制信息。 用户可用软件来分别定义3个端口的工作方式,可使用的控制字有定义工作方式控制字和置位/复位控制字。,1. 控制字 (1) 定义工作

18、方式控制字: 格式如图8.7所示。通过定义工作方式控制字可将3个端口分别定义为3种不同方式的组合,当将端口A定义为方式1或方式2或将端口B定义为方式1时,要求使用端口C的某些位作控制用,这时需要使用一个专门的置位/复位控制字来对控制端口C的各位分别进行置位/复位操作。,图8.7,(2) 置位/复位控制字: 只对端口C有效,其使用格式如图8.8所示。,图8.8,2. 工作方式 (1) 工作方式0: 这是8255A中各端口的基本输入/输出方式。它只完成简单的并行输入/输出操作,CPU可从指定端口输入信息,也可向指定端口输出信息。如果3个端口均处于工作方式0,则可由工作方式控制字定义16种工作方式的组合,这种情况

温馨提示

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

评论

0/150

提交评论