计算机中的记忆元件由触发器组成,而触发器只有两个状态。即“0”态和“1”态,所以每条信号线上只能传送一个触发器的信息。如果要在一条信号线上连接多个触发器,而每个触发器可以根据需要与信号线连通或断开,当连通时可以传送“0”或“1”,断开时对信号线上的信息不产生影响,就需要一个特殊的电路加以控制,此电路即为三态输出电路,又称为三态门。
三态输出电路
三态电路可提供三种不同的输出值:逻辑“0”,逻辑“1”和高阻态。高阻态主要用来将逻辑门同系统的其他部分加以隔离。例如双向I/O电路和共用总线结构中广泛应用三态特性。
一个简单的三态缓冲电路如图1所示,图1中(a)为表示符号,图1中(b)为逻辑结构。由允许信号E控制输出,当E=1为高电平时,电路的功能是一个正常的缓冲驱动器。输出根据输入为低电平或高电平则相应为低电平和高电平。当E=0为低电平时,不论输入为何种电平,Ma管的输入为低电平,Mp管的输入为高电平,两管均不导通。切断输出节点与电源VOD和地的通路,此时输出呈高阻态。实际上泄漏电流还是有的,但非常小,故输出阻抗非常大。
结构
三态门电路的输出结构与普通门电路的输出结构有很大的不同,它在电路中增加了一个输出控制端EN(Enable的缩写)。当EN=1时,对原电路无影响,电路的输出符合原来电路的所有逻辑关系。当EN=0时,电路内部所有的输出将处于一种关断状态。
可以用一个受EN控制的开关对三态门电路的输出结构进行等效。图2是一个具有三态输出的“非”门的逻辑符号及其等效电路.当EN=1时,非门输出端的开关接通,所以它符合非门的所有逻辑关系。当EN=0时,开关断开,此时在电路的外部看电路输出端的电流几乎为0,所以这是一种高阻状态。
这样,这个电路的输出就有了3个逻辑状态:逻辑0、逻辑1和高阻态。
当多个三态门的输出端连在一起形成总线时,只要保证任何一个时刻只有一个三态门的输出控制端有效,就不会发生总线冲突现象。此时总线上的逻辑电平由那个输出有效的电路确定。
由于三态门通常总是用来驱动总线,所以大部分三态门的输出电流能力要比同系列的普通
逻辑门电路强的多。在计算机等其他设备中,总线的位数常常是8的倍数,所以也常常将8个、16个甚至32个三态门的输出控制端连接在一起,形成一个公共控制端。
组成
一个三态输出电路一般由一个非门、两个或非门和两个NMOS晶体管组成。NMOS晶体管可视为一个开关,当为其输入高电位时接通,而输入低电位时断开。
电路原理
①三态输出电路原理图如图3所示。
②电路分析。
当E为高电位时,经非门后加到两个或非门输入端的均为低电位,此时若A为高电位,则G2为低电位,NMOS管T2断开,G2反馈到上一个或非门后,G1为高电位,NMOS管T1导通,即B与+5 V接通,B点为高电位,B=1;若A为低电位,则G2为高电位,G1为低电位,NMOS管T1断开,T2导通,即B与地接通,B点为低电位,B=0。
故此可知,当E=1时:若A=1,则B=1;若A=0,则B=0。
当E为低电位时,经非门后加到两个或非门输入端的均为高电位,终或非门后,G1,G2均为低电位,NMOS管T1与T2均断开,A和B不相通,呈现出高阻状态。
由此可知,此电路有3个状态:
a.E=0,A和B不通,呈高阻态。
b.E=1,A=1时,B=1。
c.E=1,A=0时,B=0。
逻辑表
三态输出电路逻辑表如下表所示:
总线结构
在微型计算机中,各部件之间的信息传送都是经过总线来传输的。总线是若干条公用的线,它可以被各部件分时使用,从而实现各部件之间的信息传送。在这里,我们将以寄存器为例,说明寄存器之间的数据传送是怎样通过总线来实现的。
设有A、B、C和D四个寄存器,它们都有L门和E门,数据位都设为四位。这样就需要四条数据线即可沟通它们之间的信息来往。
图4就是总线结构的原理图。如果将各个寄存器的L门和E门按次序排成一列,则可称其为控制字CON:
CON=LAEALBEBLCECLDED
为了避免信息在公共总线W中乱窜,必须规定在某一时钟节拍(即某一周期)只有一个寄存器的L门为高电位,和另一个寄存器的E门为高电位,其余各门则都为低电位。这样就可实现这两个寄存器之间的信息传送。下表列出了不同的控制字状态对应于不同的两个寄存器之间的数据传送。
控制字中各位都是由一条线来传送的,如上述有8个控制位状态,则必须由8条信号传输线来传送。控制字中哪些为高电位,哪些为低电位,将由控制器发出并传送到各个寄存器中。
为了简化作图,不论总线包含几条信号传输线,都用一条粗线表示,如图5中,有两条总线,一条称为数据总线,专门让数据信息在其中流通;另一条称为控制总线,发自控制器,它能将控制字各位分别送至寄存器上去。另外,控制器还发出一个时钟信号,使CLK脉冲送到各个寄存器上去。
双三态输出电路
作用
当某元件有双向输出时,可由两个三态门来控制,一个控制输出,一个控制输入。
结构
①双三态输出电路结构如图6所示。
②电路分析。
图6中A为输出端,C为输入端。当Eout=1,Ein=0时,此电路的传输方向为A→B,即B=A;而当Eout=0,Ein=1时,此电路的传输方向为B→C,即C=B。