数电 第六章:时序逻辑电路
考纲:掌握同步时序电路的分析与设计方法;掌握常用时序模块电路的逻辑功能及其应用(主要包括寄存器、计数器、移位寄存器);掌握用计数器、移位寄存器实现控制器、序列信号发生器等常用时序电路的方法。
熟悉常用异步计数器的功能和应用,掌握异步时序电路的设计和分析方法。
时序逻辑电路的特点:
①. 功能上:任意时刻的输出信号不仅取决于当时的输入信号,而且取决于电路原来的状态。
②. 电路结构上:包含存储电路和组合电路;存储器状态和输入变量共同决定输出。
输入信号$X$,输出信号$Y$,存储电路的输入信号$Z$,存储电路的输出信号$Q$之间的逻辑关系可用三个方程来描述:
- 输出方程:$Y=F[X,Q]$
- 激励方程:$Z=G[X,Q]$
- 状态方程:$Q^\star=H[Z,Q]$
时序逻辑电路的分类:
①. 同步时序电路和异步时序电路
- 同步:使用统一的CLK,状态变化发生在同一时刻
- 异步:没有统一的CLK,状态变化不是同时发生的
②. 米利型电路和穆尔型电路
- 米利型:输出信号取决于存储电路的状态和输入变量
- 穆尔型:输出信号仅仅取决于存储电路的状态
6.1 时序逻辑电路的分析方法
6.1.1 同步时序逻辑电路的分析方法
一般步骤:
①. 从给定电路写出存储电路中每个触发器的驱动方程(输入的逻辑式), 得到整个电路的激励方程;
②. 将驱动方程代入触发器的特性方程,得到状态方程;
③. 从给定电路写出输出方程。
若两个电路状态在相同的输入下有相同的输出,并且转换到同样的一个次态中去,则称这两个状态为等价状态。
6.1.2 描述时序电路状态转换的其它方式
一、状态转换表
二、状态转换图
三、状态机流程图(SM图)
四、时序图
6.1.2 异步时序逻辑电路的分析方法
与同步时序电路分析方法的区别在于,还需要找出每次电路状态转换时哪些触发器有时钟信号,哪些触发器没有时钟信号。
6.2 若干常用的时序逻辑电路
6.2.1 寄存器和移位寄存器
寄存器
用于寄存一组0,1代码,只要求其中每个触发器可置1、置0
移位寄存器
移位寄存器除了具有存储代码的功能之外, 还具有移位功能。
可用来实现数据的串行-并行转换、数值运算等。
6.2.2 计数器
用于计数、分频、定时、产生节拍脉冲等。
分类:
- 按时钟分:同步计数器,异步计数器
- 按数字增减分类:加法计数器,减法计数器,可逆计数器(加/减计数器)
- 按数字的编码方式分类:二进制计数器、二-十进制计数器、格雷码计数器
- 按技术容量分类:十进制计数器,六十进制计数器
同步计数器
同步二进制计数器
①:同步二进制加法计数器
②. 同步二进制减法计数器
③. 同步二进制加/减法计数器
a. 单时钟方式(74LS191,异步置数,异步置零)
加减脉冲用统一输入端,由加/减控制线的高低电平决定加/减。
- $C/B$是进位/借位信号输出端。当计数器做加法计数$(U’/D=1)$,且$Q_3Q_2Q_1Q_0=1111$时,$C/B=1$,有进位输出;当计数器做减法计数$(U’/D=0)$,且$Q_3Q_2Q_1Q_0=0000$时,有借位输出。
- $CLK_0$时串行时钟输出端,当$C/B=1$时,在下一个$CLK_1$上升沿到达之前$CLK_0$端有一个负脉冲输出。
b. 双时钟方式
加法和减法计数脉冲来自两个不同的脉冲源。
同步十进制计数器
①. 同步十进制加法计数器
在1001状态,再经过一个时钟周期,就会回到初状态0000。
一个同步十进制加法计数器:74160,同步预置数,异步置零
②. 同步十进制减法计数器
在0000状态,再经过一个时钟周期,就会回到末状态1001。
③. 同步十进制加/减法计数器
a. 单时钟方式
b. 双时钟方式
74LS192
异步计数器
异步二进制计数器
①. 异步二进制加法计数器
每一位如果已经是1,则再记入1时应变为0,同时向高位发出进位信号,使高位翻转。
若使用下降沿动作的T触发器组成计数器并令T=1,则只要将低位触发器的Q端接至高位触发器的时钟输入端。当低位由1变为0时,Q端的下降沿正好可以作为高位的时钟信号。
用上升沿触发的T触发器同样可以组成异步二进制加法计数器,此时每一级触发器的进位脉冲应该为由$Q’$端输出。
②. 异步二进制减法计数器
若低位触发器已经为0,则再输入一个减法计数脉冲后应翻转成1,同时向高位发出借位信号,使高位翻转。
异步十进制计数器
①. 异步十进制加法计数器
在计数过程中跳过1010到1111六个状态。
二-五-十进制异步计数器:74LS290,异步置数,异步复位
任意进制计数器的构成方法
假定已有的是N进制计数器,而需要得到的是M进制计数器。
N>M
计数循环过程中设法跳过N-M个状态
方法:置零法和置数法(都有同步和异步之分)
注意同步和异步对于状态循环的区别。同步:计数循环包含临界状态;异步:计数循环不包含临界状态。
异步的时候,一般的情况指令信号持续性太短,电路可靠性不高。改进措施为接入一个SR锁存器。
N<M
①. M=N1×N2
N1和N2间的连接有两种方式:
a. 并行进位方式:用同一个CLK,低位片的进位输出作为高位片的计数控制信号
b: 串行进位方式:低位片的进位输出作为高位片的CLK,两片始终同时处于计数状态
②. M不可分解
先用两片接成M’>M的计数器,再采用整体置零或整体置数的方法。
移位寄存器型计数器
环形计数器
自启动:当电路进入任何无效状态后,都能在时钟信号作用下自动返回有效循环中去。
扭环形计数器
6.2.3 顺序脉冲发生器
产生一组顺序脉冲,再用这组脉冲形成所需要的各种控制信号,已完成按照事先规定的顺序进行的一系列操作。
6.2.4 序列信号发生器
一组特定的串行数字信号称为序列信号。产生序列信号的电路称为序列信号发生器。
①. 用计数器和数据选择器构成
②. 用带反馈逻辑电路的移位寄存器构成
6.3 时序逻辑电路的设计方法
6.3.1 同步时序逻辑电路的设计方法
设计的一般步骤:
①. 逻辑抽象:求出状态转换图或状态转换表
- 确定输入/输出变量、电路状态数
- 定义输入/输出逻辑状态以及每个电路状态的含义,并对电路状态进行编号
- 按设计要求列出状态转换表,或画出状态转换图
②. 状态化简:若两个状态在相同的输入下有相同的输出并转换到同一个次态,则称为等价状态,等价状态可以合并
③. 状态分配(编码)
- 确定触发器数目:n个触发器,需M个状态,$2^{n-1}\lt M\le 2^n$
- 给每个状态规定一个代码
④. 选定触发器类型:求出状态方程,驱动方程,输出方程
⑤. 根据得到的方程式画出逻辑图
⑥. 检查设计的电路能否自启动,若不能自启动:
- 在电路开始工作时预置数到有效状态循环中
- 修改逻辑设计
6.3.2 时序逻辑电路的自启动设计
在非完全描述时序电路中,由于存在无效状态,使得在激励函数的获取过程中出现了任意项。在求取激励函数时,如果某任意项被圈入,则该任意项被确认为1,否则被确认为0。
方法:在分析观察的基础上,改变原来的卡诺图圈法。
6.3.3 异步时序逻辑电路的设计方法
和同步的区别在于,还要为每个触发器选定合适的时钟信号。
为触发器挑选时钟信号的原则是:第一,触发器的状态应该翻转时必须有时钟信号发生; 第二,触发器的状态不应翻转时“多余的”时钟信号越少越好。
画$Q^\star$的卡诺图时,把没有时钟信号的次态也作为任意项处理。
6.4 时序逻辑电路中的竞争-冒险现象
包含两个方面。
组合电路部分发生竞争-冒险现象
竞争产生的尖峰脉冲并不影响组合电路的稳态输出,但尖峰脉冲会被触发器接收,而触发器可能会误翻转。触发器误翻转会引起整个时序电路误动作。
存储电路部分发生竞争-冒险现象
如果触发器时钟和输入信号同时改变,则会产生竞争。
竞争的结果有可能导致触发器误动作,这种现象称为存储电路(触发器)的竞争-冒险现象。
一般认为存储电路的竞争-冒险现象仅发生在异步时序电路中。
解决方法:在一些信号传输通道上增加延迟环节。