数字电子技术之时序逻辑电路

时序逻辑电路是比较重要的内容,里面的知识点在很多地方都会应用到,比如强化学习领域经常要用到下一个状态对当前状态产生的影响,所以这块"硬骨头"一定要啃下来

  1. 分析与设计
  2. 计数器
  3. 计数器的应用
  4. 寄存器
  5. 移位寄存器的应用

1. 分析与设计

同步时序逻辑电路的分析方法

时序逻辑电路的分析,就是从给定的时序电路的逻辑电路图出发,分析得
到其逻辑功能。具体讲,就是确定电路的输入和现态如何决定了电路的输出和次态,从而得到电路的状态迁移规律。对于同步时序逻辑电路,其中的触发器在统一的时钟信号的控制下工作,电路分析过程比较简单。

在这里插入图片描述

  1. 判断
    根据给定的逻辑电路图,判断其为同步时序,还是异步时序,如果是同
    步时序,就按照下面的步骤具体分析。
  2. 读图
    阅读电路图,明确电路中采用了何种触发器,以及输入、输出变量的情
    况;随后,根据电路的连接形式,得到电路的输出方程(输出由输入和现态决定的函数),以及触发器的激励方程(触发器的激励信号由输入和现态决定的函数)。
  3. 带入
    已知触发器类型,可知其特征方程的标准形式,将上一步中得到的激励
    方程带入触发器的特征方程,得到电路中各个触发器对应的状态方程。
    此时就得到了电路对应的逻辑表达式,包括输出方程、状态方程(次态
    由输入和现态决定的函数)。
  4. 计算
    根据上一步得到的表达式,得到状态表,一般按照真值表的结构列写即
    可,也就是电路的真值表。当然,列写时最好用整体分析的方法,在分析困
    难时,可能需要带入计算。
  5. 转换
    将电路的状态表(真值表)转换为状态图。
  6. 总结
    分析电路的状态图上表达出的状态迁移关系,从而总结得到电路的逻辑
    功能,同时,这里一般还需要判断电路的安全性如何。

[例] 分析如图所示电路,说明电路功能
在这里插入图片描述
首先判断这是一个同步时序逻辑电路

接着就是读图,得到电路的输出方程(输出由输入和现态决定的函数),以及触发器的激励方程(触发器的激励信号由输入和现态决定的函数),并将激励
方程带入触发器的特征方程:
在这里插入图片描述
接着再写出真值表:
在这里插入图片描述
根据状态表画出状态图:
在这里插入图片描述
画状态图时,要做好标注(白框)

最后总结功能,这是一个不具有自启动能力的六进制计数器(计时钟脉冲CLK个数)

因为有6个状态即6个CLK,所以它是六进制计数器

另外,状态图里还有一个两状态循环,这是小循环,一般来说,我们只考虑大循环

"自启动"与"自校正"

这里要谈的其实是时序逻辑电路的安全性研究

在这里插入图片描述

时序逻辑电路的“自启动能力”与“自校正能力”的实质是一样的。实质在于:无效状态是形成循环,还是迁移回到有效循环中。

扫描二维码关注公众号,回复: 11437133 查看本文章

同步时序逻辑电路的设计方法

时序逻辑电路的设计,就是从给定的逻辑功能入手,通过一系列的设计过
程,最终得到电路的实现方案,即逻辑电路图。

当然,最终得到的时序电路也分两种,即同步时序电路和异步时序电路。一
般来讲,完成相同的逻辑功能,异步时序电路的整体结构要比同步时序电路简单一些,但是,其设计过程也明显较后者复杂,难以掌握。

组合逻辑电路的设计过程,基本可看做分析的逆过程,类似的,同步时序电路的设计过程和分析过程之间,也有互逆的特点。

基本流程

