微机原理 第六章-输入和输出接口技术_第1页
微机原理 第六章-输入和输出接口技术_第2页
微机原理 第六章-输入和输出接口技术_第3页
微机原理 第六章-输入和输出接口技术_第4页
微机原理 第六章-输入和输出接口技术_第5页
已阅读5页,还剩54页未读 继续免费阅读

下载本文档

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

文档简介

《微机原理与接口技术》主讲:田娟

信息工程学院电子信息教研室邮箱:jtian@电话6章输入和输出接口技术6.1I/O接口概述6.2I/O接口数据传送的控制方式(重点)6.3简单I/O接口芯片的应用(了解)6.4直接存储器存储(DMA)方式(了解)

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

I/O设备

补充知识-什么是I/O接口(电路)?§6.1I/O接口概述

6.1.1接口与端口的基本概念接口的概念:

微机使用的外部设备种类很多,一般可以分为电子设备、机电设备、机械设备等,它们的工作速度及信号的表示方法与微型计算机不同。如果按照它们与CPU之间数据传输的方向可以分为输入设备(键盘、鼠标、数码相机等)、输出设备(显示器、打印机等)、复合输入/输出设备(磁盘等)。为了能够把各种各样的外部设备与CPU的总线连接,要设计不同类型的接口电路,简称接口,也称适配器。微机系统中,各种输入/输出设备通过接口与系统相连,并在接口的支持下实现各种方式的数据传送。

因此接口是CPU与存储器、外部设备或者两种外设之间,或者两种机器之间通过系统总线进行连接的逻辑部件(或称电路),是CPU与外界进行信息交换的中转站。

微型机系统内部设备之间的信息交换、微型机与别的计算机或设备的信息交换,都是通过接口来实现的,如图6-1所示。图6-1CPU与外设连接示意图接口的功能:

接收和执行CPU命令的功能数据缓冲功能和接口状态的表示设备选择功能信号转换功能数据格式转换功能中断管理功能可编程功能错误检测及复位功能端口的概念:

微机的外部设备和存储设备都是通过接口连接到系统上的,每个接口是由一组寄存器组成,这些寄存器都分配了一个称为I/O端口的地址编码。微机的CPU和内存就是通过这些端口和外部设备进行通信的。

I/O接口部件中一般有3种寄存器:一是用来数据缓冲的数据寄存器;二是用来保存设备和接口的状态信息,供CPU对外设进行测试的状态寄存器;三是用来保存CPU发出的命令以控制接口和设备操作的命令寄存器。这些寄存器都分配有各自的端口号,CPU通过不同的端口号来选择各种外部设备。图6-2CPU寻址外设示意图CPUI/O设备译码数据端口状态端口控制端口DBABCB一个典型的I/O接口补充知识§6.2I/O接口数据传送的控制方式引言外设与微机间的信息交换可以用不同的输入输出方法完成。基本的输入输出方法有:程序控制I/O方式(无条件传送方式与查询方式)、中断方式、直接存贮器存取(DMA)方式。§6.2I/O接口数据传送的控制方式

6.2.1程序控制方式状态和数据传送是通过CPU执行程序中的指令来完成的,又分为:无条件传送方式条件(查询)传送方式无条件传送方式

无条件传送是一种最简单的输入/输出控制方法,一般用于控制CPU与低速I/O接口之间的信息交换。由于这些信号变化缓慢,当需要采集这些数据时,外部设备已经把数据准备就绪,不需要检查端口的状态,可以立即采集数据,数据保持时间相对于CPU的处理时间长得多。输入的数据不需要加锁存器而直接用三态缓冲器与系统总线连接,如图6-3所示。图6-3无条件传送方式接口电路

(a)无条件传送的输入方式;(b)无条件传送的输出方式

实现无条件输入的方法是:在程序的恰当位置安排输入指令,当程序执行到这些指令时,外部设备的数据准备就绪,可在执行当前指令时间内完成接收数据的全部过程。实现无条件输出的方法是:在程序的恰当位置安排OUT输出指令,当程序执行到这些指令时,将输出给外部设备的数据存入锁存器。如果外部设备是输出设备(例如显示器),一般要求接口具有锁存能力,即要求CPU送给外部设备的数据,应该在输出设备接口电路中保持一段时间,保持时间的长短应该和外部设备的接受动作时间相适应。无条件传送方式(续)

