jk触发器改为四进制_数字电路学习笔记(十):更多锁存器和触发器
上一章中提到了普通RS鎖存器的兩大缺點:
1. S端口和R端口不能同時有效,但實際應用中不能保證這種情況不出現,此時可能會出錯;2. 在計算機中,有許多內存單元協同組成一個寄存器,存儲同一個數據。但每一位數據可能是先后到來的(比如加法器,計算出最高一位會花費比低位更多的時間),如果內存單元被寫入的時間無法統一,就會造成混亂。RS鎖存器并沒有提供控制寫入的端口——只要輸入變化,狀態就會改變。
本章中將要探討如何改進這兩點,并設計出更加適合存儲數據的存儲電路。基礎電路仍然是RS鎖存器:
一、門控RS鎖存器
我們從問題二開始解決。為此我們只需增加一個寫控制端口。當該端口為高電平時,
和 可以正常輸入;當該端口為低電平時, 和 被保持在0,鎖存器處于保持狀態。那么,一個與門便可以解決問題。控制端口,我們將其命名為
,即時鐘(clock)。時鐘信號依然是一種普通的信號,只是因為它起控制作用,會周期性變化,所以有這么一個特殊的名字。門控RS鎖存器的功能和普通RS鎖存器一樣,也有一樣的狀態轉換圖和特性方程:
,唯一不同的就是多了一個控制的時鐘信號。當該信號為高時( ),鎖存器會像普通鎖存器一樣工作;該信號為低,則無論 輸入為什么,狀態都會被保持。這樣,計算機就可以在時鐘為低時做計算,并準備好所有要寫入的信號,然后在時鐘信號為高時寫入。二、D鎖存器
接下來,我們解決第一個問題:擺脫RS鎖存器的
的約束條件。最簡單的解決方法自然是將 取反之后作為 ,這樣兩者永遠不相等,也就不可能都是1了。我們把剩下的一個輸入取名為 (D是Data的意思——D鎖存器是數據存儲單元的基礎結構)。為此,我們做出的犧牲是放棄了
時的保持功能。我們可以通過特性方程看它的功能:由于 ,我們有因此我們發現,當
時, 會一直和 保持同步;然后當 后,才會保持之前的最后一個狀態。我們畫出它的狀態轉換圖:D鎖存器在
時,對輸入是“透明”的,和一根導線沒有區別;因此,任何輸入的變化都會引發狀態的變化。其實對于RS鎖存器也有這樣的問題。但是,這又和我們的第二點設想有沖突:“內存單元被寫入的時間應當統一”,如果在時鐘信號變為低之前,新的數據就已經到來,就會引起錯誤。究其原因,是因為鎖存器能夠改變狀態的時間是整個高電平期間——為了改進這一點,我們要設法把改變狀態的時間縮短為一個時刻。三、RS觸發器
一個只在某個時刻發生狀態更新的鎖存器就叫做觸發器。我們考慮如何實現在某個時刻的更新。如果有兩個RS鎖存器,可以將它們串聯,并給一個相反的
信號:尤其注意,主鎖存器的Q要連至從鎖存器的S,這樣才能保持兩者狀態一致而不是相反第一個鎖存器叫主鎖存器,第二個叫從鎖存器。從鎖存器接收主鎖存器的狀態作為輸入。在時鐘信號低→高→低的一個周期中,它的功能發生了這樣的變化:
一個信號要想通過整個觸發器從輸入走到輸出,要先在時鐘為高時進入主鎖存器,然后在變成低電平時從主鎖存器進入從鎖存器,因此,只有在
從1變成0的一個瞬間,觸發器才會發生狀態更新;其他所有時候,都處于保持狀態。這被稱作下降沿更新。要做出上升沿更新,也就是
從0到1的瞬間更新的觸發器,只需要讓信號在低電平時進入主鎖存器,然后在高電平進入從鎖存器即可,也就是再加一個反相器:要注意的是,觸發器僅僅改變了鎖存器更新的機制,并沒有改變它的邏輯功能——比如,對于RS觸發器,它的特性方程和RS鎖存器一致:
四、JK觸發器
對于RS觸發器,我們也要繼續解決這個約束條件的問題。當然,我們仍可以像D鎖存器那樣,把
當成 ;這樣連出的電路,自然就是D觸發器,將會在后文介紹。但還有第二種方案,就是利用
的這個性質,將其和 分別相與。不妨管兩個輸入分別叫J和K(為了紀念工程師Jack Kilby)——有 。這樣,就必然有 。仍然用代入的方法得出它的特性方程:
但是,這個特性方程不像D鎖存器一般直觀,所以在畫狀態轉換圖時,我們可以分別代入各種輸入并列出特性表:
從此表來看,J和K的四種取值對應四種功能——其中保持(
),置1( ),置0( )三種功能都和RS鎖存器對應功能一致,而由于多了 的輸入情況,它還有翻轉( )的功能。JK觸發器相比于RS觸發器,還有一個性質,就是它會自己把自己鎖死。對于RS鎖存器,我們可以放心地在
為高電平時隨意改變輸入,因為從鎖存器只關心當它開始工作的一瞬間,也就是 下降的那一刻時,主鎖存器的狀態;但對于JK觸發器,我們就不得不關心它在高電平期間的輸入,而不只是下降沿瞬間的輸入。比如,考慮這樣的變化:理論上,在高電平期間的
的那一個小擾動不應該影響最終的輸出——觸發器應該在時鐘的下降沿工作,而那一刻對應的是 。因此, 應該保持在0。然而,卻發現 變成了1。這是因為,由于
和 永遠相反,在任意時刻, 和 中只有一個能夠工作——比如在這里,當狀態為0時,只有 能夠產生影響,而 的取值則根本不影響主鎖存器的狀態。這樣,一旦 為1,主鎖存器的狀態就被保持在了1,無論 的取值為何。這被稱作“一次翻轉”——JK觸發器在兩個下降沿之間的一個周期中,一旦被翻轉,就無法被還原。它的原理是,只有與現態相反的輸入能起作用—— 時, 起作用; 時, 起作用。這種問題可能會導致狀態受到干擾。五、D觸發器
仍然令
,便可以得到D觸發器。它的邏輯功能仍然是:
相比JK觸發器,由于它不使用自身狀態作約束,所以不會產生一次翻轉的問題。和RS觸發器一樣,它只關心下降沿瞬間主鎖存器的狀態。
六、T觸發器
T觸發器是一類偏功能性的觸發器——它沒有做出任何顯著的改進,而只是提供了一種特殊的邏輯功能。我們將同一個輸入賦給JK觸發器的
和 :那么,它的特性方程為:
同樣畫出它的真值表和轉換圖:
由此發現,它只有“保持”和“翻轉”的功能,也就是JK觸發器中
對應的兩個功能。總結:本文中,我們的鎖存器經歷了如下的迭代:
RS鎖存器門控RS鎖存器D鎖存器RS觸發器JK觸發器D觸發器T觸發器我們改進了上一章所提及的兩個問題,并最終得到了兩套解決方案:JK觸發器和D觸發器。這兩個觸發器,一個更全面,一個更簡單,兩個都是在時序電路設計中最常用的觸發器。
總結
以上是生活随笔為你收集整理的jk触发器改为四进制_数字电路学习笔记(十):更多锁存器和触发器的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 计算机网络---广域网及相关协议
- 下一篇: 《Java 后端面试经》Java 基础篇