在这里插入图片描述

  1. 逻辑抽象
    根据逻辑要求,进行逻辑抽象,明确该电路的状态量的含义,并确定输
    入、输出变量和状态数;
    根据电路的逻辑功能,明确状态迁移关系,从而建立原始状态图。
    此过程中,重点在于找到电路的状态量,理解其含义。
  2. 状态化简
    在原始状态图中,若两个电路状态在相同的输入条件下,得到相同的次
    态结果和输出结果(即状态迁移关系相同),就称这两个状态为等价状态。
    显然,等价状态是可以合并的,合并后,得到该电路的最简状态图。
    3.状态编码
    根据最简状态图中,状态的数量,确定需要使用的触发器的数量,并用二进制代码表示各个状态,即对状态进行编码。至此,最初的设计要求已完全数学化,得到了一个完全数学化的状态图。
    设最简状态图中,状态个数为M ,需要使用的触发器个数为 n,则两者
    数量关系上满足: 2 n 1 < M 2 n 2^{n-1}<M≤2^n
    同时,如果 M 2 n M≠2^n ,则意味着是从 2 n 2^n 种状态中选取M个,对电路的状态图进行赋值,这样的选择方案是不唯一的。如果选择的编码方案得当,则可以很大程度上简化设计过程和最终得到的电路结构,反之,如果选择不当,设计出来的电路就会比较复杂。
    因此,选择编码方案是有一定技巧性的。此外,这也意味着电路存在无效状态,那么,设计完成后,需要检查电路的自启动能力。
  3. 推导逻辑表达式
    根据编码后的状态图,得到逻辑表达式,即电路的输出方程和触发器的状态方程。
    这一步工作中,一般是将状态图转化为表示输出信号和次态的卡诺图,并进行卡诺图法化简,从而得到对应的输出方程和状态方程。
  4. 推导触发器的激励方程
    选定触发器的类型(常用 触发器和 触发器),根据电路的状态方程和选定触发器的标准特征方程,反推得到每个触发器的激励方程,即驱动函数。
    因为各种触发器的驱动方式不同,所以,选用不同类型触发器,设计出的电路也不一样,确定触发器类型时,要考虑到器件的实际供应情况,并力求减少系统中使用的触发器种类。
  5. 画图
    已知要设计是同步时序电路,且已确定触发器类型,又得到了与电路连接形式直接相关的输出方程和触发器的激励方程,根据这些结果,就可以方便地得到逻辑电路图。
  6. 检查电路的自启动能力
    如果存在无效状态,画出电路图后,还需要检查电路的自启动能力。如果发现不具有自启动能力,则还需要对电路进行相应改进,使其具有自启动能力,提高电路工作的安全性。
    将电路工作中没有用到的误状态依次带入电路的状态方程,求得次态,从而得到其状态迁移关系,并补充入前面得到的最简状态图,形成所设计的电路的完整状态图,看无效状态和有效状态之间的关系。
    如果无效状态的迁移没有形成无效循环,而是和有效循环联系,则具有自启动能力。
    如果形成了无效循环,则不具有自启动能力。此时,电路设计方案还需要进一步改进,给出既完成逻辑功能又具有自启动能力的优化电路。

下面来看一看例题:

[例]已知一个同步时序逻辑电路的状态图,请按此逻辑要求实现该电路。
在这里插入图片描述
首先判断这是一个六进制的加法计数器

第二步要推导逻辑表达式,我们先把状态图转换成卡诺图:
在这里插入图片描述
当现态为000时,次态会变为001且输出为0

最后得到 Q 2 Q_2 次态的状态方程:
在这里插入图片描述
以此类推:
在这里插入图片描述
最后推导出激励方程:
在这里插入图片描述
画图时,首先要准备元件:
在这里插入图片描述
接着同步时序:
在这里插入图片描述
然后逐层写激励:
在这里插入图片描述
最后一步,叠加输出:
在这里插入图片描述
最后,我们检查一下自启动能力:
在这里插入图片描述
将另外两种状态带入激励方程,得到状态迁移关系,可以看出无效状态没有形成无效循环,所设计的同步时序电路具有自启动能力

逻辑抽象

逻辑抽象的重点是寻找状态量,但这并不是入手点,入手点还是要从确定输入、输出信号开始

下面通过一道例题来具体分析一下:

[例] 设计一个串行数据检测电路,要求:输入出现连续3个以上(含3个)的1时,输出为1。

通过功能分析,寻找状态量:
在这里插入图片描述
接着我们画出原始状态图:
在这里插入图片描述
下面我们就要化简了,我们看到 S 2 S_2 S 3 S_3 ,他们的物理意义虽然不同,但是他们的状态在数学上是等价的,因为他们的迁移状态完全相同,此时,状态图可以化简成如下所示:
在这里插入图片描述

