补充:序列信号发生器(sequencegenerator)序列信号:在数字信号的传输和数字系统的测试中,有时需要用到一组特定的串行数字信号,通常把这种串行数字信号叫做序列信号。能够循环地产生序列信号的电路称为序列信号发生器。序列的长度:序列信号有多少位,就称序列长度为多少。例如:序列为00011,则序列长度为5。补充:序列信号发生器(sequencegenerator)序列信号发生器的构成方法有多种:1.使用环形计数器设计“1000…0”型序列信号发生器;2.使用扭环计数器设计“11…100…0”(n个“1”,n个“0”)型序列信号发生器;3.任意类型的序列信号发生器3-1.使用D触发器设计3-2.使用计数器和多路复用器设计序列信号发生器;3-3.用移位寄存器和反馈组合电路(分立门电路,译码器,多路复用器)设计(环行计数器和扭环计数器属于此类);4.用线性反馈移位寄存器计数器设计最大长度的序列1.顺序脉冲发生器(1000…0类序列)CLKQ0Q1Q2Q3有效状态1000000101000010Q0Q1Q2Q3CLOCK•利用环形计数器器构成“1000”序列发生器——注意自校正(环形计数器)有效状态100000010100001074x194的任何一位Q输出(如Q0)都可以实现“1000”序列。2.用扭环计数器设计“11110000”序列发生器CLKQ0Q1Q2Q3有效圈00000001001101111111111011001000•利用扭环计数器构成“11110000”序列发生器——注意自校正(Johnson计数器)CLKCLRS1S0LINDQDCQCBQBAQARIN74x194+5VCLOCKRESET_LQ0Q1Q2Q374x194的任何一位Q输出(如Q0)都可以实现“11110000”序列。•例:设计一个110100序列信号发生器方法:–利用D触发器设计–利用计数器和多路复用器器设计–利用移位寄存器和反馈组合电路(分立门电路,译码器,多路复用器)设计3.任意序列信号发生器3.1利用D触发器设计一个110100序列信号发生器1、画状态转换图2、状态编码000~101表示S0~S5S0Y=1S1Y=1S2Y=0S3Y=1S4Y=0S5Y=0时序电路的不同状态表示输出序列中不同位。设输出信号为Y。3、列状态转换输出表000001010011100101001010011100101000Q2Q1Q0Q2*Q1*Q0*Y1101003.1利用D触发器设计一个110100序列信号发生器4、得到激励方程和输出方程01Q1Q0Q2Q0*00011110111ddD0=Q0’01Q1Q0Q2Q1*0001111011ddD1=Q2’Q1’Q0+Q1Q0’3.1利用D触发器设计一个110100序列信号发生器01Q1Q0Q2Q2*0001111011ddD2=Q2Q0’+Q1Q001Q1Q0Q2Y00011110111ddY=Q2’Q1’+Q1Q03.1利用D触发器设计一个110100序列信号发生器5、检查电路的自启动能力000001010011100101110111电路是自启动的.6、得到电路图(略)3.1利用D触发器设计一个110100序列信号发生器3.2用计数器和多路复用器器构成序列信号发生器方法:1)如果序列长度为L,则将计数器接成L进制的计数器:“n1—n1+L”(置数法或清零法)2)将多路复用器的数据输入“Dn1—Dn1+L”接成要产生序列的信号。3)将计数器的输出端接到多路复用器的地址输入端。例:产生一个6位的序列信号110100(置数法)数据选择器74x151的输入D0-D5接成110100。计数器74x163接成0-5计数,并连接到74x151的选择输入端CBA,以选择74x151的D0-D5作为输出,从而产生所需序列。74x163CLKCLRLDENPENTAQABQBCQCDQDRCOENABCD0D1D2D3D4D5D6D7YY74x151+5V+5V序列信号输出CLK0例:产生一个6位的序列信号110100(清零法)数据选择器74x151的输入D0-D5接成110100。计数器74x163接成0-5计数,并连接到74x151的选择输入端CBA,以选择74x151的D0-D5作为输出,从而产生所需序列。74x163CLKCLRLDENPENTAQABQBCQCDQDRCOENABCD0D1D2D3D4D5D6D7YY74x151+5V+5V序列信号输出CLOCK03.2用计数器和多路复用器构成序列信号发生器74x163CLKCLRLDENPENTAQABQBCQCDQDRCOENABCD0D1D2D3D4D5D6D7YY74x151例:产生一个8位的序列信号00010111+5V+5V序列信号输出CLOCK0数据选择器74x151的输入D0-D7接成00010111。计数器74x163接成0-7计数,并连接到74x151的选择输入端CBA,以选择74x151的D0-D7作为输出,从而产生所需序列。类似,可以用计数器和多路复用器产生长度不大于8的序列信号,如“1000”、“111000”等。3.3用移位寄存器和反馈组合电路实现序列发生器设计原理:CLKCLRS1S0LINDQDCQCBQBAQARIN移位寄存器+5VCLOCKRESET_LQ0Q1Q2Q3反馈输入的组合电路根据要产生的序列得到串行输入表达式,再根据此表达式得到串行输入的电路,这是一个组合电路,可以用逻辑门电路实现,也可以用译码器或者多路复用器实现。3.3.1用分立的D触发器构成移位寄存器实现序列发生器3.3.2用MSI移位寄存器(74X194)实现序列发生器步骤:1)确定移位寄存器的位数。设序列信号的长度为L,则要求移位寄存器的位数n满足条件:2n≥L首先选择满足此条件的最小值N1,根据数据左移,画出状态图(序列信号的长度为L,则画出的状态图中一定有L个状态),检查状态图中的L个状态是否两两不同,如果是,则N1可用,进入步骤3;否则进行步骤2。3.3用移位寄存器和反馈组合电路实现序列发生器3.3用移位寄存器实现序列发生器3.3.1用分立的D触发器构成移位寄存器实现序列发生器3.3.2用MSI移位寄存器(74X194)实现序列发生器步骤(续):2)将移位寄存器的位数增加1,即变为(N1+1),重新画出状态图,再检查状态图中的L状态是否两两不同,如果是,则(N1+1)可用;否则将移位寄存器的位数再增加1,即变为(N1+2),重复上面过程,直到状态图中的L状态两两不同为止。这时的移位寄存器的位数才是最后的值。3)再根据状态图画出状态转换表,求出左移时最低位输入的卡诺图,并求出其表达式。如果有无关项,还要求检察电路的自启动能力。4)根据最低位输入表达式,用分立门电路,或者译码器,或者多路复用器实现反馈输入的组合电路。移位寄存器的某位输出即为所要求的序列信号。3.3.1用D触发器构成的移位寄存器实现序列信号发生器例:产生一个8位的序列信号00010111解:因为序列长度为8,所以至少需要3个D触发器构成左移的移位寄存器。000001010101011111110100状态图:Q2Q1Q0状态图中的8个状态两两互不相等。10111000Q2*Q1*Q0*000001010101011111110100D0=Q0*Q2Q1Q00100011110D001101001D0=Q2·Q1’·Q0+Q2’·Q1+Q2’·Q0’电路的状态转换表:001010101011111110100000Q2Q1Q0所以,Q2输出的序列即为00010111。原状态新状态例:产生一个8位的序列信号00010111DQCKQDQCKQDQCKQCLOCKD0Q1Q2Q0例:产生一个8位的序列信号00010111D0=Q2·Q1’·Q0+Q2’·Q1+Q2’·Q0’任何一个D触发器的输出均可得到所需序列。例:产生一个4位的序列信号1101解:1)因为序列长度为4,所以先选择2位的左移移位寄存器(即,2个D触发器)。11100111状态图:Q1Q0可见,这四个状态中有两个状态相同,所以2位的移位寄存器不合适。下面选择3位的移位寄存器,重新画出状态图为:110101011111状态图:Q2Q1Q0可见,这四个状态各不相同,所以3位的移位寄存器合适。3.3.1用D触发器构成的移位寄存器实现序列信号发生器1110Q2*Q1*Q0*110101011111D0=Q0*Q2Q1Q00100011110D0d1dd100dD0=Q2’+Q1’2)电路的状态转换表:101011111110Q2Q1Q0所以,Q2输出的序列即为1101。状态图:Q2Q1Q0110101011111原状态新状态例:产生一个4位的序列信号1101状态图:Q2Q1Q01101010111113)检察自启动,无用状态的转换见上面状态图中的红色区域,可见它们是有效循环圈的分支,因此电路是自启动的。001000100010Q2Q1Q00100011110D0d1dd100dD0=Q2’+Q1’例:产生一个4位的序列信号1101DQCKQDQCKQDQCKQCLOCKD0Q1Q2Q0D0=Q2’+Q1’=(Q2·Q1)’例:产生一个4位的序列信号11014)电路图任何一个D触发器的输出均可得到所需序列。3.3.2用移位寄存器74X194和逻辑门构成序列信号发生器例:产生一个8位的序列信号00010111000001010101011111110100状态图:用74x194的低3位输出QBQCQD10111000QBQCQD000001010101011111110100LIN所以,QB输出的序列即为00010111。例:产生一个8位的序列信号00010111QBQCQD0100011110LIN01101001LIN=QB·QC’·QD+QB’·QC+QB’·QD’3.3.2用移位寄存器74X194和逻辑门构成序列信号发生器例:产生一个8位的序列信号00010111LIN=Q2·Q1’·Q0+Q2’·Q1+Q2’·Q0’CLKCLRS1S0LINDQDCQCBQBAQARIN74x194+5VCLOCKRESET_LQ0Q1Q23.3.2用移位寄存器74X194和逻辑门构成序列信号发生器74x194的任何一个Q输出均可得到所需序列。例:产生一个10位的序列信号10100101113.3.3用移位寄存器74X194和多路复用器74x151构成序列信号发生器解:1)状态图:1010010010010010101111111110110101010111例:产生一个10位的序列信号10100101113.3.3用移位寄存器74X194和多路复用器74x151构成序列信号发生器解:2)状态转移表Q3Q2Q1Q0Q3*Q2*Q1*Q0*LIN101001000100100100100101101101111111111011011001001001011011011111111110110110100101111010例:产生一个10位的序列信号10100101113.3.3用移位寄存器74X194和多路复用器74x151构成序列信号发生器解:3)确定LIN的表达式Q1Q00001111000011110Q3Q2LINddd1111dd001d0104)对未用状态的处理是自启动的。1010010010010010101111111110110101010111000000010011011011001000除了0000状态移入“1”外,其余未用状态均移入“0”。例:产生一个10位的序列信号10100101113.3.3用移位寄存器74X194和多路复用器74x151构成序列信号发生器解:3)确定LIN的表达式Q1Q00001111000011110Q3Q2LIN1dd1111dd001d010LIN=∑(Q3Q2Q1Q0)(0,2,4,5,7,11,14)=Q3’Q2’Q1’Q0’+Q3’Q2’Q1Q0’+Q3’Q2Q1’Q0