IO端口地址译码技术课件_第1页
IO端口地址译码技术课件_第2页
IO端口地址译码技术课件_第3页
IO端口地址译码技术课件_第4页
IO端口地址译码技术课件_第5页
已阅读5页,还剩57页未读 继续免费阅读

下载本文档

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

文档简介

I/O端口地址译码技术

设备选择功能是接口电路应具备的基本功能之一,因此,作为进行设备端口选择的I/O端口基本概念和I/O端口译码基本原理.基本方法的基础上,着重讨论译码电路的设计.2.1I/O端口及其编址方式一.I/O端口和I/O操作1.I/O端口端口(port)是接口电路中能被CPU直接访问的寄存器的地址.2.I/O操作通常所说的I/O操作是指对I/O端口的操作,而不是对I/O设备的操作,即CPU所访问的是与I/O设备本身上一页返回二.端口地址编址方式对上述端口有两种编址方式,一种是端口地址和寄存器地址统一编制,另一种是I/O端口地址和存储器分开独立编址.1.统一编址这种,是从存储器空间划出一部分地地址空间给I/O设备,把I/O接口中的端口当作存储器单元一样进行访问,不设置专门的I/O指令,有一部分对存储器使用的指令也可用于端口。Motoral系列,Apple系列微型机和小型机就是采用这种方式。这种方式有许多优点:由于对I/O设备的访问是使用访问存储器的指令,所以指令类型多,功能齐全,这使访问I/O端口可实现输入/输出操作,而且还可以对端口内容进行算术逻辑位移等等;另外能给端口有较大的的编址空间,这对大型控制系统和数据通信系统是很有意义的。这种方式的缺点是端口占用了存储器的地址空间,使存储器容量减小,另外指令长度比专门I/O指令要长,因而速度较慢。

上一页返回

2.独立编址这种方式是接口中的端口地址单独编址而不和存储空间合在一起,大型计算机通常采用这种方式,有些微机,如IBM-PC系列和Z-80系列机也采用这种方式。这种方式的主要优点是:I/O端口地址不占用存储器空间;使用专门的I/O指令对端口进行操作,I/O指令短,执行速度快;并且由于专门I/O指令与存储器访问指令有明显的区别,使程序中I/O操作和存储器操作层次清晰,程序的可读性强。同时,由于使用专门的I/O指令访问端口,并且I/O端口地址和存储器地址是分开的,故I/O端口地址和存储器地址可以重叠,而不会相互混淆。上一页返回

三、独立编址方式的端口访问1.YO指令中端口地址的宽度

IBM-PC系列采用I/O(input/output)指令访问端口,实现数据的I/O传送。在I/0指令中可采用单字节地址或双字节地址寻址方式。若用单字节地址作为端口地址,则最多可访问256个端口。系统主板上接口芯片的端口,采用单字节地址,并且是直接在指令中给出端口地址,2.I/0端口访问所谓对端口的访问就是CPU对端口的读/写。而通常所说的微处理器CPU从端口读数据或向端口写数据,仅仅是指FO端口与CPU的累加器之间的数据传送,并未涉及数据是否传送到存储99(RAM)的问题。若要求输入时,将端口的数据传送到存储器,则除了把数据读入CPU的累加器之外,还要将累加9S中的数据再传送到内存。或者相反,输出时,数据从存储器先送到CPU的累加器,再从累加器传送到I/O端口。上一页返回

例如:输入时MOVDX,300H;I/O端口

INAL,DX;从端口读数据到ALMOV[DI],AL;将数据从AL-→存储器输出时MOVDX,301H;I/O端口

MOVAL,[SI];从内存取数到从

OUTDX,AL;数据从AL-→端口2.2I/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--Al5,故其I/O端口地址范围是0000H-003FFH,总共只有1024个端口,并且把前512个端口分配给了主板,后512个端口分配给了扩展槽上的常规外设。后来在PC/AT系统中,作了一些调整,其中前256个端口(000-0FFH)供系统板上的I/0接口芯片使用。后768(100—3FFH)供扩展槽上的I/O接口控制卡使用,如表2.2所示。上一页返回

