主从R-S触发器的电路图及符号如图4-11所示。可见,它是由两只时钟R-S触发器构成的,左边的为主触发器,右边的为从触发器,主触发器的输出是从触发器的输入,且主触发器的输入是整个主从R-S触发器的输入,从触发器的输出是整个主从R-S触发器的输出。根据前面所学可以分析得出,当CP=1时,主触发器接收到输入信号,特性方程为:
Q1*=S+R' Q1
SR=0
图4-11 主从R-S触发器电路图及符号
此时,从触发器的时钟为CP' =0,所以从触发器的状态保持不变。当CP由1下跳到0时,主触发器的状态保持不变,于是可以将输入信号保存起来。此时由于从触发器的时钟CP'=1,所以从触发器的状态随主触发器的输出状态的变化而变化,Q*=Q2*=Q1*+Q1*Q2=Q1*,于是得出特征方程如下:
Q*=S+R' Q
SR=0 (4.6)
可见,主从R-S触发器与时钟R-S触发器的特征方程是一样的。
值得注意的是,主从触发器的状态更新是在时钟CP的下降沿。主从R-S触发器中的主触发器起存储信号的作用,从触发器起输出作用。所以当CP=1时,若S、R发生变化,主触发器也可能发生变化,因此为避免错误输出,希望主从R-S触发器在CP=1的持续期间,输入端S、R保持不变。
主从R-S触发器虽然解决了二次翻转问题,但是对于输入端仍有约束条件,于是进一步改进电路,设计了主从J-K触发器。主从J-K触发器是在主从R-S触发器的基础上,又在输入端加上反馈电路构成的,如图4-12所示。
图4-12 主从J-K触发器电路图
虚线框内是前面分析过的主从R-S触发器,只是在输入端加上两个与门,与门的一个输入为J或K,另一个连在Q'或Q上。
下面分析主从J-K触发器的工作原理。
当J=K=0时,有
S=JQ'=0·Q'=0
R=KQ=0·Q'=0
根据前面学过的主从R-S触发器真值表可知,触发器保持原态,Q*=Q。
当J=0,K=1时,若触发器原态Q=0,有
S=JQ'=0·1=0
R=KQ=1·0=0
根据主从R-S触发器真值表,触发器保持原态,Q*=0。同理,若原态Q=1,可以导出Q*=1。
当J=1,K=0时,若触发器原态Q=0,有
S=JQ'=1·1=1
R=KQ=0·0=0
根据主从R-S触发器真值表,经时钟作用后,触发器新态Q*=1。同理,若原态Q=1,可以导出Q*=1。
当J=K=1时,若触发器原态Q=0,有
S=JQ'=1·1=1
R=KQ=1·0=0
根据主从R-S触发器真值表,经时钟作用后,触发器新态Q*=1。若触发器原态Q=1,有
S=JQ'=1·0=0
R=KQ=1·1=1
根据主从R-S触发器真值表,经时钟作用后,触发器新态Q*=0。所以当触发器输入J=K=1时,其新态可以确定,而且总是与原态相反,或者说这种输入使触发器经过时钟作用后,状态翻转一次。
根据以上的分析,我们可以写出主从J-K触发器的真值如表4-8所示。
因为主从J-K触发器是由主从R-S触发器演化而来,所以也是下降沿触发。主从J-K触发器的逻辑符号如图4-13所示。图中CP输入端的小圆圈表示触发器是在时钟脉冲的下降沿更新状态的。
表4-8 主从J-K触发器真值表
图4-13 主从J-K触发器的符号
根据主从R-S触发器的特征方程:
Q*=S+R' Q
将S=JQ',R=KQ代入,得
Q*=JQ'+(KQ)'·Q
=JQ'+(K'+Q')·Q
=JQ'+K' Q (4.7)
约束条件为:
SR=JQ'·K' Q=0
可见,无论J、K取什么值都能够满足约束条件。
下面根据主从J-K触发器的真值表导出状态转换真值表和激励表,如表4-9所示。
表4-9 主从J-K触发器的状态转换真值表和激励表
(a)状态转换真值表 (b)激励表
Q |
J |
K |
Q* |
|
Q |
Q* |
J |
K |
0 |
0 |
0 |
0 |
|
0 |
0 |
0 |
d |
0 |
0 |
1 |
0 |
|
0 |
1 |
1 |
d |
0 |
1 |
0 |
1 |
|
1 |
0 |
d |
1 |
0 |
1 |
1 |
1 |
|
1 |
1 |
d |
0 |
1 |
0 |
0 |
1 |
|
|
|
|
|
1 |
0 |
1 |
0 |
|
|
|
|
|
1 |
1 |
0 |
1 |
|
|
|
|
|
1 |
1 |
1 |
0 |
|
|
|
|
|
触发器的异步置0或置1,就是当置0或置1脉冲到来时,无论J、K、CP为何值,触发器都要处于0态或1态,而且不受J、K、CP的变化的影响。其原理电路如图4-14。
图4-14 具有异步置0和置1端的J-K触发器
下面分析图4-14。
当RD'=0,SD'=1时,因为RD' 为0,所以门1﹑门6和门8的输出均为1,所以门2的输出为0,所以门3不受时钟脉冲CP影响,输出一定为1,这样门4的输入均为1,其输出Q=0。于是电路实现异步置0,即Q=0,Q'=1。
当RD'=1,SD'=0时,因为SD' 为0,所以门2﹑门4和门5的输出均为1,所以门6的输出为0,所以门7的输出不受时钟脉冲CP的影响,一定为1,这样门8的输入均为1,其输出Q'=0。于是电路实现异步置1,即Q=1,Q'=0。
具有异步置0和置1端的J-K触发器的真值表如表4-10所示。其中,第2行表示异步置1,第3行表示异步置0,第4行中的情况表示RD'和SD'不能同时为0,这是由于门4和门8构成了基本R-S触发器,所以这种输入是不允许的。以上3行是J-K触发器的异步工作方式。后面4行是J-K触发器的同步工作方式。
表4-10 J-K触发器的真值表
SD' |
RD' |
J |
K |
CP |
Q* |
SD' |
RD' |
J |
K |
CP |
Q* |
0 |
1 |
d |
d |
d |
1 |
1 |
1 |
0 |
1 |
↓ |
0 |
1 |
0 |
d |
d |
d |
0 |
1 |
1 |
1 |
0 |
↓ |
1 |
0 |
0 |
d |
d |
d |
d |
1 |
1 |
1 |
1 |
↓ |
Q' |
1 |
1 |
0 |
0 |
↓ |
Q |
|
|
|
|
|
|
J-K触发器是在时钟脉冲下降沿作用时实现状态更新的。其逻辑符号如图4-15所示。
为了更好地理解J-K触发器的逻辑功能,下面给出其工作波形图,如图4-16所示。
图4-15 J-K触发器逻辑符号 图4-16 J-K触发器工作波形图
值得注意的是,使用主从J-K触发器时,要求J和K 输入的信号在时钟脉冲作用期间保持恒定,以免产生一次翻转现象,造成永久性的逻辑错误。现举例说明一次翻转现象。如图4-17所示,设触发器的原态为Q=0,Q'=1,主触发器的状态Q1=0,Q1'=1如果在CP脉冲作用期间J=0,K=1,并且两者都保持恒定,则CP脉冲作用后状态应保持不变。但是如果J的输入出现了一个正脉冲干扰,则主触发器将产生状态转换,Q1变为1,Q1' 变为0。于是CP脉冲结束时,主触发器的状态变化会影响从触发器的状态,使Q变为1,Q' 变为0。为了避免这种情况发生,有些主从J-K触发器产品设置了多个J输入端和K输入端,使它们通过一个与门后输入。例如3个J输入端和K输入端的触发器,如图4-18所示。
图4-17 J-K触发器的一次翻转 图4-18 3个J输入端和K输入端的触发器