現在,我們希望CP一直為0或者一直為1的期間都不會觸發,只在CP從低到高,或者從高到低變化的瞬間觸發。我們即將發明的新型觸發器叫做“邊沿觸發”的D觸發器,因為它只在CP脈沖的邊沿觸發。邊沿觸發的觸發器,實際上還分“上升沿D觸發器”和“下降沿D觸發器”。
下面只講前一種,即上升沿D觸發器,要制作一個上升沿D觸發器,其實很簡單,它的秘密在於,可以像下圖那樣,將兩個D觸發器首尾相連。
這個大觸發器實際上由兩個小的D觸發器首尾相連而成,前一個觸發器的輸出是后一個觸發器的輸入。而且,這兩個觸發器永遠不會同時工作,因為兩個觸發器的控制脈沖的值是相反的。
如果你想在這個電路里保存一個比特,必須先使控制端為0。這時,左邊的觸發器CP=1,它可以把任何葯保存的比特吃進肚子里,並且立即傳送給右邊的觸發器。但是,很遺憾,右邊的觸發器不工作。
現在,如果控制器從0跳變到1,說時遲那時快,一起都顛倒了,左邊的觸發器拒絕再吃掉任何比特,右邊的觸發器一下子活躍起來,把左邊那個觸發器的輸出保存起來。換句話說,直到這個時候,比特才算是被這個大觸發器保存了。
此后,如果控制端從1又回到0,即下降沿,左邊的觸發器蘇醒過來,但右邊的觸發器卻開始休眠,但它仍有能力維持原先的輸出不變。也就是說,控制脈沖的下將沿不會改變這個大觸發器的內容。
同樣是之前的脈沖圖示,在這個邊沿觸發器最終保存的值為:1
上面這個二合一的大觸發器,不管控制端是0、1還是從1到0的下降沿,它都不能保存比特,除非一種情況,那就是從0到1的跳變,即上升沿。為了便於表示,上升沿D觸發器的符合如下圖。