这次无线电小组的活动,同学们应用双四位串入-并出移位寄存器集成电路CD4015组装了“反应能力测试器”(图1)。在老师的辅导下,大家一起分析了移位寄存器的工作原理,进一步学习了时序逻辑电路的应用知识。

同学:今天我们第一次使用移位寄存器进行电子制作,请问老师,移位寄存器的逻辑功能是什么呢?
老师:移位寄存器是各种数字系统和计算机中的重要逻辑部件,应用十分广泛:在时钟脉冲的作用下,接收和寄存多位二进制数码,并把数码向右或向左逐个移位。
同学:移位寄存器是怎么组成的呢?
老师:移位寄存器既然能够寄存数码,就需要使用记忆元件——触发器。大家还记得D触发器的逻辑功能吗?
同学:D触发器(图2)有一个数据输入端D,在时钟脉冲CP到来时,触发器把D端的数码(0或1)接收并储存下来,特性方程是Q n+1=D。

老师:对。用一个触发器可以寄存一位二进制数码,如果用N个触发器就能寄存一组N位二进制数码。为了使数码一个接一个地输入,并逐个向右或向左移位,就需要把多个触发器串接起来。现在我给大家介绍一个四位移位寄存器的逻辑电路(图3),可以看到,触发器F1的D1端是数据输入端,F1的输出端Q1接在触发器F2的输入端D2,也就是低位触发器的输出端Q依次连接着高一位触发器的输入端D。这个移位寄存器是采用CP上升沿触发的,R端是清零端,当R=1时,各位触发器全部被置0。移位寄存器输入和输出的关系可以用真值表(表1)表示。下面请一位同学分析一下移位寄存器是怎么接收数码“1101”并进行移位的。


同学:先说说我的想法。根据移位寄存器的逻辑图,四个触发器的清零端R并联后,可以输入置0脉冲使各位触发器清零,输出状态是“0000”,输入数码“1101”时,先在D1端输入1,当第1个CP到来时,F1翻转成Q1=1,F2、F3、F4的输出Q2、Q3、Q4都应该是0。可是说到这里我就不明白了:在这个电路里,各位触发器的CP端是同时输入时钟脉冲的,当Q1变为1后,D2也是1,那么F2的输出Q2也会同时变成1,由于D3=Q2,D4=Q3,Q1~Q4不是都同时变为1了吗?
老师:你提的问题很好。需要告诉大家,对每一位触发器来说,从CP上升沿到来到输出端新状态的建立都需要经历一段“传输延迟时间”,当CP陡峭的上升沿同时作用在所有的触发器时,各个触发器输出端的状态都来不及改变,所以F2接收的是Q1原来的状态0,后续类同。这样,在第1个CP过后,移位寄存器的输出就是Q4Q3Q2Q1=0001。
同学:这回我就明白了。在第2个CP到来时,因为D2=Q1已经变成了1,所以F2接收了数码1,由于触发器存在传输延迟时间,所以Q2仍然是0,CP过后Q2才翻转成1,而Q3=Q4=0,移位寄存器的输出是Q4Q3Q2Q1=0011,数码向右移了一位。直到第4个CP过后,移位寄存器的输出就变成了“1101”。
老师:分析时序逻辑电路常常画出它的波形图(图5),也就是对应着每一个时钟脉冲,输入端和输出端所处的状态,我们称它为时序图。我们所用的移位寄存器可以从Q4、Q3、Q2、Q1端同时输出,称为并行输出。有时也要求移位寄存器从Q4端串行输出,这时只需要再连续输入4个时钟脉冲,就可以从Q4端输出“1101”了。移位寄存器中数码的移动情况也可以用状态转换表(表2)来表示。时序图和状态转换表都是分析时序逻辑电路的重要工具。
同学:今天我们使用的CD4015是一种8位移位寄存器吗?
老师:这倒不是。CD4015的内部包含两个四位移位寄存器(图4),把它们串联起来,就成八位移位寄存器。
同学:您能给我们讲讲“反应能力测试器”的电路原理吗?
老师:能够独立地走通电路图是学习电子技术的基本功。在阅读电路图时,最好先画出它的原理方框图。同学们自己看看这个电路是由哪几部分组成的?
同学:在这个电路里,我们所熟悉的是由或非门3和4组成的基本RS触发器,非门11和12组成的多谐振荡器,CD4015组成的8位移位寄存器,还有由发光二极管VD2~VD9组成的灯光显示电路。
老师:这几部分正是电路的主体。多谐振荡器提供时钟脉冲CP。哪位同学说说这个多谐振荡器的振荡周期是多少?
同学:振荡周期是T=2.2×R15C4=2.2×51×10\(^{3}\)×0.47×10\(^{-}\)6=0.05s,即50ms(参见本刊2001年第2期《门电路及其应用》)。
老师:对。现在同学们自己分析一下“反应能力测试器”的工作原理。
同学:合上电源开关SA时,电容器C1上的电压不能突变,所以A点为低电平0,经过或非门1反相后变成高电平1,作为移位寄存器IC4 2D端的输入信号。与此同时,多谐振荡器开始振荡,产生周期为50ms的时钟脉冲,在CP的作用下,IC4内8个触发器的输出端2Q1~1Q4迅速变成高电平1,分别经过非门3~非门10反相,变成低电平0,使发光二极管VD2~VD9点燃。由于电容器C1的连续充电,开机3~4秒钟后,A点变成高电平,发光二极管VD1点燃,同时IC4的2D=0,在时钟脉冲的作用下,数码0被移位寄存器接收,并自左向右移位,相应的8个发光二极管也将依次熄灭,每熄灭一个要50ms。当观察到VD1点亮的瞬间,迅速按下SB,这时或非门2的两个输入端全是低电平0,它的输出端C变为高电平1,RS触发器复位,VD10导通,时钟停振,IC4瞬间的输出状态就被保持下来。我们在实验时体会到,从VD1被点亮到按下SB的间隔越短,未被熄灭的发光二极管数目就越多,说明测试人员的反应能力越强。
老师:你分析得很好。在这个电路里,R1、C1和或非门1组成了开机延时电路,保证VD2~VD9全部点亮;SB和RS触发器组成了停控电路;或非门2的作用是使SB只能在VD1点亮时才起作用,提前按下是无效的;VD1起着测试信号灯的作用。
(宋东生)