说到触发器,就要从latch锁存器讲起,再到flip-flop触发器,是不同的触发条件(电平和边沿)。主要的功能就是存储记忆功能。
目录
SR latch SR锁存器
SR锁存器当中,S是set,R是reset,由两个或非门组成,如下所示,我们可以推导它的真值表和工作原理。
当R和S都为0的时候,Q和Q非的值不会变化。
当S为1,R为0的时候,Q最终被置1,Q非最终被置0。上图只是一种情况(Q最初为1)的假设,也可以自己画一下Q最初为0时候的演化图,最终结果都是一样的。
当S为0,R为1的时候,Q最终会置为0,Q非置为1。可以自行画一下和上图比较。
由以上三种情况可以总结一下,在用或非门搭建latch的时候,是高电平有效,那么当S和R都为1的时候,会是怎么样呢?显然会出现问题,因为Q和Q非本身无法满足互补了。所以S=R=1是一种无效的输入情况,会导致竞争冒险的情况。
我们可以把真值表画出来,如下所示:
SR高电平有效锁存器真值表
S | R | Q |
0 | 0 | 保持 |
0 | 1 | 0 |
1 | 0 | 1 |
1 | 1 | 无效 |
如果把或非门换成与非门呢?就是低电平有效了,具体推理过程,可以把上述电路图中的或非门都换成与非门,尝试推理一下,可以得到如下所示真值表。
SR低电平有效锁存器真值表
S | R | Q |
0 | 0 | 无效 |
0 | 1 | 1 |
1 | 0 | 0 |
1 | 1 | 保持 |
SR latch 符号
D latch D锁存器
D latch 符号
当clk信号为1时,D latch工作,把D传递到Q,Q=D;当clk信号为0时,D latch不再工作,D信号也不会传递到Q。注意看clk处没有三角标志,这只是电平触发,并不是边沿触发。
D latch的内部是由SR latch构成的,如下图所示:
工作时的真值表对应如下:
clk | D | D非 | S | R | Q | Q非 |
0 | 0 | 1 | 0 | 0 | 保持不变 | 保持不变 |
0 | 1 | 0 | 0 | 0 | 保持不变 | 保持不变 |
1 | 0 | 1 | 0 | 1 | 0 | 1 |
1 | 1 | 0 | 1 | 0 | 1 | 0 |
前两行因为clk为0,导致R和S也为0,所以并不会发生改变。
后两行当clk为1时,D latch工作。
JK latch JK锁存器
JK锁存器和SR锁存器的区别就在于,当两个输入都为1的时候,SR会出现无效的情况,但是JK锁存器会翻转,在下文的真值表中已经列出。
内部电路图如上,工作真值表如下:
J | K | Q_next | 功能 |
0 | 0 | Q | 保持状态 |
0 | 1 | 0 | Reset |
1 | 0 | 1 | Set |
1 | 1 | Q非 | 翻转 |