跳轉到內容

電子學/鎖存器和觸發器

來自華夏公益教科書,開放的書籍,開放的世界

觸發器是一種電路,它存在於兩種狀態之一,因此可以儲存資訊。

一個簡單的觸發器可以用兩個與非邏輯閘來定義。觸發器是非線性電路,這意味著一個門的輸出被“反饋”回以與輸入訊號一起處理。由於觸發器對混合了先前輸出訊號的輸入訊號進行操作,因此它們自己的輸出取決於它們之前狀態。

觸發器(F/F)是一種由數字門組成的器件,它使用反饋來儲存其輸入的態(1 或 0)。觸發器經常用來鎖存輸入資料。這意味著在一個電路中,它們被饋送一些二進位制值,然後保持該值,直到鎖存被關閉。所有觸發器至少有一個標記為 Q 的輸出。它們通常有一個補碼,標記為 /Q。4 種基本的觸發器是 SR、D、觸發和 JK。

鎖存器是雙穩態多諧振盪器的一個例子,即一個具有恰好兩個穩定狀態的器件。這些狀態是高輸出和低輸出。鎖存器具有反饋路徑,因此資訊可以由器件保留。因此,鎖存器可以作為儲存器裝置,並且可以只要器件通電就儲存一個數據位。顧名思義,鎖存器用於“鎖存”資訊並保持在適當位置。鎖存器與觸發器非常相似,但不是同步器件,並且不像觸發器那樣在時鐘邊沿操作。

SR 鎖存器

[編輯 | 編輯原始碼]

SR 鎖存器(置位/復位)是一個非同步器件:它獨立於控制訊號工作,並且僅依賴於 S 和 R 輸入的態。在影像中,我們可以看到,SR 觸發器可以用兩個具有交叉反饋迴路的非門建立。SR 鎖存器也可以由與非門製成,但輸入被交換和取反。在這種情況下,它有時被稱為SR 鎖存器

An SR latch made from two NOR gates.
An SR latch made from two NAND gates.

當對 SR 鎖存器的置位線施加高電平時,Q 輸出變為高電平(而 Q 則為低電平)。然而,反饋機制意味著即使S 輸入再次變為低電平,Q 輸出也將保持高電平。這就是鎖存器作為儲存器裝置的方式。相反,復位線上的高輸入將驅動Q 輸出變為低電平(而 Q 則為高電平),有效地復位鎖存器的“儲存器”。當兩個輸入都為低電平時,鎖存器“鎖存” - 它保持在之前設定的或復位的狀態。

然而,當兩個輸入同時為高電平時,會出現一個問題:它被告知同時產生高Q 和低Q。這會在電路中產生“競爭條件” - 哪個觸發器首先成功改變將反饋到另一個並斷言自己。理想情況下,兩個門是相同的,這是“亞穩態的”,並且該器件將無限期地處於未定義狀態。在現實生活中,由於製造方法,一個門總是會獲勝,但無法從裝配線上判斷哪個門將獲勝。因此,S = R = 1 的狀態是“非法的”,永遠不應該進入。

當器件通電時,會發生類似的情況,因為兩個輸出,QQ,都為低電平。同樣,由於兩個門之間的差異,該器件將迅速退出亞穩態,但無法預測QQ 中哪個將最終變為高電平。為了避免虛假動作,您應該始終在使用 SR 觸發器之前將它們設定到已知的初始狀態 - 您不能假設它們將初始化為低狀態。

一般來說,RS 觸發器有一個符號和一個真值表,如下所示

SR 鎖存器的電路符號。
S R Q Q
0 0 鎖存
0 1 0 1
1 0 1 0
1 1 亞穩態

門控 SR 鎖存器

[編輯 | 編輯原始碼]

在某些情況下,可能需要指示鎖存器何時可以鎖存和何時不能鎖存。門控 SR 鎖存器是 SR 鎖存器的一個簡單擴充套件,它提供了一個使能線,該線必須驅動為高電平才能鎖存資料。即使現在需要一條控制線,SR 鎖存器也不是同步的,因為輸入可以即使在使能脈衝的中間也會改變輸出。