最后从4个状态中任选3个带进去即可:
在这里插入图片描述
得到卡诺图:
在这里插入图片描述
在这里插入图片描述
到此为止,硬件方案已经得到了,下面判断一下自启动:
在这里插入图片描述

改进自启动能力

如果电路中存在死循环,我们需要对电路做改进,还是用一道例题作为范例

[例] 采用JK触发器,设计一个六进制计数器。
在这里插入图片描述
在这里插入图片描述
前面这几步都是讲过了的,这里就不重复了,下面检查一下自启动能力

把另外两种无效状态补进去:
在这里插入图片描述
这个电路是不具有自启动能力的,需要改进设计方案

改进的思路其实就是切断无效循环,将状态迁移关系,引入有效循环中。就像这样:
在这里插入图片描述
具体怎么做法如下:
在这里插入图片描述
也就是说,当现态为101时,让次态变为1,此时010也随之改变:
在这里插入图片描述
根据卡诺图法化简,得到:
在这里插入图片描述
由此得到改进后的激励方程:
在这里插入图片描述
最后根据新方案得到新电路图:
在这里插入图片描述
另外,这里需要注意的是,修改方案并不唯一的,但是要尽量选择改动比较小的修改方案

2. 计数器

计数器的概念和分类

在这里插入图片描述

  1. 按照进位制数(计数器的模数/工作循环中状态个数)划分:
  • 二进制计数器
    随着计数脉冲(时钟脉冲)的输入,按照二进制数规律计数的计数器称为二
    进制计数器,再具体划分,2 个状态循环的是 1 位二进制计数器,4 个状态循环的是 2 位二进制计数器,8 个状态循环的是 3 位二进制计数器,以此类推。
  • 十进制计数器
    随着计数脉冲(时钟脉冲)的输入,按照十进制数规律计数的计数器称为十进制计数器,与二进制计数器的内涵不同的是,这里不区分位数,也就是说,十进制计数器就是 10 个状态循环的计数器。
  • N进制计数器
    除了上述的二进制计数器和十进制计数器外,其他进制(其他N个状态循环)的计数器,都统称为N进制计数器。
  1. 按计数的增减趋势(状态迁移顺序)划分:
  • 加法计数器
    工作循环中,状态以递增规律迁移的计数器就称为加法计数器,也叫递增计数器。
  • 减法计数器
    工作循环中,状态以递减规律迁移的计数器就称为减法计数器,也叫递减计数器。
  • 可逆计数器
    既可以进行递增计数,也可以进行递减计数的计数器,称为可逆计数器,也叫双向计数器。一般而言,可逆计数器设置有加减控制信号,加减控制信号的不同信号输入,决定了该计数器具体的状态迁移顺序
  1. 按时钟脉冲输入方式(计数器工作方式)划分:
  • 同步计数器
    计数器电路中,使用的触发器类型相同,且共用相同的计数脉冲(时钟脉冲)信号时,就称为同步计数器,其内部的触发器的工作点一致,状态变化同时发生。
  • 异步计数器
    计数器电路中,使用的触发器的工作点不一致,状态变化的时间不一致,就称为异步计数器。从电路结构上看,异步计数器内部,往往有的触发器的时钟信号是输入的计数脉冲,有的触发器的时钟信号却是其他触发器的输出状态。

在对一个计数器进行定义的时候,应该将计数器的进位制数、状态迁移顺序和计数脉冲输入方式都准确给出,对计数器的定义才比较完整准确。

计数器的设计与实现

3位二进制同步加法计数器

3位二进制同步加法计数器其实就是八进制同步加法计数器

得到状态图:
在这里插入图片描述

  • 内部使用了三个触发器,用 F F 2 FF_2 F F 1 FF_1 F F 0 FF_0 表示
  • 输出进位信号C ,高有效

得到状态表:
在这里插入图片描述
从状态表拆出状态图,得到逻辑表达式:
在这里插入图片描述
根据3个次态方程得到激励方程:
在这里插入图片描述

在这里插入图片描述
最后看一下自启动能力,八个状态都处在有效循环中,所以不存在无效状态,电路具有自启动能力

n位二进制同步加法计数器

