数字电路根据其逻辑功能的不同特点,可分为组合逻辑电路和时序逻辑电路两大类。组合逻辑电路的输出输出只取决于输入,与电路的状态无关。时序逻辑电路的输出不但与当时所加在电路上的输入信号有关,而且还与电路的状态也有关系。既然时序逻辑电路的输出与状态有关,那么在时序逻辑电路中必然存在用于存储电路状态的器件。
锁存器和触发器是时序逻辑电路中基本的存储器件。锁存器与触发器有什么不同的特点?两者产生的背景如何?锁存器和触发器有哪些功能类型?下面简要进行讨论。
1.锁存器的产生与动作特点
将两个反相器交叉耦合就可以构成数字电路中最基本的存储电路,称为双稳电路,如图1所示。所谓交互耦合,是指第一个门电路的输出作为第二个门电路的输入(称为正向连接),第二个门电路的输出又作为第一个门电路的输入(称为反馈连接)。若将反相器G1的输出命名为Q,则反相器G2的输出为Q’,并且定义Q = 0、Q’ = 1时表示存储数据为0,定义Q = 1、Q’ = 0时表示存储数据为1。
图1 双稳电路
双稳电路的存储数据由链路构成的瞬间门电路的状态决定的,并且能够永久地保持下去。由于双稳电路没有输入端,所以在链路打开之前无法改变其存储数据。
将双稳电路中的两个反相器扩展为二输入与非门/或非门,就可以构成两种基本的SR锁存器(set-reset latch),如图2所示。其中与非门/或非门的一个输入端用于交叉耦合链接,另一个则用于外接输入信号。
图2 基本SR锁存器
两个与非门交叉耦合构成的基本锁存器输入端低电平有效,其中SD’用于将锁存器置1(set),RD’用于将锁存器置0(reset)。两个或非门交叉耦合构成的基本锁存器输入端高电平有效,其中SD用于将锁存器置1,RD用于将锁存器置0。基本SR锁存器通过置1和置0两个输入信号的共同作用就可以设置锁存器的存储数据:当置1输入端有效而置0输入端无效时,能够将锁存器的存储数据设置为1;当置1输入端无效而置0输入端有效时,能够将锁存器的存储数据设置为0;当置1和置0两个输入端均无效时锁存器的存储数据保持不变;当置1和置0两个输入端均有效时锁存器的状态错误(Q和Q’ 同时为1或者同时为0),所以在正常应用时,不允许SR锁存器的两个输入端同时有效!即要求SD’+RD’=1或者SDRD=0,称为SR锁存器的约束条件。
基本SR锁存器的输入信号不受其它信号的控制,是直接作用的,输入信号的变化能够实时决定锁存器的状态。当数字电路中有多个存储单元时,就需要为存储单元引入控制信号,以协调这些存储单元的动作。
在基本SR锁存器基础上,通过与非门G1和G2组成的门控电路引入了时钟CLK的锁存器称为门控SR锁存器(gated set-reset latch),如图3所示。
图3 门控SR锁存器
门控SR锁存器和基本SR锁存器一样,具有置0、置1和保持三种功能。由于门控SR锁存器在时钟CLK有效电平期间,两个输入信号同时有效时仍然会导致锁存器的状态错误。因此,门控SR锁存器仍然需要遵守SR=0的约束条件。
为了消除约束,方便应用,需要对门控SR锁存器进行改进。一种改进思路是使R和S互为相反,即取S=D、R=D’,如图4所示,这样门控SR锁存器的输入信号S和R就能够始终满足SR=0的约束条件。但是,这种改进方法虽然消除了约束,却改变了锁存器的功能:当时钟CLK为高电平时,若D=0则Q=0;若D=1则Q=1。因此,这种锁存器只具有置0和置1两种功能,不再是SR锁存器,而称为门控D锁存器。
图4 门控D锁存器
无论是门控SR锁存器还是门控D锁存器,在时钟的有效电平期间始终处于工作状态,输入信号的变化随时可能引起锁存器输出状态的变化,因此门控锁存器受到干扰而产生误动作的概率大。另外,由于门控D锁存器的输出在时钟为高电平期间始终跟随输入信号变化,所以无法构成移位寄存器和计数器这两类时序逻辑器件,因此,锁存器在应用上有很大的局限性。
2.触发器的产生与动作特点
为了提高存储电路的可靠性,我们希望存储电路在一个时钟周期内,只在时钟的边沿进行一次状态更新,以避免门控锁存器那样在有效电平期间因干扰输出可能多次改变状态的情况。为了区分存储电路不同的动作特点,将只在时钟脉冲的边沿进行状态更新的存储器件称为触发器(Flip-Flop,简称FF)。
SR触发器的构成方法之一是应用主从式结构,将两级门控SR锁存器级联,第一级称为主锁存器,第二级称为从锁存器,如图5所示。
图5 主从式SR触发器
主从式SR触发器的工作过程是:(1)当时钟脉冲CLK为低电平时,主锁存器保持,从锁存器工作,Q=Qm;(2)当时钟脉冲的上升沿到来时,主锁存器开始接收输入S和R信号以确定主锁存器的状态,而从锁存器继续保持CLK为低电平时的状态不变;(3)当时钟脉冲为高电平时,主锁存器工作,从触发器的状态依然保持不变;(4)当时钟脉冲的下降沿到来时,主锁存器将由工作转为保持,锁定了时钟脉冲CLK下降到来瞬间主锁存器的状态。同时,从锁存器开始工作,将主锁存器的状态传递给从锁存器。
综上分析,主从式SR触发器的状态是在时钟的下降沿到来瞬间更新,其状态是由时钟CLK为高电平期间输入信号S和R决定的。
由于主从式SR触发器中的主锁存器在时钟脉冲为高电平期间始终处于工作状态,所以触发器的抗干扰能力还没有得到有效的改善。另外,主从式SR触发器对输入信号S和R仍有约束,即要求满足SR=0的约束条件。
为了消除约束,另一种改进思路是利用触发器的输出Q和Q’互为相反的特点来满足约束条件。具体的做法是,将SR触发器的输出Q反馈到R端与K信号相与,将Q’反馈到S端与J信号相与,如图6所示。这种改进方法同样改变了触发器的逻辑功能,不再是原来的SR触发器,而称为JK触发器。经过推理可知,JK触发器除了具有置0(JK=01时)、置1(JK=10时)和保持(JK=00时)三种功能外,还增加了一种新功能:翻转(toggle)功能(JK=11时),即当时钟脉冲的下降时到来时,触发器的状态与原来的相反。
图6 主从式JK触发器
由于主从式JK触发器将输出Q反馈到K端,所以当Q=0时将输入信号K封锁(相当于K=0),在J信号的作用下只能将触发器置1或者保持,因此在一个时钟周期内,触发器一旦被置1后就不可能再返回到原来的0状态。同理,由于将Q’反馈到J端,所以当Q=1时将J信号封锁(相当于J=0),在K信号的作用下只能将触发器置0或者保持,因此在一个时钟周期内,触发器被置0后也不可能再返回到原来的1状态。根据上述分析可知,主从式JK触发器在每个脉冲周期内只能翻转一次,当触发器受到干扰发生误翻后就不可能再返回原来的状态了。主从式触发器目前已经被淘汰,被性能更优越的边沿触发器所取代。
边沿触发器只在时钟脉冲的边沿(上升沿或者下降沿)工作,其余时间均不工作。由于工作时间极短,所以受到干扰的概率很小,因而具有很强的抗干扰能力。边沿D触发器的电路框图如图7所示,由两级门控D锁存器级联构成,在时钟脉冲的上升沿工作。
图7 边沿D触发器
边沿D触发器的工作过程是:(1)时钟脉冲为低电平时,第一级锁存器工作,其输出Q1随输入信号D变化,第二级锁存器保持原来的状态不变;(2)当时钟脉冲的上升沿到来时,第一级锁存器由工作转为保持,Q1锁定了上升沿到来瞬间输入信号D的值。与此同时,第二级锁存器开始工作,其输出Q跟随Q1变化,而Q1为时钟CLK上升沿到来瞬间输入信号D的值;(3)时钟脉冲为高电平时,第一级锁存器保持、第二级锁存器跟随,此时Q=Q1=D保持不变;(4)时钟脉冲下降沿到来时,第一级锁存器工作,开始接收下一个周期输入信号D的数据。与此同时,第二级锁存器由工作转为保持,保持上一个时钟脉冲上升沿到来时输入D的值不变。
综上分析,边沿D触发器的状态仅取决于时钟脉冲上升沿到达时刻输入信号D的值,其余时间均保持不变,即上升沿之前和之后输入信号D的变化对触发器的状态都没有影响。边沿触发器这一特点有效地提高了触发器工作的可靠性。
3.锁存器和触发器的功能类型
基本SR锁存器的输入信号不受其他信号的控制,其状态直接由置0 和置1信号共同决定。门控锁存器是在时钟的有效电平期间工作的存储器件,有门控SR锁存器和门控D锁存器两种类型。其中SR锁存器具有置0、置1和保持三种功能,而D锁存器只具有置0和置1两种功能。
触发器是在时钟脉冲的边沿进行状态更新的存储器件,有主从式和边沿等多种电路结构,有SR触发器、D触发器和JK触发器三种类型。其中SR触发器具有置0、置1和保持三种功能,D触发器具有置0和置1两种功能,而JK触发器具有置0、置1、保持和翻转四种功能。
若将JK触发器的两个输入端J和K相连,并且命名为T,那么当T=0时触发器保持,T=1触发器翻转。这种只具有保持和翻转功能的触发器称为T触发器。若将JK触发器的输入信号J和K都接高电平,则能够构成只具有翻转功能的T’触发器。因此,T触发器和T’触发器可以看作是JK触发器的应用。另外,将D触发器的输出Q’与输入端D相连,也能够构成T’触发器。
D触发器虽然功能简单,但由于只有一个输入端,所以应用很方便。JK触发器功能最强大,因而合理应用JK触发器可以简化电路设计。
D触发器和JK触发器有商品化的器件出售,其中74HC74为上升沿工作的双D触发器,而74HC112为下降沿工作的双JK触发器。
没有回复内容