第七章接口与接口芯片简介

整理文档很辛苦,赏杯茶钱您下走!

免费阅读已结束,点击下载阅读编辑剩下 ...

阅读已结束,您可以下载文档离线阅读编辑

资源描述

1第七章接口和接口芯片简介I/O接口指的是微机系统中各个功能部件之间的连接电路,用于实现部件之间的通讯。一个计算机系统必须包含接口电路,CPU通过接口电路将各种I/O设备组织起来,构成计算机系统。微机主板属于总线,在主板上设置有I/O接口,如标准接口(串口、并口、键盘接口等)、I/O扩展槽等,都用来连接I/O接口卡,外设通过接口卡与主板的连接,完成I/O工作。7.1I/O接口基本概念主机与外界交换信息称为输入/输出(I/O),主机与外界的信息交换是通过输入/输出设备进行的。外设备由于速度、信号等原因不能直接与总线连接,而要通过I/O接口电路连接,通常,我们把介于主机和外设之间的一种缓冲电路称为I/O接口电路,简称I/O接口,I/O接口是CPU与外部设备间的桥梁。一台微机的输入/输出系统应该包括I/O接口、I/O设备及相关的控制软件。输入/输出系统是计算机系统的重要组成部分之一,任何一台高性能计算机,如果没有高质量的输入/输出系统与之配合工作,计算机的高性能便无法发挥出来。一个微机系统的综合处理能力,系统的可靠性、兼容性、性价比,甚至在某个场合能否使用都和I/O系统有着密切的关系。7.2接口的功能由于主机和外设在工作速度、信息格式、信息类型和电平的不匹配,这就要求I/O接口具有以下功能:⑴地址译码和设备选择对主机送来的地址信号进行译码,译码后产生唯一的接口选择信号,被选中的外设可与主机通讯。⑵数据的缓冲与寄存通过接口中的数据缓冲器来缓解主机与外设之间的速度差异问题。⑶数据转换功能通过I/O接口实现外设与主机间的信号电平转换和数据格式转换,即并行数2据向串行数据的转换或串行数据向并行数据的转换。⑷联络功能接口可以保存外设备的状态信号供CPU查询,接口的控制端口可以接收CPU发来的对外设的控制信号,实现主机对外设的监测和控制。⑸中断管理接口具有发出中斯请求信号、接收中断响应信号、优先级管理、发送中断类型码等中断处理功能。⑹复位接收复位信号,从而使接口本身以及所连的外设进行重新启动。⑺DMA控制通过接口中的DMA控制,能控制外设实现DMA传输。⑻错误检测通过I/O接口,实现外设I/O过程中的传输错误或覆盖错误等其它的检测信息。7.3CPU与I/O设备之间的信号主机与I/O设备之间交换的信息可分为数据信息、状态信息和控制信息三类。1.数据信息数据信息是外设与计算机间传送的输入/输出数据。CPU执行I/O指令将要传送数据存放到接口中的数据端口寄存器进行缓冲最终实现传送的。数据信息分为数字量、模拟量和开关量三种。⑴数字量:数字量是计算机可以直接发送、接收和处理的数据。例如,由键盘、显示器、打印机及磁盘等I/O外设与CPU交换的信息,它们是以二进制形式表示的数或以ASCII码表示的数符。⑵模拟量:当计算机应用于控制系统时,输入的信息一般为来自现场的连续变化的物理量。如温度、压力、流量、位移、湿度等,这些物理量通过传感器并经放大处理得到模拟电压或电流,这些模拟量必须先经过模拟量向数字量的转换(A/D转换)后才能输入计算机。反过来,计算机输出的控制信号都是数字量,也必须先经过数字量向模拟量的转换(D/A转换),把数字量转换成模拟量才能去控制现场⑶开关量:开关量可表示两个状态,只要用一位二进制数即可表示。利用开关量可以控制开关的断开和闭合,机器的运转与停止,阀门的打开与关闭,3继电器的接通与断开等。这些开关量通常要经过相应的电平转换才能与计算机连接。2.状态信息状态信息作为CPU与外设之间交换数据时的联络信息,如:“准备好”(READY)信号、“忙”(BUSY)等信号。状态信息反映了当前外设所处的工作状态,是外设通过接口送往CPU的信息。状态信息能够保障CPU与外设正确地进行数据交换,外设直接将状态信息传送到接口中的状态寄存器中,CPU通过对外设状态信号的读取,可得知输入设备的数据是否准备好、输出设备是否空闲等情况。对于输入设备,一般用准备好(READY)信号的高低来表明待输入的数据是否准备就绪;对于输出设备,则用忙(BUSY)信号的高低表示输出设备是否处于空闲状态,如空闲,则可接收CPU输出的信息,否则CPU要暂停送数。3.控制信息控制信息是CPU通过执行输出指令将其存放在接口中的控制寄存器中,再由接口传送给外设,以实现对外设的控制。CPU通过发送控制信息设置外设(包括接口)的工作模式、控制外设的开启、停止等工作。控制信息往往随着外设的具体工作原理不同而含义不同。7.4I/O接口的组成一个完整的I/O接口如图7-1所示。图7-1一个典型的I/O接口组成图任何外设都必须通过I/O接口电路与计算机总线连接。外设要与计算机主机间I/O信息还必须通过执行对应的I/O控制程序来完成。CPU和外设进行数据传输时,各类信息在接口中进入不同的寄存器,一般CBABDBCPU数据端口状态端口I/O设备译码控制端口4称这些寄存器为I/O端口,每个端口有一个端口地址。用于对来自CPU和内存的数据或者送往CPU和内存的数据起缓冲作用的,这些端口叫数据端口。用来存放外部设备或者接口部件本身的状态,称为状态端口。用来存放CPU发出的命令,以便控制接口和设备的动作,这类端口叫控制端口。一个完整的I/O接口主要由数据端口寄存器、状态端口寄存器、控制端口寄存器组成,如图7-1所示。每个端口寄存器设计时由其译码电路确定其必须有其端口地址,微机通过执行输入指令和输出指令完成其数据的写入或读出。外设不同,其I/O接口电路设计不同,接口中端口寄存器的数目不同,对应端口地址不同,微机通过不同的端口地址识别不同的外设。7.4I/O接口与系统的连接.接口电路位于CPU与外设之间,从结构上看,可以把一个接口分为两个部分(见图7-2):⑴用来和I/O设备相连,通过I/O接口和外设的连接线,可以实现外设串行或并行数据的输入(输入到I/O接口中的数据端口),实现外设状态信息的输入(输入到I/O接口中的状态端口供CPU查询),实现CPU对外设的传送控制(通过I/O接口中的控制端口)。⑵用来和系统总线相连,这部分接口电路结构类似,连在同一总线上。通过此连接实现CPU与I/O接口间的并行通讯。图7-2打印机接口电路连接图7.5输入输出的寻址方式正如每个存储单元都有一个物理地址一样,每个端口必须有一个地址与之相对应,该地址称为端口地址。有了端口地址,CPU对外设的输入/输出操5作实际上就是对I/O接口中各端口的读/写操作。微型计算机系统中I/O端口编址方式有两种:I/O端口与内存单元统一编址和I/O端口与内存单元独立编址。7.5.1I/O端口与内存单元统一编址统一编址方式是对I/O端口和存储单元按照存储单元的编址方法统一编排地址号,由I/O端口地址和存储单元地址共同构成一个统一的地址空间。采用统一编址方式后,CPU对I/O端口的输入/输出操作如同对存储单元的读/写操作一样,所有访问内存的指令同样都可用于访问I/O端口,因此无需专门的I/O指令(即内存与外设的I/O采用相同的指令),从而简化了指令系统的设计;但由于I/O端口占用了一部分存储器地址空间,故相对减少了内存的地址可用范围。7.5.2I/O端口与内存单元独立编址独立编址方式中,建立了两个地址空间,一个为内存地址空间,一个为I/O地址空间。内存地址空间和I/O地址空间是相对独立的,都可以从0开始编写地址。采用独立编址方式后,需设置专门的I/O指令(即内存的读/写与外设的I/O采用不同的指令),增加了指令系统的设计,但由于I/O端口地址和存储器地址独立编写地址,故不影响内存的地址可用范围。7.5并行接口并行通信就是把一个字符的各位同时用几根线进行传输。传输速度快,信息率高,需要电缆多。但随着传输距离的增加,电缆的开销会成为突出的问题,所以,并行通信用在传输速率要求较高,而传输距离较短的场合。并行通信需要用并行接口实现。并行接口指外设与I/O接口之间有多根数据线,实现的是并行数据传送。并行接口需要用并行接口芯片设计。主要芯片有不可编程芯片74LS273、74LS244、74LS374等。常用的可编成并行接口芯片是8255、8253等。7.5.1可编程并行接口芯片8255AIntel8255A是一个通用的可编程的并行接口芯片,它有三个并行I/O口,又可通过编程设置多种工作方式,价格低廉,使用方便,可以直接与Intel系列的芯片连接使用,在中小系统中有着广泛的应用。6一、8255A的编程结构8255A由以下几部分组成:见图7-31.三个数据端口A,B,C这三个端口均可看作是I/O口,但它们的结构和功能也稍有不同。·A口:是一个独立的8位I/O口,它的内部有对数据输入/输出的锁存功能。·B口:也是一个独立的8位I/O口,仅对输出数据的锁存功能。·C口:可以看作是一个独立的8位I/O口;也可以看作是两个独立的4位I/O口。也是仅对输出数据进行锁存。2.A组和B组的控制电路这是两组根据CPU命令控制8255A工作方式的电路,这些控制电路内部设有控制寄存器,可以根据CPU送来的编程命令来控制8255A的工作方式,也可以根据编程命令来对C口的指定位进行置/复位的操作。A组控制电路用来控制A口及C口的高4位;B组控制电路用来控制B口及C口的低4位。图7-38255A的编程结构2.A组和B组的控制电路这是两组根据CPU命令控制8255A工作方式的电路,这些控制电路内部设有控制寄存器,可以根据CPU送来的编程命令来控制8255A的工作方式,也可以根据编程命令来对C口的指定位进行置/复位的操作。7A组控制电路用来控制A口及C口的高4位;B组控制电路用来控制B口及C口的低4位。3.数据总线缓冲器8位的双向的三态缓冲器。作为8255A与系统总线连接的界面,输入/输出的数据,CPU的编程命令以及外设通过8255A传送的工作状态等信息,都是通过它来传输的。4.读/写控制逻辑读/写控制逻辑电路负责管理8255A的数据传输过程。它接收片选信号CS及系统读信号RD、写信号WR、复位信号RESET,还有来自系统地址总线的口地址选择信号A0和A1。二.8255A的引脚功能引脚信号可以分为两组:一组是面向CPU的信号,一组是面向外设的信号。图7-38255A外部引脚图1.面向CPU的引脚信号及功能·D0-D7:8位,双向,三态数据线,用来与系统数据总线相连;·RESET:复位信号,高电平有效,输入,用来清除8255A的内部寄存器,并置A口,B口,C口均为输入方式;WRD0D1D2D3D4D5D6D7VCCPB7RDCSGNDA1A0PA4PA5PA6PA7PB5PB6PB4PB3RESETPB1PB2PB0PC3PC2PC1PC0PC4PC5PC6PC7PA3PA2PA1PA051101535403025218·CS:片选,输入,用来决定芯片是否被选中;·RD:读信号,输入,控制8255A将数据或状态信息送给CPU;·WR:写信号,输入,控制CPU将数据或控制信息送到8255A;·A1,AO:内部口地址的选择,输入。这两个引脚上的信号组合决定对8255A内部的哪一个口或寄存器进行操作。8255A内部共有4个端口:A口,B口,C口和控制口,两个引脚的信号组合选中端口见下表。CS,RD,WR,A1,A0这几个信号的组合决定了8255A的所有具体操作,表7-18255A的操作功能表CSRDWRA1A0操作数据传送方式00100读A口A口数据→数据总线00101读B口B口数据→数据总线00110读C口C口数据→数据总线01000写A口数据总线数据→A口01001写B口数据总线数据→B口01010写C口数据总线数据→C口01011写控制口数据总线数据→控制口2.面向外设的引脚信号及功能•PA0~PA7:A组数据信号,用来连接外设;•PB0~PB7:B组数据信号,用来连接外设;•PC0~PC7:C组数据信号,用来连接外设或者作为控制信号。三.8255A的工作方式8255A有三种工作方式,用户可以通过编程来设置。方式0――简单输入/输出――查询方式;A,B,C三个端口均可。方

1 / 43
下载文档,编辑使用

©2015-2020 m.777doc.com 三七文档.

备案号:鲁ICP备2024069028号-1 客服联系 QQ:2149211541

×
保存成功