微机接口技术概述

微机接口技术概述

ID:16153376

大小:229.50 KB

页数:13页

时间:2018-08-08

上传者:U-3772
微机接口技术概述_第1页
微机接口技术概述_第2页
微机接口技术概述_第3页
微机接口技术概述_第4页
微机接口技术概述_第5页
资源描述:

《微机接口技术概述》由会员上传分享,免费在线阅读,更多相关内容在行业资料-天天文库

第一节微机接口与接口技术概述一、接口微机接口就是微处理器CPU与“外部世界”的连接电路,是CPU与外界进行信息交换的中转站。比如源程序或原始数据要通过接口从输入设备送进去,运算结果要通过接口向输出设备送出来;控制命令通过接口发出去,现场状态通过接口取进来,这些来往信息都要通过接口进行变换与中转。从图1.1可以看出,各类外部设备(简称外设)和存储器,都是通过各自的接口电路连到微机系统的总线上去的,因此用户可以根据自己的要求,选用不同类型的外设,设置相应的接口电路,把它们挂到系统总线上,构成不同用途、不同规模的应用系统。为什么要在CPU与外设之间设置接口电路?有几个方面的原因:其一,CPU与外设两者的信号线不兼容,在信号线功能定义、逻辑定义和时序关系上都不一致;其二,两者的工作速度不兼容,CPU速度高,外设速度低;其三,若不通过接口,而由CPU直接对外设的操作实施控制,就会使CPU处于穷于应付与外设打交道之中,大大降低CPU的效率;其四,若外部设备直接由CPU控制,也会使外设的硬件结构依赖于CPU,对外设本身的发展不利。因此,有必要设置接口电路,以便协调CPU与外设两者的工作,提高CPU的效率,并有利于外设按自身的规律发展。二、接口技术微机接口技术是采用硬件与软件相结合的方法,研究微处理器如何与“外部世界”进行最佳连接,以实现CPU与“外部世界”进行高效可靠的信息交换的一门技术。第二节接口功能接口是CPU与外界的连接电路,并非任何一种电路都可以叫做接口,它必须具备一些条件或功能,才称得上是接口电路。那么,接口应具备哪些功能呢?从解决CPU与外设在连接时存在的矛盾的观点来看,一般有如下功能。1.执行CPU命令的功能CPU对被控对象外部设备的控制命令是以命令代码的形式先发送到接口中的命令寄存器,称之为“命令口”。再由接口电路对命令代码进行识别和分析,分解成若干个控制信号,传送到I/O设备,使其产生相应的具体操作。可见,CPU并不是直接把命令送到被控对象,而是通过接口电路来进行控制的。2.返回外设状态的功能接口电路在执行CPU命令之前、执行命令过程中和执行命令之后,外部设备及接口电路都会有一些情况发生,这些“情况”就是所谓“状态”,包括正常工作状态和故障状态。如“忙”、“闲”,“准备就绪”、“未准备就绪”,“满”、“空”,以及“溢出错”、“格式错”、“校验错”等状态。接口中一般都设置状态寄存器,称之为“状态口”。这些状态信号以状态代码形式存放在接口电路的状态寄存器中,以便向CPU报告。CPU从“状态口”读取这些状态信息,就可以“知道”正在发生或已经发生了哪些情况,以供CPU做出判断与处理。3.数据缓冲功能 为了解决主机高速与外设低速的矛盾,避免因速度不一致而丢失数据,接口中一般都设置数据缓冲寄存器(简称数据缓存器),称之为“数据口”。数据缓存器又分为输入和输出缓存器两种,前者暂存外投送来的数据,以待CPU将它取走;后者暂存CPU送往外设的数据。有了数据缓存器,就可以使高速工作的CPU与慢速工作的外设协调工作。由于数据缓存器直接连在系统数据总线上,因此它应具有三态特性。4.信号转换功能由于外设所需的控制信号和它所能提供的状态信号往往同微机的总线信号不兼容。不兼容性表现在两者的信号功能定义、逻辑关系、电平高低以及工作时序的不一致。因此,信号转换(包括CPU的信号与外设的信号的逻辑关系上、时序配合上以及电平匹配上的转换),就成为接口设计中的一个重要任务。5.设备选择功能在微机系统中一般有多种外设,在同一种外设中也可能有多台,而一个CPU在同一时间里只能与一台外设交换信息,这就要在接口中设置I/O端口地址译码电路对外设进行寻址。CPU将I/O设备的端口地址代码送到接口中的地址译码电路,并经译码电路,把地址代码翻译成I/O设备的选择信号。一般是把高位地址用于接口芯片选择,低位地址进行芯片内部寄存器的选择,以选定需要与自己交换信息的设备端口,只有被选中的设备才能与CPU进行数据交换或通信。没有选中的设备,就不能与CPU交换数据。6.数据宽度与数据格式转换的功能CPU所处理的是并行数据(8位、16位或32位),而有的外设(如串行通信设备、磁盘驱动器等)只能处理串行数据,在这种情况下,接口就应具有数据“并~串”和“串~并”的转换能力。上述功能并非要求每种接口都具备,对不同用途的微机系统,其接口功能不同,接口电路的复杂程度大不一样。但前3种功能是接口电路中的核心部分,是一般接口都需要的。第三节接口的组成为了实现上述功能,就需要物理基础——硬件,予以支撑;还要有相应的程序~软件,予以驱动。所以,一个能够实际运行的接口,应由硬件和软件两部分组成。一、硬件电路从使用角度来看,接口的硬件部分有1.基本逻辑电路包括命令寄存器、状态寄存器和数据缓冲寄存器。它们担负着接收执行命令、返回状态和传送数据的基本任务,是接口电路的核心。目前,可编程大规模集成接口芯片中都包含了这些基本电路。2.端口地址译码电路它由译码器或能实现译码功能的其他芯片,如GAL(PAL)器件、普通IC逻辑芯片构成。它的作用是进行设备选择,是接口中不可缺少的部分。这部分电路不包含在集成接口芯片中,要由用户自行设计。3.供选电路 这是根据接口不同任务和功能要求而添加的功能模块电路,设计者可按照需要加以选择。在设计接口时,当涉及到数据传输方式时,要考虑中断控制或DMA控制器的选用;当涉及到速度控制和发声时,要考虑定时/计数器的选用;当涉及到数据宽度转换时,要考虑到移位寄存器的选用等等。以上这些硬件电路不是孤立的,而是按照设计要求有机地结合在一起,使其相互联系和相互作用,实现接口的功能。至于接口芯片中的控制逻辑电路,是用于对接口芯片内部各电路之间的协调以及对外部的联络控制,而对用户的应用无直接关系,故不作详细分析与讨论。二、软件编程接口电路由于被控对象的多样性而无一定模式,但从实现接口的功能来看,一个完整的设备接口程序大约包括如下一些程序段。1.初始化程序段对可编程接口芯片(或控制芯片)都需要通过其方式命令或初始化命令设置工作方式及初始条件,这是接口程序中的基本部分。2.传送方式处理程序段只要有数据传送,就有传送方式的处理。查询方式有检测外设或接口状态的程序段;中断方式有中断向量修改、对中断源的屏蔽/开放以及中断结束等的处理程序段,且程序一定是主程序和中断服务程序分开编写。DMA方式有相关的DMA传送操作,如通道的开放屏蔽等处理的程序段。3.主控程序段完成接口任务的程序段,如数据采集的程序段,包括发转换启动信号、查转换结束信号、读数据以及存数据等内容。又如步进电机控制程序段,包括运行方式、方向、速度以及启/停控制等。4.程序终止与退出程序段包括程序结束退出前对接口电路中硬件的保护程序段。如对一些芯片的引脚设置为高或低电平,或将其设置为输入/输出状态等。5.辅助程序段该程序段包括人、机对话、菜单设计等内容。人、机对话程序段能增加人-----机交互作用;设计菜单,使操作方便。以上这些程序段是相互依存的,是一体的。只是为了分析一个完整的设备接口程序而划分成几个部分。第四节接口电路的结构形式接口电路的结构形式是指采用什么样的元件、器件或部件,以什么方式来构成接口电路。接口电路一般有以下几种结构形式。一、固定式结构固定式结构采用SSI或MSI的IC逻辑芯片,按设计要求组合而成。电路一经做成,其工作方式和功能就固定不变,是一种不可编程的接口电路,一般用于接口任务比较简单的场合。二、半固定式结构半固定式结构是指采用GAL或PAL器件构成的接口电路。设计者根据接口电路设计要求,编写各种“与”、“或” 逻辑表达式,通过专门的编程软件和编程器,烧入CAL器件,就可以实现比较复杂的接口功能。由于采用这种器件的接口电路,其功能和工作方式可以通过改写内部的逻辑表达式加以改变,但是,逻辑表达式一旦烧入芯片,其功能和工作方式又都固定下来,因此,把它叫做半固定式结构。由于采用GAL器件设计的接口电路,体积小,功能强,并且可以加密,应用日益广泛。三、可编程结构随着接口功能的增强和集成度的提高,出现了大规模集成接口芯片。采用这种芯片构成的接口电路,其工作方式和功能可以通过编程方法加以改变,使用灵活,适应面宽,而且种类繁多,能满足不同外设接口的需要。本书将主要讨论这种可编程接口电路。四、智能型结构若采用专门设计的I/O处理器(如I8089)或通用单片微机,就可以构成智能接口。由于这些芯片本身带有微处理器,因此,外设的全部管理功能都可由智能接口来完成,这样就使中央处理器从繁重的外设管理工作中解脱出来,从而大大提高了系统的效率和数据吞吐量。第五节CPU与接口交换数据的方式微机与外部设备之间的数据传送实际上是CPU与接口之间的数据传送,传送的方式不同,CPU对外设的控制方式也不同,从而使接口电路的结构及功能也不同,所以接口电路设计者对CPU与外设之间采用什么方式传送数据颇为关心。在微机中,传送数据一般有3种方式:查询方式、中断方式和DMA方式。一、查询方式查询方式是CPU传送数据(包括读入和写出)之前,主动去检查外设是否“准备好”,若没有准备好,则继续查其状态,直至外设准备好了,即确认外部设备已具备传送条件之后,才进行数据传送。具体作法是在程序中安排一段由输入/输出指令和测试指令以及转移指令组成的程序段。CPU使用测试指令和条件转移指令循环检测设备完成准备工作的状态。一旦设备“准备好”,CPU才执行传送指令,实现CPU与接口之间的数据交换。显然,在这种方式下,CPU每传送一个数据,需花费很多时间来等待外设进行数据传送的准备,因此,CPU的工作效率很低,且CPU与外设不能同时工作,各种外设也不能同时工作。但这种方式不需要增加额外的硬件电路,因此,易于实现。在CPU不太忙且传送速度不高的情况下,可以采用。二、中断方式 采用中断方式传送数据时,无需反复测试外部设备的状态。在外部设备没有作好数据传送准备时,CPU可以运行与传送数据无关的其他指令。外设作好传送准备后,主动向CPU请求中断,CPU响应这一请求,暂停正在运行的程序,转入用来进行数据传送的中断服务子程序,完成中断服务子程序(即完成数据传送)后,自动返回原来运行的程序。这样,虽然外部设备工作速度比较低,但CPU在外设工作时,仍然可以运行其他程序,使外设与CPU并行工作,提高了CPU的效率。但为了实现中断传送,要求在CPU与外设之间设置中断控制器。增加了硬件开销。中断方式用于CPU的任务比较忙,如系统中有多个外设需要与CPU交换数据,尤其适合实时控制及紧急事件的处理。三、直接存储器存取方式 虽然中断传送方式可以在一定程度上实现CPU与外设并行工作,但是在外设与内存之间,进行数据传送时,还是要经过CPU中转(即经过CPU的累器读进和送出),并且每次中断只能传送1个数据,还要做程序的转移、保护现场和现场的恢复工作。这对高速外设(如磁盘)在进行大批量数据传送时,会造成中断次数过于频繁,不仅传送速度上不去,而且耗费大量CPU的时间。为此,采用直接存储器存取(DMA)方式,使数据的传送不经过CPU,由DMA控制器来实现内存与外设,或外设与外设之间的直接快速传送。DMA方式实际上是把输入/输出过程中外设与内存交换数据的那部分操作与控制交给了DMA控制器,简化了CPU对输入/输出的控制。在查询和中断方式下,数据传送过程中的一些操作,加存数和取数、地址刷新和计数以及检测传送是否结束等,是由软件控制相应的指令实现的。在DMA方式下,这些操作都由DMA控制器的硬件实现,因此传送速率很高,这对高速度大批量数据传送特别有用。例如,磁盘子系统和高速数据采集系统中均采用DMA方式。但这种方式要求设置DMA控制器,电路结构复杂,硬件开销大。有的书上还介绍了一种无条件传送方式。由于这种方式是认为被控对象外部设备总是准备好的状态,因此,CPU不用查状态就可以直接读/写数据。可以把它归结到查询方式,作为查询方式的一种特例看待。这种方式可用于电机的启/停、继电器的吸会/释放控制等。也可以用于定时启动的数据采集,只要CPU启动数据采集的时间间隔不小于A/D转换器的转换时间就行。2.软件设计方法接口的硬件电路只提供了接口工作的基础,要使接口真正发挥作用就要配备相应的控制软件。(l)采用汇编语言(或高级语言)直接对低层硬件编程对用户应用系统的接口控制程序应直接面向接口编程。由于接口程序对硬件的依赖性,它与一般的管理程序和数据处理程序不同,是直接与硬件打交道的,因此,设计者必须对相应的硬件细节十分熟悉。、具体地讲,就是对、接口芯片和被控对象外设的外部特性以及接口芯片的编程命令要彻底弄清楚才能着手编写程序。编程语言可以用汇编语言,也可以用高级语言(如C或c++),但从程序的实时性与代码效率以及充分发挥低层硬件的潜力来看,采用汇编语言更佳。(2)采用DOS系统功能调用和BIOS调用编程如果在应用程序中,当涉及到使用系统资源(如键盘、显示器、打印机、串行口等)时,可以采用DOS和BIOS调用,而不需作低层编程。这是因为对于微机系统中的标准设备,在DOS系统功能和ROMBIOS中都有相应的功能子程序供用户调用。但是对于接口设计者来说,常常碰到的是一些非标准设备,所以需要自己动手编制接口控制程序的时候更多。 第六节I/O端口地址译码技术设备选择功能是接口电路应具备的基本功能之一,因此,作为进行设备端口选择的I/O端口地址译码电路是每个接口电路中不可缺少的部分。为此,本章在讨论I/O端口基本概念和I/O端口译码基本原理、基本方法的基础上,着重讨论译码电路的设计。一、I/O端口和I/O操作1.I/O端口端口(port)是接口电路中能被CPU直接访问的寄存器的地址。CPU通过这些地址即端口向接口电路中的寄存器发送命令,读取状态和传送数据,因此,一个接口可以有几个端口,如命令口、状态口和数据口,分别对应于命令寄存器、状态寄存器和数据寄存器。计算机给接口电路中的每个寄存器分配一个端口,因此,CPU在访问这些寄存器时,只需指明它们的端口,不需指出是什么寄存器。这样,我们在输入/输出程序中,只看到端口,而看不到相应的具体寄存器。也就是说,访问端口就是访问接口电路中的寄存器。2.I/O操作通常所说的I/O操作是指对I/O端口的操作,而不是对I/O设备的操作,即CPU所访问的是与I/O设备相关的端口,而不是I/O设备本身。二、端口地址编址方式对上述端口有两种编址方式,一种是端口地址和存储器地址统一编址,即存储器映射方式;另一种是I/O端口地址和存储器地址分开独立编址,即I/O映射方式。1.统一编址这种方式,是从存储器空间划出一部分地址空间给I/O设备,把I/O接口中的端口当作存储器单元一样进行访问,不设置专门的I/O指令,有一部分对存储器使用的指令也可用于端口。 这种方式有许多优点:由于对I/O设备的访问是使用访问存储器的指令,所以指令类型多,功能齐全,这不仅使访问I/O端口可实现输入/输出操作,而且还可对端口内容进行算术逻辑运算,移位等等;另外,能给端口有较大的编址空间,这对大型控制系统和数据通信系统是很有意义的。这种方式的缺点是端口占用了存储器的地址空间,使存储器容量减小,另外指令长度比专门I/O指令要长,因而执行速度较慢。2.独立编址这种方式是接口中的端口地址单独编址而不和存储空间合在一起,大型计算机通常采用这种方式,这种方式的主要优点是:I/O端口地址不占用存储器空间;使用专门的I/O指令对端口进行操作,I/O指令短,执行速度快;并且由于专门I/O指令与存储器访问指令有明显的区别,使程序中I/O操作和存储器操作层次清晰,程序的可读性强。同时,由于使用专门的I/O指令访问端口,并且I/O端口地址和存储器地址是分开的,故I/O端口地址和存储器地址可以重叠,而不会相互混淆。三、独立编址方式的端口访问1.I/O指令中端口地址的宽度IBM-PC系列采用I/O指令访问端口。实现数据的I/O传送。在I/O指令中可采用单字节地址或双字节地址寻址方式。若用单字节地址作为端口地址,则最多可访问256个端口。系统主板上接口芯片的端口,采用单字节地址,并且是直接在指令中给出端口地址,其指令格式为INAL,PORT;输入OUTPORT,AL;输出这里,PORT是一个8位的字节地址。例如:INAL,60H;60H为系统板8255A的PA端口地址,OUT6lH,AL;6lH为系统板8255A的PB端口地址.若用双字节地址作为端口地址,则最多可寻址216=64K个端口。I/O扩展糟的接口控制卡上,采用双字节地址,并且是用寄存器间接给出端口地址,地址总是放在寄存器DX中。其指令格式为MOVDX,xxxxHINAL,DX;8位传送MOVDX,xxxxHOUTDX,AL;8位传送这里,xxxxH为16位的两字节地址。例如:MOVDX,300H;300H为扩展板8255A的PA端口INAL,DXMOVDX,30lH;30lH为扩展板8255A的PB端口OUTDX,AL2.I/O端口访问 所谓对端口的访问就是CPU对端口的读/写。而通常所说的微处理器CPU从端口读数据或向端口写数据,仅仅是指I/O端口与CPU的累加器之间的数据传送,并未涉及数据是否传送到存储器(RAM)的问题。若要求输入时,将端口的数据传送到存储器,则除了把数据读入CPU的累加器之外,还要将累加器中的数据再传送到内存。或者相反,输出时,数据从存储器先送到CPU的累加器,再从累加器传送到I/O端口。例如:输入时MOVDX,300H;I/O端口INAL,DX;从端口读数据到ALMOV[DI],AL;将数据从AL存储器输出时MOVDX,301H;I/O端口MOVAL,[SI];从内存取数到ALOUTDX,AL;数据从Al送端口第七节I/O端口地址分配对于接口设计者来说,搞清楚系统I/O端口地址分配十分重等.因为要把新的I/O设备加入到系统中去就要在I/O地址空间中占一席之地。哪些地址已分配给了别的设备,哪些是计算机制造商为今后的开发而保留的,哪些地址是空闲的,了解了这些信息才能为我所用。下面以IBM-PC系列为例来分析I/O端口地址分配情况。一、I/O接口硬件分类按照I/O设备的配置情况,I/O接口的硬件分成两类:1.系统板上的I/O芯片,这些芯片大多都是可编程的大规模集成电路,完成相应的接口操作,如定时/计数器、中断控制器、DMA控制器、并行接口等。2.I/O扩展槽上的接口控制卡这些控制卡(适配器)是由若干个集成电路按一定的逻辑组成的一个部件,如软驱卡、硬驱卡、图形卡、声卡、打印卡、串行通信卡等。二、I/O端口地址分配不同的微机系统对I/O端口地址的分配是不同的。PC微机是根据上述I/O接口的硬件分类,把I/O空间分成两部分。虽然,PC微机I/O地址线可有16根,对应的I/O端口编址可达64K,但由于IBM公司当初设计微机主板及规划接口卡时,其端口地址译码是采用非完全译码方式,即只考虑了低10位地址线AO~A9,而没有考虑高6位地址线或A10~A15,故其I/O端口地址范围是0000H~03FFH,总共只有1024个端口,并且把前512个端口分配给了主板,后512个端口分配给了扩展槽上的常规外设。后来在此PC/AT系统中,作了一些调整,其中前256个端口(000~OFFH)供系统板上的I/O接口芯片使用,如表2.1所示。后768(l00~3FFH)供扩展槽上的I/O接口控制卡使用,如表2.2所示。 三、I/O端口地址选用的原则只要设计I/O接口电路,就必然要使用端口地址。为了避免端口地址发生冲突,在选用I/O端口地址时要注意:①凡是被系统配置所占用了的地址一律不能使用;②原则上讲,未被占用的地址,用户可以使用,但对计算机厂家申明保留的地址,不要使用,否则,会发生I/O端口地址重叠和冲突,造成用户开发的产品与系统不兼容而失去使用价值;②一般,用户可使用300~31FH地址,用户可以使用。但是,由于每个用户都可以使用,所以在用户可用的这段I/O地址范围内,为避免与其他用户开发的插板发生地址冲突,最好采用地址开关。第八节I/O端口地址译码CPU为了对I/O端口进行读写操作,就需确定与自己交换信息的端口(寄存器),那么,是通过什么媒介把来自地址总线上的地址代码翻译成为所需要访问的端口(寄存器)的,这就是所谓的端口地址译码问题。这个“媒介”就是I/O地址译码电路。一、I/O地址译码电路工作原理及作用1.译码电路的输入信号首先,应该指出的是,I/O地址译码电路不仅仅与地址信号有关,而且与控信号有关。因此,I/O端口地址译码电路的作用是把地址和控制信号进行逻辑组合,从而产生对接口芯片的选择信号。由于I/O地址译码除了地址范围受上述地址分配的限制之外,还要满足其他一些控制条件,所以,译码电路的输入端除了地址信号线之外,还要引入一些控制信号。2译码电路的输出信号 译码电路把输入的地址线和控制线经过逻辑组合后,所产生的输出信号线就是1根选中线,低电平有效。即若译码电路的输出线为低,则表示译码有效;若输出线为高,则译码无效。当I/O地址译码有效,选中一个接口芯片时,这个芯片内部的数据线打开,并与系统总线相连,从而打通了接口电路与系统总线的通路。而其他接口芯片的选中线无效,于是芯片内部呈高阻抗,自然就与系统总线隔离开来,从而关闭了接口电路与系统总线的通路。CPU就是这样利用译码电路来选择与之交换信息的接口电路的。二、I/O地址译码方法I/O端口地址译码的方法灵活多样,可按地址和控制信号不同的组合去进行译码。一般原则是把地址线分为两部分:一部分是高位地址线与CPU的控制信号进行组合,经译码电路产生I/O接口芯片的片选CS信号,实现系统中的片间寻址;另一部分是低位地址线不参加译码,直接连到I/O接口芯片,进行I/O接口芯片的片内端口寻址,即寄存器寻址。所以,低位地址线,又称接口电路中的寄存器寻址线。低位地址线的根数决定于接口中寄存器的个数三、I/O端口地址译码电路设计译码电路的形式可分为固定式译码和可选式译码。若按译码电路采用的元器件来分,又可分为门电路译码和译码器译码。1.固定式端口地址译码所谓固定式是指接口中用到的端口地址不能更改。目前,接口卡中一般是采用固定式译码。在固定式译码电路中,又分单个端口地址译码和多个端口地址译码两种情况。若仅需一个端口地址,则采用门电路构成译码电路。例1:使用74LS20/30/32和74LS04设计I/O端口地址为2F8H的只读译码电路。分析:若要产生2F8H端口地几则译码电路的输入地址线就应具有如表2.3所示的值。设计:按照表2.3中地址线的值,采用门电路就可以设计出译码电路,如图2.l(a)所示。 图中AEN参加译码,它对端口地址译码进行控制,只有当AEN=0时,即不是DMA操作时译码才有效;当AEN=1时,即是DMA操作时译码无效。图2.l中,要求AEN=0,是为了避免在DMA周期中,由DMA控制器对这些以非DMA方式传送的I/O端口执行DMA方式的传送。同理可设计出能执行读/写操作的2E2H端口地址的译码电路,如图2.1(b)所示。,若接口电路中需使用多个端口地址,则采用译码器译码比较方便。译码器的型号很多,3-8译码器74LS138;4-16译码器74LSl54;双2-4译码器74LSl39、74LS155等。例2:使用74LSl38设计一个系统板上接口芯片的I/O端口地址译码电路,并且让每个接口芯片内部的端口数目为32个。分析:由于系统板上的I/O端口地址分配在000~0FFH范围内,故只使用低8位地址线,这意味着A9和A8两位应赋0值。为了让每个被选中的芯片内部拥有32个口,只要留出5根低位地址线不参与译码,其余的高位地址线作为74LS138的输入线,参加译码,或作为74LSl38的控制线与AEN一起,控制74LS138的译码是否有效。由上述分析,可以得到译码电路输入地址线的值,如表2.4所示。对于译码器74LS138的分析有两点:一是它的控制信号线G1、G2A和G2B。只有当满足控制信号线G1=1,G2A=G2B=0时,74LS138才能进行译码。二是译码的逻辑关系,即输入(C,B,A)与输出(YO-Y7)的对应关系。74LSl38输入/输出的逻辑关系,如表2.5所示。设计:采用74LSl38译码器,可设计PC机系统板上的端口地址译码电路,如图2.2所示。 A9A8A7A6A5A4A3A2A1A000000XXXXXY0=0000H-01FH00001XXXXXY1=0020H-03FH00111XXXXXY7=00E0H-0FFH图中地址线的高5位参加译码,其中A5~A7经译码器,分别产生DMACS(8237)、INTRCS(8259)、T/CCS(8253)、PPICS(8255A)的片选信号,而地址线的低5位A0~A4作芯片内部寄存器的访问地址。2.可选式端口地址译吗如果用户要求接口卡的端口地址能适应不同的地址分配场合,或为系统以后扩充留有余地,则采用开关式端口地址译码。这种译码方式可以通过开关使接口卡的I/O端口地址根据要求加以改变而无需改动线路,其电路可由地址开关、译码器、比较器或异或门几种元器件组成。例3:设计扩展板上的I/O端口地址译码电路,要求让扩展板上每个接口芯片的内部端口数目为4个,并且,端口地址可选。例如。选择地址范围为300H-3lFH。分析:先讨论构成可选式端口地址译码电路的地址开关、比较器和译码器3个元器件的工作原理,然后根据题目要求进行电路设计。。·对于DIP开关,有两种状态:合(ON)和断(OFF)。所以,要对这两种状态进行设定,我们设置DIP开关状态为:ON=0,OFF=1。·对于比较器有两点要考虑,一是比较的对象,二是比较的结果。我们采用74LS854位比较器,把它的A组4根线与地址线连接,B组4根线与DIP开关相连,这样就把比较器A组与B组的比较,转换成了地址线的值与DIP开关状态的比较。74LS85比较器比较的结果有3种:A>B,A<B,A=B。我们采用A=B的结果,并令当A=B时,比较器输出高电平。这意味着,当4位地址线的值与4个DIP开关的状态相等时,比较器输出高电平,否则,输出低电平。我们又把比较器的A=B输出线连到译码器74LSl38的控制线G1上,因此,只有当4位(A6~A9)地址线的值与4个(S0~S3)DIP开关的状态逐位相等时,才能使74LSl38的控制线G1=1,才能译码,否则,译码器不能工作。所以,如果改变DIP开关的状态,则迫使地址线的值发生改变,才能使两者相等,从而达到利用DIP开关来改变地址的目的。 A9A8A7A6A5A4A3A2A1A011000000XXY0=0300H-303H11000111XXY7=031CH-31FH设计:根据上述分析可设计扩展板上I/O端口地址译码电路,如图2.3所示。从图中可以看到,高位地址线中A9.A8.A7.A6的值由DIP开关的S3.S2.S1.S0状态决定。由于S3和S2断开,S1和S0合上,故使A9=A8=1,A7=A6=0,A5连在74LS138的G2A上,故A5=0。A4.A3.A2三根地址线作为74LS138的输入线,经译码后可产生8个低有效的选择信号,作为扩展板上的接口芯片选择。最后剩下2很低位地址线A1和AO未参加译码,作接口芯片的寄存器选择,以实现每个接口芯片内部拥有4个端口。(2)可选式译码电路若接口适配器上的端口地址能适应不同场合而改变,例如通信口1控制卡地址为3F8H~3FFH、通信口2控制卡地址为2F8H~2FFH。并行口控制卡地址370H~37FH、并行口2控制卡地址270H~27FH,则通信口控制卡或并行口控制卡可以采用可选择译码电路,对于不同的通信口卡只用改变跳线的连接。图1.11是通信口适配器卡上的译码电路。当跳线J10接通时,地址范围在2F8H~2FFH,是通信口2的译码器连接,而当跳线J12接通时,地址范围在3F8H~3FFH。通信口卡的电路结构完全一样,不同编号的通信口卡只要改变跳线连接即可。

当前文档最多预览五页,下载文档查看全文

此文档下载收益归作者所有

当前文档最多预览五页,下载文档查看全文
温馨提示:
1. 部分包含数学公式或PPT动画的文件,查看预览时可能会显示错乱或异常,文件下载后无此问题,请放心下载。
2. 本文档由用户上传,版权归属用户,天天文库负责整理代发布。如果您对本文档版权有争议请及时联系客服。
3. 下载前请仔细阅读文档内容,确认文档内容符合您的需求后进行下载,若出现内容与标题不符可向本站投诉处理。
4. 下载文档时可能由于网络波动等原因无法下载或下载错误,付费完成后未能成功下载的用户请联系客服处理。
关闭