二进制异步计数器设计详解
二进制异步计数器设计详解
二进制异步计数器是数字电路中的重要组成部分,广泛应用于计数、定时和分频等场景。本文将详细介绍二进制异步加法计数器和减法计数器的设计原理和方法,通过具体的实例,帮助读者理解异步计数器的工作原理和设计流程。
二进制异步加法计数器
注意:不能像同步计数器那样按照状态表的计数规律来快速设计了,需要按照【异步时序电路的设计方法】一文中介绍的设计步骤进行设计
引例
【例1】设计一个 3 位二进制异步加法计数器
Step1:建立原始状态转换图
根据状态转换图画出对应的时序图,然后从翻转要求出发,为每个触发器选择合适的时钟信号
选择时钟脉冲的基本原则:凡是要翻转的触发器都能够获得相应的时钟触发沿,且触发沿越少越好
Step2:选触发器,求方程
选触发器:用到 3 位二进制代码,故选用 3 个 触发器(这里选用 CP 下降沿触发 JK 触发器),分别用F F 0 、 F F 1 、 F F 2 FF_0、FF_1、FF_2FF0 、FF1 、FF2 表示
输出方程(现态方程):
根据状态转换图用卡诺图求输出方程时钟方程(异步时序电路的关键):先根据状态转换图画出时序图,再根据翻转条件选脉冲
根据翻转条件选脉冲
- F F 0 FF_0FF0 :每来一个C P ↓ CP↓CP↓翻转一次,选C P CPCP作为时钟脉冲
- F F 1 FF_1FF1 :在C P 2 ↓ 、 C P 4 ↓ 、 C P 6 ↓ 、 C P 8 ↓ CP_2↓、CP_4↓、CP_6↓、CP_8↓CP2 ↓、CP4 ↓、CP6 ↓、CP8 ↓时刻翻转,选Q 0 Q_0Q0 作为时钟脉冲
- F F 2 FF_2FF2 :在C P 4 ↓ CP_4↓CP4 ↓和C P 8 ↓ CP_8↓CP8 ↓时刻翻转,选Q 1 Q_1Q1 作为时钟脉冲
C P 0 = C P ( C P ↓ ) CP_0=CP(CP↓)CP0 =CP(CP↓)
C P 1 = Q 0 ( Q 0 ↓ ) CP_1=Q_0(Q_0↓)CP1 =Q0 (Q0 ↓)
C P 2 = Q 1 ( Q 1 ↓ ) CP_2=Q_1(Q_1↓)CP2 =Q1 (Q1 ↓)
- 状态方程:先画出次态卡诺图,再拆分开得各触发器卡诺图
注意:要把没有时钟信号的次态也作为约束项处理,以利于状态方程的化简
由拆分卡诺图得状态方程
F F 2 FF_2FF2 在C P 4 ↓ CP_4↓CP4 ↓和C P 8 ↓ CP_8↓CP8 ↓时刻翻转,C P 1 、 C P 2 、 C P 3 、 C P 5 、 C P 6 、 C P 7 CP_1、CP_2、CP_3、CP_5、CP_6、CP_7CP1 、CP2 、CP3 、CP5 、CP6 、CP7 没用,当作约束项处理
F F 1 FF_1FF1 在C P 2 ↓ 、 C P 4 ↓ 、 C P 6 ↓ 、 C P 8 ↓ CP_2↓、CP_4↓、CP_6↓、CP_8↓CP2 ↓、CP4 ↓、CP6 ↓、CP8 ↓时刻翻转,C P 1 、 C P 3 、 C P 5 、 C P 8 CP_1、CP_3、CP_5、CP_8CP1 、CP3 、CP5 、CP8 没用,当作约束项处理
由于Q 0 Q_0Q0 受时钟信号C P CPCP控制,所以按照普通卡诺图拆分方法即可
- 驱动方程:变换状态方程,使之形式与选用触发器的特性方程一致,比较后得驱动方程
JK 触发器的特性方程:Q n + 1 = J Q n ‾ + K ‾ Q n Q^{n+1}=J\overline{Q^n}+\overline{K}Q^nQn+1=JQn +KQn
Step3:画电路图
Step4:检查电路能否自启动
电路没有无效状态,所以能自启动
若Step2中选用 CP 下降沿触发的 D 触发器
Step2:选触发器,求方程
选触发器:用到 3 位二进制代码,故选用 3 个 触发器(这里选用 CP 下降沿触发的 D 触发器),分别用F F 0 、 F F 1 、 F F 2 FF_0、FF_1、FF_2FF0 、FF1 、FF2 表示
其余步骤和 【选用 CP 下降沿触发 JK 触发器】 一样,只是对应的驱动方程需要根据 D 触发器的特性方程改变,电路图需要使用 D 触发器
D触发器特性方程:Q n + 1 = D Q^{n+1}=DQn+1=D
对应电路图
若Step2中选用 CP 上升沿触发的 JK 触发器
Step2:选触发器,求方程
选触发器:用到 3 位二进制代码,故选用 3 个 触发器(这里选用 CP 上升沿触发的 JK 触发器),分别用F F 0 、 F F 1 、 F F 2 FF_0、FF_1、FF_2FF0 、FF1 、FF2 表示
其余步骤和 【选用 CP 下降沿触发 JK 触发器】 一样,只是对应的时钟方程和电路图需要改变
时钟方程(异步时序电路的关键):先根据状态转换图画出时序图,再根据翻转条件选脉冲
根据翻转条件选脉冲
- F F 0 FF_0FF0 :每来一个C P ↑ CP↑CP↑翻转一次,选C P CPCP作为时钟脉冲
- F F 1 FF_1FF1 :在C P 2 ↑ 、 C P 4 ↑ 、 C P 6 ↑ 、 C P 8 ↑ CP_2↑、CP_4↑、CP_6↑、CP_8↑CP2 ↑、CP4 ↑、CP6 ↑、CP8 ↑时刻翻转,选Q 0 ‾ \overline{Q_0}Q0 作为时钟脉冲
- F F 2 FF_2FF2 :在C P 4 ↑ CP_4↑CP4 ↑和C P 8 ↑ CP_8↑CP8 ↑时刻翻转,选Q 1 ‾ \overline{Q_1}Q1 作为时钟脉冲
C P 0 = C P ( C P ↑ ) CP_0=CP(CP↑)CP0 =CP(CP↑)
C P 1 = Q 0 ( Q 0 ‾ ↑ , Q 0 ↓ ) CP_1=Q_0(\overline{Q_0}↑,Q_0↓)CP1 =Q0 (Q0 ↑,Q0 ↓)
C P 2 = Q 1 ( Q 1 ‾ ↑ , Q 1 ↓ ) CP_2=Q_1(\overline{Q_1}↑,Q_1↓)CP2 =Q1 (Q1 ↑,Q1 ↓)
对应电路图
若Step2中选用 CP 上升沿触发的 D 触发器
Step2:选触发器,求方程
选触发器:用到 3 位二进制代码,故选用 3 个 触发器(这里选用 CP 上升沿触发的 JK 触发器),分别用F F 0 、 F F 1 、 F F 2 FF_0、FF_1、FF_2FF0 、FF1 、FF2 表示
其余步骤和 【选用 CP 上升沿触发的 JK 触发器】 时一样,只是对应的驱动方程需要根据 D 触发器的特性方程改变(和 【选用 CP 下降沿触发的 D 触发器】 一样),电路图需要使用 D 触发器
对比分析
由上图分析可得结论
- 二进制异步加法计数器使用的单元电路是 T’ 触发器
- 高位触发器的时钟信号是低位的输出,若选择下降沿触发的 T’ 触发器,应取C P i = Q i − 1 CP_i=Q_{i-1}CPi =Qi−1 ,若选用上升沿触发,则取C P i = Q ‾ i − 1 CP_i=\overline{Q}_{i-1}CPi =Q i−1
二进制异步减法计数器
引例
【例2】设计一个 3 位二进制异步减法计数器
Step1:建立原始状态转换图
Step2:选触发器,求方程
选触发器:用到 3 位二进制代码,故选用 3 个 触发器(这里选用 CP 下降沿触发 JK 触发器),分别用F F 0 、 F F 1 、 F F 2 FF_0、FF_1、FF_2FF0 、FF1 、FF2 表示
输出方程:
根据状态转换图用卡诺图求输出方程时钟方程(异步时序电路的关键):先根据状态转换图画出时序图,再根据翻转条件选脉冲
根据翻转条件选脉冲
- F F 0 FF_0FF0 :每来一个C P ↓ CP↓CP↓翻转一次,选C P CPCP作为时钟脉冲
- F F 1 FF_1FF1 :在C P 1 ↓ 、 C P 3 ↓ 、 C P 5 ↓ 、 C P 7 ↓ CP_1↓、CP_3↓、CP_5↓、CP_7↓CP1 ↓、CP3 ↓、CP5 ↓、CP7 ↓时刻翻转,选Q 0 ‾ \overline{Q_0}Q0 作为时钟脉冲
- F F 2 FF_2FF2 :在C P 1 ↓ CP_1↓CP1 ↓和C P 5 ↓ CP_5↓CP5 ↓时刻翻转,选Q 1 ‾ \overline{Q_1}Q1 作为时钟脉冲
C P 0 = C P ( C P ↓ ) CP_0=CP(CP↓)CP0 =CP(CP↓)
C P 1 = Q 0 ( Q 0 ‾ ↓ ) CP_1=Q_0(\overline{Q_0}↓)CP1 =Q0 (Q0 ↓)
C P 2 = Q 1 ( Q 1 ‾ ↓ ) CP_2=Q_1(\overline{Q_1}↓)CP2 =Q1 (Q1 ↓)
- 状态方程:先画出次态卡诺图,再拆分开得各触发器卡诺图
由拆分卡诺图得状态方程
F F 2 FF_2FF2 在C P 1 ↓ CP_1↓CP1 ↓和C P 5 ↓ CP_5↓CP5 ↓时刻翻转,C P 2 、 C P 4 、 C P 3 、 C P 6 、 C P 8 、 C P 7 CP_2、CP_4、CP_3、CP_6、CP_8、CP_7CP2 、CP4 、CP3 、CP6 、CP8 、CP7 没用,当作约束项处理
F F 1 FF_1FF1 在C P 1 ↓ 、 C P 3 ↓ 、 C P 5 ↓ 、 C P 7 ↓ CP_1↓、CP_3↓、CP_5↓、CP_7↓CP1 ↓、CP3 ↓、CP5 ↓、CP7 ↓时刻翻转,C P 2 、 C P 4 、 C P 6 、 C P 8 CP_2、CP_4、CP_6、CP_8CP2 、CP4 、CP6 、CP8 没用,当作约束项处理
由于Q 0 Q_0Q0 受时钟信号C P CPCP控制,所以按照普通卡诺图拆分方法即可
- 驱动方程:变换状态方程,使之形式与选用触发器的特性方程一致,比较后得驱动方程
JK 触发器的特性方程:Q n + 1 = J Q n ‾ + K ‾ Q n Q^{n+1}=J\overline{Q^n}+\overline{K}Q^nQn+1=JQn +KQn
Step3:画电路图
Step4:检查电路能否自启动
电路没有无效状态,所以能自启动
若采用 CP 上升沿触发的 JK 触发器
若采用 CP 上升沿触发的 D 触发器
总结 - 异步二进制计数器的构成方法
将触发器接成T触发器,然后级联,将计数脉冲CP从最低位时钟端输入
其它各位时钟端接法如下表