假设基本条件不变,可以做一下推广:
在这里插入图片描述

3位二进制同步减法计数器

3位二进制同步减法计数器也叫做八进制同步减法计数器
在这里插入图片描述

  • 内部使用了三个触发器,用 F F 2 FF_2 F F 1 FF_1 F F 0 FF_0 表示
  • 输出借位信号B ,高有效

接着来看状态表:
在这里插入图片描述
得到逻辑表达式和激励方程:
在这里插入图片描述
最后得到逻辑电路图:
在这里插入图片描述
检查自启动能力,不存在无效状态,电路具有自启动能力。

3位二进制同步可逆计数器

  • 增加一个加减控制信号 U / D \overline{U}/D
  • 将输出信号表示为 C / B C/B
    在这里插入图片描述

集成计数器

74LS161芯片封装图:
在这里插入图片描述
74LS161功能示意图:
在这里插入图片描述
在这里插入图片描述

学会阅读芯片资料

在芯片资料中,能够获得的技术细节可简单总结如下:

  1. 在芯片封装图上,可以了解到集成计数器的封装格式和管脚排
    列,并且,根据管脚标号,可以大概了解各管脚的基本功能。
  2. 在功能示意图上,重点关注芯片的逻辑功能端的输入、输出区
    分,控制管脚的有效方式,以及时钟信号的有效方式。
  3. 功能表会准确地表达一个集成电路芯片的全部功能。对于计数
    器芯片,要重点关注的功能包括:
  • 芯片清零、置数功能的实现方式;
  • 正常计数的工作点、控制条件、和计数规律;
  • 计数器上述这些功能的优先级别。
  • 此外,在功能表上还能读到:计数器保持状态的条件、输出进/借位信号的有效方式等信息。

当然,并不是说每个计数器芯片都提供上述所有功能,具体情况要根据芯片功能表而定

二-八-十六进制器 异步加法计数器 74LS197

从计数器命名可知:
74LS197 可以实现二进制、八进制加法计数功能,如果按照前面谈到的“低
位片循环一周,向高位片进一位”的级联扩展方式,将二进制加法计数单元和八进制加法计数单元级联起来,就可以实现十六进制加法计数器,即 4 位二进制加法计数器,此时,整个计数器组成了异步时序逻辑电路的结构,因此,74LS197被称为二-八-十六进制异步加法计数器。

74LS197 的芯片封装图和功能示意图如图所示:
在这里插入图片描述
将得到的 74LS197 的管脚信息总结如下:
74LS197 的输入端包括 4 个输入数据端 D 3 D_3 , D 2 D_2 , D 1 D_1 , D 0 D_0 、2 个下降沿有效的时钟信号 C L K 0 CLK_0 C L K 1 CLK_1 、2 个其他输入控制端 C R \overline{CR} C T / L D CT/\overline{LD} 。输出端为 4 个输出状态端 Q 3 Q_3 , Q 2 Q_2 , Q 1 Q_1 , Q 0 Q_0

在这里插入图片描述
分析功能表表,将得到的 74LS197 的逻辑功能完整总结如下:

  • 异步清零、低有效, C R \overline{CR} 为清零控制端。

  • 异步置数、低有效, C T / L D CT/\overline{LD} 为计数/置数控制端,当 C T / L D = 0 CT/\overline{LD} = 0 时,完成计数功能。

  • 计数器不清零的前提下,当 C T / L D = 0 CT/\overline{LD} = 0 时,时钟脉冲的下降沿工作,计数器完成计数功能,有以下四种情况。
    在这里插入图片描述

  • 74LS197 的清零功能优先于置数和计数功能。

  • 74LS197 不清零、不置数,且没有计数脉冲输入时,处于保持状态。

综上所述,74LS197 是一个下降沿工作的加法计数器,可以完成 1 位二进制和 3 位二进制计数功能,并通过异步级联方式,完成两种类型的 4 位二进制计数功能,但没有设置输出进位端,此外,电路还具有异步清零、低有效;异步置数、低有效的功能。

二-五-十进制异步加法计数器 74LS90

