知识点:时序逻辑电路
通过前面的学习,我们知道了组合逻辑电路是没有记忆功能的,也就是说在任何时刻产生的输出信号都仅仅取决于该时刻电路的输入信号。而与它以前的输入信号是无关的。
恰恰时序电路与组合电路相反,时序电路是有记忆功能的,它在任何时刻的输出,不仅与该时刻的输入信号有关,而且还与该时刻以前的输入信号有关。这样说,听起来可能有点绕,那么下面我们举一个实际的例子,来说明一下。有一台自动售货机,它有一个投币口,并且它规定只允许投入一元面值的硬币。如果一罐饮料的价格为三元,那么当顾客连续投入三个一元的硬币后,机器将输出一罐饮料。机器之所以能在第三枚硬币投入后输出一罐饮料,是因为当我们每次投入一枚硬币时,机器都能将这些投币信息记录下来,那么这样的记忆功能,就是由机器内部的时序电路来实现的。这是一张时序电路的示意图。
从图中我们可以看出,一个完整的时序电路,是由这两个部分组成的,一部分是我们之前讲的组合逻辑电路,另外一部分就是用来保存输入信息的存储电路。关于组合逻辑电路相信大家都已经很熟了,我们这里就不在多提了,接下来讲一讲存储电路。常用的存储电路有两类,一类是锁存器,而另一类是触发器。它们两者所采用的电路结构形式不同,信号的触发方式也不同,其中,
采用电平触发方式的叫做锁存器,而采用脉冲边沿触发方式的叫做触发器。
1. 锁存器
锁存器(Latch)是数字电路中的一种具有记忆功能的逻辑元件。锁存器对脉冲电平敏感的存储单元电路,它只在输入脉冲的高电平(或低电平)期间对输入信号敏感并改变状态。在数字电路中可以记录二进制数字信号“0”和“1”。
1.1 RS锁存器
RS锁存器是构成所有复杂的锁存器和复杂的触发器的基础。
从RS锁存器的电路图中我们可以看出,它是由两个或非门组成的,之前我们在讲组合逻辑的时候,也接触过或非门,只不过那个时候,没有出现过现在这种输出信号交叉反馈的情况,那么这种交叉反馈的结构其实也就是时序电路最主要的特征了。它有两个输入端,S
D和R
D,这里的S和R分别代表的是英语SET和RESET,也就是置位和复位的意思,下标D代表的是DATA,就是数据。如果S
D和R
D端为1时表示有激励信号,为0时表示无激励信号,电路中还有两个输出端Q和!Q,在正常工作时,Q和!Q的逻辑值是互补的,若Q=0,则!Q=1,若Q=1,则!Q=0。锁存器的状态,就是用输出端Q的值来命名的,若Q=0,则称锁存器为0状态,若Q=1,则称锁存器为1状态。
通过前面的介绍我们了解了RS锁存器的输入管脚和输出管脚的功能及意义,那么接下来我们就来看一看RS 锁存器是如何工作的。首先我们来看如何给RS锁存器置位,这里所谓的置位,就是要求S
D,这个置位端必须要有激励信号,而R
D这个复位端不能有激励信号,也就是要让S
D=1,R
D=0,那么我们看,S
D是连接到G1这个或非门上的,当S
D=1时,根据或非门的逻辑关系,只要输入有1,输出就为0,只有在输入全部为0时,输出才为1。那么根据这个关系,G1门的输出就是0,!Q同样也就是0。那么,下面我们再将这里的0反馈到G2门的输入端,G2门一共只有两个输入端,一个是G1输出端反馈回来的,另外一个就是R
D,那么此时这两个输入端都是О了,所以根据或非门的逻辑关系,我们可以知道,G2的输出端此时为1,那么Q也就为1。这里的Q代表的就是这个电路的此时的状态,Q等于1,也就代表这个电路此时的状态为1。我让S
D这个输入端为1,其实也就是希望让这个电路的状态为1。这就是RS锁存器的置位。
说完了置位,我们再来看复位,所谓的给RS锁存器复位,首先就要给R
D这个复位端一个激励信号,而S
D这个置位端不能有激励信号,也就是要让R
D=1,S
D=0,那么我们看,R
D是连接到G2这个或非门上的,当R
D=1时,根据或非门的逻辑关系,只要输入有1,输出就为0,那么我们就可以知道,G2门的这个输出呢,就肯定是0了,那么Q也肯定是0了,我们再将这个0,反馈到G1门的输入端后,由于G1门此时的两个输入端都是0,所以,根据或非门的逻辑关系,我们可以知道,此时G1的输出端,一定是1,!Q也一定是1了,电路中的Q和!Q,也就正好是相反的状态,此时电路的状态也就保持在0的状态了。那么我们使R
D这个复位端为1,其实就是让电路的状态保持在0的状态,这就是RS锁存器的复位。
讲到这里大家应该已经了解了RS锁存器的置位和复位了,那么RS锁存器,之所以被称为锁存器,其实就是它能够将电路的状态锁住,通俗的说,也就是当下一刻,锁存器的置位端或者复位端的激励信号突然消失了,锁存器仍然能够保持之前的状态工作。这样说,大家可能还是不太理解,下面我们还是根据实际电路来讲解一下。假设我刚刚将这个RS锁存器复位了,现在这个锁存器的Q=0,!Q=1,突然我们撤销了R
D这个复位端的激励信号,那么此时的输入信号R
D和S
D就都为0了。讲到这里,大家可能会有疑问了,如果两个输入端都是0,那么不好判断G1和G2两个或非门的输出值了呀,这里呢,我要和大家解释一下了,时序电路之所以被称为时序电路,就是因为这个电路中发生时间不同的信号,它们之间是可以相互影响的,就比如这个电路,虽然我们现在两个输入端都是0,但是将要分别与这两个0相或非的信号,也就是现在这一刻G1门或者G2所输出的信号,一定是之前的输入信号通过或非门产生的,所以这里我们应该将之前G1的输出值1以及G2的输出值0反馈回G1和G2的输入端,根据或非门的逻辑关系,我们很容易看出,此时的Q仍然是等于0的,也仍然是等于1的,RS锁存器的输入端激励信号消失后,电路仍然维持在原来的状态不变。
看到这里不知道你有没有被绕进去,如果你现在头脑已经混乱了,那么我们这里建议你拿出一支笔和一张纸,把上面的RS锁存器电路图画下来,然后跟着我们的分析过程,走一步,就在纸上画一步,一步步来理解直至你能够真正理解这个电路为止,因为RS锁存器是最最基础的一种锁存器,这个电路是我们后面讲的所有知识的基础,如果这里没有搞明白、弄清楚,那么接下来你将越学越乱。
如果你看完上面头脑思路都很清晰,那么接下来我们就要开始讲解RS锁存器的另外一种情况,也是RS锁存器里禁止出现的一种情况,就是S
D和R
D同时为1,也就是S
D和R
D同时有激励信号,这种情况在RS锁存器里是不允许出现的,大家想一想,S
D,是置位,R
D是复位,你同时又想置位又想复位,那么锁存器肯定要错乱了。根据电路,我们也可以看出,如果S
D和R
D同时为1,那么Q和!Q就会同时等于0,但是假如下一时刻,S
D和R
D的激励信号全部消失了,那么我们希望的是电路能够按照原状态继续运行,可是事实上却会进入一种错乱的状态,比如此时S
D和R
D突然全为0了,但是它们两个变0的过程肯定是有先有后的,不可能完全同时变0,
这里我们先假设SD先变0了,那么G门的两个输入端此时就应该都为0了,根据或非门的逻辑规律,此时G1门的输出就应该是1了,就为1了,我们再将这个1反馈到G2门的输入端的话,那么此时G2门的输出将是0,电路将在保持在0状态。这是第一种情况,
还有一种情况就是RD先变0了,那么G2门的输出将是1,Q也将是1,电路将会保持在1状态运行。
由此我们可以看出,我们将很难保证此时电路的状态,它有可能是1也有可能是0。所以正常情况下,我们要禁止S
D和R
D同时等于1的情况出现。
讲到这里,大家应该已经明白如何用或非门组成一个RS锁存器了,然而在构造RS锁存器时,不仅能用或非门组成,还能用与非门组成。那么下面我们再来尝试用与非门组成一个RS锁存器,现在我们给出与非门构成的RS锁存器的电路图,如图所示。
大家可以看出,这里与非门构成的RS锁存器和或非门构成的RS锁存器还是稍微有点不同的,在与非门构成的RS 锁存器中,两个输入信号写成了!SD和!RD形式,变量带非的这种形式是指输入低电平有效,也就是说,!SD或者!RD为0时,表示有激励信号,为1时则表示无激励信号。两个输出信号的位置也发生了改变,对这个逻辑图的分析,基本上和我们之前讲的过程是一样的,这里我们就不在重复讲解了。下面我们就来讲解一下时序电路中的四种描述方法,它们分别是特性表、特性方程、状态图和波形图。接下来我们将对它们逐一进行介绍。
特性表
首先我们介绍的是特性表,什么是特性表,特性表就是反应输入变量和原状态以及新状态之间关系的一种真值表,也被称为状态转换真值表,这里的原状态,我们用Qn来表示,新状态用Qn+1来表示。下面我们就趁热打铁以RS锁存器的特性表为例进行讲解,我们这里给出RS锁存器的特性表,如下表所示。
输入
|
原状态
|
新状态
|
SD |
RD |
Qn
|
Qn+1
|
0
|
0
|
0
|
0
|
0
|
0
|
1
|
1 |
0
|
1
|
0
|
0
|
0
|
1
|
1 |
0
|
1
|
0
|
0
|
1
|
1
|
0
|
1
|
1 |
1
|
1
|
1 |
不定
|
1
|
1 |
0
|
不定
|
根据特性表我们就能很清楚的看出RS锁存器的逻辑功能,比如,当SD和RD同时等于0时,也就是说,两个输入端均无激励信号时,Qn和Qn+1是相等的,也就是锁存器的原状态Qn和新状态Qn+1保持不变。以此类推,大家应该可以很轻松的理解,如何利用特性表来描述锁存器的逻辑功能了。
特性方程
了解完了特性表,接下来我们再来介绍特性方程,什么是特性方程呢,特性方程就是锁存器新状态的逻辑函数表达式,同样我们也是举例说明,我们通过RS锁存器的特性表写出它的特性方程,这里也是利用我们之前讲过的方式,将输出等于1的项提出来后,组成一个与或式,那么这里我们将O.1等于1的项提取出来以后得到的函数式:
利用约束条件将上式化简得出:
我们把化简后的公式称为RS锁存器的特性方程。看到这里,有的的朋友会有这么一个疑问,在组合电路中我们能通过函数表达式直接画出它的电路图,那在时序电路中,也可以根据特性方程直接画出电路图吗,这里很遗憾的告诉大家,不能,那么至于为什么不能,我们会在后面给大家进行讲解。
状态图
下面我们先接着来看RS锁存器的状态图,如图所示
从RS锁存器的状态图中我们可以看出,该状态图是由两个圆圈和四个箭头组成,两个圆圈中的0和1表示的是RS锁存器的两个状态,而四个箭头表示的是四个转换过程,箭头的末端是原状态Qn,箭头的前端是新状态Qn+1,在箭头旁边的SD和RD是状态改变的条件,X代表任意状态。由此,我们就可以根据RS锁存器的状态图来看出RS锁存器的状态是如何变化的。
波形图
讲完了状态图,我们再来看波形图,对于波形图我相信大家并不陌生,用过示波器或者逻辑分析仪的朋友看上一眼波形图应该就能够明白了,大家看这个波形图,如图所示。
从波形图中我们可以看出,SD和RD这两条波形不是唯一的,大家可以随意画出这两条波形,但是!Q和Q就不能随意画了,它们两个输出都要遵循RS锁存器的逻辑功能,比如,第一个虚线内,当SD=1,RD=0时,根据我们前面的分析可以得出,不管前面的Q和!Q的波形是什么状态,在这个虚线内的Q=1,!Q=0。以下也都是同理的,我们可以根据逻辑关系画出Q和!Q两条波形,通过整个波形图我们能够更形象化地理解RS锁存器的工作特性。在实际应用中,我们也会经常分析波形图,所以大家要能够掌握并且看懂波形图。
1.2 门控RS锁存器
在实际工作中,我们更多的情况下是希望能有一个控制信号去控制锁存器状态的转换,所以我们在RS锁存器的基础上增加了一个控制端,只有控制端的信号变为有效电平后,RS锁存器才能按照输入的置1或置О信号改变相应的状态,这里我们将这种改变后RS锁存器,称为门控RS锁存器。并且我们将这种触发方式称为电平触发。下面我给出门控RS锁存器的电路结构图,
从门控RS锁存器的电路图中我们可以看出,该电路主要是由两个部分组成,第一个部分是由G1、G2,两个或非门组成了RS锁存器,第二个部分是由G3、G4两个与门组成的输入控制门电路。C为控制信号,它被加到了G3、G4两个与门的输入端上,用来控制激励信号的输入,因此,R
D=RC,S
D =SC。由此我们便可以根据电路图来写出它的特性表,下面我们给出门控RS锁存器的特性表,如下表所示。
输入
|
原状态
|
新状态
|
C
|
S |
R |
Qn
|
Qn+1
|
0
|
X
|
X
|
0
|
0
|
0
|
X |
X |
1
|
1 |
1
|
0
|
0
|
0
|
0
|
1
|
0
|
0
|
1 |
1
|
1
|
0
|
1
|
0
|
0
|
1
|
0
|
1 |
1
|
0
|
1
|
1
|
0
|
0
|
1
|
1
|
1
|
0
|
1
|
1 |
1
|
1
|
1
|
0
|
不定
|
1
|
1
|
1 |
1
|
不定
|
通过特性表我们可以看出,当C=0时,根据与门的逻辑关系,无论R和S输入1,还是输入0,R
D和S
D都将等于0,那么锁存器也将维持原状态不改变,如果C=1的话,R将会等于R
D,S也将会等于S
D,此时的电路将等效为RS锁存器。由此我们可以看出,门控RS锁存器状态的改变是由输入端C来控制的。下面我们给出门控RS锁存器的波形图,如图4.7所示。
从门控RS锁存器的波形图中我们可以看出,当C=0时,不管R
D和S
D怎么变化,Q仍然是纹丝不动,当C=1时,Q则根据R和S的状态来改变状态。这就是门控RS锁存器的逻辑规律。
1.3 D锁存器
讲到这,大家应该已经对门控这个概念有所了解了,接下来,我们再来讲一种锁存器,是在门控RS锁存器的基础上演变而来的,叫做D锁存器。所谓的D锁存器,就是能够将输入端的单路数据D存入到锁存器中的电路,下面我们给出D锁存器的电路图,如图4.8所示。
从D锁存器的电路图中我们可以看出,该电路主要是由两个部分组成,第一个部分是由G1、G2两个与非门组成的RS锁存器,第二个部分是由G3、G4两个与非门组成的控制门电路。C为控制信号,它被加到了G3、G4两个与非门的输入端上,用来控制激励信号的输入。
下面我们来分析一下D锁存器的工作原理,当控制端C=0时,根据与非门的逻辑规律,无论此时D等于什么,!R
D和!S
D都同时等于1,根据由与非门组成的RS锁存器的逻辑规律,!R
D和!S
D都同时等于1的话,锁存器的输出端Q将维持原状态不变。那么,当控制端C=1时,如果此时D=0,!S
D就等于1,!R
D就等于0,根据RS锁存器的逻辑规律,电路的结果就为0状态;如果D=1,那么!R
D就等于1,!S
D也就等于0,锁存器的结果就为1状态,也就是说,此时锁存器的状态是由激励输入端D来确定的,并且D等于什么,锁存器的状态就是什么,这就是我们前面所说的,将单路数据D存入到锁存器之中。
根据上面的讲解,我们已经知道了D锁存器的逻辑功能了。下面我们就根据逻辑功能,来写出它的特性表,如下表所示。
C |
D |
Qn
|
Qn+1
|
0
|
X
|
0
|
0
|
0
|
X |
1
|
1 |
1
|
0
|
0
|
0
|
1 |
0
|
1 |
0
|
1
|
1
|
0
|
1
|
1 |
1 |
1
|
1 |
从D锁存器的特性表中我们可以看出,如果D=0,那么,就等于0,如果D=1,那么Q就等于1。我们根据这里的特性表便可以写出它的特性方程,还是按照老方法,将输出等于1的项提出来后,组成一个与或式,那么这里我们就不一步步的化简了,直接给出化简后的特性方程:Qn+1 = D
从状态图中我们可以看出,当D在0状态时,也就是输入D=0时,输出Q将保持0状态,当输入D=1时,那么输出Qn+1将从0变为1。
从D锁存器的波形图图中我们可以看出,D是锁存器的输入信号,C是锁存器的控制信号,Q是锁存器的输出信号,当控制信号C为高电平时,输出信号Q将跟随输入信号D的变化而变化,大家看虚线内,Q的波形等于D的波形。当控制信号C从高电平变为低电平时,输入信号D的状态将会决定锁存器将要锁存的状态。大家可以看,C由高变低的那两条虚线内,所对应的输入信号D为低电平,那么输出信号Q也将会锁存低电平。最后面的那两条虚线也同理,D为高电平,Q锁存高电平,至此关于D锁存器波形图就已经讲完啦。
1.4 空翻现象
下面我们来看下锁存器中的存在的空翻问题。什么是空翻。当控制信号有效时,输入信号若发生多次变化,输出状态也跟着发生多次变化,这一现象就被称为锁存器的空翻。下面我们给出带有空翻现象的波形图,这里我们就以D锁存器为例,如下图所示。
从波形图中我们可以看出,蓝色虚线内,由于控制信号C为高电平,D=1,那么我们可以得出Q=1。接下来看蓝色和黄色虚线内,由于D=0,那么Q=0,同理,最后面的两条黄色虚线内,D为1,Q就为1。我们就把后面这四条虚线内的翻转称为空翻。空翻是一种有害的现象,它使得时序电路不能按时钟节拍工作,造成系统的误动作。我们前面学习的锁存器都存在空翻现象,而引|起空翻现象是由锁存器的结构导致的,为了能够解决锁存器的空翻现象,人们便在
锁存器的基础_上进行了修改,因此人们便设计出了触发器,触发器按照逻辑功能的不同可分为RS触发器、D触发器、JK触发器、T触发器。由于在FPGA设计中我们更多的是利用D触发,器来设计电路,基本.上每一个时序电路模块都能看到D触发器的身影,所以下面我们将重点放在D触发器上,其他的触发器我们这里就不在进行讲解了,想要进一步学习的读者可以自行查找资料,这里需要注意的是,我们只要学会D触发器,其他的触发器也是分分钟就能够掌握,所以大家在学习这一部分时一定要格外的用心才行。
相关推荐链接:
1、家居装修照明电路设计图纸
2、二次围堰、导流专项方案 (逻辑清晰)
全部回复(0 )
只看楼主 我来说两句抢沙发