INAL,21H补充知识补充知识查询方式(条件传送方式)

此传送方式在接口电路中,除具有数据缓冲器或数据锁存器外,还具有外设状态标志位,用于反映外部设备数据的情况。在接口电路中,状态寄存器也占用端口地址号。使用查询方式控制数据的输入/输出,通常要按图6-4的流程进行。首先读入设备状态标志信息,接着根据读入的状态信息进行判断,如果设备没有准备好,则程序转移去执行某种操作,或循环回去重新执行读入设备状态信息;如果设备准备好,则执行完成数据传送的I/O指令。数据传送结束后,CPU转去执行其他任务,刚才所操纵的设备脱离CPU控制。

图6-4查询方式示意图补充知识--查询传送的两个环节

查询环节寻址状态口读取状态寄存器的标志位若不就绪就继续查询,直至就绪

传送环节寻址数据口是输入,通过输入指令从数据端口读入数据是输出,通过输出指令向数据端口输出数据小结小结查询方式的优点是:可以较好地协调外设与CPU之间的定时关系;缺点是:CPU需要不断查询标志位的状态,这将占用CPU较多的时间,尤其是和中速或慢速的外部设备交换信息时,CPU真正花费在传送数据上的时间极少,绝大部分时间都消耗在查询上。对多个外设的情况,则CPU按一定顺序依次查询(轮询)。先查询的外设将优先进行数据交换。查询方式的缺点除了占用CPU较多的工作时间外,还难以满足实时控制系统对I/O工作的要求。因为在查询方式中,CPU处于主动地位,而外设接口处于消极被查询的被动地位。而在一般实时控制系统中,外设要求CPU为它服务是随机的,而且支持系统的外设往往有几个甚至几十个,若采用查询方式工作,很难实现系统中每一个外设都工作在最佳工作状态。所谓工作在最佳状态,是指一旦某个外设请求CPU为它服务时,CPU应该以最快的速度响应其请求。这就要求系统中的外设,具备主动申请CPU为其服务的权利。引言§6.2I/O接口数据传送的控制方式

6.2.2中断控制方式中断控制的输入/输出方式,也称中断传送方式,即当外设的输入数据准备好或接收数据的锁存器为空时,主动向CPU发出中断请求,使CPU中断原来执行的程序,转去执行为外设服务的输入或输出操作,服务完毕,CPU再继续执行原来的程序。知识复习--中断采用中断方式,信息的传送是依赖CPU执行中断服务程序来完成的,因此每进行一次I/O操作,都需要CPU暂停执行当前程序,把控制转移到优先级最高的I/O程序。在中断服务程序中,需要有保护现场和恢复现场的操作,而且I/O操作都是通过CPU来进行的。当从存储器输出数据时,首先需要CPU执行传送指令,将存储器中的数据,读入CPU中的通用寄存器AL(对于字节数据)或AX(对于字数据),然后,执行OUT指令,把数据由通用寄存器AL或AX传送到I/O端口;当从I/O端口向存储器存入数据时,过程正相反。

CPU执行IN指令时,将I/O端口数据读入通用寄存器AL或AX,然后CPU执行传送指令,将AL或AX的内容存入存储器单元。这样,每次I/O操作都需要几十甚至几百微秒,对于一些高速外设,如高速磁盘控制器或高速数据采集系统,中断控制方式往往满足不了它们的需要。为此,提出了数据在I/O接口与存储器之间的传送,不经CPU的干预,而是在专用硬件电路的控制下直接传送。这种方法称为直接存储器存取(DirectMemoryAccess,缩写为DMA)。§6.3简单I/O接口芯片的应用

6.3.1常用芯片功能介绍目前常用的简单I/O接口芯片有:74LS244、74LS245、74LS373、Led数码管。

74LS244是一个典型的8位单向3态缓冲驱动,能提高总线的驱动能力,是一种基本的I/O接口芯片。74LS244缓冲器主要用于三态输出的地址驱动器、时钟驱动器、总线定向接收器和定向发送器等。它无锁存功能,常用作并行输入口和总线驱动器,其逻辑结构如图6-7所示。