从计数器命名可知:
74LS90 可以实现二进制、五进制加法计数功能,如果按照“低位片循环一周,向高位片进一位”的级联扩展方式,将二进制加法计数单元和五进制加法计数单元联系起来,就可以实现十进制加法计数器,此时,整个计数器组成了异步时序逻辑电路的结构,因此,74LS90 被称为二-五-十进制异步加法计数器。

与 74LS197 的使用类似,74LS90 通过级联组成十进制异步加法计数器时,
也存在两种方式。

74LS90 的芯片封装图和功能示意图如图所示:
在这里插入图片描述
分析封装图和功能图,将得到的 74LS90 的管脚信息总结如下:
74LS90 的逻辑功能端包括 2 个下降沿有效的输入时钟信号端 C L K 0 CLK_0 C L K 1 CLK_1 、4个高有效的输入控制端 S 9 A S_{9A} , S 9 B S_{9B} , R 0 A R_{0A} , R 0 B R_{0B} ,以及 4 个输出状态端 Q 3 Q_3 , Q 2 Q_2 , Q 1 Q_1 , Q 0 Q_0

74LS90 的功能表,完整地表达了 74LS90 的逻辑功能:
在这里插入图片描述
分析功能表,将得到的 74LS90 的逻辑功能完整总结如下:

  • 异步置 9、高有效, 为置数控制端。
    74LS90 没有提供输入数据端,当 S 9 A = S 9 B = 1 S_{9A}=S_{9B}=1 时, Q 3 n + 1 Q 2 n + 1 Q 1 n + 1 Q 0 n + 1 = 1001 Q_3^{n+1}Q_2^{n+1}Q_1^{n+1}Q_0^{n+1}=1001 ,即输出状态被直接置为 9。
  • 异步清零、高有效, R 0 A R_{0A} , R 0 B R_{0B} 为清零控制端。
  • 计数器在不置数、不清零的前提下,时钟脉冲的下降沿工作,完成计
    数功能,有以下四种情况。
    在这里插入图片描述

上述功能的优先级排序为“置 9→清零→计数”。

综上所述,74LS90 是一个下降沿工作的加法计数器,可以完成二进制和五进制计数功能,并通过异步级联方式,完成两种类型的十进制计数功能,但没有设置输出进位端,并且,电路还具有异步清零、高有效;异步置 9、高有效的功能。

74LS90 组成 8421 BCD 码形式的十进制加法计数器

根据 74LS90 的功能表可知,将 74LS90 组成“二进制单元先运行,五进制
单元后运行”的结构,就得到输出状态排列符合 8421 BCD 码形式的十进制加法计数器,也常常称为“2×5 的十进制加法计数器”,其逻辑电路图和结构示意
图如图所示:
在这里插入图片描述
得到十进制异步加法计数器的状态表:
在这里插入图片描述
观察表中输出状态的迁移规律,可以发现,电路工作时,其工作循环由 10 种状态递增迁移组成,且输出状态遵照 8421 BCD 码形式排列。

74LS90 组成 5421 BCD 码形式的十进制加法计数器

如果将 74LS90 组成“五进制单元先运行,二进制单元后运行”的结构,就
得到输出状态排列符合5421 BCD码形式的十进制加法计数器,也常常称为“5×2的十进制加法计数器”,其逻辑电路图和结构示意图如图所示:
在这里插入图片描述
按照上图所示异步级联方式得到的十进制异步加法计数器的状态表:
在这里插入图片描述
观察表中输出状态的迁移规律,可以发现,电路工作时,其工作循环中的 10 种状态遵照 5421BCD 码形式。

3. 计数器的应用

用大模数计数器实现小模数计数器

异步清零法和同步清零法

在这里插入图片描述

[例] 使用74LS90实现七进制加法计数器(异步清零法)
在这里插入图片描述
因为是七进制计数器,所以时钟信号为6时应该回到初始状态:
在这里插入图片描述
但是最后一个状态 Q 0 Q_0 为0时,是无法构成有效循环的,所以状态表要加一行:
在这里插入图片描述
然后连接电路图:
在这里插入图片描述
画出状态波形图:
在这里插入图片描述
[例] 使用74LS90实现七进制加法计数器(同步清零法)

直接在终点本身创建控制信号:
在这里插入图片描述
对应电路图如下所示:
在这里插入图片描述

采用大模数计数器生成小模数计数器的方法总结

