数字电路 - 触发器
在上一章中,我们讨论了锁存器。这些是触发器的基本组成部分。我们可以通过两种方法实现触发器。
在第一种方法中,级联两个锁存器,使得第一个锁存器在每个正时钟脉冲时启用,第二个锁存器在每个负时钟脉冲时启用。这样,这两个锁存器的组合就变成了一个触发器。
在第二种方法中,我们可以直接实现边沿敏感的触发器。在本章中,我们将使用第二种方法讨论以下触发器。
- SR 触发器
- D 触发器
- JK 触发器
- T 触发器
SR 触发器
SR 触发器仅在正时钟转换或负时钟转换时运行。而 SR 锁存器则使用使能信号运行。SR 触发器的电路图如下图所示。
该电路有两个输入 S 和 R 以及两个输出 Q(t) 和 Q(t)'。SR 触发器的操作类似于 SR 锁存器。但是,此触发器仅在时钟信号的正向转换(而非有效启用)时才会影响输出。
下表显示了 SR 触发器的状态表。
S | R | Q(t + 1) |
---|---|---|
0 | 0 | Q(t) |
0 | 1 | 0 |
1 | 0 | 1 |
1 | 1 | - |
这里,Q(t) 和 Q(t + 1) 分别是当前状态和下一个状态。因此,当施加时钟信号的正向转换时,SR 触发器可以根据输入条件用于这三种功能之一,例如保持、复位和设置。下表显示了 SR 触发器的特性表。
当前输入 | 当前状态 | 下一个状态 | |
---|---|---|---|
S | R | 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 ight )=S+{R}'Q\left ( t ight )$
D 触发器
D 触发器仅在正时钟转换或负时钟转换下运行。而 D 锁存器则在使能信号下运行。这意味着,D 触发器的输出对输入 D 的变化不敏感,除非时钟信号的有效转换。D 触发器的电路图如下图所示。
该电路具有单个输入 D 和两个输出 Q(t) 和 Q(t)'。D 触发器的操作类似于 D 锁存器。但是,此触发器仅在施加时钟信号的正转换而不是有效启用时才会影响输出。
下表显示了 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 = J Q(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 ight )=J{Q\left ( t ight )}'+{K}'Q\left ( t ight )$$
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 触发器的特性表。
输入 | 当前状态 | 下一个状态 |
---|---|---|
T | Q(t) | Q(t + 1) |
0 | 0 | 0 |
0 | 1 | 1 |
1 | 0 | 1 |
1 | 1 | 0 |
从上面的特性表中,我们可以直接将下一状态方程写为
$$Q\left ( t+1 ight )={T}'Q\left ( t ight )+TQ{\left ( t ight )}'$$
$$\Rightarrow Q\left ( t+1 ight )=T\oplus Q\left ( t ight )$$
当输入T保持逻辑高电平(1)时,T触发器的输出总是在时钟信号的每个正向转换时切换。因此,T触发器可用于计数器。
在本章中,我们通过提供NOR门之间的交叉耦合实现了各种触发器。同样,您可以使用NAND门实现这些触发器。