使能輸入為低電平時,則與門的輸出也必須為低電平,因此QQ 輸出保持鎖存到之前的資料。只有當使能輸入為高電平時,鎖存器的狀態才能改變,如真值表所示。當使能線被斷言時,門控 SR 鎖存器與 SR 鎖存器在操作上相同。

使能線有時是時鐘訊號,但通常是讀或寫脈衝

A Gated SR latch made from two NOR and two AND gates.

使能 S R Q Q
0 0 0 鎖存
0 0 1 鎖存
0 1 0 鎖存
0 1 1 鎖存
1 0 0 鎖存
1 0 1 0 1
1 1 0 1 0
1 1 1 亞穩態

D 鎖存器

[編輯 | 編輯原始碼]

D 鎖存器(D 代表“資料”)或透明鎖存器是門控 SR 鎖存器的一個簡單擴充套件,它消除了無效輸入狀態的可能性。

由於門控 SR 鎖存器允許我們鎖存輸出而無需使用SR 輸入,因此我們可以透過使用互補驅動器驅動置位復位兩個輸入來消除其中一個輸入:我們消除一個輸入並自動使其成為剩餘輸入的逆。

D 鎖存器在使能線為高電平時輸出D 輸入,否則輸出是D 輸入在上一次使能輸入為高電平時所處的狀態。這就是為什麼它也被稱為透明鎖存器 - 當使能被斷言時,鎖存器被稱為“透明” - 訊號直接透過它傳播,就好像它不存在一樣。

D latch: A gated SR latch extended to prevent invalid output conditions

使能 D Q Q
0 0 鎖存
0 1 鎖存
1 0 0 1
1 1 1 0

D 鎖存器通常用於積體電路的 I/O 埠,並且可以作為分立器件使用,通常是多重封裝的。一個例子是 74HC75,它是 7400 系列 IC 的一部分,包含四個獨立的 D 鎖存器。

SR 觸發器

[編輯 | 編輯原始碼]

The symbol for an SR latch.

最基本的鎖存器是簡單的SR 觸發器,其中 S 和 R 分別代表置位復位。它可以由一對交叉耦合的非邏輯閘構成。儲存的位出現在標記為 Q 的輸出端。

通常,在儲存模式下,S 和 R 輸入都為低電平,並且反饋保持 Q 和 Q 輸出處於恆定狀態,Q 是 Q 的補碼。如果 S(置位)在 R 保持為低電平的情況下脈衝為高電平,則 Q 輸出被強制為高電平,並且即使 S 返回低電平,也保持為高電平;類似地,如果 R(復位)在 S 保持為低電平的情況下脈衝為高電平,則 Q 輸出被強制為低電平,並且即使 R 返回低電平,也保持為低電平。

SR 觸發器操作 [1]
狀態轉移表 激勵表
S R 動作 Q(t) Q(t+1) S R 動作
0 0 保持狀態 0 0 0 X 無變化
0 1 Q = 0 0 1 1 0 置位
1 0 Q = 1 1 0 0 1 復位
1 1 不穩定組合,
參見競爭條件
1 1 X 0 無變化

('X' 表示不關心條件;意思是訊號無關緊要)

D 觸發器

[編輯 | 編輯原始碼]

D flip-flop symbol

在上升沿時鐘邊沿到達時,Q 輸出始終採用 D 輸入的狀態。 (如果時鐘輸入為低電平有效,則為下降沿)[2] 因此它被稱為D 觸發器,因為輸出採用D 輸入或資料輸入的值,並將其延遲一個時鐘計數。D 觸發器可以被解釋為一個基本儲存單元、零階保持器或延遲線。

真值表

時鐘 D Q Qprev
上升沿 0 0 X
上升沿 1 1 X
非上升沿 X Qprev