在表2.1中分配给每个接口芯片的I/O端口地址,在实际使用中,并未全部用完。例如,中断控制器8259A只使用了前面2个端口地址,20H、21H(主片)和AOH、A1H(从片)。并行接口芯片8255A,只使用了前面4个端口地址,60H~63H。使用端口地址最多的DMA控制器芯片8237A,也只用了前面的16个地址(0-Fl/)。从表2.2中,可以看到允许用户使用的端口地址是300H—31FH。这一段地址是留给用户在开发IBM-PC系列机功能模块(插板)时,使用的端口地址,系统是不会占用它的。上一页返回

三、I/O端口地址选用的原则只要设计I/O接口电路,就必然要使用I/O端口地址。为了避免端口地址发生冲突,在选用I/O端口地址时要注意:①凡是被系统配置所占用了的地址一律不能使用;②原则上讲,未被占用的地址,用户可以使用,但对计算机厂家申明保留的地址,不要使用,否则,会发生I/O端口地址重叠和冲突,造成用户开发的产品与系统不兼容而失去使用价值;③一般,用户可使用300-31FH地址,这是IBM-PC微机留作实验卡用的,用户可以使用。但是,由于每个用户都可以使用,所以在用户可用的这段I/O地址范围内,为了避免与其他用户开发的插板发生地址冲突,最好采用地址开关。上一页返回

2.3I/O端口地址译码

CPU为了对I/O端口进行读写操作,就需确定与自己交换信息的端口(寄存器),那么,是通过什么媒介把来自地址总线上的地址代码翻译成为所需要访问的端口(寄存器)的,这就是所谓的端口地址译码问题。这个“媒介”就是I/O地址译码电路。上一页返回

一、I/O地址译码电路工作原理及作用1.译码电路的输入信号:首先,应该指出的是,I/O地址译码电路不仅仅与地址信号有关,而且与控制信号有关。因此,I/O端口地址译码电路的作用是把地址和控制信号进行逻辑组合,从而产生对接口芯片的选择信号。由于I/O地址译码除了地址范围受上述地址分配的限制之外,还要满足其他一些控制条件,所以,译码电路的输入端除了地址信号线之外,还要引入一些控制信号。例如,用SBHE信号控制端口奇偶地址;用I/OCS16信号控制8位或16位I/O端口;用AEN信号控制非DMA传送以及用IOR和IOW信号控制对端口的读/写等。为此,在设计地址译码电路时,除了根据2.2节选用I/O端口地址的原则,精心选择地址范围之外,还要根据CPU与I/O端口交换数据时的流向(读/写)、数据宽度(8位/16位),以及是否采用奇偶地址和DMA传送方式的要求来引入相应的控制信号,参加地址译码。上一页返回2.译码电路的输出信号译码电路把输入的地址线和控制线经过逻辑组合后,所产生的输出信号线就是l根选中线,低电平有效。即若译码电路的输出线为低,则表示译码有效;若输出线为高,则译码无效。当I/O地址译码有效,选中一个接口芯片时,这个芯片内部的数据线打开,并与系统总线相连,从而打通了接口电路与系统总线的通路。而其他接口芯片的选中线无效,于是芯片内部呈高阻抗,自然就与系统总线隔离开来,从而关闭了接口电路与系统总线的通路。CPU就是这样利用译码电路来选择与之交换信息的接口电路的。上一页返回二、I/O地址译码方法

I/O端口地址译码的方法灵活多样,可按地址和控制信号不同的组合去进行译码。一般原则是把地址线分为两部分:一部分是高位地址线与CPU的控制信号进行组合,经译码电路产生I/O接口芯片的片选CS信号,实现系统中的片间寻址;另一部分是低位地址线不参加译码,直接连到I/O接口芯片,进行I/O接口芯片的片内端口寻址,即寄存器寻址。所以,低位地址线,又称接口电路中的寄存器寻址线。低位地址线的根数决定于接口中寄存器的个数。例如,并行接口芯片8255A内部有4个寄存器,就需要2根低位地址线。串行接口芯片8251A内部只有2个寄存器,就只需1根低位地址线。若从系统的角度宋考虑,则低位地址线的根数应由系统中含有寄存器数目最多的接口芯片来决定。上一页返回三、I/O端口地址译码电路设计译码电路的形式可分为固定式译码和可选式译码。若按译码电路采用的原器件来分,又可分为门电路译码和译码器译码1.固定式端口地址译码所谓固定式是指接口中用到的端口地址不能更改。目前,接口卡中一般是采用固定式译码。在固定式译码电路中,又分单个端口地址译码和多个端口地址译码两种情况。若仅需一个端口地址,则采用门电路构成译码电路。上一页返回

