110序列检测器设计:
(1)逻辑抽象:
假设输入数据为X;
要输入3位连续的数据, 至少需要4个状态, 将状态变量设为、
、
、
;
输出变量为Y, 是检测连续输入的数据是否为110的逻辑结果.
状态转换关系为: 当脉冲到来时, X输入一位数据, 根据其为0或者为1, 确定现态转移到哪个次态.
当连续输入3个数据后, 如果判断输入数据为110, 则Y=1; 其他时刻Y=0.
(2)绘制原始状态图:
(3)绘制原始状态表:
| 110序列检测器原始状态表 | ||
|---|---|---|
(4)状态化简:
由于状态、
在无论在X=0时还是X=1时对应的次态都为
、
且
都为0, 则状态
和
等价.
消除行, 将状态表中出现
的地方用
替代, 得到化简后的状态表.
(5)状态编码:
3个状态需要2位二进制数对其编码, 这里采用自然顺序码进行编码, 同时将状态变量设为、
, 三个状态
、
、
对应00、01、10.
(6)将原始状态表转换为状态真值表:
| 110序列检测器状态真值表 | |||||
|---|---|---|---|---|---|
| 0 | 0 | 0 | 0 | 0 | 0 |
| 0 | 0 | 1 | 0 | 1 | 0 |
| 0 | 1 | 0 | 0 | 0 | 0 |
| 0 | 1 | 1 | 1 | 0 | 0 |
| 1 | 0 | 0 | 0 | 0 | 1 |
| 1 | 0 | 1 | 1 | 0 | 0 |
| 1 | 1 | 0 | |||
| 1 | 1 | 1 | |||
(7)绘制状态激励表(选用JK触发器):
| 110序列检测器状态激励表(JK触发器) | |||||||||
|---|---|---|---|---|---|---|---|---|---|
| 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | ||
| 0 | 0 | 1 | 0 | 1 | 0 | 0 | 1 | ||
| 0 | 1 | 0 | 0 | 0 | 0 | 0 | 1 | ||
| 0 | 1 | 1 | 1 | 0 | 0 | 1 | 1 | ||
| 1 | 0 | 0 | 0 | 0 | 1 | 1 | 0 | ||
| 1 | 0 | 1 | 1 | 0 | 0 | 0 | 0 | ||
| 1 | 1 | 0 | |||||||
| 1 | 1 | 1 | |||||||
(8)求输出方程和激励方程组:
| 00 | 01 | 11 | 10 | ||
| 0 | 0 | 0 | 0 | 0 | |
| 1 | 1 | 0 | |||
| 00 | 01 | 11 | 10 | ||
| 0 | 0 | 0 | 1 | 0 | |
| 1 | |||||
| 00 | 01 | 11 | 10 | ||
| 0 | |||||
| 1 | 1 | 0 | |||
| 00 | 01 | 11 | 10 | ||
|
(
|
|||||
| 0 | 0 | 1 | |||
| 1 | 0 | 0 | |||
(9)检查电路的自启动功能:
在设计电路的过程中, 现态11被化简, 在X=0和X=1时的次态不可知, 也就是不能确定该状态是否能进入有效的循环, 电路是否具有自启动的功能.
将X=0, 现态11代入次态方程组和输出方程, 得到次态00, Y=1;
将X=1, 现态11代入次态方程组和输出方程, 得到次态10, Y=0;
∴电路具有自启动功能.
(10)绘制110序列检测器最终状态图:
(11)设计心得:
相比同步十进制加法计数器的设计, 110序列检测器的设计更为复杂.
在设计110序列检测器的10个模块中, 最重要的就是逻辑抽象模块: 如果逻辑抽象发生偏差, 那么最终得到的电路将是错误的.
在设计完同步八进制可逆加减法计数器、同步十进制加法计数器和110序列检测器后, 我们应该对状态转换、有效脉冲、输入/输出条件三者间的配合有了更加准确的认识.
这里拿上面的最终状态图作为例子, 再次讲解状态图的含义: 假设初始状态为00, 当有效脉冲时间(假设为上升沿)到达时, 如果此时X=0, 那么状态还是00, 且输出Y为0; 如果此时X=1, 那么状态变为01, 且输出Y为0. 假设状态已变为01, 当下一个有效脉冲时间(假设为上升沿)到达时, 如果此时X=0, 那么状态变为00, 且输出Y为0; 如果此时X=1, 那么状态变为10, 且输出为0. 假设状态已变为10, 当下一个有效脉冲时间(假设为上升沿)到达时, 如果此时X=0, 那么状态变为00, 且输出Y为1(0 -> 1); 如果此时X=1, 那么状态还是10, 且输出Y为0.
建议大家仔细研究该例子的分析过程, 这对日后更深层次的学习有着很大的帮助. 我这么说是有依据的. 由于去年在学习计算机组成原理这门课时, 对于数字电路后半部分的知识已基本遗忘, 这导致在学习计算机组成原理时无法深入理解, 只能停留在表面上做文章. 所以希望大家能对该部分内容更加深刻地理解.