数字电路 - 触发器
在上一章中,我们讨论了锁存器。这些是人字拖的基本组成部分。我们可以用两种方法来实现触发器。
在第一种方法中,级联两个锁存器,使得第一个锁存器针对每个正时钟脉冲启用,第二个锁存器针对每个负时钟脉冲启用。这样这两个锁存器的组合就成为一个触发器。
在第二种方法中,我们可以直接实现触发器,它是边沿敏感的。在本章中,我们将使用第二种方法讨论以下触发器。
- SR 触发器
- D 触发器
- JK触发器
- T触发器
SR 触发器
SR 触发器仅在正时钟转换或负时钟转换时工作。而 SR 锁存器则通过使能信号进行操作。SR触发器的电路图如下图所示。
该电路有两个输入 S 和 R 以及两个输出 Q(t) 和 Q(t)'。SR触发器的操作与SR Latch类似。但是,该触发器仅在应用时钟信号的正跳变而不是有效使能时影响输出。
下表为SR触发器的状态表。
S | 右 | Q(t+1) |
---|---|---|
0 | 0 | Q(t) |
0 | 1 | 0 |
1 | 0 | 1 |
1 | 1 | - |
这里,Q(t)和Q(t+1)分别是当前状态和下一个状态。因此,当应用时钟信号的正跳变时,SR 触发器可根据输入条件用于这三种功能之一,例如保持、复位和设置。下表为SR触发器的特性表。
当前输入 | 现状 | 下一个状态 | |
---|---|---|---|
S | 右 | Q(t) | Q(t+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 | 0 | X |
1 | 1 | 1 | X |
通过使用三变量K-Map,我们可以得到下一个状态的简化表达式Q(t + 1)。下一个状态 Q(t + 1) 的三变量 K-Map如下图所示。
图中已经显示了相邻组的最大可能分组。因此,下一状态 Q(t + 1) 的简化表达式为
$Q\left ( t+1 \right )=S+{R}'Q\left ( t \right )$
D 触发器
D 触发器仅在正时钟转换或负时钟转换时工作。而 D 锁存器则通过使能信号进行操作。这意味着,除了时钟信号的有效跳变之外,D 触发器的输出对输入 D 的变化不敏感。D触发器的电路图如下图所示。
该电路具有单输入 D 和两个输出 Q(t) 和 Q(t)'。D触发器的操作与D Latch类似。但是,该触发器仅在应用时钟信号的正跳变而不是有效使能时影响输出。
下表为D触发器的状态表。
D | Qt + 1t + 1 |
---|---|
0 | 0 |
1 | 1 |
因此,D 触发器始终保存时钟信号较早正跳变的数据输入 D 上可用的信息。根据上面的状态表,我们可以直接将下一个状态方程写为
Q(t + 1) = D
对于时钟信号的每个正跳变,D 触发器的下一个状态始终等于数据输入 D。因此,D触发器可以用在寄存器、移位寄存器和一些计数器中。
JK触发器
JK触发器是SR触发器的改进版本。它仅在正时钟转换或负时钟转换时运行。JK触发器的电路图如下图所示。
该电路有两个输入 J 和 K 和两个输出 Q(t) 和 Q(t)'。JK触发器的操作与SR触发器类似。这里,我们将 SR 触发器的输入视为S = JQ(t)'和R = KQ(t),以便将修改后的 SR 触发器用于 4 种输入组合。
下表为JK触发器的状态表。
J | K | Q(t+1) |
---|---|---|
0 | 0 | Q(t) |
0 | 1 | 0 |
1 | 0 | 1 |
1 | 1 | Q(t)' |
这里,Q(t)和Q(t+1)分别是当前状态和下一个状态。因此,当应用时钟信号的正跳变时,JK触发器可用于基于输入条件的当前状态的保持、复位、设置和补码这四种功能之一。下表为JK触发器的特性表。
当前输入 | 现状 | 下一个状态 | |
---|---|---|---|
J | K | Q(t) | Q(t+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 | 0 | 1 |
1 | 1 | 1 | 0 |
通过使用三变量K-Map,我们可以得到下一个状态的简化表达式Q(t + 1)。下一个状态 Q(t + 1) 的三变量 K-Map如下图所示。
图中已经显示了相邻组的最大可能分组。因此,下一状态 Q(t+1) 的简化表达式为
$$Q\left ( t+1 \right )=J{Q\left ( t \right )}'+{K}'Q\left ( t \right )$$
T触发器
T触发器是JK触发器的简化版本。它是通过将相同的输入“T”连接到 JK 触发器的两个输入来获得的。它仅在正时钟转换或负时钟转换时运行。T触发器的电路图如下图所示。
该电路具有单输入 T 和两个输出 Q(t) 和 Q(t)'。T触发器的操作与JK触发器相同。这里,我们将 JK 触发器的输入视为J = T和K = T,以便将修改后的 JK 触发器用于 2 种输入组合。因此,我们排除了 J 和 K 的另外两种组合,这两个值在 T 触发器中是互补的。
下表为T触发器的状态表。
D | Q(t+1) |
---|---|
0 | Q(t) |
1 | Q(t)' |
这里,Q(t)和Q(t+1)分别是当前状态和下一个状态。因此,当应用时钟信号的正跳变时,T 触发器可用于这两种功能之一,例如根据输入条件保持和补充当前状态。下表为T触发器的特性表。
输入 | 现状 | 下一个状态 |
---|---|---|
时间 | Q(t) | Q(t+1) |
0 | 0 | 0 |
0 | 1 | 1 |
1 | 0 | 1 |
1 | 1 | 0 |
由上面的特征表,我们可以直接将下一个状态方程写为
$$Q\left ( t+1 \right )={T}'Q\left ( t \right )+TQ{\left ( t \right )}'$$
$$\Rightarrow Q\left ( t+1 \right )=T\oplus Q\left ( t \right )$$
当输入 T 保持逻辑高 (1) 时,T 触发器的输出始终会在时钟信号的每次正跳变时进行切换。因此,T触发器可以用在计数器中。
在本章中,我们通过提供或非门之间的交叉耦合来实现各种触发器。同样,您可以使用 NAND 门来实现这些触发器。