第六章 时序逻辑电路
时序逻辑电路简称时序电路,与组合逻辑电路并驾齐驱,是数字电路两大重要分支之一。本章首先介绍时序逻辑电路的基本概念、特点及时序逻辑电路的一般分析方法。然后重点讨论典型时序逻辑部件计数器和寄存器的工作原理、逻辑功能、集成芯片及其使用方法及典型应用。最后简要介绍同步时序逻辑电路的设计方法。
6.1 时序逻辑电路的基本概念
一.时序逻辑电路的结构及特点时序逻辑电路——电路任何一个时刻的输出状态不仅取决于当时的输入信号,还与电路的原状态有关。
时序电路中必须含有具有记忆能力的存储器件。存储器件的种类很多,如触发器、延迟线、磁性器件等,但最常用的是触发器。
由触发器作存储器件的时序电路的基本结构框图如图6.1.1所示,一般来说,它由组和电路和触发器两部分组成。
二,时序逻辑电路的分类
按照电路状态转换情况不同,时序电路分为同步时序电路和异步时序电路两大类。
按照电路中输出变量是否和输入变量直接相关,时序电路又分为米里(Mealy)型电路和莫尔(Moore)型电路。米里型电路的外部输出Z既与触发器的状态Qn有关,又与外部输入X有关。而莫尔型电路的外部输出Z仅与触发器的状态Qn有关,而与外部输入X无关。
6.2 时序逻辑电路的一般分析方法
一,分析时序逻辑电路的一般步骤
1.根据给定的时序电路图写出下列各逻辑方程式:
(1)各触发器的时钟方程。
(2)时序电路的输出方程。
(3)各触发器的驱动方程。
2.将驱动方程代入相应触发器的特性方程,求得各触发器的次态方程,也就是时序逻辑电路的状态方程。
3.根据状态方程和输出方程,列出该时序电路的状态表,画出状态图或时序图。
4.根据电路的状态表或状态图说明给定时序逻辑电路的逻辑功能。
下面举例说明时序逻辑电路的具体分析方法。
二.同步时序逻辑电路的分析举例
例6.2.1:试分析图6.2.2所示的时序逻辑电路
图6.2.2 例6.2.1的逻辑电路图解:由于图6.2.2为同步时序逻辑电路,图中的两个触发器都接至同一个时钟脉冲源CP,所以各触发器的时钟方程可以不写。
(1)写出输出方程, (6.1.5)
(2)写出驱动方程:
(6.1.6a)
(6.1.6b)
(3)写出JK触发器的特性方程,然后将各驱动方程代入JK触发器的特性方程,得各触发器的次态方程:
(6.1.7a)
(6.1.7b)
(4)作状态转换表及状态图由于输入控制信号X可取1,也可取0,所以分两种情况列状态转换表和画状态图。
①当X=0时。
将X=0代入输出方程(6.1.5)和触发器的次态方程(6.1.7),则输出方程简化为:;触发器的次态方程简化为:,。
设电路的现态为,依次代入上述触发器的次态方程和输出方程中进行计算,得到电路的状态转换表如表6.2.1所示。
根据表6.2.1所示的状态转换表可得状态转换图如图6.2.3所示。
表6.2.1 X=0时的状态表现 态
次态
输出
Z
0 0
0 1
1 0
0 1
1 0
0 0
0
0
1
②当X=1时。
输出方程简化为:;
触发器的次态方程简化为:,
计算可得电路的状态转换表如表6.2.2所示,状态图如图6.2.4所示。
表6.2.2 X=1时的状态表现 态
次态
输出
Y
0 0
1 0
0 1
1 0
0 1
0 0
1
0
0
将图6.2.3和图6.2.4合并起来,就是电路完整的状态图,如图6.2.5所示。
(5)画时序波形图。
如图6.2.6所示。
图6.2.6 例6.2.1电路的时序波形图
(6)逻辑功能分析该电路一共有3个状态00、01、10。当X=0时,按照加1规律从00→01→10→00循环变化,并每当转换为10状态(最大数)时,输出Z=1。当X=1时,按照减1规律从10→01→00→10循环变化,并每当转换为00状态(最小数)时,输出Z=1。所以该电路是一个可控的3进制计数器,当X=0时,作加法计数,Z是进位信号;当X=1时,作减法计数,Z是借位信号。
三.异步时序逻辑电路的分析举例
由于在异步时序逻辑电路中,没有统一的时钟脉冲,因此,分析时必须写出时钟方程。
例6.2.2:试分析图6.2.7所示的时序逻辑电路
图6.2.7 例6.2.2的逻辑电路图解:(1)写出各逻辑方程式。
①时钟方程:
CP0=CP (时钟脉冲源的上升沿触发。)
CP1=Q0 (当FF0的Q0由0→1时,Q1才可能改变状态,否则Q1将保持原状态不变。)
②输出方程, (6.1.8)
③各触发器的驱动方程:
(6.1.9)
(2)将各驱动方程代入D触发器的特性方程,得各触发器的次态方程:
(CP由0→1时此式有效) (6.1.10a)
(Q0由0→1时此式有效) (6.1.10b)
(3)作状态转换表、状态图、时序图表6.2.3 例6.2.2电路的状态转换表现态
次态
输出
时钟脉冲
Z
CP1 CP0
0 0
1 1
1 0
0 1
1 1
1 0
0 1
0 0
1
0
0
0
↑ ↑
0 ↑
↑ ↑
0 ↑
根据状态转换表可得状态转换图如图6.2.8所示,时序图如图6.2.9所示。
图6.2.8 例6.2.2电路的状态图 图6.2.9 例6.2.2电路的时序图
(5)逻辑功能分析
由状态图可知:该电路一共有4个状态00、01、10、11,在时钟脉冲作用下,按照减1规律循环变化,所以是一个4进制减法计数器,Z是借位信号。
6.3 计数器
计数器——用以统计输入脉冲CP个数的电路。
计数器的分类:
按计数进制可分为二进制计数器和非二进制计数器。非二进制计数器中最典型的是十进制计数器。
按数字的增减趋势可分为加法计数器、减法计数器和可逆计数器。
按计数器中触发器翻转是否与计数脉冲同步分为同步计数器和异步计数器。
一.二进制计数器
1.二进制异步计数器
(1)二进制异步加法计数器。
图6.3.1所示为由4个下降沿触发的JK触发器组成的4位异步二进制加法计数器的逻辑图。图中JK触发器都接成T’触发器(即J=K=1)。最低位触发器FF0的时钟脉冲输入端接计数脉冲CP,其他触发器的时钟脉冲输入端接相邻低位触发器的Q端。
图6.3.1 由JK触发器组成的4位异步二进制加法计数器的逻辑图
由于该电路的连线简单且规律性强,无须用前面介绍的分析步骤进行分析,只需作简单的观察与分析就可画出时序波形图或状态图,这种分析方法称为“观察法”。
用“观察法”作出该电路的时序波形图如图6.3.2所示,状态图如图6.3.3所示。由状态图可见,从初态0000(由清零脉冲所置)开始,每输入一个计数脉冲,计数器的状态按二进制加法规律加1,所以是二进制加法计数器(4位)。又因为该计数器有0000~1111共16个状态,所以也称16进制(1位)加法计数器或模16(M=16)加法计数器。
图6.3.2 图6.3.1所示电路的时序图
图6.3.3 图6.3.1所示电路的状态图另外,从时序图可以看出,Q0、Ql、Q2、Q3的周期分别是计数脉冲(CP)周期的2倍、4倍、8倍、16倍,也就是说,Q0、Ql、Q2、Q3分别对CP波形进行了二分频、四分频、八分频、十六分频,因而计数器也可作为分频器。
异步二进制计数器结构简单,改变级联触发器的个数,可以很方便地改变二进制计数器的位数,n个触发器构成n位二进制计数器或模2n计数器,或2n分频器。
(2)二进制异步减法计数器
将图6.3.1所示电路中FF1、FF2、FF3的时钟脉冲输入端改接到相邻低位触发器的端就可构成二进制异步减法计数器,其工作原理请读者自行分析。
图6.3.4所示是用4个上升沿触发的D触发器组成的4位异步二进制减法计数器的逻辑图。
图6.3.4 D触发器组成的4位异步二进制减法计数器的逻辑图
从图6.3.1和图6.3.6可见,用JK触发器和D触发器都可以很方便地组成二进制异步计数器。方法是先将触发器都接成T’触发器,然后根据加、减计数方式及触发器为上升沿还是下降沿触发来决定各触发器之间的连接方式。
图6.3.5 图6.3.4电路的时序图
图6.3.6 图6.3.4电路的状态图
在二进制异步计数器中,高位触发器的状态翻转必须在相邻触发器产生进位信号(加计数)或借位信号(减计数)之后才能实现,所以异步计数器的工作速度较低。为了提高计数速度,可采用同步计数器。
2.二进制同步计数器
(1)二进制同步加法计数器图6.3.7所示为由4个JK触发器组成的4位同步二进制加法计数器的逻辑图。图中各触发器的时钟脉冲输入端接同一计数脉冲CP,显然,这是一个同步时序电路。
各触发器的驱动方程分别为:
J0=K0=1,
J1=K1=Q0,
J2=K2=Q0Q1,
J3=K3=Q0Q1Q2
图6.3.7 4位同步二进制加法计数器的逻辑图
由于该电路的驱动方程规律性较强,也只需用“观察法”就可画出时序波形图或状态表。
表6.3.1 图6.3.7所示4位二进制同步加法计数器的状态表计数脉冲序号
电 路 状 态
等效十进制数
Q3 Q2 Q1 Q0
0
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
0 0 0 0
0 0 0 1
0 0 1 0
0 0 1 1
0 1 0 0
0 1 0 1
0 1 1 0
0 1 1 1
1 0 0 0
1 0 0 1
1 0 1 0
1 0 1 1
1 1 0 0
1 1 0 1
1 1 1 0
1 1 1 1
0 0 0 0
0
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
0
由于同步计数器的计数脉冲CP同时接到各位触发器的时钟脉冲输入端,当计数脉冲到来时,应该翻转的触发器同时翻转,所以速度比异步计数器高,但电路结构比异步计数器复杂。
(2)二进制同步减法计数器
4位二进制同步减法计数器的状态表如表6.3.2所示,分析其翻转规律并与4位二进制同步加法计数器相比较,很容易看出,只要将图6.3.7所示电路的各触发器的驱动方程改为:
J0=K0=1
J1=K1=
J2=K2=
J3=K3=
就构成了4位二进制同步减法计数器。
表6.3.2 4位二进制同步减法计数器的状态表计数脉冲序号
电 路 状 态
等效十进制数
Q3 Q2 Q1 Q0
0
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
0 0 0 0
1 1 1 1
1 1 1 0
1 1 0 1
1 1 0 0
1 0 1 1
1 0 1 0
1 0 0 1
1 0 0 0
0 1 1 1
0 1 1 0
0 1 0 1
0 1 0 0
0 0 1 1
0 0 1 0
0 0 0 1
0 0 0 0
0
15
14
13
12
11
10
9
8
7
6
5
4
3
2
1
0
(3)二进制同步可逆计数器既能作加计数又能作减计数的计数器称为可逆计数器。将前面介绍的4位二进制同步加法计数器和减法计数器合并起开,并引入一加/减控制信号X便构成4位二进制同步可逆计数器,如图6.3.8所示。由图可知,各触发器的驱动方程为:
J0=K0=1
J1=K1=
J2=K2=
J3=K3=
图6.3.8 二进制可逆计数器的逻辑图
当控制信号X=1时,FF1~FF3中的各J、K端分别与低位各触发器的Q端相连,作加法计数;当控制信号X=0时,FF1~FF3中的各J、K端分别与低位各触发器的端相连,作减法计数,实现了可逆计数器的功能。
3.集成二进制计数器举例
(1)4位二进制同步加法计数器74161
表6.3.3 74161的功能表清零
预置
使能
时钟
预置数据输入
输出
工作模式
RD
LD
EP ET
CP
D3 D2 D1 D0
Q3 Q2 Q1 Q0
0
1
1
1
1
×
0
1
1
1
× ×
× ×
0 ×
× 0
1 1
×
↑
×
×
↑
× × × ×
d3 d2 d1 d0
× × × ×
× × × ×
× × × ×
0 0 0 0
d3 d2 d1 d0
保 持保 持计 数
异步清零同步置数数据保持数据保持加法计数
由表可知,74161具有以下功能:
① 异步清零。当RD=0时,不管其他输入端的状态如何,不论有无时钟脉冲CP,计数器输出将被直接置零(Q3Q2QlQ0=0000),称为异步清零。
② 同步并行预置数。当RD=1、LD=0时,在输入时钟脉冲CP上升沿的作用下,并行输入端的数据d3d2d1d0被置入计数器的输出端,即Q3Q2QlQ0=d3d2d1d0。由于这个操作要与CP上升沿同步,所以称为同步预置数。
③ 计数。当RD=LD=EP=ET=1时,在CP端输入计数脉冲,计数器进行二进制加法计数。
④ 保持。当RD=LD=1,且=0,即两个使能端中有0时,则计数器保持原来的状态不变。这时,如EP=0、ET=1,则进位输出信号RCO保持不变;如ET=0则不管EP状态如何,进位输出信号RCO为低电平0。
图6.3.11 74161的时序图
(2)4位二进制同步可逆计数器74191
图6.3.12(a)是集成4位二进制同步可逆计数器7419l的逻辑功能示意图,(b)是其引脚排列图。其中LD是异步预置数控制端,D3、D2、D1、D0是预置数据输入端;EN是使能端,低电平有效;D/是加/减控制端,为0时作加法计数,为1时作减法计数;MAX/MIN是最大/最小输出端,RCO是进位/借位输出端。
图6.3.12 7419l的逻辑功能示意图及引脚图 (a)逻辑功能示意图 (b)引脚图
表6.3.4 74191的功能表预置
使能
加/减控制
时钟
预置数据输入
输出
工作模式
LD
EN
D/
CP
D3 D2 D1 D0
Q3 Q2 Q1 Q0
0
1
1
1
×
1
0
0
×
×
0
1
×
×
↑
↑
d3 d2 d1 d0
× × × ×
× × × ×
× × × ×
d3 d2 d1 d0
保 持加法计数减法计数
异步置数数据保持加法计数减法计数
表6.3.4是7419l的功能表。由表可知,74191具有以下功能:
① 异步置数。当LD=0时,不管其他输入端的状态如何,不论有无时钟脉冲CP,并行输入端的数据d3d2d1d0被直接置入计数器的输出端,即Q3Q2QlQ0=d3d2d1d0。由于该操作不受CP控制,所以称为异步置数。注意该计数器无清零端,需清零时可用预置数的方法置零。
② 保持。当LD=1且EN=1时,则计数器保持原来的状态不变。
③ 计数。当LD=1且EN=0时,在CP端输入计数脉冲,计数器进行二进制计数。当D/=0时作加法计数;当D/=1时作减法计数。
另外,该电路还有最大/最小控制端MAX/MIN和进位/借位输出端RCO。它们的逻辑表达式为:
MAX/MIN=
RCO=
即当加法计数,计到最大值1111时,MAX/MIN端输出1,如果此时CP=0,则RCO=0,发一个进位信号;当减法计数,计到最小值0000时,MAX/MIN端也输出1。如果此时CP=0,则RCO=0,发一个借位信号。
二.非二进制计数器
N进制计数器又称模N计数器,当N=2n时,就是前面讨论的n位二进制计数器;当N≠2n时,为非二进制计数器。非二进制计数器中最常用的是十进制计数器,下面讨论8421BCD码十进制计数器。
1.8421BCD码同步十进制加法计数器图6.3.14所示为由4个下降沿触发的JK触发器组成的8421BCD码同步十进制加法计数器的逻辑图。用前面介绍的同步时序逻辑电路分析方法对该电路进行分析:
(1)写出驱动方程:
(2)写出JK触发器的特性方程,然后将各驱动方程代入JK触发器的特性方程,得各触发器的次态方程:
图6.3.14 8421BCD码同步十进制加法计数器的逻辑图
(3)作状态转换表。
设初态为Q3Q2Q1Q0=0000,代入次态方程进行计算,得状态转换表如表6.3.5所示。
表6.3.5 图6.3.14电路的状态表
计数脉冲序号
现 态
次态
0
1
2
3
4
5
6
7
8
9
0 0 0 0
0 0 0 1
0 0 1 0
0 0 1 1
0 1 0 0
0 1 0 1
0 1 1 0
0 1 1 1
1 0 0 0
1 0 0 1
0 0 0 1
0 0 1 0
0 0 1 1
0 1 0 0
0 1 0 1
0 1 1 0
0 1 1 1
1 0 0 0
1 0 0 1
0 0 0 0
(4)作状态图及时序图。
根据状态转换表作出电路的状态图如图6.3.15所示,时序图如图6.3.16所示。由状态表、状态图或时序图可见,该电路为一8421BCD码十进制加法计数器。
图6.3.15 图6.3.14的状态图
图6.3.16 图6.3.14的时序图
(5)检查电路能否自启动。
由于图6.3.14所示的电路中有4个触发器,它们的状态组合共有16种,而在8421BCD码计数器中只用了10种,称为有效状态,其余6种状态称为无效状态。在实际工作中,当由于某种原因,使计数器进入无效状态时,如果能在时钟信号作用下,最终进入有效状态,我们就称该电路具有自启动能力。
用同样的分析的方法分别求出6种无效状态下的次态,补充到状态图中,得到完整的状态转换图,可见,电路能够自启动。
图6.3.17 图6.3.14完整的状态图
2.8421BCD码异步十进制加法计数器图6.3.18所示为由4个下降沿触发的JK触发器组成的8421BCD码异步十进制加法计数器的逻辑图。用前面介绍的异步时序逻辑电路分析方法对该电路进行分析:
图6.3.18 8421BCD码异步十进制加法计数器的逻辑图
(1)写出各逻辑方程式。
①时钟方程:
CP0=CP (时钟脉冲源的上升沿触发。)
CP1=Q0 (当FF0的Q0由1→0时,Q1才可能改变状态,否则Q1将保持原状态不变。)
CP2=Q1 (当FF1的Q1由1→0时,Q2才可能改变状态,否则Q2将保持原状态不变。)
CP3=Q0 (当FF0的Q0由1→0时,Q3才可能改变状态,否则Q3将保持原状态不变。)
②各触发器的驱动方程:
(2)将各驱动方程代入JK触发器的特性方程,得各触发器的次态方程:
(CP由1→0时此式有效)
(Q0由1→0时此式有效)
(Q1由1→0时此式有效)
(Q0由1→0时此式有效)
(3)作状态转换表。
设初态为Q3Q2Q1Q0=0000,代入次态方程进行计算,得状态转换表如表6.3.6所示。
表6.3.6 图6.3.14电路的状态表
计数脉冲序号
现 态
次态
时钟脉冲
CP3 CP2 CP1 CP0
0
1
2
3
4
5
6
7
8
9
0 0 0 0
0 0 0 1
0 0 1 0
0 0 1 1
0 1 0 0
0 1 0 1
0 1 1 0
0 1 1 1
1 0 0 0
1 0 0 1
0 0 0 1
0 0 1 0
0 0 1 1
0 1 0 0
0 1 0 1
0 1 1 0
0 1 1 1
1 0 0 0
1 0 0 1
0 0 0 0
0 0 0 ↓
↓ 0 ↓ ↓
0 0 0 ↓
↓ ↓ ↓ ↓
0 0 0 ↓
↓ 0 ↓ ↓
0 0 0 ↓
↓ ↓ ↓ ↓
0 0 0 ↓
↓ 0 ↓ ↓
3.集成十进制计数器举例
(1)8421BCD码同步加法计数器74160
其功能表如表6.3.7所示。各功能实现的具体情况参见74161的逻辑图。其中进位输出端RCO的逻辑表达式为:
RCO=
图6.3.19 74160的逻辑功能示意图和引脚图 (a)逻辑功能示意图 (b)引脚图表6.3.7 74160的功能表清零
预置
使能
时钟
预置数据输入
输出
工作模式
RD
LD
EP ET
CP
D3 D2 D1 D0
Q3 Q2 Q1 Q0
0
1
1
1
1
×
0
1
1
1
× ×
× ×
0 ×
× 0
1 1
×
↑
×
×
↑
× × × ×
d3 d2 d1 d0
× × × ×
× × × ×
× × × ×
0 0 0 0
d3 d2 d1 d0
保 持保 持十进制计数
异步清零同步置数数据保持数据保持加法计数
(2)二—五—十进制异步加法计数器74290
74290的逻辑图如图6.3.20(a)所示。它包含一个独立的1位二进制计数器和一个独立的异步五进制计数器。二进制计数器的时钟输入端为CP1,输出端为Q0;五进制计数器的时钟输入端为CP2,输出端为Q1、Q2、Q3。如果将Q0与CP2相连,CP1作时钟脉冲输入端,Q0~Q3作输出端,则为8421BCD码十进制计数器。
图6.3.20 二—五—十进制异步加法计数器74290
表6.3.8 74290的功能表复位输入
置位输入
时钟
输出
工作模式
R0(1) R0(2)
R9(1) R9(2)
CP
Q3 Q2 Q1 Q0
1 1
1 1
0 ×
× 0
×
×
0 0 0 0
0 0 0 0
异步清零
× ×
1 1
×
1 0 0 1
异步置数
0 ×
0 ×
× 0
× 0
0 ×
× 0
0 ×
× 0
↓
↓
↓
↓
计 数计 数计 数计 数
加法计数
表6.3.8是74290的功能表。由表可知,74290具有以下功能:
① 异步清零。当复位输入端R0(1)=R0(2)=1,且置位输入=0时,不论有无时钟脉冲CP,计数器输出将被直接置零。
② 异步置数。当置位输入R9(1)=R9(2)=1时,无论其他输入端状态如何,计数器输出将被直接置9(即Q3Q2QlQ0=1001)。
③ 计数。当=0,且=0时,在计数脉冲(下降沿)作用下,进行二—五—十进制加法计数。
三.集成计数器的应用
1.计数器的级联
两个模N计数器级联,可实现N×N的计数器。
(1)同步级联。
图6.3.21是用两片4位二进制加法计数器74161采用同步级联方式构成的8位二进制同步加法计数器,模为16×16=256。
图6.3.21 74161同步级联组成8位二进制加法计数器
(2)异步级联。
用两片74191采用异步级联方式构成的8位二进制异步可逆计数器如图6.3.22所示。
图6.3.22 74191异步级联组成8位二进制可逆计数器有的集成计数器没有进位/借位输出端,这时可根据具体情况,用计数器的输出信号Q3、Q2、Q1、Q0产生一个进位/借位。如用两片二—五—十进制异步加法计数器74290采用异步级联方式组成的二位8421BCD码十进制加法计数器如图6.3.23所示,模为10×10=100。
图6.3.23 74290异步级联组成100进制计数器
2.组成任意进制计数器市场上能买到的集成计数器一般为二进制和8421BCD码十进制计数器,如果需要其他进制的计数器,可用现有的二进制或十进制计数器,利用其清零端或预置数端,外加适当的门电路连接而成。
(1)异步清零法。适用于具有异步清零端的集成计数器。图6.3.24(a)所示是用集成计数器74161和与非门组成的6进制计数器。
图6.3.24 异步清零法组成6进制计数器
(2)同步清零法。适用于具有同步清零端的集成计数器。图6.3.25(a)所示是用集成计数器74163和与非门组成的6进制计数器。
图6.3.25 同步清零法组成6进制计数器
(3)异步预置数法。适用于具有异步预置端的集成计数器。图6.3.26(a)所示是用集成计数器74191和与非门组成的10进制计数器。该电路的有效状态是0011~1100,共10个状态,可作为余3码计数器。
图6.3.26 异步置数法组成余3码十进制计数器
(4)同步预置数法。适用于具有同步预置端的集成计数器。图6.3.27(a)所示是用集成计数器74160和与非门组成的7进制计数器。
综上所述,改变集成计数器的模可用清零法,也可用预置数法。清零法比较简单,预置数法比较灵活。但不管用那种方法,都应首先搞清所用集成组件的清零端或预置端是异步还是同步工作方式,根据不同的工作方式选择合适的清零信号或预置信号。
例6.3.1 用74160组成48进制计数器。
解:因为N=48,而74160为模10计数器,所以要用两片74160构成此计数器。
先将两芯片采用同步级联方式连接成100进制计数器,然后再借助74160异步清零功能,在输入第48个计数脉冲后,计数器输出状态为0100 1000时,高位片(2)的Q2和低位片(1)的Q3同时为1,使与非门输出0,加到两芯片异步清零端上,使计数器立即返回0000 0000状态,状态0100 1000仅在极短的瞬间出现,为过渡状态,这样,就组成了48进制计数器,其逻辑电路如图6.3.28所示。
图6.3.28 例6.3.1的逻辑电路图
3.组成分频器前面提到,模N计数器进位输出端输出脉冲的频率是输入脉冲频率的1/N,因此可用模N计数器组成N分频器。
例6.3.2 某石英晶体振荡器输出脉冲信号的频率为32768Hz,用74161组成分频器,将其分频为频率为1Hz的脉冲信号。
解,因为32768=215,经15级二分频,就可获得频率为1Hz的脉冲信号。因此将四片74161级联,从高位片(4)的Q2输出即可,其逻辑电路如图6.3.29所示。
图6.3.29 例6.3.2的逻辑电路图
4.组成序列信号发生器序列信号是在时钟脉冲作用下产生的一串周期性的二进制信号。图6.3.30是用74161及门电路构成的序列信号发生器。其中74161与G1构成了一个模5计数器,且Z=。在CP作用下,计数器的状态变化如表6.3.9所示。由于Z=,故不同状态下的输出如该表的右列所示。因此,这是一个01010序列信号发生器,序列长度P=5。
表6.3.9 状态表现 态
次态
输出
Z
0 0 0
0 0 1
0 1 0
0 1 1
1 0 0
0 0 1
0 1 0
0 1 1
1 0 0
0 0 0
0
1
0
1
0
图6.3.30 计数器组成序列信号发生器用计数器辅以数据选择器可以方便地构成各种序列发生器。构成的方法如下:
第一步 构成一个模P计数器;
第二步 选择适当的数据选择器,把欲产生的序列按规定的顺序加在数据选择器的数据输入端,把地址输入端与计数器的输出端适当地连接在一起。
例6.3.3 试用计数器74161和数据选择器设计一个01100011序列发生器。
解:由于序列长度P=8,故将74161构成模8计数器,并选用数据选择器74151产生所需序列,从而得电路如图6.3.31所示。
图6.3.31 计数器和数据选择器组成序列信号发生器
5.组成脉冲分配器
脉冲分配器是数字系统中定时部件的组成部分,它在时钟脉冲作用下,顺序地使每个输出端输出节拍脉冲,用以协调系统各部分的工作。
图6.3.32(a)为一个由计数器74161和译码器74138组成的脉冲分配器。74161构成模8计数器,输出状态Q2Q1Q0在000~111之间循环变化,从而在译码器输出端Y0~Y7分别得到图6.3.32(b)所示的脉冲序列。
6.4 数码寄存器与移位寄存器
一,数码寄存器数码寄存器——存储二进制数码的时序电路组件,它具有接收和寄存二进制数码的逻辑功能。前面介绍的各种集成触发器,就是一种可以存储一位二进制数的寄存器,用n个触发器就可以存储n位二进制数。
图6.4.1(a)所示是由D触发器组成的4位集成寄存器74LSl75的逻辑电路图,其引脚图如图6.4.1(b)所示。其中,RD是异步清零控制端。D0~D3是并行数据输入端,CP为时钟脉冲端,Q0~Q3是并行数据输出端,~是反码数据输出端。
该电路的数码接收过程为:将需要存储的四位二进制数码送到数据输入端D0~D3,在CP端送一个时钟脉冲,脉冲上升沿作用后,四位数码并行地出现在四个触发器Q端。
74LS175的功能示于表6.4.1中。
图6.4.1 4位集成寄存器74LSl75 (a)逻辑图 (b)引脚排列
表6.4.1 74LS175的功能表清零
时钟
输 入
输 出
工作模式
RD
CP
D0 D1 D2 D3
Q0 Q1 Q2 Q3
0
1
1
1
×
↑
1
0
× × × ×
D0 D1 D2 D3
× × × ×
× × × ×
0 0 0 0
D0 D1 D2 D3
保 持保 持
异步清零数码寄存数据保持数据保持
二.移位寄存器移位寄存器不但可以寄存数码,而且在移位脉冲作用下,寄存器中的数码可根据需要向左或向右移动1位。移位寄存器也是数字系统和计算机中应用很广泛的基本逻辑部件。
1.单向移位寄存器
(1)4位右移寄存器。
设移位寄存器的初始状态为0000,串行输入数码DI=1101,从高位到低位依次输入。在4个移位脉冲作用后,输入的4位串行数码1101全部存入了寄存器中。电路的状态表如表6.4.2所示,时序图如图6.4.3所示。
图6.4.2 D触发器组成的4位右移寄存器
图6.4.3 图6.4.2电路 的时序图
表6.4.2 右移寄存器的状态表移位脉冲
输入数码
输 出
CP
DI
Q0 Q1 Q2 Q3
0
1
2
3
4
1
1
0
1
0 0 0 0
1 0 0 0
1 1 0 0
0 1 1 0
1 0 1 1
移位寄存器中的数码可由Q3、Q2、Q1和Q0并行输出,也可从Q3串行输出。串行输出时,要继续输入4个移位脉冲,才能将寄存器中存放的4位数码1101依次输出。图6.4.3中第5到第8个CP脉冲及所对应的Q3、Q2、Q1、Q0波形,就是将4位数码1101串行输出的过程。所以,移位寄存器具有串行输入—并行输出和串行输入—串行输出两种工作方式。
(2)左移寄存器。
图6.4.4 D触发器组成的4位左移寄存器
2.双向移位寄存器将图6.4.2所示的右移寄存器和图6.4.4所示的左移寄存器组合起来,并引入一控制端S便构成既可左移又可右移的双向移位寄存器,如图6.4.5所示。
由图可知该电路的驱动方程为:
其中,DSR为右移串行输入端,DSL为左移串行输入端。当S=1时,D0=DSR、D1=Q0、D2=Q1、D3=Q2,在CP脉冲作用下,实现右移操作;当S=0时,D0=Q1、D1=Q2、D2=Q3、D3=DSL,在CP脉冲作用下,实现左移操作。
图6.4.5 D触发器组成的4位双向左移寄存器
三.集成移位寄存器74194
74194是由四个触发器组成的功能很强的四位移位寄存器,其功能表如表6.4.3所示。由表6.4.3可以看出74194具有如下功能。
图6.4.6 集成移位寄存器74194 (a)逻辑功能示意图 (b)引脚图
(1)异步清零。当RD=0时即刻清零,与其他输入状态及CP无关。
(2)S1、S0是控制输入。当RD=1时74194有如下4种工作方式:
①当S1S0=00时,不论有无CP到来,各触发器状态不变,为保持工作状态。
②当S1S0=01时,在CP的上升沿作用下,实现右移(上移)操作,流向是SR→Q0→Q1→Q2→Q3。
③当S1S0=10时,在CP的上升沿作用下,实现左移(下移)操作,流向是SL→Q3→Q2→Q1→Q0。
④当S1S0=11时,在CP的上升沿作用下,实现置数操作:D0→Q0,D1→Q1,D2→Q2,D3→Q3。
表6.4.3 74194的功能表输 入
输 出
工作模式
清零
控制
串行输入
时钟
并行输入
RD
S1 S0
DSL DSR
CP
D0 D1 D2 D3
Q0 Q1 Q2 Q3
0
× ×
× ×
×
× × × ×
0 0 0 0
异步清零
1
0 0
× ×
×
× × × ×
保 持
1
1
0 1
0 1
× 1
× 0
↑
↑
× × × ×
× × × ×
1
0
右移,DSR为串行输入,Q3为串行输出
1
1
1 0
1 0
1 ×
0 ×
↑
↑
× × × ×
× × × ×
1
0
左移,DSL为串行输入,Q0为串行输出
1
1 1
× ×
↑
D0 D1 D2 D3
D0 D1 D2 D3
并行置数
DSL 和DSR分别是左移和右移串行输入。D0、D1、D2和D3是并行输入端。Q0和Q3分别是左移和右移时的串行输出端,Q0、Q1、Q2和Q3为并行输出端。
四.移位寄存器构成的移位型计数器
1环形计数器图6.4.7是用74194构成的环形计数器的逻辑图和状态图。当正脉冲起动信号START到来时,使S1S0=11,从而不论移位寄存器74194的原状态如何,在CP作用下总是执行置数操作使Q0Q1Q2Q3=1000。当START由1变0之后,S1S0=01,在CP作用下移位寄存器进行右移操作。在第四个CP到来之前Q0Q1Q2Q3=0001。这样在第四个CP到来时,由于DSR=Q3=1,故在此CP作用下Q0Q1Q2Q3=1000。可见该计数器共4个状态,为模4计数器。
图6.4.7 用74194构成的环形计数器 (a)逻辑图 (b)状态图环形计数器的电路十分简单,N位移位寄存器可以计N个数,实现模N计数器,且状态为1的输出端的序号即代表收到的计数脉冲的个数,通常不需要任何译码电路。
2.扭环形计数器为了增加有效计数状态,扩大计数器的模,将上述接成右移寄存器的74194的末级输出Q3反相后,接到串行输入端DSR,就构成了扭环形计数器,如图6.4.8(a)所示,图(b)为其状态图。可见该电路有8个计数状态,为模8计数器。一般来说,N位移位寄存器可以组成模2N的扭环形计数器,只需将末级输出反相后,接到串行输入端。
图6.4.8 用74194构成的扭环形计数器 (a)逻辑图 (b)状态图
6.5 同步时序逻辑电路的设计方法
一.同步时序逻辑电路的设计方法
1.同步时序逻辑电路的设计步骤
(1)根据设计要求,设定状态,导出对应状态图或状态表。
(2)状态化简。原始状态图(表)通常不是最简的,往往可以消去一些多余状态。消去多余状态的过程叫做状态化简。
(3)状态分配,又称状态编码。
(4)选择触发器的类型。触发器的类型选得合适,可以简化电路结构。
(5)根据编码状态表以及所采用的触发器的逻辑功能,导出待设计电路的输出方程和驱动方程。
(6)根据输出方程和驱动方程画出逻辑图。
(7)检查电路能否自启动。
2.同步计数器的设计举例由于计数器没有外部输入变量X,则设计过程比较简单。
例6.5.1 设计一个同步5进制加法计数器
解:设计步骤如下。
(1)根据设计要求,设定状态,画出状态转换图。由于是5进制计数器,所以应有5个不同的状态,分别用S0、S1、…、S4表示。在计数脉冲CP作用下,5个状态循环翻转,在状态为S4时,进位输出Y=1。状态转换图如图6.5.1所示。
(2)状态化简。5进制计数器应有5个状态,不须化简。
(3)状态分配,列状态转换编码表。由式2n≥N>2n-1可知,应采用3位二进制代码。该计数器选用三位自然二进制加法计数编码,即S0=000、S1=001、…、S4=100。由此可列出状态转换表如表6.5.1所示。
表6.5.1 例6.5.1的状态转换表
状态转换顺序
现 态
次态
进位输出
Y
S0
S1
S2
S3
S4
0 0 0
0 0 1
0 1 0
0 1 1
1 0 0
0 0 1
0 1 0
0 1 1
1 0 0
0 0 0
0
0
0
0
1
(4)选择触发器。本例选用功能比较灵活的JK触发器。
(5)求各触发器的驱动方程和进位输出方程。
列出JK触发器的驱动表如表6.5.2所示。画出电路的次态卡诺图如图6.5.2所示,三个无效状态101、110、111作无关项处理。根据次态卡诺图和JK触发器的驱动表可得各触发器的驱动卡诺图如图6.5.3所示。
表6.5.2 JK触发器的驱动表
Qn → Qn+1
J K
0 0
0 1
1 0
1 1
0 ×
1 ×
× 1
× 0
6.5.3 例6.5.1各触发器的驱动卡诺图
再画出输出卡诺图如图6.5.4所示,可得电路的输出方程:
将各驱动方程与输出方程归纳如下:
(6)画逻辑图。根据驱动方程和输出方程,画出5进制计数器的逻辑图如图6.5.5所示。
图6.5.5 例6.5.1的逻辑图
(7)检查能否自启动。利用逻辑分析的方法画出电路完整的状态图如图6.5.6所示。可见,如果电路进入无效状态101、110、111时在CP脉冲作用下,分别进入有效状态010、010、000。所以电路能够自启动。
3.一般时序逻辑电路的设计举例
例6.5.2 设计一个串行数据检测器。该检测器有一个输入端X,它的功能是对输入信号进行检测。当连续输入三个1(以及三个以上1)时,该电路输出Y=1,否则输出Y=0。
解:(1)根据设计要求,设定状态,画出状态转换图。
S0——初始状态或没有收到1时的状态;
S1——收到一个1后的状态;
S2——连续收到两个1后的状态;
S2——连续收到三个1(以及三个以上1)后的状态。
根据题意可画出如图6.5.7所示的原始状态图。
(3)状态化简。状态化简就是合并等效状态。所谓等效状态就是那些在相同的输入条件下,输出相同、次态也相同的状态。观察图6.5.7可知,S2和S3是等价状态,所以将S2和S3合并,并用S2表示,图6.5.8是经过化简之后的状态图。
图6.5.7 例6.5.1的原始状态图 图6.5.8 化简后的状态图
(4)状态分配,列状态转换编码表。本例取S0=00、S1=01、S2=11。图6.5.9是该例的编码形式的状态图。
由图6.5.9可画出编码后的状态表如表6.5.3所示。
表6.5.3 例6.5.2的编码状态表
X
0
1
0 0
0 1
1 1
00/0
00/0
00/0
01/0
11/0
11/1
(5)选择触发器,求出状态方程、驱动方程和输出方程。
本例选用2个D触发器,列出D触发器的驱动表如表6.5.4所示。画出电路的次态和输出卡诺图如图6.5.10所示。由输出卡诺图可得电路的输出方程:
根据次态卡诺图和D触发器的驱动表可得各触发器的驱动卡诺图如图6.5.11所示。由各驱动卡诺图可得电路的驱动方程:
表6.5.4 D触发器的驱动表
Qn → Qn+1
D
0 0
0 1
1 0
1 1
0
1
0
1
图6.5.11 例6.5.2各触发器的驱动卡诺图
(6)画逻辑图。根据驱动方程和输出方程,画出该串行数据检测器的逻辑图如图6.5.12所示。
(7)检查能否自启动。图6.5.13是图6.5.12电路的状态图,可见,电路能够自启动。
图6.5.12 例6.5.2的逻辑图 图6.5.13 检查自启动
二.异步时序逻辑电路的设计方法由于异步时序电路中各触发器的时钟脉冲不统一。因此设计异步时序逻辑电路要比同步电路多一步,就是为每个触发器选择一个合适的时钟信号,即求各触发器的时钟方程。除此之外,异步时序电路的设计方法与同步时序电路基本相同。
例6.5.3 设计一个异步7进制加法计数器
解:设计步骤如下。
(1)根据设计要求,设定7个状态S0~S6。进行状态编码后,列出状态转换表如表6.5.5所示。表中Y为进位输出变量。7进制计数器应有7个状态,所以不须状态化简。
表6.5.5 例6.5.3的状态转换表
状态转换顺序
现 态
次态
进位输出
Y
S0
S1
S2
S3
S4
S5
S6
0 0 0
0 0 1
0 1 0
0 1 1
1 0 0
1 0 1
1 1 0
0 0 1
0 1 0
0 1 1
1 0 0
1 0 1
1 1 0
0 0 0
0
0
0
0
0
0
1
(2)选择触发器。本例选用下降沿触发的JK触发器。
(3)求各触发器的时钟方程,即为各触发器选择时钟信号。为了选择方便,由状态表画出电路的时序图,如图6.5.14所示。为触发器选择时钟信号的原则是:①触发器状态需要翻转时,必须要有时钟信号的翻转沿送到。②触发器状态不需翻转时,“多余的” 时钟信号越少越好。根据上述原则,选择:
(3)求各触发器的驱动方程和进位输出方程。
列出JK触发器的驱动表如表6.5.2所示。画出电路的次态卡诺图如图6.5.16所示,无效状态111作无关项处理。根据次态卡诺图和JK触发器的驱动表可得三个触发器各自的驱动卡诺图如图6.5.17所示。
图6.5.15 例6.5.3的时序图 图6.5.16 例6.5.3的次态卡诺图
图6.5.17 例6.5.3各触发器的驱动卡诺图根据驱动卡诺图写出驱动方程:
再画出输出卡诺图如图6.5.18所示,可得电路的输出方程:
(4)画逻辑图。根据驱动方程和输出方程,画出异步7进制计数器的逻辑图如图6.5.19所示。
图6.5.19 例6.5.3的逻辑图
(5)检查能否自启动。利用逻辑分析的方法画出电路完整的状态图如图6.5.20所示。可见,如果电路进入无效状态111时,在CP脉冲作用下可进入有效状态000。所以电路能够自启动。
图6.5.20 例6.5.3的状态图
本章小结
1.时序逻辑电路在任何一个时刻的输出状态不仅取决于当时的输入信号,还与电路的原状态有关。因此时序电路中必须含有具有记忆能力的存储器件,触发器是最常用的存储器件。
2.描述时序逻辑电路逻辑功能的方法有状态转换真值表、状态转换图和时序图等。
3.时序逻辑电路的分析步骤一般为:逻辑图→时钟方程(异步)、驱动方程、输出方程→状态方程→状态转换真值表→状态转换图和时序图→逻辑功能。
4.时序逻辑电路的设计步骤一般为:设计要求→最简状态表→编码表→次态卡诺图→驱动方程、输出方程→逻辑图。
5.计数器是一种简单而又最常用的时序逻辑器件。它们在计算机和其他数字系统中起着非常重要的作用。计数器不仅能用于统计输入时钟脉冲的个数,还能用于分频、定时、产生节拍脉冲等。
6.用已有的M进制集成计数器产品可以构成N(任意)进制的计数器。采用的方法有异步清零法、同步清零法、异步置数法和同步置数法,根据集成计数器的清零方式和置数方式来选择。当M>N时,用l片M进制计数器即可;当M<N时,要用多片M进制计数器组合起来,才能构成N进制计数器。当需要扩大计数器的容量时,可将多片集成计数器进行级联。
7.寄存器也是一种常用的时序逻辑器件。寄存器分为数码寄存器和移位寄存器两种,移位寄存器又分为单向移位寄存器和双向移位寄存器。集成移位寄存器使用方便、功能全、输入和输出方式灵活。用移位寄存器可实现数据的串行—并行转换、组成环形计数器、扭环计数器、顺序脉冲发生器等。
时序逻辑电路简称时序电路,与组合逻辑电路并驾齐驱,是数字电路两大重要分支之一。本章首先介绍时序逻辑电路的基本概念、特点及时序逻辑电路的一般分析方法。然后重点讨论典型时序逻辑部件计数器和寄存器的工作原理、逻辑功能、集成芯片及其使用方法及典型应用。最后简要介绍同步时序逻辑电路的设计方法。
6.1 时序逻辑电路的基本概念
一.时序逻辑电路的结构及特点时序逻辑电路——电路任何一个时刻的输出状态不仅取决于当时的输入信号,还与电路的原状态有关。
时序电路中必须含有具有记忆能力的存储器件。存储器件的种类很多,如触发器、延迟线、磁性器件等,但最常用的是触发器。
由触发器作存储器件的时序电路的基本结构框图如图6.1.1所示,一般来说,它由组和电路和触发器两部分组成。
二,时序逻辑电路的分类
按照电路状态转换情况不同,时序电路分为同步时序电路和异步时序电路两大类。
按照电路中输出变量是否和输入变量直接相关,时序电路又分为米里(Mealy)型电路和莫尔(Moore)型电路。米里型电路的外部输出Z既与触发器的状态Qn有关,又与外部输入X有关。而莫尔型电路的外部输出Z仅与触发器的状态Qn有关,而与外部输入X无关。
6.2 时序逻辑电路的一般分析方法
一,分析时序逻辑电路的一般步骤
1.根据给定的时序电路图写出下列各逻辑方程式:
(1)各触发器的时钟方程。
(2)时序电路的输出方程。
(3)各触发器的驱动方程。
2.将驱动方程代入相应触发器的特性方程,求得各触发器的次态方程,也就是时序逻辑电路的状态方程。
3.根据状态方程和输出方程,列出该时序电路的状态表,画出状态图或时序图。
4.根据电路的状态表或状态图说明给定时序逻辑电路的逻辑功能。
下面举例说明时序逻辑电路的具体分析方法。
二.同步时序逻辑电路的分析举例
例6.2.1:试分析图6.2.2所示的时序逻辑电路
图6.2.2 例6.2.1的逻辑电路图解:由于图6.2.2为同步时序逻辑电路,图中的两个触发器都接至同一个时钟脉冲源CP,所以各触发器的时钟方程可以不写。
(1)写出输出方程, (6.1.5)
(2)写出驱动方程:
(6.1.6a)
(6.1.6b)
(3)写出JK触发器的特性方程,然后将各驱动方程代入JK触发器的特性方程,得各触发器的次态方程:
(6.1.7a)
(6.1.7b)
(4)作状态转换表及状态图由于输入控制信号X可取1,也可取0,所以分两种情况列状态转换表和画状态图。
①当X=0时。
将X=0代入输出方程(6.1.5)和触发器的次态方程(6.1.7),则输出方程简化为:;触发器的次态方程简化为:,。
设电路的现态为,依次代入上述触发器的次态方程和输出方程中进行计算,得到电路的状态转换表如表6.2.1所示。
根据表6.2.1所示的状态转换表可得状态转换图如图6.2.3所示。
表6.2.1 X=0时的状态表现 态
次态
输出
Z
0 0
0 1
1 0
0 1
1 0
0 0
0
0
1
②当X=1时。
输出方程简化为:;
触发器的次态方程简化为:,
计算可得电路的状态转换表如表6.2.2所示,状态图如图6.2.4所示。
表6.2.2 X=1时的状态表现 态
次态
输出
Y
0 0
1 0
0 1
1 0
0 1
0 0
1
0
0
将图6.2.3和图6.2.4合并起来,就是电路完整的状态图,如图6.2.5所示。
(5)画时序波形图。
如图6.2.6所示。
图6.2.6 例6.2.1电路的时序波形图
(6)逻辑功能分析该电路一共有3个状态00、01、10。当X=0时,按照加1规律从00→01→10→00循环变化,并每当转换为10状态(最大数)时,输出Z=1。当X=1时,按照减1规律从10→01→00→10循环变化,并每当转换为00状态(最小数)时,输出Z=1。所以该电路是一个可控的3进制计数器,当X=0时,作加法计数,Z是进位信号;当X=1时,作减法计数,Z是借位信号。
三.异步时序逻辑电路的分析举例
由于在异步时序逻辑电路中,没有统一的时钟脉冲,因此,分析时必须写出时钟方程。
例6.2.2:试分析图6.2.7所示的时序逻辑电路
图6.2.7 例6.2.2的逻辑电路图解:(1)写出各逻辑方程式。
①时钟方程:
CP0=CP (时钟脉冲源的上升沿触发。)
CP1=Q0 (当FF0的Q0由0→1时,Q1才可能改变状态,否则Q1将保持原状态不变。)
②输出方程, (6.1.8)
③各触发器的驱动方程:
(6.1.9)
(2)将各驱动方程代入D触发器的特性方程,得各触发器的次态方程:
(CP由0→1时此式有效) (6.1.10a)
(Q0由0→1时此式有效) (6.1.10b)
(3)作状态转换表、状态图、时序图表6.2.3 例6.2.2电路的状态转换表现态
次态
输出
时钟脉冲
Z
CP1 CP0
0 0
1 1
1 0
0 1
1 1
1 0
0 1
0 0
1
0
0
0
↑ ↑
0 ↑
↑ ↑
0 ↑
根据状态转换表可得状态转换图如图6.2.8所示,时序图如图6.2.9所示。
图6.2.8 例6.2.2电路的状态图 图6.2.9 例6.2.2电路的时序图
(5)逻辑功能分析
由状态图可知:该电路一共有4个状态00、01、10、11,在时钟脉冲作用下,按照减1规律循环变化,所以是一个4进制减法计数器,Z是借位信号。
6.3 计数器
计数器——用以统计输入脉冲CP个数的电路。
计数器的分类:
按计数进制可分为二进制计数器和非二进制计数器。非二进制计数器中最典型的是十进制计数器。
按数字的增减趋势可分为加法计数器、减法计数器和可逆计数器。
按计数器中触发器翻转是否与计数脉冲同步分为同步计数器和异步计数器。
一.二进制计数器
1.二进制异步计数器
(1)二进制异步加法计数器。
图6.3.1所示为由4个下降沿触发的JK触发器组成的4位异步二进制加法计数器的逻辑图。图中JK触发器都接成T’触发器(即J=K=1)。最低位触发器FF0的时钟脉冲输入端接计数脉冲CP,其他触发器的时钟脉冲输入端接相邻低位触发器的Q端。
图6.3.1 由JK触发器组成的4位异步二进制加法计数器的逻辑图
由于该电路的连线简单且规律性强,无须用前面介绍的分析步骤进行分析,只需作简单的观察与分析就可画出时序波形图或状态图,这种分析方法称为“观察法”。
用“观察法”作出该电路的时序波形图如图6.3.2所示,状态图如图6.3.3所示。由状态图可见,从初态0000(由清零脉冲所置)开始,每输入一个计数脉冲,计数器的状态按二进制加法规律加1,所以是二进制加法计数器(4位)。又因为该计数器有0000~1111共16个状态,所以也称16进制(1位)加法计数器或模16(M=16)加法计数器。
图6.3.2 图6.3.1所示电路的时序图
图6.3.3 图6.3.1所示电路的状态图另外,从时序图可以看出,Q0、Ql、Q2、Q3的周期分别是计数脉冲(CP)周期的2倍、4倍、8倍、16倍,也就是说,Q0、Ql、Q2、Q3分别对CP波形进行了二分频、四分频、八分频、十六分频,因而计数器也可作为分频器。
异步二进制计数器结构简单,改变级联触发器的个数,可以很方便地改变二进制计数器的位数,n个触发器构成n位二进制计数器或模2n计数器,或2n分频器。
(2)二进制异步减法计数器
将图6.3.1所示电路中FF1、FF2、FF3的时钟脉冲输入端改接到相邻低位触发器的端就可构成二进制异步减法计数器,其工作原理请读者自行分析。
图6.3.4所示是用4个上升沿触发的D触发器组成的4位异步二进制减法计数器的逻辑图。
图6.3.4 D触发器组成的4位异步二进制减法计数器的逻辑图
从图6.3.1和图6.3.6可见,用JK触发器和D触发器都可以很方便地组成二进制异步计数器。方法是先将触发器都接成T’触发器,然后根据加、减计数方式及触发器为上升沿还是下降沿触发来决定各触发器之间的连接方式。
图6.3.5 图6.3.4电路的时序图
图6.3.6 图6.3.4电路的状态图
在二进制异步计数器中,高位触发器的状态翻转必须在相邻触发器产生进位信号(加计数)或借位信号(减计数)之后才能实现,所以异步计数器的工作速度较低。为了提高计数速度,可采用同步计数器。
2.二进制同步计数器
(1)二进制同步加法计数器图6.3.7所示为由4个JK触发器组成的4位同步二进制加法计数器的逻辑图。图中各触发器的时钟脉冲输入端接同一计数脉冲CP,显然,这是一个同步时序电路。
各触发器的驱动方程分别为:
J0=K0=1,
J1=K1=Q0,
J2=K2=Q0Q1,
J3=K3=Q0Q1Q2
图6.3.7 4位同步二进制加法计数器的逻辑图
由于该电路的驱动方程规律性较强,也只需用“观察法”就可画出时序波形图或状态表。
表6.3.1 图6.3.7所示4位二进制同步加法计数器的状态表计数脉冲序号
电 路 状 态
等效十进制数
Q3 Q2 Q1 Q0
0
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
0 0 0 0
0 0 0 1
0 0 1 0
0 0 1 1
0 1 0 0
0 1 0 1
0 1 1 0
0 1 1 1
1 0 0 0
1 0 0 1
1 0 1 0
1 0 1 1
1 1 0 0
1 1 0 1
1 1 1 0
1 1 1 1
0 0 0 0
0
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
0
由于同步计数器的计数脉冲CP同时接到各位触发器的时钟脉冲输入端,当计数脉冲到来时,应该翻转的触发器同时翻转,所以速度比异步计数器高,但电路结构比异步计数器复杂。
(2)二进制同步减法计数器
4位二进制同步减法计数器的状态表如表6.3.2所示,分析其翻转规律并与4位二进制同步加法计数器相比较,很容易看出,只要将图6.3.7所示电路的各触发器的驱动方程改为:
J0=K0=1
J1=K1=
J2=K2=
J3=K3=
就构成了4位二进制同步减法计数器。
表6.3.2 4位二进制同步减法计数器的状态表计数脉冲序号
电 路 状 态
等效十进制数
Q3 Q2 Q1 Q0
0
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
0 0 0 0
1 1 1 1
1 1 1 0
1 1 0 1
1 1 0 0
1 0 1 1
1 0 1 0
1 0 0 1
1 0 0 0
0 1 1 1
0 1 1 0
0 1 0 1
0 1 0 0
0 0 1 1
0 0 1 0
0 0 0 1
0 0 0 0
0
15
14
13
12
11
10
9
8
7
6
5
4
3
2
1
0
(3)二进制同步可逆计数器既能作加计数又能作减计数的计数器称为可逆计数器。将前面介绍的4位二进制同步加法计数器和减法计数器合并起开,并引入一加/减控制信号X便构成4位二进制同步可逆计数器,如图6.3.8所示。由图可知,各触发器的驱动方程为:
J0=K0=1
J1=K1=
J2=K2=
J3=K3=
图6.3.8 二进制可逆计数器的逻辑图
当控制信号X=1时,FF1~FF3中的各J、K端分别与低位各触发器的Q端相连,作加法计数;当控制信号X=0时,FF1~FF3中的各J、K端分别与低位各触发器的端相连,作减法计数,实现了可逆计数器的功能。
3.集成二进制计数器举例
(1)4位二进制同步加法计数器74161
表6.3.3 74161的功能表清零
预置
使能
时钟
预置数据输入
输出
工作模式
RD
LD
EP ET
CP
D3 D2 D1 D0
Q3 Q2 Q1 Q0
0
1
1
1
1
×
0
1
1
1
× ×
× ×
0 ×
× 0
1 1
×
↑
×
×
↑
× × × ×
d3 d2 d1 d0
× × × ×
× × × ×
× × × ×
0 0 0 0
d3 d2 d1 d0
保 持保 持计 数
异步清零同步置数数据保持数据保持加法计数
由表可知,74161具有以下功能:
① 异步清零。当RD=0时,不管其他输入端的状态如何,不论有无时钟脉冲CP,计数器输出将被直接置零(Q3Q2QlQ0=0000),称为异步清零。
② 同步并行预置数。当RD=1、LD=0时,在输入时钟脉冲CP上升沿的作用下,并行输入端的数据d3d2d1d0被置入计数器的输出端,即Q3Q2QlQ0=d3d2d1d0。由于这个操作要与CP上升沿同步,所以称为同步预置数。
③ 计数。当RD=LD=EP=ET=1时,在CP端输入计数脉冲,计数器进行二进制加法计数。
④ 保持。当RD=LD=1,且=0,即两个使能端中有0时,则计数器保持原来的状态不变。这时,如EP=0、ET=1,则进位输出信号RCO保持不变;如ET=0则不管EP状态如何,进位输出信号RCO为低电平0。
图6.3.11 74161的时序图
(2)4位二进制同步可逆计数器74191
图6.3.12(a)是集成4位二进制同步可逆计数器7419l的逻辑功能示意图,(b)是其引脚排列图。其中LD是异步预置数控制端,D3、D2、D1、D0是预置数据输入端;EN是使能端,低电平有效;D/是加/减控制端,为0时作加法计数,为1时作减法计数;MAX/MIN是最大/最小输出端,RCO是进位/借位输出端。
图6.3.12 7419l的逻辑功能示意图及引脚图 (a)逻辑功能示意图 (b)引脚图
表6.3.4 74191的功能表预置
使能
加/减控制
时钟
预置数据输入
输出
工作模式
LD
EN
D/
CP
D3 D2 D1 D0
Q3 Q2 Q1 Q0
0
1
1
1
×
1
0
0
×
×
0
1
×
×
↑
↑
d3 d2 d1 d0
× × × ×
× × × ×
× × × ×
d3 d2 d1 d0
保 持加法计数减法计数
异步置数数据保持加法计数减法计数
表6.3.4是7419l的功能表。由表可知,74191具有以下功能:
① 异步置数。当LD=0时,不管其他输入端的状态如何,不论有无时钟脉冲CP,并行输入端的数据d3d2d1d0被直接置入计数器的输出端,即Q3Q2QlQ0=d3d2d1d0。由于该操作不受CP控制,所以称为异步置数。注意该计数器无清零端,需清零时可用预置数的方法置零。
② 保持。当LD=1且EN=1时,则计数器保持原来的状态不变。
③ 计数。当LD=1且EN=0时,在CP端输入计数脉冲,计数器进行二进制计数。当D/=0时作加法计数;当D/=1时作减法计数。
另外,该电路还有最大/最小控制端MAX/MIN和进位/借位输出端RCO。它们的逻辑表达式为:
MAX/MIN=
RCO=
即当加法计数,计到最大值1111时,MAX/MIN端输出1,如果此时CP=0,则RCO=0,发一个进位信号;当减法计数,计到最小值0000时,MAX/MIN端也输出1。如果此时CP=0,则RCO=0,发一个借位信号。
二.非二进制计数器
N进制计数器又称模N计数器,当N=2n时,就是前面讨论的n位二进制计数器;当N≠2n时,为非二进制计数器。非二进制计数器中最常用的是十进制计数器,下面讨论8421BCD码十进制计数器。
1.8421BCD码同步十进制加法计数器图6.3.14所示为由4个下降沿触发的JK触发器组成的8421BCD码同步十进制加法计数器的逻辑图。用前面介绍的同步时序逻辑电路分析方法对该电路进行分析:
(1)写出驱动方程:
(2)写出JK触发器的特性方程,然后将各驱动方程代入JK触发器的特性方程,得各触发器的次态方程:
图6.3.14 8421BCD码同步十进制加法计数器的逻辑图
(3)作状态转换表。
设初态为Q3Q2Q1Q0=0000,代入次态方程进行计算,得状态转换表如表6.3.5所示。
表6.3.5 图6.3.14电路的状态表
计数脉冲序号
现 态
次态
0
1
2
3
4
5
6
7
8
9
0 0 0 0
0 0 0 1
0 0 1 0
0 0 1 1
0 1 0 0
0 1 0 1
0 1 1 0
0 1 1 1
1 0 0 0
1 0 0 1
0 0 0 1
0 0 1 0
0 0 1 1
0 1 0 0
0 1 0 1
0 1 1 0
0 1 1 1
1 0 0 0
1 0 0 1
0 0 0 0
(4)作状态图及时序图。
根据状态转换表作出电路的状态图如图6.3.15所示,时序图如图6.3.16所示。由状态表、状态图或时序图可见,该电路为一8421BCD码十进制加法计数器。
图6.3.15 图6.3.14的状态图
图6.3.16 图6.3.14的时序图
(5)检查电路能否自启动。
由于图6.3.14所示的电路中有4个触发器,它们的状态组合共有16种,而在8421BCD码计数器中只用了10种,称为有效状态,其余6种状态称为无效状态。在实际工作中,当由于某种原因,使计数器进入无效状态时,如果能在时钟信号作用下,最终进入有效状态,我们就称该电路具有自启动能力。
用同样的分析的方法分别求出6种无效状态下的次态,补充到状态图中,得到完整的状态转换图,可见,电路能够自启动。
图6.3.17 图6.3.14完整的状态图
2.8421BCD码异步十进制加法计数器图6.3.18所示为由4个下降沿触发的JK触发器组成的8421BCD码异步十进制加法计数器的逻辑图。用前面介绍的异步时序逻辑电路分析方法对该电路进行分析:
图6.3.18 8421BCD码异步十进制加法计数器的逻辑图
(1)写出各逻辑方程式。
①时钟方程:
CP0=CP (时钟脉冲源的上升沿触发。)
CP1=Q0 (当FF0的Q0由1→0时,Q1才可能改变状态,否则Q1将保持原状态不变。)
CP2=Q1 (当FF1的Q1由1→0时,Q2才可能改变状态,否则Q2将保持原状态不变。)
CP3=Q0 (当FF0的Q0由1→0时,Q3才可能改变状态,否则Q3将保持原状态不变。)
②各触发器的驱动方程:
(2)将各驱动方程代入JK触发器的特性方程,得各触发器的次态方程:
(CP由1→0时此式有效)
(Q0由1→0时此式有效)
(Q1由1→0时此式有效)
(Q0由1→0时此式有效)
(3)作状态转换表。
设初态为Q3Q2Q1Q0=0000,代入次态方程进行计算,得状态转换表如表6.3.6所示。
表6.3.6 图6.3.14电路的状态表
计数脉冲序号
现 态
次态
时钟脉冲
CP3 CP2 CP1 CP0
0
1
2
3
4
5
6
7
8
9
0 0 0 0
0 0 0 1
0 0 1 0
0 0 1 1
0 1 0 0
0 1 0 1
0 1 1 0
0 1 1 1
1 0 0 0
1 0 0 1
0 0 0 1
0 0 1 0
0 0 1 1
0 1 0 0
0 1 0 1
0 1 1 0
0 1 1 1
1 0 0 0
1 0 0 1
0 0 0 0
0 0 0 ↓
↓ 0 ↓ ↓
0 0 0 ↓
↓ ↓ ↓ ↓
0 0 0 ↓
↓ 0 ↓ ↓
0 0 0 ↓
↓ ↓ ↓ ↓
0 0 0 ↓
↓ 0 ↓ ↓
3.集成十进制计数器举例
(1)8421BCD码同步加法计数器74160
其功能表如表6.3.7所示。各功能实现的具体情况参见74161的逻辑图。其中进位输出端RCO的逻辑表达式为:
RCO=
图6.3.19 74160的逻辑功能示意图和引脚图 (a)逻辑功能示意图 (b)引脚图表6.3.7 74160的功能表清零
预置
使能
时钟
预置数据输入
输出
工作模式
RD
LD
EP ET
CP
D3 D2 D1 D0
Q3 Q2 Q1 Q0
0
1
1
1
1
×
0
1
1
1
× ×
× ×
0 ×
× 0
1 1
×
↑
×
×
↑
× × × ×
d3 d2 d1 d0
× × × ×
× × × ×
× × × ×
0 0 0 0
d3 d2 d1 d0
保 持保 持十进制计数
异步清零同步置数数据保持数据保持加法计数
(2)二—五—十进制异步加法计数器74290
74290的逻辑图如图6.3.20(a)所示。它包含一个独立的1位二进制计数器和一个独立的异步五进制计数器。二进制计数器的时钟输入端为CP1,输出端为Q0;五进制计数器的时钟输入端为CP2,输出端为Q1、Q2、Q3。如果将Q0与CP2相连,CP1作时钟脉冲输入端,Q0~Q3作输出端,则为8421BCD码十进制计数器。
图6.3.20 二—五—十进制异步加法计数器74290
表6.3.8 74290的功能表复位输入
置位输入
时钟
输出
工作模式
R0(1) R0(2)
R9(1) R9(2)
CP
Q3 Q2 Q1 Q0
1 1
1 1
0 ×
× 0
×
×
0 0 0 0
0 0 0 0
异步清零
× ×
1 1
×
1 0 0 1
异步置数
0 ×
0 ×
× 0
× 0
0 ×
× 0
0 ×
× 0
↓
↓
↓
↓
计 数计 数计 数计 数
加法计数
表6.3.8是74290的功能表。由表可知,74290具有以下功能:
① 异步清零。当复位输入端R0(1)=R0(2)=1,且置位输入=0时,不论有无时钟脉冲CP,计数器输出将被直接置零。
② 异步置数。当置位输入R9(1)=R9(2)=1时,无论其他输入端状态如何,计数器输出将被直接置9(即Q3Q2QlQ0=1001)。
③ 计数。当=0,且=0时,在计数脉冲(下降沿)作用下,进行二—五—十进制加法计数。
三.集成计数器的应用
1.计数器的级联
两个模N计数器级联,可实现N×N的计数器。
(1)同步级联。
图6.3.21是用两片4位二进制加法计数器74161采用同步级联方式构成的8位二进制同步加法计数器,模为16×16=256。
图6.3.21 74161同步级联组成8位二进制加法计数器
(2)异步级联。
用两片74191采用异步级联方式构成的8位二进制异步可逆计数器如图6.3.22所示。
图6.3.22 74191异步级联组成8位二进制可逆计数器有的集成计数器没有进位/借位输出端,这时可根据具体情况,用计数器的输出信号Q3、Q2、Q1、Q0产生一个进位/借位。如用两片二—五—十进制异步加法计数器74290采用异步级联方式组成的二位8421BCD码十进制加法计数器如图6.3.23所示,模为10×10=100。
图6.3.23 74290异步级联组成100进制计数器
2.组成任意进制计数器市场上能买到的集成计数器一般为二进制和8421BCD码十进制计数器,如果需要其他进制的计数器,可用现有的二进制或十进制计数器,利用其清零端或预置数端,外加适当的门电路连接而成。
(1)异步清零法。适用于具有异步清零端的集成计数器。图6.3.24(a)所示是用集成计数器74161和与非门组成的6进制计数器。
图6.3.24 异步清零法组成6进制计数器
(2)同步清零法。适用于具有同步清零端的集成计数器。图6.3.25(a)所示是用集成计数器74163和与非门组成的6进制计数器。
图6.3.25 同步清零法组成6进制计数器
(3)异步预置数法。适用于具有异步预置端的集成计数器。图6.3.26(a)所示是用集成计数器74191和与非门组成的10进制计数器。该电路的有效状态是0011~1100,共10个状态,可作为余3码计数器。
图6.3.26 异步置数法组成余3码十进制计数器
(4)同步预置数法。适用于具有同步预置端的集成计数器。图6.3.27(a)所示是用集成计数器74160和与非门组成的7进制计数器。
综上所述,改变集成计数器的模可用清零法,也可用预置数法。清零法比较简单,预置数法比较灵活。但不管用那种方法,都应首先搞清所用集成组件的清零端或预置端是异步还是同步工作方式,根据不同的工作方式选择合适的清零信号或预置信号。
例6.3.1 用74160组成48进制计数器。
解:因为N=48,而74160为模10计数器,所以要用两片74160构成此计数器。
先将两芯片采用同步级联方式连接成100进制计数器,然后再借助74160异步清零功能,在输入第48个计数脉冲后,计数器输出状态为0100 1000时,高位片(2)的Q2和低位片(1)的Q3同时为1,使与非门输出0,加到两芯片异步清零端上,使计数器立即返回0000 0000状态,状态0100 1000仅在极短的瞬间出现,为过渡状态,这样,就组成了48进制计数器,其逻辑电路如图6.3.28所示。
图6.3.28 例6.3.1的逻辑电路图
3.组成分频器前面提到,模N计数器进位输出端输出脉冲的频率是输入脉冲频率的1/N,因此可用模N计数器组成N分频器。
例6.3.2 某石英晶体振荡器输出脉冲信号的频率为32768Hz,用74161组成分频器,将其分频为频率为1Hz的脉冲信号。
解,因为32768=215,经15级二分频,就可获得频率为1Hz的脉冲信号。因此将四片74161级联,从高位片(4)的Q2输出即可,其逻辑电路如图6.3.29所示。
图6.3.29 例6.3.2的逻辑电路图
4.组成序列信号发生器序列信号是在时钟脉冲作用下产生的一串周期性的二进制信号。图6.3.30是用74161及门电路构成的序列信号发生器。其中74161与G1构成了一个模5计数器,且Z=。在CP作用下,计数器的状态变化如表6.3.9所示。由于Z=,故不同状态下的输出如该表的右列所示。因此,这是一个01010序列信号发生器,序列长度P=5。
表6.3.9 状态表现 态
次态
输出
Z
0 0 0
0 0 1
0 1 0
0 1 1
1 0 0
0 0 1
0 1 0
0 1 1
1 0 0
0 0 0
0
1
0
1
0
图6.3.30 计数器组成序列信号发生器用计数器辅以数据选择器可以方便地构成各种序列发生器。构成的方法如下:
第一步 构成一个模P计数器;
第二步 选择适当的数据选择器,把欲产生的序列按规定的顺序加在数据选择器的数据输入端,把地址输入端与计数器的输出端适当地连接在一起。
例6.3.3 试用计数器74161和数据选择器设计一个01100011序列发生器。
解:由于序列长度P=8,故将74161构成模8计数器,并选用数据选择器74151产生所需序列,从而得电路如图6.3.31所示。
图6.3.31 计数器和数据选择器组成序列信号发生器
5.组成脉冲分配器
脉冲分配器是数字系统中定时部件的组成部分,它在时钟脉冲作用下,顺序地使每个输出端输出节拍脉冲,用以协调系统各部分的工作。
图6.3.32(a)为一个由计数器74161和译码器74138组成的脉冲分配器。74161构成模8计数器,输出状态Q2Q1Q0在000~111之间循环变化,从而在译码器输出端Y0~Y7分别得到图6.3.32(b)所示的脉冲序列。
6.4 数码寄存器与移位寄存器
一,数码寄存器数码寄存器——存储二进制数码的时序电路组件,它具有接收和寄存二进制数码的逻辑功能。前面介绍的各种集成触发器,就是一种可以存储一位二进制数的寄存器,用n个触发器就可以存储n位二进制数。
图6.4.1(a)所示是由D触发器组成的4位集成寄存器74LSl75的逻辑电路图,其引脚图如图6.4.1(b)所示。其中,RD是异步清零控制端。D0~D3是并行数据输入端,CP为时钟脉冲端,Q0~Q3是并行数据输出端,~是反码数据输出端。
该电路的数码接收过程为:将需要存储的四位二进制数码送到数据输入端D0~D3,在CP端送一个时钟脉冲,脉冲上升沿作用后,四位数码并行地出现在四个触发器Q端。
74LS175的功能示于表6.4.1中。
图6.4.1 4位集成寄存器74LSl75 (a)逻辑图 (b)引脚排列
表6.4.1 74LS175的功能表清零
时钟
输 入
输 出
工作模式
RD
CP
D0 D1 D2 D3
Q0 Q1 Q2 Q3
0
1
1
1
×
↑
1
0
× × × ×
D0 D1 D2 D3
× × × ×
× × × ×
0 0 0 0
D0 D1 D2 D3
保 持保 持
异步清零数码寄存数据保持数据保持
二.移位寄存器移位寄存器不但可以寄存数码,而且在移位脉冲作用下,寄存器中的数码可根据需要向左或向右移动1位。移位寄存器也是数字系统和计算机中应用很广泛的基本逻辑部件。
1.单向移位寄存器
(1)4位右移寄存器。
设移位寄存器的初始状态为0000,串行输入数码DI=1101,从高位到低位依次输入。在4个移位脉冲作用后,输入的4位串行数码1101全部存入了寄存器中。电路的状态表如表6.4.2所示,时序图如图6.4.3所示。
图6.4.2 D触发器组成的4位右移寄存器
图6.4.3 图6.4.2电路 的时序图
表6.4.2 右移寄存器的状态表移位脉冲
输入数码
输 出
CP
DI
Q0 Q1 Q2 Q3
0
1
2
3
4
1
1
0
1
0 0 0 0
1 0 0 0
1 1 0 0
0 1 1 0
1 0 1 1
移位寄存器中的数码可由Q3、Q2、Q1和Q0并行输出,也可从Q3串行输出。串行输出时,要继续输入4个移位脉冲,才能将寄存器中存放的4位数码1101依次输出。图6.4.3中第5到第8个CP脉冲及所对应的Q3、Q2、Q1、Q0波形,就是将4位数码1101串行输出的过程。所以,移位寄存器具有串行输入—并行输出和串行输入—串行输出两种工作方式。
(2)左移寄存器。
图6.4.4 D触发器组成的4位左移寄存器
2.双向移位寄存器将图6.4.2所示的右移寄存器和图6.4.4所示的左移寄存器组合起来,并引入一控制端S便构成既可左移又可右移的双向移位寄存器,如图6.4.5所示。
由图可知该电路的驱动方程为:
其中,DSR为右移串行输入端,DSL为左移串行输入端。当S=1时,D0=DSR、D1=Q0、D2=Q1、D3=Q2,在CP脉冲作用下,实现右移操作;当S=0时,D0=Q1、D1=Q2、D2=Q3、D3=DSL,在CP脉冲作用下,实现左移操作。
图6.4.5 D触发器组成的4位双向左移寄存器
三.集成移位寄存器74194
74194是由四个触发器组成的功能很强的四位移位寄存器,其功能表如表6.4.3所示。由表6.4.3可以看出74194具有如下功能。
图6.4.6 集成移位寄存器74194 (a)逻辑功能示意图 (b)引脚图
(1)异步清零。当RD=0时即刻清零,与其他输入状态及CP无关。
(2)S1、S0是控制输入。当RD=1时74194有如下4种工作方式:
①当S1S0=00时,不论有无CP到来,各触发器状态不变,为保持工作状态。
②当S1S0=01时,在CP的上升沿作用下,实现右移(上移)操作,流向是SR→Q0→Q1→Q2→Q3。
③当S1S0=10时,在CP的上升沿作用下,实现左移(下移)操作,流向是SL→Q3→Q2→Q1→Q0。
④当S1S0=11时,在CP的上升沿作用下,实现置数操作:D0→Q0,D1→Q1,D2→Q2,D3→Q3。
表6.4.3 74194的功能表输 入
输 出
工作模式
清零
控制
串行输入
时钟
并行输入
RD
S1 S0
DSL DSR
CP
D0 D1 D2 D3
Q0 Q1 Q2 Q3
0
× ×
× ×
×
× × × ×
0 0 0 0
异步清零
1
0 0
× ×
×
× × × ×
保 持
1
1
0 1
0 1
× 1
× 0
↑
↑
× × × ×
× × × ×
1
0
右移,DSR为串行输入,Q3为串行输出
1
1
1 0
1 0
1 ×
0 ×
↑
↑
× × × ×
× × × ×
1
0
左移,DSL为串行输入,Q0为串行输出
1
1 1
× ×
↑
D0 D1 D2 D3
D0 D1 D2 D3
并行置数
DSL 和DSR分别是左移和右移串行输入。D0、D1、D2和D3是并行输入端。Q0和Q3分别是左移和右移时的串行输出端,Q0、Q1、Q2和Q3为并行输出端。
四.移位寄存器构成的移位型计数器
1环形计数器图6.4.7是用74194构成的环形计数器的逻辑图和状态图。当正脉冲起动信号START到来时,使S1S0=11,从而不论移位寄存器74194的原状态如何,在CP作用下总是执行置数操作使Q0Q1Q2Q3=1000。当START由1变0之后,S1S0=01,在CP作用下移位寄存器进行右移操作。在第四个CP到来之前Q0Q1Q2Q3=0001。这样在第四个CP到来时,由于DSR=Q3=1,故在此CP作用下Q0Q1Q2Q3=1000。可见该计数器共4个状态,为模4计数器。
图6.4.7 用74194构成的环形计数器 (a)逻辑图 (b)状态图环形计数器的电路十分简单,N位移位寄存器可以计N个数,实现模N计数器,且状态为1的输出端的序号即代表收到的计数脉冲的个数,通常不需要任何译码电路。
2.扭环形计数器为了增加有效计数状态,扩大计数器的模,将上述接成右移寄存器的74194的末级输出Q3反相后,接到串行输入端DSR,就构成了扭环形计数器,如图6.4.8(a)所示,图(b)为其状态图。可见该电路有8个计数状态,为模8计数器。一般来说,N位移位寄存器可以组成模2N的扭环形计数器,只需将末级输出反相后,接到串行输入端。
图6.4.8 用74194构成的扭环形计数器 (a)逻辑图 (b)状态图
6.5 同步时序逻辑电路的设计方法
一.同步时序逻辑电路的设计方法
1.同步时序逻辑电路的设计步骤
(1)根据设计要求,设定状态,导出对应状态图或状态表。
(2)状态化简。原始状态图(表)通常不是最简的,往往可以消去一些多余状态。消去多余状态的过程叫做状态化简。
(3)状态分配,又称状态编码。
(4)选择触发器的类型。触发器的类型选得合适,可以简化电路结构。
(5)根据编码状态表以及所采用的触发器的逻辑功能,导出待设计电路的输出方程和驱动方程。
(6)根据输出方程和驱动方程画出逻辑图。
(7)检查电路能否自启动。
2.同步计数器的设计举例由于计数器没有外部输入变量X,则设计过程比较简单。
例6.5.1 设计一个同步5进制加法计数器
解:设计步骤如下。
(1)根据设计要求,设定状态,画出状态转换图。由于是5进制计数器,所以应有5个不同的状态,分别用S0、S1、…、S4表示。在计数脉冲CP作用下,5个状态循环翻转,在状态为S4时,进位输出Y=1。状态转换图如图6.5.1所示。
(2)状态化简。5进制计数器应有5个状态,不须化简。
(3)状态分配,列状态转换编码表。由式2n≥N>2n-1可知,应采用3位二进制代码。该计数器选用三位自然二进制加法计数编码,即S0=000、S1=001、…、S4=100。由此可列出状态转换表如表6.5.1所示。
表6.5.1 例6.5.1的状态转换表
状态转换顺序
现 态
次态
进位输出
Y
S0
S1
S2
S3
S4
0 0 0
0 0 1
0 1 0
0 1 1
1 0 0
0 0 1
0 1 0
0 1 1
1 0 0
0 0 0
0
0
0
0
1
(4)选择触发器。本例选用功能比较灵活的JK触发器。
(5)求各触发器的驱动方程和进位输出方程。
列出JK触发器的驱动表如表6.5.2所示。画出电路的次态卡诺图如图6.5.2所示,三个无效状态101、110、111作无关项处理。根据次态卡诺图和JK触发器的驱动表可得各触发器的驱动卡诺图如图6.5.3所示。
表6.5.2 JK触发器的驱动表
Qn → Qn+1
J K
0 0
0 1
1 0
1 1
0 ×
1 ×
× 1
× 0
6.5.3 例6.5.1各触发器的驱动卡诺图
再画出输出卡诺图如图6.5.4所示,可得电路的输出方程:
将各驱动方程与输出方程归纳如下:
(6)画逻辑图。根据驱动方程和输出方程,画出5进制计数器的逻辑图如图6.5.5所示。
图6.5.5 例6.5.1的逻辑图
(7)检查能否自启动。利用逻辑分析的方法画出电路完整的状态图如图6.5.6所示。可见,如果电路进入无效状态101、110、111时在CP脉冲作用下,分别进入有效状态010、010、000。所以电路能够自启动。
3.一般时序逻辑电路的设计举例
例6.5.2 设计一个串行数据检测器。该检测器有一个输入端X,它的功能是对输入信号进行检测。当连续输入三个1(以及三个以上1)时,该电路输出Y=1,否则输出Y=0。
解:(1)根据设计要求,设定状态,画出状态转换图。
S0——初始状态或没有收到1时的状态;
S1——收到一个1后的状态;
S2——连续收到两个1后的状态;
S2——连续收到三个1(以及三个以上1)后的状态。
根据题意可画出如图6.5.7所示的原始状态图。
(3)状态化简。状态化简就是合并等效状态。所谓等效状态就是那些在相同的输入条件下,输出相同、次态也相同的状态。观察图6.5.7可知,S2和S3是等价状态,所以将S2和S3合并,并用S2表示,图6.5.8是经过化简之后的状态图。
图6.5.7 例6.5.1的原始状态图 图6.5.8 化简后的状态图
(4)状态分配,列状态转换编码表。本例取S0=00、S1=01、S2=11。图6.5.9是该例的编码形式的状态图。
由图6.5.9可画出编码后的状态表如表6.5.3所示。
表6.5.3 例6.5.2的编码状态表
X
0
1
0 0
0 1
1 1
00/0
00/0
00/0
01/0
11/0
11/1
(5)选择触发器,求出状态方程、驱动方程和输出方程。
本例选用2个D触发器,列出D触发器的驱动表如表6.5.4所示。画出电路的次态和输出卡诺图如图6.5.10所示。由输出卡诺图可得电路的输出方程:
根据次态卡诺图和D触发器的驱动表可得各触发器的驱动卡诺图如图6.5.11所示。由各驱动卡诺图可得电路的驱动方程:
表6.5.4 D触发器的驱动表
Qn → Qn+1
D
0 0
0 1
1 0
1 1
0
1
0
1
图6.5.11 例6.5.2各触发器的驱动卡诺图
(6)画逻辑图。根据驱动方程和输出方程,画出该串行数据检测器的逻辑图如图6.5.12所示。
(7)检查能否自启动。图6.5.13是图6.5.12电路的状态图,可见,电路能够自启动。
图6.5.12 例6.5.2的逻辑图 图6.5.13 检查自启动
二.异步时序逻辑电路的设计方法由于异步时序电路中各触发器的时钟脉冲不统一。因此设计异步时序逻辑电路要比同步电路多一步,就是为每个触发器选择一个合适的时钟信号,即求各触发器的时钟方程。除此之外,异步时序电路的设计方法与同步时序电路基本相同。
例6.5.3 设计一个异步7进制加法计数器
解:设计步骤如下。
(1)根据设计要求,设定7个状态S0~S6。进行状态编码后,列出状态转换表如表6.5.5所示。表中Y为进位输出变量。7进制计数器应有7个状态,所以不须状态化简。
表6.5.5 例6.5.3的状态转换表
状态转换顺序
现 态
次态
进位输出
Y
S0
S1
S2
S3
S4
S5
S6
0 0 0
0 0 1
0 1 0
0 1 1
1 0 0
1 0 1
1 1 0
0 0 1
0 1 0
0 1 1
1 0 0
1 0 1
1 1 0
0 0 0
0
0
0
0
0
0
1
(2)选择触发器。本例选用下降沿触发的JK触发器。
(3)求各触发器的时钟方程,即为各触发器选择时钟信号。为了选择方便,由状态表画出电路的时序图,如图6.5.14所示。为触发器选择时钟信号的原则是:①触发器状态需要翻转时,必须要有时钟信号的翻转沿送到。②触发器状态不需翻转时,“多余的” 时钟信号越少越好。根据上述原则,选择:
(3)求各触发器的驱动方程和进位输出方程。
列出JK触发器的驱动表如表6.5.2所示。画出电路的次态卡诺图如图6.5.16所示,无效状态111作无关项处理。根据次态卡诺图和JK触发器的驱动表可得三个触发器各自的驱动卡诺图如图6.5.17所示。
图6.5.15 例6.5.3的时序图 图6.5.16 例6.5.3的次态卡诺图
图6.5.17 例6.5.3各触发器的驱动卡诺图根据驱动卡诺图写出驱动方程:
再画出输出卡诺图如图6.5.18所示,可得电路的输出方程:
(4)画逻辑图。根据驱动方程和输出方程,画出异步7进制计数器的逻辑图如图6.5.19所示。
图6.5.19 例6.5.3的逻辑图
(5)检查能否自启动。利用逻辑分析的方法画出电路完整的状态图如图6.5.20所示。可见,如果电路进入无效状态111时,在CP脉冲作用下可进入有效状态000。所以电路能够自启动。
图6.5.20 例6.5.3的状态图
本章小结
1.时序逻辑电路在任何一个时刻的输出状态不仅取决于当时的输入信号,还与电路的原状态有关。因此时序电路中必须含有具有记忆能力的存储器件,触发器是最常用的存储器件。
2.描述时序逻辑电路逻辑功能的方法有状态转换真值表、状态转换图和时序图等。
3.时序逻辑电路的分析步骤一般为:逻辑图→时钟方程(异步)、驱动方程、输出方程→状态方程→状态转换真值表→状态转换图和时序图→逻辑功能。
4.时序逻辑电路的设计步骤一般为:设计要求→最简状态表→编码表→次态卡诺图→驱动方程、输出方程→逻辑图。
5.计数器是一种简单而又最常用的时序逻辑器件。它们在计算机和其他数字系统中起着非常重要的作用。计数器不仅能用于统计输入时钟脉冲的个数,还能用于分频、定时、产生节拍脉冲等。
6.用已有的M进制集成计数器产品可以构成N(任意)进制的计数器。采用的方法有异步清零法、同步清零法、异步置数法和同步置数法,根据集成计数器的清零方式和置数方式来选择。当M>N时,用l片M进制计数器即可;当M<N时,要用多片M进制计数器组合起来,才能构成N进制计数器。当需要扩大计数器的容量时,可将多片集成计数器进行级联。
7.寄存器也是一种常用的时序逻辑器件。寄存器分为数码寄存器和移位寄存器两种,移位寄存器又分为单向移位寄存器和双向移位寄存器。集成移位寄存器使用方便、功能全、输入和输出方式灵活。用移位寄存器可实现数据的串行—并行转换、组成环形计数器、扭环计数器、顺序脉冲发生器等。