计数器⚓︎
计数器的分类与构成⚓︎
计数器按照标准的不同可以分为很多类
-
按照时钟信号:同步计数器与异步计数器
-
按照功能:加法计数器,减法计数器,可逆计数器
-
按照循环方式:二进制计数器(所有的状态全部用于计数)与二——十进制计数器(在16个二进制状态中选取10个用于计数)
-
按照计数的范围:模N计数器
从根本结构上来说,计数器是由一个个触发器构成的元件
异步计数器⚓︎
所谓异步,是指计数器内部各个触发器的时钟信号不彼此同步。
二进制异步计数器(2-Bits Asynchronous Binary Counter)⚓︎
二进制异步计数器有时候也被叫做行波计数器(ripple counter),从原理上来说,他是将n个触发器按顺序连接,使用前一个触发器的输出(Q或者非Q)作为后一个触发器的时钟信号,一共可以表示\(2^n\)个数
二进制异步计数器需要考虑延迟的实际影响,假设每一级传递的延迟为\(t_p\),且总共有\(n\)个触发器,则时钟周期应满足:
等价的,可以得到计数器的最大频率:
二—十进制异步计数器(Asynchronous Decade Counters)⚓︎
从原理上来说,二—十进制异步计数器就是在原来的16个数的二进制计数器的基础上,在计数到第十个数时强制截止,从头循环,在异步计数器中,这可以利用强制复/置位信号实现。
值得一提的是,以10位截止为例,有效的数码是0000到1001,但是异步异步计数器的置位信号是利用1010生成的,这种利用有效位下一位进行置位的方式,也被称为异步置位。
在实现上,利用特定位数的输出经过逻辑门反馈到各个计数器的强制置零端来实现。
对于被截取出来的序列,一般称为截取序列(truncated sequence),例如这里的0000到1001
这种异步置位的方式,存在一定的问题:
-
异步置位一定会产生一个瞬间的无用信号,形成窄脉冲,这称为假信号
-
置零信号时间很短,触发器可能来不及翻转(一个触发器提前于另一个触发器翻转),导致电路的可靠性低。(这一问题可以通过增加一个锁存器来解决)
集成计数器——74LS93⚓︎
根据不同的接法,74LS93可以有不同的功能
-
仅使用CLKB,为模8计数器
-
仅使用CLKA,为模2计数器
-
\(Q_0\)连CLKB,为模16计数器
-
\(Q_0\)连CLKB,\(Q_1\)连RO(2),\(Q_3\)连RO(1),为二—十进制计数器(这个只是一个示例,按照之前的原理也可以连成其他截断计数器)
同步计数器⚓︎
对于同步计数器而言,所有的触发器元件都公用一个时钟周期,通过输出之间的逻辑变化来产生不同的输入信号以达到对应输出的目的
同步二进制计数器⚓︎
对于同步二进制计数器而言,值得一提的延迟在其原理中有着极其重要的作用,对于每一个后续触发器而言,时钟信号总是比前一个触发器输出的控制信号先一步作用于自身,因此,在时钟触发边缘到达后续计数器时,其输入状态是由前一个触发器的现态决定的。
二—十进制同步计数器⚓︎
与异步的二—十进制触发器不同,同步的二—十进制触发器的置零信号是由1001,而不是1010产生的,即利用了最终状态产生清零信号,这种置零方式称为同步置零
创建日期: March 12, 2023