二进制异步计数器

二进制异步计数器

二进制异步加法计数器

注意:不能像同步计数器那样按照 状态表的计数规律 来快速设计了,需要按照【异步时序电路的设计方法】一文中介绍的设计步骤进行设计

引例

【例1】设计一个 3 位二进制异步加法计数器

  • Step1:建立原始状态转换图

    在这里插入图片描述

    根据状态转换图画出对应的时序图,然后从翻转要求出发,为每个触发器选择合适的时钟信号

    选择时钟脉冲的基本原则:凡是要翻转的触发器都能够获得相应的时钟触发沿,且触发沿越少越好

  • Step2:选触发器,求方程

    1. 选触发器:用到 3 位二进制代码,故选用 3 个 触发器(这里选用 CP 下降沿触发 JK 触发器),分别用 F F 0 、 F F 1 、 F F 2 FF_0、FF_1、FF_2 FF0FF1FF2 表示

    2. 输出方程(现态方程):

      根据状态转换图用卡诺图求输出方程

      在这里插入图片描述

    3. 时钟方程(异步时序电路的关键):先根据状态转换图画出时序图,再根据翻转条件选脉冲

    在这里插入图片描述

    根据翻转条件选脉冲

    • F F 0 FF_0 FF0 :每来一个 C P ↓ CP↓ CP 翻转一次,选 C P CP CP 作为时钟脉冲
    • F F 1 FF_1 FF1 :在 C P 2 ↓ 、 C P 4 ↓ 、 C P 6 ↓ 、 C P 8 ↓ CP_2↓、CP_4↓、CP_6↓、CP_8↓ CP2CP4CP6CP8 时刻翻转,选 Q 0 Q_0 Q0 作为时钟脉冲
    • F F 2 FF_2 FF2 :在 C P 4 ↓ CP_4↓ CP4 C P 8 ↓ CP_8↓ CP8 时刻翻转,选 Q 1 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(Q_0↓) CP1=Q0(Q0)

    C P 2 = Q 1 ( Q 1 ↓ ) CP_2=Q_1(Q_1↓) CP2=Q1(Q1)

    1. 状态方程:先画出次态卡诺图,再拆分开得各触发器卡诺图

      在这里插入图片描述

      注意:要把没有时钟信号的次态也作为约束项处理,以利于状态方程的化简

      由拆分卡诺图得状态方程

      F F 2 FF_2 FF2 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_7 CP1CP2CP3CP5CP6CP7 没用,当作约束项处理

      在这里插入图片描述

      F F 1 FF_1 FF1 C P 2 ↓ 、 C P 4 ↓ 、 C P 6 ↓ 、 C P 8 ↓ CP_2↓、CP_4↓、CP_6↓、CP_8↓ CP2CP4CP6CP8 时刻翻转, C P 1 、 C P 3 、 C P 5 、 C P 8 CP_1、CP_3、CP_5、CP_8 CP1CP3CP5CP8 没用,当作约束项处理

      在这里插入图片描述

      由于 Q 0 Q_0 Q0 受时钟信号 C P CP CP 控制,所以按照普通卡诺图拆分方法即可

      在这里插入图片描述

    2. 驱动方程:变换状态方程,使之形式与选用触发器的特性方程一致,比较后得驱动方程

      JK 触发器的特性方程 Q n + 1 = J Q n ‾ + K ‾ Q n Q^{n+1}=J\overline{Q^n}+\overline{K}Q^n Qn+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_2 FF0FF1FF2 表示

其余步骤和 【选用 CP 下降沿触发 JK 触发器】 一样,只是对应的驱动方程需要根据 D 触发器的特性方程改变,电路图需要使用 D 触发器

D触发器特性方程 Q n + 1 = D Q^{n+1}=D Qn+1=D

在这里插入图片描述

对应电路图

在这里插入图片描述


Step2 中选用 CP 上升沿触发的 JK 触发器

  • Step2:选触发器,求方程

    选触发器:用到 3 位二进制代码,故选用 3 个 触发器(这里选用 CP 上升沿触发的 JK 触发器),分别用 F F 0 、 F F 1 、 F F 2 FF_0、FF_1、FF_2 FF0FF1FF2 表示

其余步骤和 【选用 CP 下降沿触发 JK 触发器】 一样,只是对应的时钟方程电路图需要改变

时钟方程(异步时序电路的关键):先根据状态转换图画出时序图,再根据翻转条件选脉冲

在这里插入图片描述

