Computer Logical Organization 简明教程
Digital Counters
计数器是一种顺序电路。用于计数脉冲的数字电路称为计数器。计数器是触发器的最广泛应用。它是一组带有时钟信号的触发器。计数器有两种类型。
-
Asynchronous or ripple counters.
-
Synchronous counters.
Asynchronous or ripple counters
图中所示为 2 位波纹上升计数器的逻辑图。正在使用触发器(T)翻转。但我们也可以使用 JK 触发器,将 J 和 K 永久连接到逻辑 1。外部时钟应用于触发器 A 的时钟输入,QA 输出应用于下一触发器(即 FF-B)的时钟输入。
Operation
S.N. |
Condition |
Operation |
1 |
Initially let both the FFs be in the reset state |
QBQA = 00 initially |
2 |
After 1st negative clock edge |
一旦第一个负时钟沿出现,FF-A 将翻转,QA 将等于 1。QA 连接到 FF-B 的时钟输入。由于 QA 从 0 变为 1,FF-B 将其视为正时钟沿。QB 没有变化,因为 FF-B 是负沿触发 FF。QBQA = 01 在第一个时钟脉冲后。 |
3 |
After 2nd negative clock edge |
在第二个负时钟沿到达时,FF-A 再次翻转,QA = 0。QA 中的变化充当 FF-B 的负时钟沿。所以它也会翻转,QB 将为 1。QBQA = 10 在第二个时钟脉冲后。 |
4 |
After 3rd negative clock edge |
在第 3 个负时钟沿到达时,FF-A 再次翻转,QA 从 0 变成 1。由于这是一个正向变化,FF-B 不对此做出响应并保持非活动状态。因此,QB 不变,并继续等于 1。QBQA = 11 在第三个时钟脉冲后。 |
5 |
After 4th negative clock edge |
在第 4 个负时钟沿到达时,FF-A 再次翻转,QA 从 0 变成 1。QA 中的这个负变化充当 FF-B 的时钟脉冲。因此,它翻转将 QB 从 1 更改为 0。QBQA = 00 在第四个时钟脉冲后。 |
Synchronous counters
如果“时钟”脉冲同时应用于计数器中的所有触发器,则这样的计数器称为同步计数器。
Operation
S.N. |
Condition |
Operation |
1 |
Initially let both the FFs be in the reset state |
QBQA = 00 initially. |
2 |
After 1st negative clock edge |
一旦第一个负时钟沿出现,FF-A 将翻转,QA 将从 0 变为 1。但在负时钟沿出现时,QA、JB = KB = 0。因此,FF-B 不会改变其状态。因此,QB 将保持为 0。QBQA = 01 在第一个时钟脉冲后。 |
3 |
After 2nd negative clock edge |
在第二个负时钟沿到达时,FF-A 再次翻转,QA 从 1 变为 0。但在这一刻,QA 为 1。因此,JB = KB = 1,FF-B 将翻转。因此,QB 从 0 变为 1。QBQA = 10 在第二个时钟脉冲后。 |
4 |
After 3rd negative clock edge |
在第三个下降时钟沿出现时,FF-A 将从 0 翻转到 1,但 FF-B 没有状态变化。QBQA = 11 在第三个时钟脉冲后。 |
5 |
After 4th negative clock edge |
在下一次时钟脉冲出现时,QA 将从 1 变为 0,因为 QB 也将从 1 变为 0。QBQA = 00 在第四个时钟脉冲后。 |
UP/DOWN Counter
上升计数器和下降计数器结合在一起得到一个上升/下降计数器。还提供了模式控制 (M) 输入以选择上升或下降模式。必须设计并使用组合电路,放在每对触发器之间,以实现上升/下降操作。
-
Type of up/down counters
-
UP/DOWN ripple counters
-
UP/DOWN synchronous counter
UP/DOWN Ripple Counters
在 UP/DOWN 纹波计数器里,所有 FF 以切换模式运行。因此,要使用 T 触发器或 JK 触发器。MSB 触发器直接接收时钟。但每个其他 FF 的时钟都从前一个 FF 的 (Q = Q_bar) 输出获得。
-
UP counting mode (M=0) − 如果要实现上升计数,则连接前一个 FF 的 Q 输出到下一级的时钟。对于这种模式,模式选择输入 M 为逻辑 0 (M = 0)。
-
DOWN counting mode (M=1) − 如果 M = 1,则前一个 FF 的 Q_bar 输出连接到下一个 FF。这将使计数器以计数模式运行。
Example
3 位二进制上升/下降纹波计数器。
-
3 位 − 因此需要三个 FF。
-
上升/下降 − 所以模式控制输入是必要的。
-
对于上升纹波计数器,连接前一个 FF 的 Q 输出到下一个的时钟输入。
-
对于上升纹波计数器,连接前一个 FF 的 Q 输出到下一个的时钟输入。
-
对于下降纹波计数器,连接前一个 FF 的 Q_bar 输出到下一个的时钟输入。
-
让模式控制输入 M 控制选择前一个 FF 的 Q 和 Q_bar 输出,使得:如果 M = 0,则上升计数。所以连接 Q 到 CLK。如果 M = 1,则下降计数。所以连接 Q_bar 到 CLK。
Operation
S.N. |
Condition |
Operation |
1 |
Case 1 − With M = 0 (Up counting mode) |
如果 M = 0 和 M_bar = 1,那么图中的与门 1 和 3 将被启用,而与门 2 和 4 将被禁用。因此,QA 连接到 FF-B 的时钟输入,QB 连接到 FF-C 的时钟输入。这些连接与正常上升计数器的连接相同。因此,当 M = 0 时电路作为上升计数器工作。 |
2 |
Case 2: With M = 1 (Down counting mode) |
如果 M = 1,则图中的与门 2 和 4 被启用,而与门 1 和 3 被禁用。因此,QA_bar 连接到 FF-B 的时钟输入,QB_bar 连接到 FF-C 的时钟输入。这些连接将产生一个下降计数器。因此,当 M = 1 时,电路作为下降计数器工作。 |