明晚就要考数字逻辑了,不对,应该是今天晚上了,在这贴一道同步时序逻辑电路设计题,顺便也屡屡思路,然后睡觉。
题目:
用JK触发器设计一个111序列检测器,即检测到输入为111时输出为1,否则为0
步骤:
(一)建立状态图与状态表:
电路特点:具有一个串行输入端X,一个检测结果端Z。
分析: 因为检测的是111,所以需要纪录的输入有1,11,111还有一个初态共四个状态。
设初态为S0,收到1为S1,收到11为S2,收到111为S3
原始状态图
(注:红色的圈表示假设的几个状态,线上的形式为X/Y,即:输入/输出(例,1/0表示输入为1,输出为0))
原始状态表
(注:S0/0表示,次态为S0,输出为0)
(二)化简状态图和状态表
经化简后变成了只需要记忆3个状态,这样就可以减少一个JK触发器,需要2个JK触发器就够了,而不是3个。
(三)编码
因为是3个状态,所以用二位二进制编码表示就可以了,即两个JK触发器。
S0=00,S1=01,S2=11
(因为需要相邻的编码之间只能有一位不同,所以S2=11,而不是S2=10)
(四)做激励表
输入 现态 次态 Q1 Q2 输出
X |
Q1 Q0 |
Q1n+1 Q0n+1 |
J1 K1 J0 K0 |
Z |
0 |
0 0 |
0 0 |
0 X 0 X |
0 |
0 |
0 1 |
0 0 |
0 X X 1 |
0 |
0 |
- - |
- - |
X X X X |
X |
0 |
1 1 |
0 0 |
X 1 X 1 |
0 |
1 |
0 0 |
0 1 |
0 X 1 X |
0 |
1 |
0 1 |
1 1 |
1 X X 0 |
0 |
1 |
- - |
- - |
X X X X |
X |
1 |
1 1 |
1 1 |
X 0 X 0 |
1 |
(五)写输出方程和控制方程
对结果分别画出卡诺图并化简得:
Z = X Q1
J1= X Q0
K1= X(反)
J0= X
K0= X(反)
(六)逻辑图
(七)检测
检测如果电路进入无效状态10时,应检查电路能否进入正常状态,并且输出Z=0。
可以根据上面的控制方程得到两个触发器的状态方程。
得:当X=0时,触发器由10转成00 输出结果为0
当X=1时,触发器由10装成11 输出结果为1 (产生错误)
所以得到输出方程化简错误,重新将去掉多余的无关态,得新的输出方程:
Z=X Q1 Q0
根据方程得到新的逻辑图
(红色部分为改进的部分)
PS:
写完Blog心情总会好一些,但愿今天能早点睡着,不要做梦。
阅读(6767) | 评论(3) | 转发(0) |