采用大模数计数器实现小模数计数器时,根据芯片是否提供的清零或者置
数功能,以及清零、置数功能的实现方式,包括四种方法:

  1. 同步清零
  2. 异步清零
  3. 同步置数
  4. 异步置数

当然,这里所说的“同步方式”、“异步方式”和时序逻辑电路分类中所说的“同步时序”、“异步时序”完全不是一个概念。

现在具体总结一下这四种方法的详细步骤和使用差异:

  1. 了解芯片功能
    根据芯片功能示意图和功能表等资料,确定芯片是否提供清零、置数功能,
    并根据控制端和时钟脉冲配合方式,确定相应功能的实现方式(同步方式或异步方式),由此决定,选用何种方法实现小模数计数器。
  2. 确定工作循环
    不论是同步方式还是异步方式:
    如果采用清零法,输出状态“全零”必然是工作循环的起点;
    如果采用置数法,就将人为指定的起点在置数数据输入端体现。
    确定起点后,根据芯片的状态迁移顺序,列出符合设计要求的工作循环,
    从而得到终点状态。
  3. 生成控制信号
    不论是清零法还是置数法,确定生成控制信号的状态时:
    只要是同步方式,就利用终点状态本身;
    只要是异步方式,就利用工作循环终点的下一个状态。
    根据控制端的有效方式,使用合适的门器件,生成控制信号,反馈接入相应的控制端。
    当然,在具体应用时,还需要注意到一些细节问题,例如:
    选用的计数器芯片的状态迁移顺序要符合设计目标的要求;
    根据芯片的清零、置数功能的优先级,正确地消除无需利用的其他功能的影响;
    正确地为芯片的计数控制端接入有效信号;
    此外,还需要特别关注二进制计数器芯片和十进制计数器芯片的计数进制的差异。

4. 寄存器

寄存:把二进制数据和代码存储起来的过程。

寄存器:用于完成寄存功能,存储二进制数据和代码的电路。

寄存器的电路结构,以触发器为核心单元;一个触发器能记忆一位二进制代码。

寄存器的分类

  • 基本寄存器:
    完成对并行输入数据的存储,数据也只能并行输出,形成"并行输入、并行输出"的传输结构。
    存储单元采用基本触发器、同步触发器或边沿触发器均可构成。
  • 移位寄存器
    既可以存储数据,又具有数据移位功能的寄存器,一般均设置了数据串行输入端和串行输出端。从而可以形成灵活的数据传输结构。
    存储单元只能用边沿触发器构成。

基本寄存器的结构和原理

在这里插入图片描述
以4位基本寄存器74LS175为例:

在这里插入图片描述
在这里插入图片描述

移位寄存器的结构和原理

在这里插入图片描述
4位右移寄存器:
在这里插入图片描述

在这里插入图片描述

集成移位寄存器74LS194

芯片封装图:
在这里插入图片描述
功能示意图:
在这里插入图片描述
在这里插入图片描述

5. 移位寄存器的应用

环形计数器

电路组成

