跳到内容

数字电子学/同步设备/计数器

来自维基教科书,开放的书籍,开放的世界

计数器是一种设备,它根据时钟或其他脉冲输入生成一些模式化的二进制值。有三种简单的计数器类型:环形、异步和同步。

计数器类型

[编辑 | 编辑源代码]

环形计数器

[编辑 | 编辑源代码]

如果移位寄存器的输出反馈到输入,则会形成环形计数器。只要应用时钟脉冲,移位寄存器中包含的数据模式就会循环。例如,在下图中,数据模式将在每个四个时钟脉冲后重复。但是,我们必须加载数据模式。全 0 或全 1 不算。这种情况下持续的逻辑电平是否有用?


[1]


我们为以下配置为环形计数器的并行输入/串行输出移位寄存器提供数据加载功能。可以加载任何随机模式。最通用的模式是单个 1。


[2]


在移位之前将二进制 1000 加载到上面的环形计数器中,可以得到一个可视的模式。对于 4 级示例,单个级的数据模式在每个四个时钟脉冲后重复。所有四个级的波形看起来都一样,除了从一个级到下一个级有一个时钟时间的延迟。见下图。


[3]


上面的电路是一个除以 4 的计数器。将时钟输入与任意一个输出进行比较,可以看出频率比为 4:1。我们需要多少级才能得到一个除以 10 的环形计数器?十级将在每个十个时钟脉冲后循环 1。


[4]


上面显示了另一种将环形计数器初始化为 1000 的方法。移位波形与上面的波形相同,在每个四个时钟脉冲后重复。初始化要求是环形计数器相对于传统计数器的缺点。至少在加电时必须进行初始化,因为无法预测触发器加电后的状态。理论上,初始化不应该再需要了。在实际应用中,触发器最终可能会被噪声破坏,破坏数据模式。像传统的同步二进制计数器这样的“自校正”计数器更可靠。


[5]


上面的二进制同步计数器只需要两个级,但需要译码门。环形计数器有更多级,但它是自译码的,节省了上面的译码门。环形计数器的另一个缺点是它不是“自启动”的。如果我们需要译码后的输出,环形计数器看起来很有吸引力,特别是如果大部分逻辑在一个单一的移位寄存器封装中。如果不是,传统的二进制计数器在没有译码器的情况下更不复杂。


[6]


从同步二进制计数器译码后的波形与之前的环形计数器波形相同。计数器序列为 (QA QB) = (00 01 10 11)。

异步计数器

[编辑 | 编辑源代码]

异步计数器是最简单的计数器类型。它们无非是连接成链的触发器,以将彼此的输出频率除以二。结果是一个二进制计数。它们被称为异步计数器,因为新的计数会通过它们“级联”。异步计数器的主要缺点是,由于新的计数“级联”通过触发器,所有计数位的到达时间不同。

同步计数器

[编辑 | 编辑源代码]

同步计数器是由触发器和逻辑门组成的简单的状态机。它们有两部分,由触发器组成的寄存器和由逻辑门组成的译码器。寄存器是由一组简单的触发器组成,它们都在同一个时间被时钟触发。通过这种方式,它们可以保存计数器的输出值,直到下一个时钟周期。译码器对当前计数进行译码,并为触发器生成下一个计数的正确值。例如,在一个简单的向上计数器中,译码器总是输出当前计数加一。同步计数器的主要优点是,它们的输出的所有位都同时变化。

华夏公益教科书