74LS244的8个三态门分为两组,每组4个,分别由和控制。当和为低电平时,三态门导通,否则输出端为高阻状态。实际使用中,通常是将两个控制端并联,这样就可用一个控制信号来使8个三态门同时导通或同时断开。单向三态缓冲器74LS244(结合P2488.1.2)图6-774LS244的逻辑功能图1A1~1A4和2A1~2A4是2组4位数据输入端,1Y1~1Y4和2Y1~2Y4是相应的两组输出端。图8-274LS244功能示意图(课本P248)74LS245是8路3态双向缓冲驱动,也叫做总线驱动门电路或线驱动。主要使用在数据的双向缓冲,增强驱动能力。它比74LS244增加了一个方向控制端。其逻辑结构如图6-8所示。双向三态缓冲器74LS245(结合P2488.1.3)图6-874LS245的逻辑功能图74LS245是一种通用的8位双向总线数据收发器芯片,常用于控制两组总线数据之间传递。假设A总线与芯片的A0~A7相连,B总线与芯片的B0~B7相连,则芯片既可以控制数据从A总线到B总线传递,也可以控制数据从B总线到A总线传递。图8-374LS245功能示意图(课本P248)由于三态门器件没有数据的保持能力,所以它一般只用作输入接口,不能直接用作数据输出接口。数据输出接口通常是用具有信息存储能力的双稳态触发器来实现。最简单的输出接口可用D触发器构成。

74LS273内部包含了8个D触发器,可存放8位二进制信息,具有数据锁存的功能。其中D7~D0是输入,Q7~Q0是输出,常用来作为并行输出接口,将CPU的数据传送到外部I/O设备。其结构和电路连接如图6-9所示。锁存器74LS273图6-974LS273的结构原理图、电路连接图

74LS374也是经常用到的一种电路芯片,从引线上它比74LS373多了一个输出允许端OE。只有当OE=0时74LS374的输出三态门才导通。当OE=1时,则呈高阻状态。

74LS374在用作输入接口时,端口地址信号经译码电路接到OE端,外设数据由外设提供的选通脉冲锁存在74LS374内部。当CPU读该接口时,译码器输出低电平,使74LS374的输出三态门打开,读出外设的数据;如果用做输出接口,也可将OE端接地,使其输出三态门一直处于导通状态,这样就与74LS273一样使用了。用74LS374作为输入和输出接口的电路,如图6-10和图6-11所示。锁存器74LS374图6-1074LS374作为输出接口图6-1174LS374用作输入接口LED数码显示器是一种由LED发光二极管组合显示字符的显示器件。它使用了8个LED发光二极管,其中7个用于显示字符,1个用于显示小数点,故通常称之为7段发光二极管数码显示器。

LED数码管

LED数码显示器有两种连接方法:共阳极接法:

把发光二极管的阳极连在一起构成公共阳极,使用时公共阳极接+5V,每个发光二极管的阴极通过电阻与输入端相连。共阴极接法:

发光二极管的阴极连在一起构成公共阴极,使用时公共阴极接地。每个发光二极管的阳极通过电阻与输入端相连。VCC由于发光二极管发光时,通过的平均电流为10~20mA,而通常的输出锁存器不能提供这么大的电流,所以LED数码管各段必须接驱动电路,要求段驱动电路能提供额定的段导通电流,还需根据外接电源及额定段导通电流来确定相应的限流电阻。