根据翻转条件选脉冲

  • F F 0 FF_0 FF0 :每来一个 C P ↑ CP↑ CP 翻转一次,选 C P CP CP 作为时钟脉冲
  • F F 1 FF_1 FF1 :在 C P 2 ↑ 、 C P 4 ↑ 、 C P 6 ↑ 、 C P 8 ↑ CP_2↑、CP_4↑、CP_6↑、CP_8↑ CP2CP4CP6CP8 时刻翻转,选 Q 0 ‾ \overline{Q_0} Q0 作为时钟脉冲
  • F F 2 FF_2 FF2 :在 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_2 FF0FF1FF2 表示

其余步骤和 【选用 CP 上升沿触发的 JK 触发器】 时一样,只是对应的驱动方程需要根据 D 触发器的特性方程改变(和 【选用 CP 下降沿触发的 D 触发器】 一样),电路图需要使用 D 触发器

在这里插入图片描述


对比分析

在这里插入图片描述

由上图分析可得结论

  • 二进制异步加法计数器使用的单元电路是 T’ 触发器
  • 高位触发器的时钟信号是低位的输出,若选择下降沿触发的 T’ 触发器,应取 C P i = Q i − 1 CP_i=Q_{i-1} CPi=Qi1 ,若选用上升沿触发,则取 C P i = Q ‾ i − 1 CP_i=\overline{Q}_{i-1} CPi=Qi1

二进制异步减法计数器

引例

【例2】设计一个 3 位二进制异步减法计数器

  • Step1:建立原始状态转换图

    在这里插入图片描述

  • Step2:选触发器,求方程

    1. 选触发器:用到 3 位二进制代码,故选用 3 个 触发器(这里选用 CP 下降沿触发 JK 触发器),分别用 F F 0 、 F F 1 、 F F 2 FF_0、FF_1、FF_2 FF0FF1FF2 表示

    2. 输出方程

      根据状态转换图用卡诺图求输出方程

      在这里插入图片描述

    3. 时钟方程(异步时序电路的关键):先根据状态转换图画出时序图,再根据翻转条件选脉冲

      在这里插入图片描述

      根据翻转条件选脉冲

      • F F 0 FF_0 FF0 :每来一个 C P ↓ CP↓ CP 翻转一次,选 C P CP CP 作为时钟脉冲
      • F F 1 FF_1 FF1 :在 C P 1 ↓ 、 C P 3 ↓ 、 C P 5 ↓ 、 C P 7 ↓ CP_1↓、CP_3↓、CP_5↓、CP_7↓ CP1CP3CP5CP7 时刻翻转,选 Q 0 ‾ \overline{Q_0} Q0 作为时钟脉冲
      • F F 2 FF_2 FF2 :在 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)

    4. 状态方程:先画出次态卡诺图,再拆分开得各触发器卡诺图

      在这里插入图片描述

      由拆分卡诺图得状态方程

      F F 2 FF_2 FF2 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_7 CP2CP4CP3CP6CP8CP7 没用,当作约束项处理

      在这里插入图片描述

      F F 1 FF_1 FF1 C P 1 ↓ 、 C P 3 ↓ 、 C P 5 ↓ 、 C P 7 ↓ CP_1↓、CP_3↓、CP_5↓、CP_7↓ CP1CP3CP5CP7 时刻翻转, C P 2 、 C P 4 、 C P 6 、 C P 8 CP_2、CP_4、CP_6、CP_8 CP2CP4CP6CP8 没用,当作约束项处理

      在这里插入图片描述

      由于 Q 0 Q_0 Q0 受时钟信号 C P CP CP 控制,所以按照普通卡诺图拆分方法即可

      在这里插入图片描述

    5. 驱动方程:变换状态方程,使之形式与选用触发器的特性方程一致,比较后得驱动方程

      JK 触发器的特性方程 Q n + 1 = J Q n ‾ + K ‾ Q n Q^{n+1}=J\overline{Q^n}+\overline{K}Q^n Qn+1=JQn+KQn

      在这里插入图片描述

  • Step3:画电路图

    在这里插入图片描述

  • Step4:检查电路能否自启动

    电路没有无效状态,所以能自启动


若采用 CP 上升沿触发的 JK 触发器

在这里插入图片描述


若采用 CP 上升沿触发的 D 触发器

在这里插入图片描述

总结 - 异步二进制计数器的构成方法

将触发器接成T触发器,然后级联,将计数脉冲CP从最低位时钟端输入
其它各位时钟端接法如下表

在这里插入图片描述

  • 25
    点赞
  • 28
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值