例1:使用74LS20/30/32和74LS04设计I/0端口地址为2F8H的只读译码电路。分析:若要产生2F8H端口地址,则译码电路的输入地址线就应具有如表2.3所示的值。设计:按照表2.3中地址线的值,采用门电路就可以设计出译码电路,如图2.1(a)所示。图中ANE参加译码,它对端口地址译码进行控制,只有当ANE=0时,既不是DMA操作时译码才有效;当ANE=1时,即是DMA操作时,译码无效。图2.1中,要求DMA=0是为了避免在DMA周期中,由DMA控制器对这些以非DMA方式传送的I/O端口执行DMA方式的传送。同理可设计出能执行读/写操作的2E2H端口地址的译码电路,如图2.1(b)所示。若接口电路中需使用多个端口地址,则采用译码器译码比较方便。译码器的型号很多,如3-8译码器74L5138;4-16译码器74LSl540~I.2-4译码器74L8139、74LSl55等。上一页返回例2:使用7413138设计一个系统板七控口芯片的I/O端口地址译码电路,并且让每个接口芯片内部的端口数目为32个。分析:由于系统板上的I/O端口地址分配在000~0FFH范围内,故只使用低8位地址线,这意味着A9和A8两位应赋0值。为了让每个被选中的芯片内部拥有32个端口,只要留出5根低位地址线不参加译码,其余的高位地址线作为7413138的输入线,参加译码,或作为74LSD8的控制线与AEN一起(控制74LSl38的译码是否有效。由上述分析,可以得到译码电路输入地址线的值,如表2.4所示。对于译码器74LSl38的分析有两点:一是它的控制信号线G1、G2A和G2B。只有当满足控制信号线C=1,G2A=G2B=0时,74L8138才能进行译码。二是译码的逻辑关系,即输入(C,B,A)与输出(Y0-Y7)的对应关系。74LSl38输入/输出的逻辑关系,如表2.5所示。上一页返回从表2.5可知,若满足控制条件,即G1接高电平,G2A,和G2B。接低电平,则由输入端C、B、A的编码来决定输出:CBA=000,则Yo=0,其他输出端为高电平;CBA=001,Yl=0,其他输出端为高电平;……;CBA=111,Y7=0,其他输出端为高电平。由此可分别产生8个译码输出信号(低电平)。若控制条件不满足,则输出全“1”,不产生译码输出信号,即译码无效。设计:采用74LSl38译码器,可设计PC机系统板上的端口地址译码电路,如图2.2所示。图中地址线的高5位参加译码,其中A,—A,经译码器,分别产生DMACS(8237)、INTRCS(8259)、T/CCS(8253)、PPICS(8255A)的片选信号,而地址线的低5位Ao-a4作芯片内部寄存器的访问地址。从74LSl38译码器的真值表可知,8237A的端口地址范围是000—01Fil,8259A的端口地址范围是020-03FH等等,正好和前面表2.1所列出的端口地址分配表一致。上一页返回

2.可选式端口地址译码如果用户要求接口卡的端口地址能适应不同的地址分配场合,或为系统以后扩充留有余地,则采用开关式端口地址译码。这种译码方式可以通过开关使接口卡的UO端口地址根据要求加以改变而无需改动线路,其电路可由地址开关、译码器、比较器或异或门几种元器件组成。例3:设计扩展板上的I/O端口地址译码电路,要求让扩展板上每个接口芯片的内部端口数目为4个,并且,端口地址可选。例如,选择地址范围为300H—31FH。

分析:先讨论构成可选式端口地址译码电路的地址开关、比较器和译码器3个元器件的工作原理,然后根据题目要求进行电路设计。上一页返回·对于DP开关,有两种状态:合(ON)和断(OFF)。所以,要对这两种状态进行设定,我们设置DIP开关状态为:ON=O,OFF=1·对于比较器有两点要考虑,一是比较的对象,二是比较的结果。我们采用74LS854位比较器,把它的A组4根线与地址线连接,B组4根线与DP开关相连,这样就把比较器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的控制线Gl=1,才能译码,否则,译码器不能工作。所以,如果改变DP开关的状态,则迫使地址线的值发生改变,才能使两者相等,从而达到利用DIP开关来改变地址的目的。上一页返回

设计:根据上述分析可设计扩展板上I/O端口地址译码电路,如图2.3所示。从图中可以看到,高位地址线中,A9AQA7A6的值由DIP开关的S,S2S,5b状态决定。由于S,和S,断开,S1和S0合上,故使A9=A8=1,A7=A6=0,A5连在74L8138的G2A上,故A5=0。A4A3A2三根地址线作为74L8138的输入线,经译码后可产生8个低有效的选择信号,作为扩展板上的接口芯片选择。最后剩下2根低位地址线A1和Ao未参加译码,作接口芯片的寄存器选择,以实现每个接口芯片内部拥有4个端口。上一页返回

例4:采用异或门设计I/O端口地址译码电路o

分析与设计:如果用异或门代替比较器,则可得到图2.4所示的可选式译码电路,它由3片异或门74LSl36,9位DIP开关和译码器74L5138组成。741B136芯片内部有4个异或门,其内部逻辑如图2.5所示。在译码电路图2.4中,每个异或门的两个输入端,一个接地址线或控制线,另一个接地址开关。并且将所有异或门的输出端连在一起,再接到74LSl38的控制端G上。要使控制信号C:为“1”,则必须使每个异或门的输出端都为“1”。上一页返回

这意味着每个异或门的两个输入信号必须相异,例如图2.4中的AEN接在74L5136的4端,而74L5136的5端接高电平,所以4端必须为低电平,也就是说AEN应为低电平,即非DMA周期,译码才有效。同理可知分别连在74LSl36的1和2端上的IOR~IOW两个控制信号只能在分开单独读或单独写时,译码才有可能,同时读写或同时都不读写时封锁译码器74LSl38,使译码无效。其余各项异或为“广的条件,由系统地址总线送来的地址码与DIP开关状态来决定,当地址码和DIP开关状态相异时,结果为“广。若改变DIP的开关状态,也就改变了地址。按图2.4中所设的开关状态,该译码电路输入地址的值,如表2.6所示。其地址范围是710H-717H。上一页返回例5:采用跳接开关设计I/O端口地址译码电路用跳接开关代替DIP开关,可得到如图2,6所示的可选式译码电路。若改变跳接开关连接方向,则有1024种选择。上一页返回

2.4CAL器件及其在I/O地址译码中的应用一、GAL器件的特点

GAL(GenericArrayI~gic)是美国LATFICE公司提出的可编程逻辑器件PLD,它具有如下特点:①可以实现组合逻辑电路和时序逻辑电路的多种功能。经过编程可以构成多种门电路,如触发器、寄存器、计数器、比较器、译码器、多路开关或控制器等,代替常用的74系列和54系列的TYL器件或CD4000系列的CMOS芯片。据统计,一个GAL器件在功能上可以代替4—12个中小规模集成芯片,从而使系统缩小体积,提高可靠性,井简化印制电路板的设计。

上一页返回②采用电擦除工艺,门阵列的每个单元可以反复改写(至少100次),因而整个器件的逻辑功能可以重新配置,因此它是产品开发研制中的理想工具。③具有硬件加密单元,可以防止抄袭电路设计和非法复制。④速度高而功耗低,具有高速电擦电写能力,改写整个芯片只需数秒钟,而功耗只有双极型逻辑器件的1/2或1/4,缓解了温升问题。因此,GAL得到越来越多用户的青睐,在微机应用系统中被广泛采用。上一页返回二、CAL器件的开发工具与开发步骤1.开发工具

GAL器件能否得到广泛应用,很大程度上取决于它是否有优良的开发环境。若用手工方式编程,则不仅繁琐,而且容易出错。现已有很多公司推出/开发工具,借助这些工具,用户可以得心应手地把GAL器件应用到逻辑设计中去。开发工具包括硬件工具——编程器和软件工具——专用的编译程序或汇编程序。

GAL编程器与EPROM/fPROM的编程器在原理上并无多大差别。目前国内常见的编程器有PROMA、EXPR040和ALL-03型,其中ALD03是常用的功能很强的编程器,不仅可以对各个厂家生产的各种型号的GAL、PAL、EP~D编程,还可对EPROM、fPROM编程,并具有IC数字电路测试功能。上一页返回

目前已有多种GAL编程软件,如CUPL和ABEL屑编译型高级开发软件,具有自动逻辑化简、语法检查和模拟仿真功能。在输入文件中可以采用布尔方程、真值表和状态转换图。FM(FastMap)是通用的汇编型的软件。使用它可以把按一定格式编写的GAL设计说明书进行汇编,生成对GAL编程的文件。由于它简单,实用,易于掌握,因而得到了广泛的应用oFM是一个汇编程序,它可以对具有一定格式的GAL编程输入源文件(扩展名.PLD)进行汇编,即把与-或(积-和)形式的逻辑方程翻译并生成列表文件(.LST)、熔丝状态图文件(.PLT)和分布数据代码文件(,JED),然后利用编程器,把分布数据写入到GAL中。上一页返回

2.开发步骤与方法下面以采用GALl6V8来实现基本门电路逻辑为例,说明GAL器件的开发过程,共分3步。①利用文本编辑程序(如EDIT)按一定格式编写GAL编程输入源文件(或叫GAL设计说明书)。使用FM软件前,首先要准备好GAL编程输人源文件,其格式如下:

GALl6V8;DEVICENAME——LINE1—-BASICGATES;(USE)—LINE2—XUAIQINGMAR.151998B1TI;(DESIGNER)—LINE3—BGATES;SIGNATURE——LINE4——CDFGMNPQIGND;PINNAME—LINEI—JKLROHEBAVCC;PINNAME

上一页返回B=/A;INVERTER—LINEJ—E=C*D;ANDGATEH=F+G;ORGATEL=/I+/J+/K;NANDGATEO=/M*/N;NORGATEN=P*/Q+/P*Q;XORGATEDESCRIPTION;KEYWORD—LINEK-THISEXAMPLEILLUSTRATESTHEUSEOFGALDEVICEANDITSDEVELOPMENTTOOL.上一页返回

其中:斜杠(/)符号,表示低电平有效第一行器件型号,必须用大写字母第二行标题(GAL器件的应用)第三行设计者姓名,日期等第四行电子标签第I行引脚名,可占用多行,i≥5第J行逻辑方程,可占用多行第K行程序描述。DESCRIPTION是关键字,不可少,且必须用大写字母。上一页返回

注意:第1行的器件型号和第4行的电子标签的位置不能变。第2、3行写什么由设计者自己定,上例中只是推荐的格式,这两行无论写什么bqVl软件都不会判错。关键字DESCRIPTION不可缺,即使后面不给出任何描述,也要写出关键字,且一定要顶头开始写,前面不能留空格。每个引脚名最多可用8个字符,名字间应用空格、制表符、回车符隔开。不使用的引脚习惯上用NC表示,地用GND表示,电源用U”表示。引脚名必须按引脚号的次序排列,排完第一行,再排第二行。器件类型和关键字DESCRIPTION必须用大写字母。输入源文件的核心部分是输入与输出信号的逻辑方程,因为汇编程序FM无逻辑化简功能。所以,源文件要用简化的与-或式(积—和式)写出。输入源文件可以在任一编辑器上进行编辑,编辑完毕后,以扩展名.PLD存盘。上一页返回②使用FM.EXE汇编程序对GAL输入源文件进行汇编,并生成3个基本文件。

当准备好输入源文件后,就可以启动FM汇编程序,根据FM的菜单,分别生成:LST列表.文档文件——包括源文件和引脚分配图;PLT熔丝状态分布图文件——供用户直观地查看逻;辑方程用;JED分布数据文件——包含门阵列中所有编程节点的编程信息代码,这些代码可通·过编程器,直接写入GAL,进行“编程写入”,故又称为编程代码文件或装载文件。上一页返回

FM.EXE汇编程序的启动和操作如下:启动时,在DOS提示符下键人FM,再键人已准备好的GAL文件后,屏幕上会出现如图2.7所示的FM菜单,并提请用户键人相应的选择项(数字键1—5)。若键人“1”,则FM将生成一份扩展名为.LST的文档文件,包括源文件和GAL引脚配置图。若输入“2”,则FM将生成一份扩展名为.PLT的芯片熔丝状态分布图文件。若键人“3”,则FM将生成一份扩展名为.用D的JEDEC标准装载文件,这种标准文件包含门阵列中所有编程节点的编程信息,可以直接写入GAL芯片。若键人“4”,则放弃对现文件的汇编,FM将要求用户输入新的编程输入源文件名,重新显示菜单。若键人“5”,则由FM退回到DOS环境。上一页返回

③使用ALD03编程器将扩展名为.JED的装载文件“烧”到GAL器件内。在DOS提示符下,键人"ACCESS'’,按回车键,屏幕上将显示:

ALD03A/03UniversalProgrammer&TesterHI-LOSYSTEMSCO.,LTDALLRightReserved

按回车键后,将显示新的一屏,接着可按屏幕标题显示来选择GAL、PAL等芯片生产公司(工厂)的名字,及某一公司(工厂)的产品型号。按准备编程的GAL的生产公司和型号进行选择。例如,若待编程的GAL是LATIICE公司生产的"GALl6V8'’,则键人“09”(对应LATIlCE公司),按回车键,右边一列显示出该公司的多个产品型号,再键人“00”(对应GALl6V8),选定编程芯片型号。屏幕将显示如图2.8所示的菜单。上一页返回

利用此菜单,只需按以下步骤操作,即可完成GAL器件的编程工作。当把GAL器件插入编程器的插座后,第一步,键入“2”,把装载文件.JED装入缓冲区。第二步,键人“B”,检查芯片是否擦除好,若未擦除好,则键人“E”,将其擦除。第三步,键入“P”,即进行编程(烧录)。第四步,键人“V”,进行核对。若要加密,则最后键人“S”。编程即告结束。为简单起见,也可在.扛D文件装入后,只键人“A”,代替前述各步,一次自动完成编程工作。上一页返回

在微机上,通过GAL编程软件和编程器将.JED文件中的编程代码写入(“烧”人)GALl6V8,至此一个满足上述要求的GAL基本逻辑门电路开发完毕。在使用中若发现有问题,或要求改变门电路,可以将原代码擦除,重新编写源文件,形成.JED文件,再“烧”人GAL。若想保护源代码不被非法占有,则可以在烧人时实现逻辑电路的加密功能。上一页返回

三、采用GAI的I/O端口地址译码电路设计1.要求利用GAL器件设计MFID多功能微机接口实验平台的I/O端口地址译码电路,其端口地址范围为300H-3FFH,分成16个段,每个段包含4个接口芯片,每个接口芯片内部拥有4个端口。上一页返回

2.分析①地址线的分配与使用。首先,从端口地址范围,可知最高两位地址线的值A9=A8=1。其次,要求分成16个段,可由A7A6A5A4四位地址线进行组合,实现段选。而每个段包含4片接口芯片,故可用A3和A2两位地址线进行组合,实现片选。最后,为了让每个芯片内部拥有4个端口,将A1和Ao最低两位地址线,不参加译码,直接连到接口芯片上,进行片内寄存器寻址。因此,可得译码电路输入地址线的值,如表2.7所示。②参加译码的控制线。根据需要,只有IOW、IOR和AEN三根控制线参加译码。③GAL器件的选择。从上述分析可知,除去不参加译码的A1和Ao之外,还有8根地址线,其中A7—A4四根地址线,经DIP开关和比较器进行段选,比较器的输出线仅有1根A=B线,所以,送到GAL的地址线,只有A9,A8,A=B,A3和A2五根,再加上3根控制线,共8根线作为GAL的输入线。GAL的输出线应包括4根片选信号线(Y0Y1Y2Y3),l根74LS245的选通线DS和1根方向控制线DIR,共6根,所以可选择GALl6V8作译码器。下面对GALl6V8进行讨论。上一页返回④GALl6V8芯片。GALl6V8有20个引脚,如图2.9所示,它有8个输入端(2—9),8个输出端(12—19),1个时钟输入端(1)和1个输出允许(11)控制端。其中除了8个输入引脚(2-9)固定作输入之外,还可以把8个输出引脚(12—19)配置成输入引脚作为输入使用,因此,这个芯片最多可有16个输入引脚,而输出引脚最多为8个,这就是GALl6V8中两个数字(16和8)的含义。

GALl6V8的外部引脚和内部结构见图2.10。由图可见,外部输入信号允许正、负两种极性(原码或反码)输人,8个输人信号(引脚2图2,9GALl6V8的引脚—9

温馨提示

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

评论

0/150

提交评论