为了显示字符,要为LED显示器提供显示段码(或称字形代码),组成一个“8”字形字符的7段,再加上1个小数点位,共计8段,因此提供给LED显示器的显示段码为1个字节。各段码位的对应关系如表6-1所示。表6-1LED数码管各段码位对应关系要使数码管显示出相应的数字或者字符必须使段数据口输出相应的字形编码。如表6-2所示,字型码各位定义如下:数据线D0与a字段对应,D1字段与b字段对应…..,依次类推。如使用共阳极数码管,数据为0表示对应字段亮,数据为1表示对应字段暗;如使用共阴极数码管,数据为0表示对应字段暗,数据为1表示对应字段亮。如显示“0”,共阳极数码管的字型编码为:11000000B(即C0H);共阴极数码管的字型编码为:00111111B(即3FH)。依次类推可求得数码管字型编码如表6-2所示。表6-2LED数码管字型编码表对于多位数码显示器来说,为了简化线路、降低成本,往往采用以软件为主的接口方法,即不使用专门的硬件译码器,而采用软件程序进行译码。如前所述,由于各位数码管的显示段码是互相并联的,因此在同一时刻只能显示同一种字符。对于这种接口电路来说,其显示方法有静态显示和动态显示两种。定义:当显示器显示某一个字符时,相应的发光二极管恒定地导通或截止。特点:每一位都需要有一个8位的输出口控制,所以占用硬件多,一般用于显示器位数较小的场合。为了将一个十六进制数在一个LED上显示出来,就需要将十六进制数译为LED的7位显示代码。一种方法是采用专用的带驱动的LED段译码器,实现硬件译码;另一种常用的方法是软件译码(常用)。静态显示图6-147段LED数码管及按钮的一种接口电路

定义:就是一位一位地轮流点亮各位显示器(扫描)。对于每一位显示器来说,每隔一段时间点亮一次。一般实际使用时,往往要用几个数码管实现多位显示。这时,如果每一个数码管占用一个独立的输出端口,那么将占用太多的端口;而且驱动电路的数目也很多。所以,要从硬件和软件两方面想办法节省硬件电路。图6-15是多位数码管显示的接口电路,这是一种常用的方案。在这种方案中,硬件上用公共的驱动电路来驱动各数码管;软件上用扫描方法实现数字显示。采用扫描的方式驱动多位7段LED数码管,节省驱动电路,降低功耗,保证一定的扫描循环频率,得到较好的显示质量。各位7段LED数码管公用一个段驱动器、一个段码锁存器,为段驱动器提供逻辑输入。每位7段LED数码管的公共端连接一个位驱动器,控制各位数码管的点燃。位驱动器由一个位码锁存器提供输入逻辑电平。显示器在系统中占用两个端口号:段码口与位码口。动态显示图6-15多位数码管显示的一种接口电路综上所述,只要CPU通过段控制端口送出段代码,然后通过位控制端口送出位代码,指定的数码管便显示相应的数字。如果CPU顺序地输出段码和位码,依次让每个数码管显示数字,并不断地重复,当重复频率达到一定程度,利用人眼的视觉暂留特性,从数码管上便可见到相当稳定的数字显示。

上述多位显示电路中,往往要用软件完成段译码,并花费CPU大量时间去重复扫描每个数码管。为此,程序设计时可以开辟一个BuFF缓冲区,存放要显示的数字,第一个数字在最左边的数码管显示,下一个数字送到左边第二个数码管显示,依此类推。另外,还需要建立一个显示代码表TABLE,从前向后依次存放0-F对应的7段显示代码。显示代码是和硬件连接有关的,在图6-15所示的接口电路中,数字0的显示代码为COH,l的显示代码为F9H……。

§6.3简单I/O接口芯片的应用

6.3.2简单I/O接口设计应用例6-2

编写程序判断图6-16中的开关状态。如果K0~K2开关闭合,则其余开关断开,则程序转向标号为KEY1的程序段执行;如果K3~K6开关闭合,则其余开关断开,转向标号为KEY2的程序段执行。另外,由图6-16可以看出,当开关闭合时输入低电平。图6-16三态门输入接口在图6-16中,三态门74LS244采用部分地址译码-地址线A1和A0未参加译码,故它所占的地址为83FCH~83FFH。可以用其中任何一个地址,而其他重叠的3个地址空着不用。§6.4直接存储器(DMA)存储方式

6.4.1DMA概述用DMA方式传送数据时,在存储器和外部设备之间,直接开辟高速的数据传送通路。数据传送过程不要CPU介入,只用一个总线周期,就能完成存储器和外部设备之间的数据传送。因此,数据传送速度仅受存储器的存取速度和外部设备传输特性的限制。DMA传送包括:RAM→I/O端口的DMA读传送;I/O端口→RAM的DMA写传送;RAM→RAM的存储

温馨提示

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

评论

0/150

提交评论