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

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

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

1. 分析与设计

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

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

在这里插入图片描述

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

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

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

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

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

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

"自启动"与"自校正"

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

在这里插入图片描述

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

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

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

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

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

基本流程

在这里插入图片描述

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

下面来看一看例题:

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

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

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

逻辑抽象

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

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

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

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

最后从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 FF2 F F 1 FF_1 FF1 F F 0 FF_0 FF0表示
  • 输出进位信号C ,高有效

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

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

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

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

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

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

评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

Mr.郑先生_

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值