分析时序逻辑电路在输入信号的作用下,其状态和输出信号变化的规律,进而确定电路的逻辑功能。
利用驱动方程、次态方程和输出方程 , 求出在任何给定的输入变量状态和存储电路状态下时序电路的输出和次态
1.了解电路的组成:电路的输入、输出信号、触发器的类型等
2.根据给定的时序电路图,写出下列各逻辑方程式:
3.列出状态转换表或画出状态图和波形图
4.确定电路的逻辑功能
例1:分析以下电路的逻辑功能:
从而,可以得到以下的次态方程组:
{ Q 1 n + 1 = Q 3 n ‾ Q 1 n ‾ Q 2 n + 1 = Q 1 n Q 2 n ‾ + Q 1 n ‾ Q 2 n = Q 1 n ⊕ Q 2 n Q 3 n + 1 = Q 1 n Q 2 n Q 3 n ‾ \left \{ \begin{aligned} &Q^{n+1}_1 = \overline {Q^n_3}\ \overline {Q^n_1} \\ &Q^{n+1}_2 = Q^n_1\overline {Q^n_2} + \overline {Q^n_1}Q^n_2 = Q^n_1 \oplus Q^n_2\\ &Q^{n+1}_{3} = Q^n_1Q^n_2\overline {Q^n_3} \end{aligned} \right. ⎩⎪⎨⎪⎧Q1n+1=Q3n Q1nQ2n+1=Q1nQ2n+Q1nQ2n=Q1n⊕Q2nQ3n+1=Q1nQ2nQ3n
检查电路能否从 非工作状态 (未出现在状态转移真值表中的状态) 进入工作状态
非工作状态: 101 , 110 , 111 101,110,111 101,110,111
分别代入次态方程组和输出方程:
电路可以由非工作状态进入工作状态,故可以自启!
由于时钟脉冲控制状态从 000 − 001 − 010 − 011 − 100 − 000 000-001-010-011-100-000 000−001−010−011−100−000,循环变换,逢五进一,可知,该电路是一个同步的五进制计数器
分析以下电路的逻辑功能:
这也是下降沿触发的J-K触发器。
可得次态方程组:
{ Q 1 n + 1 = ( X ⊕ Q 2 n ‾ ) Q 1 n ‾ Q 2 n + 1 = ( X ⊕ Q 1 n ) Q 2 n ‾ \left \{ \begin{aligned} Q^{n+1}_1 = (X \oplus \overline {Q^n_2}) \overline {Q^n_1} \\ Q^{n+1}_2 = (X \oplus Q^n_1)\overline {Q^n_2} \end{aligned} \right. {Q1n+1=(X⊕Q2n)Q1nQ2n+1=(X⊕Q1n)Q2n
① 当 X = 0 X=0 X=0 时,化简方程:
{ Q 1 n + 1 = ( X ⊕ Q 2 n ‾ ) Q 1 n ‾ = Q 2 n ‾ Q 1 n ‾ Q 2 n + 1 = ( X ⊕ Q 1 n ) Q 2 n ‾ = Q 1 n Q 2 n ‾ Z = Q 2 n Q 1 n ‾ \left \{ \begin{aligned} &Q^{n+1}_1 = (X \oplus \overline {Q^n_2}) \overline {Q^n_1}=\overline {Q^n_2}\ \overline {Q^n_1} \\ &Q^{n+1}_2 = (X \oplus Q^n_1)\overline {Q^n_2} = Q^n_1 \overline {Q^n_2}\\ &Z = Q^n_2 \overline {Q^n_1} \end{aligned} \right. ⎩⎪⎨⎪⎧Q1n+1=(X⊕Q2n)Q1n=Q2n Q1nQ2n+1=(X⊕Q1n)Q2n=Q1nQ2nZ=Q2nQ1n
② 当 X = 1 X=1 X=1 时,化简方程:
{ Q 1 n + 1 = ( X ⊕ Q 2 n ‾ ) Q 1 n ‾ = Q 2 n Q 1 n ‾ Q 2 n + 1 = ( X ⊕ Q 1 n ) Q 2 n ‾ = Q 1 n ‾ Q 2 n ‾ Z = Q 2 n ‾ Q 1 n ‾ \left \{ \begin{aligned} &Q^{n+1}_1 = (X \oplus \overline {Q^n_2}) \overline {Q^n_1}= {Q^n_2}\ \overline {Q^n_1} \\ &Q^{n+1}_2 = (X \oplus Q^n_1)\overline {Q^n_2} = \overline{Q^n_1}\ \overline {Q^n_2}\\ &Z = \overline {Q^n_2}\ \overline {Q^n_1} \end{aligned} \right. ⎩⎪⎨⎪⎧Q1n+1=(X⊕Q2n)Q1n=Q2n Q1nQ2n+1=(X⊕Q1n)Q2n=Q1n Q2nZ=Q2n Q1n
X = 0 X =0 X=0 时的状态转移图:
X = 1 X =1 X=1 时的状态转移图
Z = ( X ⊕ Q 2 n ) ⋅ Q 1 n ‾ Z = (X \oplus Q^n_2) \cdot \overline {Q^n_1} Z=(X⊕Q2n)⋅Q1n
非工作状态: 11 11 11;分别代入次态方程组和输出方程,可得:
该电路能够自启。
该电路共有三个状态: 00 , 01 , 10 00,01,10 00,01,10
该电路是一个加减可控的三进制计数器
当时钟信号下降沿到来时:
1.了解电路的组成:电路的输入、输出信号、触发器的类型等;
2.根据给定的时序电路图, 写出下列各逻辑方程式:
3.列出状态转换表、画出状态图和波形图
4.确定电路的逻辑功能
1.第一个触发器:每一次状态转换必须从输入信号所能触发的第一个触发器开始逐级确定;
2.是否出现触发沿。逐个分析各触发器的时钟信号是否出现触发沿:
CP_n =0
,该触发器保持原有状态3.时间延迟
各个触发器的状态转换存在一定的延迟。只有当全部触发器状态转换完毕,电路才进入新的“稳定”状态,即次态
分析以下电路的逻辑功能:
电路基本情况:
• 采用两个上升沿触发的 D D D 触发器
• 时钟脉冲信号作为输入信号,不存在其他的输入信号
• 时钟 CP
的上升沿触发 F F 0 FF_0 FF0
• Q 0 Q_0 Q0 由 0 → 1 0→1 0→1 时触发 F F 1 FF_1 FF1 ,要根据 Q 0 Q_0 Q0 的变化情况,确定是否更新 Q 1 Q_1 Q1 的次态
时钟方程:
{ C P 0 = C P ↑ C P 1 = Q 0 ↑ \left \{ \begin{aligned} &CP_0 = CP\uparrow \\ &CP_1 = Q_0 \uparrow \end{aligned} \right. {CP0=CP↑CP1=Q0↑
驱动方程组:
{ D 0 = Q 0 n ‾ D 1 = Q 1 n ‾ \left \{ \begin{aligned} &D_0 = \overline {Q_0^n} \\ &D_1 =\overline {Q_1^n} \end{aligned} \right. {D0=Q0nD1=Q1n
输出方程: Z = Q 0 n + Q 1 n ‾ = Q 0 n ‾ Q 1 n ‾ Z = \overline {Q^n_0 + Q^n_1} = \overline {Q^n_0}\ \overline {Q^n_1} Z=Q0n+Q1n=Q0n Q1n
由于 Q n + 1 = D Q^{n+1} = D Qn+1=D ,次态方程组:
{ Q 0 n + 1 = D 0 = Q 0 n ‾ ⋅ C P 0 Q 1 n + 1 = D 1 = Q 1 n ‾ ⋅ C P 1 \left \{ \begin{aligned} &Q_0^{n+1} = D_0 = \overline {Q_0^n} \cdot CP_0 \\ &Q_1^{n+1} = D_1 = \overline {Q_1^n} \cdot CP_1 \end{aligned} \right. {Q0n+1=D0=Q0n⋅CP0Q1n+1=D1=Q1n⋅CP1
计算过程:
只有在 Q 0 Q_0 Q0 处于上升沿时, Q 1 Q_1 Q1 才会变化:
该电路共有四个状态,在时钟脉冲作用下,按照减 1 1 1 规律循环变化: 00 → 11 → 10 → 01 → 00 00→ 11→ 10→ 01→00 00→11→10→01→00 ,是一个四进制减法计数器。其中, Z Z Z 是借位信号。
接下来就是时序逻辑电路的设计问题了。
时序逻辑电路的设计相对来说很有难度,这里只要求掌握同步时序电路的设计。
同步时序逻辑电路的设计是分析的逆过程,其任务是根据实际逻辑问题的要求,设计出能实现给定逻辑功能的电路。
① 逻辑抽象:建立原始状态图和状态表;② 状态化简;③ 状态分配;
④ 选择触发器类型;⑤ 确定驱动方程组和输出方程;⑥ 检查自启动能力;⑦ 画出逻辑电路图
其中,状态化简和状态分配不要求掌握。
设计一个五进制可逆计数器。当输入 x = 0 x=0 x=0 时,进行加 1 1 1 计数;当 x = 1 x=1 x=1 时,进行减 1 1 1 计数。
(1) 确定输入、输出变量及电路状态的数量
(2) 定义输入、输出变量及电路状态的含义
(3) 列出状态转移真值表,画出状态转移图:
红色箭头:加1计数状态转换顺序;黑色箭头:减1计数状态转换顺序.
设计一个串行数据检测器,在连续输入四个或四个以上的 1 1 1 时输出 1 1 1 ,否则输出 0 0 0 。
(1) 确定输入、输出变量及电路状态分析
(2) 画出状态转移图
(3) 列出状态转移表
合并等效状态、 消去多余状态的过程,利用状态与状态间的等效关系来进行状态简化。
状态等效 :
在完全确定的状态表中,若对所有可能的输入序列 ,分别从某两个状态(假设为 S 1 S_1 S1 与 S 2 S_2 S2 )出发 ,所得到的输出序列都相同,且状态转移效果相同,则说这两个状态( S 1 S_1 S1 与 S 2 S_2 S2 )等效。记做:( S 1 S_1 S1 , S 2 S_2 S2 )。此时 S 1 S_1 S1 与 S 2 S_2 S2 可以合并为一个状态。
等效的传递性:若有状态 S 1 S_1 S1 和 S 2 S_2 S2 等效,状态 S 2 S_2 S2 和 S 3 S_3 S3 等效,则状态 S 1 S_1 S1 和 S 3 S_3 S3 也等效,记为:( S 1 S_1 S1 , S 2 S_2 S2),( S 2 S_2 S2 , S 3 S_3 S3) → ( S 1 S_1 S1 , S 3 S_3 S3)
等效类:所含状态都可以互相构成等效对的等效状态集合,即:
( S 1 , S 2 , S 3 ) (S_1,S_2 ,S_3) (S1,S2,S3) → ( S 1 , S 2 ) (S_1, S_2) (S1,S2) ( S 2 , S 3 ) (S_2, S_3) (S2,S3) ( S 1 , S 3 ) (S_1, S_3) (S1,S3)
( S 1 , S 2 ) (S_1, S_2) (S1,S2) ( S 2 , S 3 ) (S_2, S_3) (S2,S3) ( S 1 , S 3 ) (S_1, S_3) (S1,S3) → ( S 1 , S 2 , S 3 ) (S_1,S_2 ,S_3) (S1,S2,S3)
最大等效类:一个原始状态表中,不能被其它等效类所包含的等效类.
状态分配就是给最小化状态表中的每个状态分配一个二进制代码;
电路的状态是触发器状态的组合。如果电路有 N N N 个状态, 2 n − 1 < N ≤ 2 n 2^{n-1}
在确定了触发器类型的条件下,再确定驱动方程组。最常用的触发器是 D D D 触发器,其次是 J − K J-K J−K 触发器和 T T T 触发器。
由状态转移表得到驱动方程组和输出方程的过程:
分别用 D
触发器、J-K
触发器和 T
触发器实现下表所示的逻辑功能,试求对应的驱动方程和输出方程。
(1) 绘制触发器次态卡诺图和输出卡诺图
(2) 求出次态方程和输出方程
{ Q 2 n + 1 = X ‾ Q 2 n ‾ + X Q 1 n ‾ Q 1 n + 1 = X Q 2 n + X Q 1 n ‾ + Q 2 n Q 1 n ‾ \left \{ \begin{aligned} &Q^{n+1}_{2} = \overline X\ \overline {Q^n_2} + X\overline {Q^n_1}\\ &Q^{n+1}_1 = XQ^n_2 + X\overline {Q_1^n} + Q^n_2\overline {Q^n_1} \end{aligned} \right. {Q2n+1=X Q2n+XQ1nQ1n+1=XQ2n+XQ1n+Q2nQ1n
输出方程: Z = X Q 2 n Q 1 n Z = XQ^n_2Q^n_1 Z=XQ2nQ1n
(3) 确定驱动方程组和输出方程(将次态方程代入触发器的特征方程中)
若选用 D
触发器, Q n + 1 = D Q_{n+1} =D Qn+1=D。对比,得到
{ D 2 = X ‾ Q 2 n ‾ + X Q 1 n ‾ D 1 = X Q 2 n + X Q 1 n ‾ + Q 2 n Q 1 n ‾ \left \{ \begin{aligned} &D_{2} = \overline X\ \overline {Q^n_2} + X\overline {Q^n_1}\\ &D_1 = XQ^n_2 + X\overline {Q_1^n} + Q^n_2\overline {Q^n_1} \end{aligned} \right. {D2=X Q2n+XQ1nD1=XQ2n+XQ1n+Q2nQ1n
若选用 J-K
触发器, Q n + 1 = J Q n ‾ + K ‾ Q n Q^{n+1} = J\overline {Q^n} + \overline K Q^n Qn+1=JQn+KQn ,可得:
Q 2 n + 1 = X ‾ Q 2 n ‾ + X Q 1 n ‾ = X ‾ Q 2 n ‾ + X Q 1 n ‾ ( Q 2 n ‾ + Q 2 n ) = ( X ‾ + X Q 1 n ‾ ) Q 2 n ‾ + X Q 1 n ‾ Q 2 n = ( X ‾ + Q 1 n ‾ ) Q 2 n ‾ + X Q 1 n ‾ Q 2 n Q 1 n + 1 = X Q 2 n + X Q 1 n ‾ + Q 2 n Q 1 n ‾ = X Q 2 n ( Q 1 n + Q 1 n ‾ ) + X Q 1 n ‾ + Q 2 n Q 1 n ‾ = ( X + Q 2 n + X Q 2 n ) Q 1 n ‾ + X Q 2 n Q 1 n = ( X + Q 2 n ) Q 1 n ‾ + X Q 1 n Q 2 n \begin{aligned} Q^{n+1}_{2} &= \overline X\ \overline {Q^n_2} + X\overline {Q^n_1}\\ &= \overline X\ \overline {Q^n_2} + X\overline {Q^n_1}(\overline {Q^n_2} + Q^n_2)\\ &= (\overline X + X \overline {Q^n_1}) \overline {Q^n_2} + X \overline {Q^n_1} Q^n_2 \\ &= (\overline X + \overline {Q^n_1}) \overline {Q^n_2} + X\overline {Q^n_1} Q^n_2\\ Q^{n+1}_{1} &= X {Q^n_2} + X\overline {Q^n_1} + {Q^n_2}\overline {Q^n_1}\\ &= X {Q^n_2} ( {Q^n_1} + \overline {Q^n_1})+ X\overline {Q^n_1} + {Q^n_2}\overline {Q^n_1}\\ &= (X +{Q^n_2} + X {Q^n_2}) \overline {Q^n_1} + X {Q^n_2} Q^n_1 \\ &= ( X + {Q^n_2}) \overline {Q^n_1} + X {Q^n_1} Q^n_2 \end{aligned} Q2n+1Q1n+1=X Q2n+XQ1n=X Q2n+XQ1n(Q2n+Q2n)=(X+XQ1n)Q2n+XQ1nQ2n=(X+Q1n)Q2n+XQ1nQ2n=XQ2n+XQ1n+Q2nQ1n=XQ2n(Q1n+Q1n)+XQ1n+Q2nQ1n=(X+Q2n+XQ2n)Q1n+XQ2nQ1n=(X+Q2n)Q1n+XQ1nQ2n
从而:
{ J 2 = X ‾ + Q 1 n ‾ K 2 = X Q 1 n ‾ ‾ = X ‾ + Q 1 n { J 1 = X + Q 2 n K 1 = X Q 2 n ‾ = X ‾ + Q 2 n ‾ \left \{ \begin{aligned} J_2 &= \overline X + \overline {Q^n_1}\\ K_2 &= \overline {X \overline {Q^n_1}} = \overline X + {Q^n_1} \\ \end{aligned} \right.\\ \left \{ \begin{aligned} J_1 &=X + {Q^n_2}\\ K_1 &= \overline {X {Q^n_2}} = \overline X + \overline{Q^n_2} \\ \end{aligned} \right. {J2K2=X+Q1n=XQ1n=X+Q1n{J1K1=X+Q2n=XQ2n=X+Q2n
若选用 T
触发器, Q n + 1 = T Q n ‾ + T ‾ Q n Q^{n+1} = T\overline {Q^n} + \overline T{Q^n} Qn+1=TQn+TQn ,这个就有一定难度了。为了求出驱动方程,我们分析如下:
T触发器要发生状态翻转,必须满足输入端信号 T = 1 T=1 T=1,若选用T触发器假设两个T触发器的输入端信号分别为T1和T2,由状态转移表画T1和T2的卡诺图:
对T1和T2的卡诺图进行化简,得到T1和T2的逻辑表达式:
{ T 2 = X ‾ + Q 1 n ‾ Q 2 n ‾ + Q 2 n Q 1 n T 1 = X ‾ Q 1 n + X Q 2 n ‾ + Q 2 n Q 1 n ‾ \left \{ \begin{aligned} T_2 &= \overline X + \overline {Q^n_1} \ \overline {Q^n_2} +Q^n_2Q^n_1\\ T_1 &= \overline {X} {Q^n_1} + X\overline{Q^n_2} + Q^n_2\overline {Q^n_1} \\ \end{aligned} \right.\\ {T2T1=X+Q1n Q2n+Q2nQ1n=XQ1n+XQ2n+Q2nQ1n
当所设计的电路中,触发器能表示的状态数大于有效状态数时,需要对所设计的电路进行实际工作状态讨论。
讨论两个问题 :
(1) 电路万一进入无用状态,能否在时钟脉冲作用下进入有效状态,即是否具有自恢复功能和自启动功能。
(2) 电路万一处在无用状态,是否会产生错误信号。
一但出现以上两个问题都必须修改电路设计,否则将影响电路工作的可靠性和正确性。
用 J-K
触发器设计一个五进制同步计数器, 要求状态转移关系如右图所示。
(1) 逻辑抽象,建立原始状态图和状态表 。
本例属于给定状态的时序电路设计问题,不存在逻辑抽象的问题,可以直接建立状态转移真值表。
(2) 选择触发器, 确定驱动方程和输出方程。根据状态转移真值表,画出各个次态的卡诺图。
若选用J-K触发器, 则由次态卡诺图求出其状态方程,再求出驱动方程:
{ Q 2 n + 1 = Q 1 n Q 2 n ‾ + Q 1 n ‾ Q 2 n Q 1 n + 1 = Q 0 n Q 1 n ‾ Q 0 n + 1 = Q 2 n ‾ = Q 2 n ‾ Q 0 n ‾ + Q 2 n ‾ Q 0 n { J 2 = Q 1 n , K 2 = Q 1 n J 1 = Q 0 n , K 1 = 1 J 0 = Q 2 n ‾ , K 0 = Q 2 n \left \{ \begin{aligned} &Q^{n+1}_{2} =Q_1^n \overline {Q^n_2} + \overline {Q^n_1}Q^n_2\\ &Q^{n+1}_1 = Q^n_0 \overline {Q_1^n} \\ &Q^{n+1}_0 = \overline {Q^n_2} = \overline {Q^n_2}\ \overline {Q^n_0} + \overline {Q^n_2} Q^n_0 \end{aligned} \right. \left \{ \begin{aligned} &J_{2} =Q_1^n, K_2 = {Q^n_1}\\ &J_1 = Q^n_0, K_1 = 1\\ &J_0 = \overline {Q^n_2}, K_0 = {Q^n_2} \end{aligned} \right. ⎩⎪⎨⎪⎧Q2n+1=Q1nQ2n+Q1nQ2nQ1n+1=Q0nQ1nQ0n+1=Q2n=Q2n Q0n+Q2nQ0n⎩⎪⎨⎪⎧J2=Q1n,K2=Q1nJ1=Q0n,K1=1J0=Q2n,K0=Q2n
(3) 自启动检查:根据以上次态方程, 检查多余状态的转移情况。
状态转移表:
状态转移图:
存在孤立状态,因此不能自启。通过修改电路设计,可以避免不能自启动的问题。解决方法:改变卡诺图的圈法。如果希望能尽量使用任意项,那么只能对图( a )和图( c )的圈法作修改。 现选择对图( c )的圈法作修改,即仅改变 Q 0 Q_0 Q0 的转移,改进后的 Q 0 Q_0 Q0 卡诺图:
{ Q 2 n + 1 = Q 1 n Q 2 n ‾ + Q 1 n ‾ Q 2 n Q 1 n + 1 = Q 0 n Q 1 n ‾ Q 0 n + 1 = Q 1 n ‾ Q 0 n ‾ + Q 2 n ‾ Q 0 n { J 2 = Q 1 n , K 2 = Q 1 n J 1 = Q 0 n , K 1 = 1 J 0 = Q 1 n ‾ , K 0 = Q 2 n \left \{ \begin{aligned} &Q^{n+1}_{2} =Q_1^n \overline {Q^n_2} + \overline {Q^n_1}Q^n_2\\ &Q^{n+1}_1 = Q^n_0 \overline {Q_1^n} \\ &Q^{n+1}_0 = \overline {Q^n_1}\ \overline {Q^n_0} + \overline {Q^n_2} Q^n_0 \end{aligned} \right. \left \{ \begin{aligned} &J_{2} =Q_1^n, K_2 = {Q^n_1}\\ &J_1 = Q^n_0, K_1 = 1\\ &J_0 = \overline {Q^n_1}, K_0 = {Q^n_2} \end{aligned} \right. ⎩⎪⎨⎪⎧Q2n+1=Q1nQ2n+Q1nQ2nQ1n+1=Q0nQ1nQ0n+1=Q1n Q0n+Q2nQ0n⎩⎪⎨⎪⎧J2=Q1n,K2=Q1nJ1=Q0n,K1=1J0=Q1n,K0=Q2n
能够自启动的状态转移图:
(4) 画出电路图
这里题目出现了一定的错误,应该是异步置 0 0 0 端 R D ‾ \overline {R_D} RD,异步置 1 1 1 端 S D ‾ \overline {S_D} SD 。当 S D ‾ = 1 , R D ‾ = 0 \overline {S_D} = 1, \overline {R_D} = 0 SD=1,RD=0 时, Q = 0 Q = 0 Q=0;当 S D ‾ = 0 , R D ‾ = 1 \overline {S_D} = 0, \overline {R_D} = 1 SD=0,RD=1 时, Q = 1 Q = 1 Q=1 。因此 Q Q Q 的波形图如下:
看了答案,将答案更新如下。有的地方我没有写完整,有的地方我和答案不太一样,但是应该是对的。
17. 17. 17. 用 J − K J-K J−K 触发器和门电路设计一个七进制加法计数器。