('X' 表示無關條件,這意味著訊號無關緊要)

4 位序列輸入、序列輸出移位暫存器

這些觸發器非常有用,因為它們構成了移位暫存器的基礎,而移位暫存器是許多電子裝置中必不可少的部分。D 觸發器相對於 D 型鎖存器的優勢在於它在時鐘變為高電平的那一刻“捕獲”訊號,並且資料線的後續變化不會影響 Q,直到下一個上升沿時鐘邊沿。一個例外是,一些觸發器有一個“復位”訊號輸入,它將復位 Q(為零),並且可以是非同步的或同步的時鐘。

上面的電路將暫存器的內容向右移動,每次時鐘的有效躍遷移動一位。輸入 X 被移入最左邊的位位置。

觸發觸發器

[編輯 | 編輯原始碼]

T 型觸發器的電路符號,其中 > 是時鐘輸入,T 是觸發輸入,Q 是儲存資料輸出。 如果 T 輸入為高電平,則每次時鐘輸入被選通時,T 觸發器都會改變狀態(“觸發”)。如果 T 輸入為低電平,則觸發器將保持前一個值。這種行為由特徵方程描述

(或者,在沒有 XOR 運算子的情況下,等效的:)

並且可以在真值表中描述

T 觸發器操作 [1]
特性表 激勵表
註釋 註釋
0 0 0 保持狀態(無 clk) 0 0 0 無變化
0 1 1 保持狀態(無 clk) 1 1 0 無變化
1 0 1 觸發 0 1 1 補碼
1 1 0 觸發 1 0 1 補碼

當 T 保持為高電平時,觸發觸發器將時鐘頻率除以二;也就是說,如果時鐘頻率為 4 MHz,則從觸發器獲得的輸出頻率將為 2 MHz。這種“除以”特性在各種型別的數字計數器中都有應用。T 觸發器也可以使用 JK 觸發器(J & K 引腳連線在一起並充當 T)或 D 觸發器(T 輸入和 Qprevious 透過 XOR 門連線到 D 輸入)構建。

JK 觸發器

[編輯 | 編輯原始碼]

A circuit symbol for a JK flip-flop, where > is the clock input, J and K are data inputs, Q is the stored data output, and Q' is the inverse of Q. JK flip-flop timing diagram

JK 觸發器增強了 SR 觸發器的行為(J=置位,K=復位),透過將 S = R = 1 條件解釋為“翻轉”或觸發命令。具體來說,組合 J = 1,K = 0 是一個置位觸發器的命令;組合 J = 0,K = 1 是一個復位觸發器的命令;組合 J = K = 1 是一個觸發觸發器的命令,即將其輸出更改為其當前值的邏輯補碼。設定 J = K = 0 不會導致 D 觸發器,而是會保持當前狀態。為了合成 D 觸發器,只需將 K 設定為 J 的補碼。因此,JK 觸發器是一個通用觸發器,因為它可以配置為工作為 SR 觸發器、D 觸發器或 T 觸發器。注意:觸發器是正邊沿觸發(時鐘脈衝),如時序圖所示。

JK 觸發器的特徵方程為

相應的真值表為

JK 觸發器操作 [1]
特性表 激勵表
J K Qnext 註釋 Q Qnext J K 註釋
0 0 保持狀態 0 0 0 X 無變化
0 1 復位 0 1 1 X 置位
1 0 置位 1 0 X 1 復位
1 1 觸發 1 1 X 0 無變化

參考文獻

[編輯 | 編輯原始碼]
  1. a b c Mano, M. Morris (2004). 邏輯與計算機設計基礎,第 3 版. 上鞍河,新澤西州,美國:皮爾森教育國際。pp. pg283。 ISBN 0-13-191165-1. {{cite book}}: |pages= has extra text (help); Unknown parameter |coauthors= ignored (|author= suggested) (help)
  2. D 觸發器
華夏公益教科書