D 触发器 是一个具有记忆功能的,具有两个稳定状态的信息 存储器 件,触发器具有两个稳定状态,即“0”和“1”,在一定的外界信号作用下,可以从一个稳定状态翻转到另一个稳定状态。在这里讲解边沿触发的D触发器,D触发器在 时钟 脉冲CP的前沿(正跳变0→1)发生翻转,触发器的次态(下一个状态)取决于CP的脉冲上升沿到来之前D端的状态,即次态Q=D。因此,它具有置0、置1两种功能。由于在CP=1期间 电路 具有维持阻塞作用(即触发器的输出不变),所以在CP=1期间,D端的数据状态变化,不会影响触发器的输出状态,故边沿D触发器受干扰的可能性就降低了。
普通的电路,以及常规的逻辑门都有一个共性,那就是输出直接依赖于输入,当输入消失的时候,输入也跟着不存在了。触发器不同,当它触发的时候,输出会发生变化。但是,当输入撤销之后,输出依然能够维持。
这就是说,触发器具有记忆能力。若干年后,当工程师想在 计算机 中保存一个比特时,他们想到了触发器。不过R-S触发器有两个输出,保存一个比特不需要这么多。
解决的办法是只留下一个输出Q,而Q‘废弃不用(把它的引线剪掉)。这样,被保存的比特可以从Q端观察到,或者把它取走,引到别的地方使用。通过它,可以知道当前触发器保存的是什么,是0还是1。
给R-S触发器安排两个门卫——这是两个与门,这两个门卫都归同一个经理管辖,这就是控制端CP:
通常情况下CP=0,意思是现在不想保存数据。这时不管D上是什么,S和R都是0,根据之前R-S触发器的真值表,触发器将保持原有的内容不变。当要改变触发器中保存的内容时,CP的值必须为1,要是D=1,那么S=1而R=0,于是“1”就被保存到触发器里(Q=1)。
换句话说,CP=0时,谁也别想再进入触发器,触发器将一直维持刚才保存的比特不变。一个需要经理亲自护送才能保存比特的触发器称为D触发器。D触发器的符号:
对于D触发器来说,控制端CP就好比是触发器公司的经理,当它出现的时候,才能表明来的人是安全的。不过CP通常是带有有效期的,它的有效期,就是CP=1的时间。当CP=1时,在它的持续时间,D触发器将会卖力工作,随时都会因为外来的比特变化而触发;一旦CP=0,就意味着过了有效期,触发器将不能保存新的比特。
如果从t0时刻开始,D端和CP端各自出现了下图所示的脉冲,那么,在t1时刻,触发器里保存的数据是0。
很明显,在CP=1期间,只要D端的比特改变了,触发器就会随时触发。所以,你一定要把想保存的比特放到D端,稳住,等CP从0变到1,再从1变到0之后才能成功保存。
是否可不用观察CP的状态,我们需要一种新的触发器,它只会在CP脉冲从0变成1,或者从1变成0的瞬间才会触发,这就下面要说的边沿触发。