第14章触发器和时序逻辑电路2010.0314.7序列脉冲发生器14.7.1一般计数器译码器型序列脉冲发生器14.7.2一般计数器译码器型序列脉冲发生器存在的问题14.7.3解决竞争冒险干扰的途径第14章触发器和时序逻辑电路2010.03在数控装置和数字计算机中,往往需要机器按着人们事先规定的顺序进行运算或操作,这就要求机器的控制部分不仅能正确地发出各种控制信号,而且要求这控制信号在时间上有一定的先后顺序。比如在分时制多路通迅中,需要把一个信道(传输信息的通道)按时间划分为多路,使时钟脉冲按一定顺序加以分配,能完成这类任务的电路就叫分配器,或者称为顺序脉冲发生器、节拍脉冲发生器,有时也叫分相器。14.7序列脉冲发生器组成分配器的电路很多,有一般计数器和译码器组成的顺序脉冲发生器,也有由特殊形式计数器组成的分配器。分配器一般由计数器和译码器组成。第14章触发器和时序逻辑电路2010.03由计数器和译码器组成的分配器如图所示。图的下半部是一个两位二进制异步计数器,图的上半部是由四个与门组成的译码器。异步计数器给出的四个状态通过译码器译出,各与门的输出即为分配器四条输出线PO、P1、、P2、和P3。1K1JC1Q1F1K1JC1Q2F&&&&CPP3P2P1P014.7.1一般计数器译码器型序列脉冲发生器图14.7.1一般计数器译码器型发生器第14章触发器和时序逻辑电路2010.03在时钟脉冲作用下PO、P1、P2、和P3将依次给出一串脉冲,每串脉冲的周期为4TCP,P3、P2、P1、P0的输出依次比前一级输出滞后一个TCP,TCP为时钟脉冲周期。123210QQ译码逻辑态序120QQP121QQP122QQP123QQP00011011表14.23状态转换表CP1Q2QP0P1P2P3第14章触发器和时序逻辑电路2010.03在计算机与数字控制系统中,可以用这些分配输出作为控制脉冲去依次打开某些控制门,或按顺序去操作某些执行机构的动作。而控制执行机构操作时间的长短则由驱动计数器的CP脉冲的周期来决定。分配器输出的各脉冲串的周期决定于计数器的进制。输出脉冲串的周期,也常用节拍数表示。如前面讲过的分配器输出脉冲串的周期为4TCP,那么这个分配器输出为四个节拍,可采用两位二进制计数器来实现。如节拍数为十的分配器,它的计数器可采用十进制计数器来实现等等。第14章触发器和时序逻辑电路2010.03分配器作为控制系统中协调电路各部分动作的部件,就要求各输出线给出的节拍脉冲要准确、可靠。如果一般计数器译码器型分配器中的计数器是异步式的,在时钟脉冲CP作用时,各个触发器不是同时翻转,而是有先有后。另外,在每次状态变化时,可能有两个或两个以上的触发器向相反方向翻转。14.7.2一般计数器译码器型序列脉冲发生器存在的问题定义在一个逻辑门的输入端,如果两个输入信号同时向相反方向变化,就称这两个信号存在竞争。如果两个竞争信号由于电路存在延迟或传输路径不同而出现时间差,就有可能在逻辑门的输出端呈现干扰尖峰,这个干扰尖峰是由于竞争产生的称为竞争冒险。出现竞争冒险的条件是在逻辑门的输入端存在竞争,且两竞争信号存在时间差。第14章触发器和时序逻辑电路2010.03CP1Q2QP0P1P2P3图14.7.3出现尖峰干扰的分配器第14章触发器和时序逻辑电路2010.03当Q1由“1”→“0”,由于延迟Q2还保持“0”,那么就出现了一个崭短的[Q2Q1]=00的情况。Q2经延迟后才由“0”→“1”,因而在相应的输出线P0上出现冒险尖峰,如波形图所示。CP1Q2QP0P1P2P3第14章触发器和时序逻辑电路2010.03显然图中的干扰波形是理想化了,也画成方波,实际的波形有时只是一个尖峰,有时幅度也达不到额定的高电平的数值。CP1Q2QP0P1P2P3从波形图可以看出,由于触发器翻转存在着延迟,只要输出线的译码门的输入信号存在竞争,也就是二个触发器的Q信号存在竞争,就会有竞争冒险存在。竞争冒险干扰的存在,特别是当这种干扰幅度较大时,若不加抑制或消除,就成为假信号,造成整机误动作。123210QQ译码逻辑态序120QQP121QQP122QQP123QQP00011011表14.23状态转换表第14章触发器和时序逻辑电路2010.03解决尖峰干扰的办法,一是减小尖峰幅值,一是消除尖峰干扰。减小尖峰的幅值通常在译码器的输出端加电容器吸收干扰信号,方法简单,但它使正常的输出波形变坏。另外将串行(异步)计数器改为同步计数器,由于延迟时间的减小,也会减小这种干扰。但由于触发器的延迟不可能完全一样,而且每个触发器的负载大小和布线情况也不相同,因此同步计数器各触发器不可能绝对同时翻转,这样就不可能彻底消除竞争冒险现象。所以上述两种办法,只能起到抑制作用。14.7.3解决竞争冒险干扰的途径第14章触发器和时序逻辑电路2010.03从根本上解决尖峰干扰的问题,就应当消除产生竞争冒险的根源。由上面分析看出,干扰尖峰的产生是由于编码状态转换时,触发器的输出在存在竞争,从而使译码器输出产生尖峰干扰。所以可以在计数器的状态编码上想办法,如果计数器在改变计数状态时,只有一个触发器翻转,也就是说计数器的编码是邻接的,就不会存在竞争,也就不会出现干扰尖峰(竞争冒险)。第14章触发器和时序逻辑电路2010.03第二种办法是不用译码器,使计数器的触发器Q端输出序列正好符合所需要的序列。这样就需要把输出序列作为计数器的编码来进行计数器的设计。如果这一输出序列的编码有重复的状态,就需要增加触发器作附加位,以区分重复的状态。如果重复的状态只有两个,增加一个触发器即可,如重复的状态有四个就需要增加两个触发器。增加附加位后计数器的设计就可按常规进行了。第14章触发器和时序逻辑电路2010.0310.3SSIC同步时序数字电路的设计第14章触发器和时序逻辑电路2010.03同步时序数字电路的设计过程基本上与时序数字电路的分析过程相反。先给出一个设计的逻辑要求,根据这个要求确定电路的状态转换表,根据状态转换表即可确定驱动方程,根据驱动方程即可画出所设计的时序数字电路的逻辑图。下面以BCD8421码同步计数器为例什么同步时序数字电路的的设计步骤。确定触发器的级数和类型确定状态转换表和状态转换条件表确定数据端的驱动方程式画出逻辑图校验第14章触发器和时序逻辑电路2010.0310.3.1.1确定触发器的级数和类型如果用n表示触发器的级数,则该时序数字电路的状态数最多为N=2n,则相当二进制计数器;若2n-1<N<2n则必须舍去多余的状态。例如N=10,应n=4,24=16>N=1016-10=6,多余的六个状态应舍去。所以设计BCD8421码计数器应采用四级触发器,且舍去最后的六个状态。对于同步计数器来说,N不管等于几,其分析方法和设计原则都是一致的。10.3.1设计BCD8421码同步计数器产品一般只提供JK触发器和D触发器,由于JK触发器的逻辑功能最齐全,设计结果往往比较简单,所以经常用JK触发器,但在大规模集成电路中则经常采用D触发器。第14章触发器和时序逻辑电路2010.0310.3.1.2确定状态转换表和状态转换条件表将BCD8421码列于状态转换真值表中左侧,并根据原状态确定新状态,新状态实际上是把原态的第一行,即初始状态[0000]拿到下面放在最后一行,其余状态依前向上串一行而得到的。或者说状态序0转换到态序1,态序1就是态序0的新状态;态序1转化到态序2,态序2就是态序1的新状态,……,直至态序9转换到态序0,从面完成一个循环。有了原状态与新状态的对应关系,就不难通过被选用触发器的派生表得出数据输入端的“0”、“1”值。表的右侧就是按JK触发器做出的状态转换表。 0000101100000010019000110011000811111000011170001011101106010101100101500010101010041101010000113000100110010210010010000110001000100000KDKCKBKAJDJCJBJA新状态原状态QDQCQBQA态序QC′QD′QB′QA′0000000000111n+QnQnKnJ010001110110第14章触发器和时序逻辑电路2010.0310.3.1.3确定数据端的驱动方程式用卡诺图即可求出驱动方程式,以QD、QC、QB、QA作为逻辑变量,将相应的J列和K列的“0”、“1”值移入对应的最小项的格子中即可作出卡诺图,舍去的六项可按约束项处理,结果如下:0000101100000010019000110011000811111000011170001011101106010101100101500010101010041101010000113000100110010210010010000110001000100000KDKCKBKAJDJCJBJA新状态QD′QC′QB′QA′原状态QDQCQBQA态序1111110110100111111011010010110100ABQQCDQQA1JA1K11101101000111011010000000DABQQJABQK第14章触发器和时序逻辑电路2010.03用卡诺图即可求出驱动方程式,以QD、QC、QB、QA作为逻辑变量,将相应的J列和K列的“0”、“1”值移入对应的最小项的格子中即可作出卡诺图,舍去的六项可按约束项处理,结果如下:0000101100000010019000110011000811111000011170001011101106010101100101500010101010041101010000113000100110010210010010000110001000100000KDKCKBKAJDJCJBJA新状态QD′QC′QB′QA′原状态QDQCQBQA态序11011010011011010010110100ABQQCDQQ00000000BACQQJBACQQK第14章触发器和时序逻辑电路2010.03用卡诺图即可求出驱动方程式,以QD、QC、QB、QA作为逻辑变量,将相应的J列和K列的“0”、“1”值移入对应的最小项的格子中即可作出卡诺图,舍去的六项可按约束项处理,结果如下:0000101100000010019000110011000811111000011170001011101106010101100101500010101010041101010000113000100110010210010010000110001000100000KDKCKBKAJDJCJBJA新状态QD′QC′QB′QA′原状态QDQCQBQA态序11011010011011010000000000CBADQQQJADQK第14章触发器和时序逻辑电路2010.031111110110100111011010001110110100111111011010010110100ABQQCDQQ0000011011010011011010011011010011011010010110100ABQQCDQQ0000000000000000