觸發器及其電路分析

2021-08-19 15:22:42 字數 3013 閱讀 6509

時序電路是數字邏輯課程的核心部分,也是學習後續硬體相關課程的重要基礎部分,pc中的計數器、記憶體、倍頻/分頻器等都是典型的時序電路。

前面學習的組合電路,電路的輸出只與電路的輸入相關,不具備儲存資料功能,電路中也不允許存在迴路。而在時序電路中,一大功能便是要求儲存資料。時序電路通常分為moore型和mealy型,moore型電路的輸出只與電路的當前狀態(就是儲存的資料)相關,mealy型電路則與電路的當前狀態和輸入相關。

時序電路中的基本元件要求具有儲存乙個資料位(值為「0」或1)的功能,並且要求穩定。時序電路元件分為鎖存器和觸發器兩種,鎖存器利用電平進行控制,觸發器利用時鐘脈衝進行控制(請看後面的具體分析)。

基本鎖存器的示意圖如下所示:

基本鎖存器,只要上電(滿足0和1的電壓要求),必然能處在乙個穩態。如圖1中,q為1時,q為1保證!q為0,!q為0又保證q為1,電路始終維持在乙個穩態,這時稱q為1狀態;同理,圖2稱q為0狀態。

顯然,前面提到的基本鎖存器雖然能儲存資料,並且可以處於穩態,但是基本鎖存器無輸入端(初始電壓即決定了電路的狀態,並且保持不變),不受控,無法靈活運用。為此,聰明的設計師遍發明了r-s鎖存器,其電路如圖3所示:

圖3中展示的是乙個由兩個或非門組成的r-s鎖存器,根據示意圖,可以得出如下公式:

qt+1 = !(r+!qt) 

!qt+1 = !(s+qt)

對r、s置不同值進行分析:

由上面四種輸入組合可以看出,當r=s=0時,q狀態維持不變,當r=s=1時,與預期不一致,另外兩種情況,r(reset)表示置0,s(set)表示置1。

r-s鎖存器的狀態隨輸出的改變而改變,並且必須滿足rs不能同時為1,因此這種電路不適用。(r-s鎖存器也可以用與非門視線,但是問題依然沒有解決)

在r-s的基礎上,如果能確保rs不同時為1,則這個約束可以規避,d鎖存器正是在r-s鎖存器的基礎上進行改進。如果讓r接乙個原變數,s接對應的反變數,則可以消除這種約束。d鎖存器的電路如下圖4所示:

其對應的功能表如下圖5所示(具體功能不再贅述):

d鎖存器隨著輸入改變而改變,這種輸入隨時改變的特性是所有鎖存器的特點(cpu的計算是根據時鐘脈衝同步的,時鐘脈衝是穩定的,需要確保在乙個時鐘脈衝內q狀態必須是穩定的),利用時鐘脈衝來保證q狀態穩定是觸發器的基本特點。對於d觸發器,其電路圖如下圖6所示:

下面對圖6進行解釋(這一部分是原理,最好能夠理解。從考試和使用的角度,記住各觸發器的功能特點就ok了,不理解也可以,很多高校的老師也不講這一部分),圖6中的cp(clock pulse)是時鐘脈衝

當cp為0時,3和4兩個與非門被鎖住(即3和4輸出均為1,q和!q均保持不變),6門的輸出為!d,5門的輸出為d(3門的輸出為1); 

當cp的上公升沿來臨時(由低向高變化的過程),3和4兩個與非門被開啟,此時, 

* 若d為1,則(5門向)3門的輸入為1,3門輸出為0;3門輸出為0確保5門被封住(d在這個脈衝內的變化不會影響5門),另外,3門輸出為0也確保4門被封住,4門輸出1,從而確保q為1,!q為0; 

* 若d為0,則(5門向)3門的輸入為0,3門輸出1,(6門)向4門的輸入為1,(3門)向4門的輸入為1,因此,4門的輸出為0(確保4門向6門的輸入為0,從而封住6門,在這個脈衝內,d的變化不會影響q的狀態),確保q為0, !q為1

從上面的分析得知,在乙個時鐘脈衝內,無論d的如何變化,不會影響d觸發器的穩定性,隱含的意思是:在cp上公升沿到來的前一霎那的d值,確定了d觸發器下乙個時刻的狀態,在上公升沿過程中,d值變化不會影響d觸發器狀態。另外,d觸發器由於外部輸入最少(相對於r-s和j-k),廣泛應用於電路中,pc中的記憶體條一般都是由d觸發器構造。

為了解決r-s鎖存器中的rs約束問題,另一種方案是j-k鎖存器,其電路圖入下圖7所示:

j-k鎖存器的次態方程為(r-s鎖存器和d鎖存器請童鞋們自己推導或查閱其它資料,挺簡單的):

qt+1 = j*!qt + !k*qt

對j-k鎖存器在不同的輸入下進行分析:

根據上面的分析,j-k鎖存器雖然解決了r-s鎖存器的約束問題,但存在空翻現象。為了規避這個問題,工程師又創造了主從j-k觸發器,如下圖8所示:

由主從兩組鎖存器組成,下面一組是主鎖存器,當cp為1時,輸入訊號j、k起作用。當cp由1變為0時,將鎖存在主鎖存器的狀態輸入從鎖存器。這樣,乙個完整的資料儲存,需要有乙個完整脈衝的全過程,這個控制脈衝又稱為觸發脈衝,兩個鎖存器構成的電路稱為觸發器(flip—flop)。具體的分析方法和上面的類似(童鞋們可以自己分析一遍)

在實際的電路中,一般使用觸發器,通過時鐘脈衝進行控制,用得最多的時d觸發器和j-k觸發器;觸發器能保證乙個脈衝內的訊號穩定。當然,也存在其它型別的觸發器(如t觸發器和t』觸發器等)。

觸發器和組合電路中的解碼器、編碼器、選擇器、分配器等組合在一起能構成所有我們需要的電路,這也是後續課程如計算機組成原理和嵌入式等課程的基礎,牢記並理解組合電路和典型觸發器的功能特性是進行後續課程學習保證。

如有錯,請大家批評指正!謝謝!

觸發器 mysql觸發器

觸發器是一種特殊的儲存過程,它在插入 刪除或修改特定表中的資料時觸發執行,它比資料庫本身標準的功能有更精細和更複雜的資料控制能力。和儲存過程一樣,很少使用。1 觸發器的作用 2 建立觸發器 建立測試環境 mysql create database test db query ok,1 row aff...

什麼是觸發器?MySQL觸發器概念及其應用解析

觸發器自動執行。當對表進行insert update以及delete操作,試圖修改表中的資料時,相應操作的觸發器立即自動執行。觸發器可以通過資料庫中相關表進行層疊更改。這比直接把 寫在前台的做法更安全合理。觸發器可以實現表的約束實現不了的複雜約束。在觸發器可以引用其他表的列,從而實現多個表之間資料的...

Mysql觸發器例項分析

所謂觸發器,就是在定義在表物件上。當觸發器所在的表出現指定的事件時,會觸發對應表的delete update insert的操作。說的有點繞口,其實就是到監視某種情況,然後去觸發某種操作。觸發器是如何來進行定義的呢?在定義時要注意四個基本的語法要素 1 1.監視地點 某張table 2 2.監視事件...