使用 4 位双向移位寄存器74LS194,并设置为右移输入工作方式( C R = 1 \overline{CR}=1 M 1 = 0 M_1=0 M 0 = 1 M_0=1

按照寄存器的输出状态排列顺序 Q 0 Q 1 Q 2 Q 3 Q_0Q_1Q_2Q_3 ,将最右端的状态 Q 3 Q_3 接入右移串行数据输入端 D S R D_{SR} ,形成图示的环形计数器:
在这里插入图片描述

工作原理

当电路的初始状态 Q 0 Q 1 Q 2 Q 3 = 1000 Q_0Q_1Q_2Q_3=1000 时,随着外部时钟信号的输入,电路的状态迁移为 1000->0100->0010->0001->1000,形成四进制的有效循环。

以此类推,不需要列出电路的状态方程,就可以推导出电路所有的状态迁移
关系,从而方便地得到环形计数器的状态图,如图所示:
在这里插入图片描述
采用 4 位双向移位寄存器组成的环形计数器,其状态循环最大的模数为4,选择 1000->0100->0010->0001->1000 组成的状态循环为有效循环,由 4 个
有效状态构成,即形成了四进制移位型计数器

选定的工作循环中,环形计数器处于任何工作状态时,4 个触发器的输出端
中只有一个 1。从输出状态的波形上看,当电路连续输入时钟脉冲时,4 个触发器的状态端 Q 0 Q_0 , Q 1 Q_1 , Q 2 Q_2 , Q 3 Q_3 依次出现高电平,即轮流出现矩形脉冲。

这也就是环形计数器的主要工作特点,因此,用移位寄存器组成的环形
计数器也常常称为环形脉冲分配器。

同时,这样的环形计数器工作时,全部可能的 16 个状态中,只利用了 4
个,构成四进制计数器,其状态利用率很低。

  • 这样的环形计数器的主要缺陷是不具有自启动能力
    电路工作时,一旦状态脱离出有效循环,进入无效循环,除非人工干预,电路不能自动返回有效循环。因此,为了保证环形计数器可靠工作,需要在正常工作前,首先通过并行数据输入端,或者串行数据输入端将电路状态置为有效循环中的某个有效状态,然后再接入工作时钟脉冲,开始计数。

扭环形计数器

电路组成

使用 4 位双向移位寄存器 74LS194,并设置为右移输入工作方式( C R = 1 \overline{CR}=1 M 1 = 0 M_1=0 M 0 = 1 M_0=1 )。

按照寄存器的输出状态排列顺序 Q 0 Q 1 Q 2 Q 3 Q_0Q_1Q_2Q_3 ,将最右端的状态 Q 3 Q_3 过一个非门后,接入右移串行数据输入端 D S R D_{SR} ,形成如图所示的扭环形计数器:
在这里插入图片描述

工作原理

当电路的初始状态 Q 0 Q 1 Q 2 Q 3 = 0000 Q_0Q_1Q_2Q_3=0000 时,随着外部时钟信号的输入,出现 0000->1000->…->0001->0000的状态迁移关系,形成八进制的有效循环。以此类推,可以推导出电路所有的状态迁移关系,从而方便地得到扭环形计数器的状态图,如图所示:
在这里插入图片描述
采用 4 位双向移位寄存器组成的扭环形计数器具有两个八进制的状态循环。选择 0000->1000->…->0001->0000 的状态循环为有效循环,电路显然是一个不具有自启动能力的八进制移位型计数器。

为了保证扭环形计数器能够可靠工作,需要在正常工作前,首先通过并行数据输入端,或者串行数据输入端将电路状态置为有效循环中的某个有效状态,然后再接入工作时钟脉冲,开始计数。

与四位环形计数器相比,扭环形计数器的状态利用率提高了一倍。

任意N进制移位型计数器

使用移位寄存器组成移位型计数器时,不论是状态利用率低的环形计数器、扭环形计数器,还是状态利用率高的最大长度移位型计数器,最终实现的计数器的模数都是固定的,这仍然不够灵活,限制了应用范围。

如果能够仔细设计反馈输入信号,使用移位寄存器也可以组成任意N进制移位型计数器,使得器件的应用更加灵活方便。

以下以 4 位右移寄存器为例,介绍具体的设计原理和过程。

设 4 位右移寄存器现态为 Q 0 Q 1 Q 2 Q 3 Q_0Q_1Q_2Q_3 ,则根据右移输入数据的不同,状态迁移关系只可能有如下两种情况:
在这里插入图片描述

由此可知,4 位右移寄存器工作时,所有可能的状态迁移关系只有 32 个,
逐一分析,能得到 4 位右移寄存器的全状态图。以此类推, n位右移寄存器的全状态图上,共有2n个状态迁移关系。

下图为 4 位右移寄存器的全状态图,4 位左移寄存器的情况是类似的:
在这里插入图片描述
在全状态图上,可以找到状态数量不同的多种工作循环,只要右移数据
输入端的输入信号符合工作循环的状态迁移条件(输入一组特定的串行数据),即可实现任意 进制移位型计数器。

具体而言,根据选择的工作循环,利用寄存器的输出状态端,通过设计,反
馈形成所需要的串行数据,接入寄存器的右移数据输入端即可。当然,使用 n位移位寄存器能够实现的移位型计数器的最大模数,仍然是 2 n 1 2^n-1

猜你喜欢

转载自blog.csdn.net/zbp_12138/article/details/106932523