110序列检测器设计 您所在的位置:网站首页 给出初始化和启动的示意代码 110序列检测器设计

110序列检测器设计

#110序列检测器设计| 来源: 网络整理| 查看: 265

110序列检测器设计:

(1)逻辑抽象:

        假设输入数据为X;

        要输入3位连续的数据, 至少需要4个状态, 将状态变量设为S_{3}S_{2}S_{1}S_{0};

        输出变量为Y, 是检测连续输入的数据是否为110的逻辑结果.

        状态转换关系为: 当脉冲到来时, X输入一位数据, 根据其为0或者为1, 确定现态转移到哪个次态. 

        当连续输入3个数据后, 如果判断输入数据为110, 则Y=1; 其他时刻Y=0.

(2)绘制原始状态图:

(3)绘制原始状态表:

110序列检测器原始状态表S_{n}S_{n+1}/YX=0X=1S_{0}S_{0}/0S_{1}/0S_{1}S_{0}/0S_{2}/0S_{2}S_{3}/1S_{2}/0S_{3}S_{0}/0S_{1}/0

(4)状态化简:

        由于状态S_{0}S_{3}在无论在X=0时还是X=1时对应的次态都为S_{0}(X=0)S_{1}(X=1)Y都为0, 则状态S_{0}S_{3}等价.

        消除S_{3}行, 将状态表中出现S_{3}的地方用S_{0}替代, 得到化简后的状态表.

(5)状态编码:

        3个状态需要2位二进制数对其编码, 这里采用自然顺序码进行编码, 同时将状态变量设为Q_{1}Q_{0}, 三个状态S_{0}S_{1}S_{2}对应00、01、10.

(6)将原始状态表转换为状态真值表:

110序列检测器状态真值表{Q_{1}}^{n}{Q_{0}}^{n}X{Q_{1}}^{n+1}{Q_{0}}^{n+1}Y000000001010010000011100100001101100110\times\times\times111\times\times\times

 (7)绘制状态激励表(选用JK触发器):

 

110序列检测器状态激励表(JK触发器){Q_{1}}^{n}{Q_{0}}^{n}X{Q_{1}}^{n+1}{Q_{0}}^{n+1}YJ_{1}K_{1}J_{0}K_{0}0000000\times0\times0010100\times1\times0100000\times\times10111001\times\times1100001\times10\times101100\times00\times110\times\times\times\times\times\times\times111\times\times\times\times\times\times\times

(8)求输出方程和激励方程组:

 {Q_{0}}^{n}X00011110{Q_{1}}^{n}  00000110\times{\color{Red} \times }Y={Q_{1}}^{n}\overline{X}

 

 {Q_{0}}^{n}X00011110{Q_{1}}^{n}  000101\times\times{\color{Red} \times }\timesJ_{1}={Q_{0}}^{n}X

 

 {Q_{0}}^{n}X00011110{Q_{1}}^{n}  0{\color{Red} \times }\times\times{\color{Red} \times }110\times{\color{Red} \times }K_{1}=\overline{X}

 

 {Q_{0}}^{n}X00011110{Q_{1}}^{n} 

(

 

001{\color{Red} \times}\times100\times\timesJ_{0}=\overline{​{Q_{1}}^{n}}X

 (9)检查电路的自启动功能:

        在设计电路的过程中, 现态11被化简, 在X=0和X=1时的次态不可知, 也就是不能确定该状态是否能进入有效的循环, 电路是否具有自启动的功能.

{Q_{1}}^{n+1}=J_{1}\overline{​{Q_{1}}^{n}}+\overline{K_{1}}{Q_{1}}^{n}={Q_{0}}^{n}X\overline{​{Q_{1}}^{n}}+\overline{\overline{X}}{Q_{1}}^{n}=\overline{​{Q_{1}}^{n}}{Q_{0}}^{n}X+{Q_{1}}^{n}X,

{Q_{0}}^{n+1}=J_{0}\overline{​{Q_{0}}^{n}}+\overline{K_{0}}{Q_{0}}^{n}=\overline{​{Q_{1}}^{n}}X\overline{​{Q_{0}}^{n}}+0 \cdot {Q_{0}}^{n}=\overline{​{Q_{1}}^{n}}\cdot \overline{​{Q_{0}}^{n}} \cdot X,

Y={Q_{1}}^{n}\overline{X},

       将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.

        建议大家仔细研究该例子的分析过程, 这对日后更深层次的学习有着很大的帮助. 我这么说是有依据的. 由于去年在学习计算机组成原理这门课时, 对于数字电路后半部分的知识已基本遗忘, 这导致在学习计算机组成原理时无法深入理解, 只能停留在表面上做文章. 所以希望大家能对该部分内容更加深刻地理解.

 



【本文地址】

公司简介

联系我们

今日新闻

    推荐新闻

      专题文章
        CopyRight 2018-2019 实验室设备网 版权所有