簡介:讓數位訊號變得乾淨俐落

歡迎來到數位電子學的世界!這一章我們要學習如何用一個巧妙的方法解決現實生活中的一個「雜亂」問題。你有沒有試過明明只按了一下按鈕,電腦或遊戲卻以為你按了兩下或三下?這通常是因為一種叫做開關彈跳 (switch bounce) 的現象所造成的。

讀完這些筆記後,你就會明白為什麼開關會「彈跳」,以及我們如何利用 S-R 閂鎖器 (S-R Latch) 來製作一個防彈跳開關 (Debounced Switch),確保每次按壓都能輸出一個完美乾淨的訊號。

先備知識回顧:S–R 閂鎖器記憶單元

在進入防彈跳技術之前,讓我們先快速溫習一下由 NOR 邏輯閘組成的 S-R 閂鎖器是做什麼的。你可以把它想像成一個儲存一個「位元 (bit)」資訊的記憶單元
1. 如果你按下 Set (S),輸出 Q 就會變為 1 (High/高電位)
2. 如果你按下 Reset (R),輸出 Q 就會變為 0 (Low/低電位)
3. 如果 S 和 R 同時為 0,閂鎖器就會保持現狀。它會記住上一次的狀態。

別擔心,如果一開始覺得有點難懂也不要緊!只要記住:閂鎖器只有在你要求它 Set 或 Reset 時才會改變主意。除此之外,它會一直維持原狀!

問題所在:什麼是「開關彈跳」?

當你看著機械開關時,看起來它好像很順暢地閉合了。但從微觀角度來看,機械開關其實是由金屬彈片和接點組成的。當你撥動開關時,金屬接點在穩定連接之前,會在極短的幾毫秒內發生物理上的彈跳 (bounce)

生活中的類比

想像一下把一顆網球丟在地板上。它撞擊地面時會馬上靜止不動嗎?不會!它會撞擊、彈起、再撞擊、彈起幅度變小,最後才停下來。

機械開關在導通電流時也是一樣的。它發出的不是一個乾淨的「關變開」訊號,而是在極短的時間內產生一連串雜亂的「開-關-開-關-開」訊號。

為什麼這會是個問題?

數位電路(例如計數器)的速度快得驚人。它們能捕捉到那些微小的彈跳。如果你用一個會「彈跳」的開關來計算進門的人數,當一個人走過門口時,開關可能因為彈跳了 10 次,而讓你以為有 10 個人進來!

重點回顧: - 開關彈跳 (Switch Bounce): 機械開關撥動時,接點快速反覆開閉的現象。 - 數位電路: 速度極快,會誤把這些彈跳當成多次按壓。

解決方案:使用 S-R 閂鎖器的防彈跳開關

為了修正這個問題,我們使用 S-R 閂鎖器。這個電路就像俱樂部的「守門員」一樣——它只聽從第一次接觸的訊號,並忽略隨後發生的所有「彈跳」。

電路是如何構成的

要製作防彈跳開關,我們需要: 1. 兩個連接成 S-R 閂鎖器的 NOR 邏輯閘。 2. 一個 單刀雙擲 (SPDT) 開關。這是一種可以在兩個接點(我們稱之為接點 A 和接點 B)之間切換的開關。

逐步解析:它是如何運作的

1. 開始狀態: 開關接觸接點 A。這會送出一個「1」到 Reset (R) 輸入端,輸出 \(Q\) 為 0
2. 切換動作: 你將開關撥向接點 B。
3. 第一次接觸: 當開關金屬片第一次觸碰到接點 B 的瞬間,它會送出一個「1」到 Set (S) 輸入端。
4. 閂鎖器動作: 閂鎖器瞬間將輸出 \(Q\) 改為 1
5. 彈跳發生: 由於「彈跳」現象,開關片在幾毫秒內會物理性地離開接點 B。在這極短的間隙中,開關處於「中間」(既沒有接觸 A 也沒有接觸 B)。這意味著 Set 和 Reset 同時為 0
6. 記憶功能: 由於 S=0 且 R=0 是保持狀態 (Hold state),閂鎖器會記住要維持在 1。它完全不在意開關此刻正在彈跳!
7. 穩定的輸出: 儘管輸入訊號在「1」和「0」之間跳動,但輸出 \(Q\) 始終維持一個穩定、乾淨的 1

你知道嗎? 這個過程發生在眨眼之間!對人類來說它看起來是瞬間完成的,但對 S-R 閂鎖器而言,這是一連串清晰明確的步驟。

視覺化訊號波形

如果你用示波器觀察訊號,它們看起來會像這樣:

輸入(彈跳中的開關): _|_|_|¯¯¯¯¯ (雜亂)
輸出(S-R 閂鎖器): _____|¯¯¯¯¯ (完美乾淨)

應避免的常見錯誤

- 混淆 SPST 和 SPDT: 你無法用簡單的 ON/OFF (SPST) 開關來建構正確的 S-R 防彈跳電路。你必須使用 SPDT 開關,這樣才有兩個獨立的接點來觸發 Set 和 Reset。
- 忘記「保持 (Hold)」狀態: 記住,這個電路神奇的地方就在於 S=0, R=0 的狀態。如果閂鎖器沒有記憶功能,它就無法忽略這些彈跳。

考試重點筆記

總結表:S-R 閂鎖器防彈跳

輸入事件: 第一次接觸「Set」端。
閂鎖器反應: 輸出 \(Q\) 立即變為 High (1)。

輸入事件: 開關彈離「Set」端 (S=0, R=0)。
閂鎖器反應: 輸出 \(Q\) 保持 (Hold) High 狀態(記住之前的 1)。

結果: 從 0 到 1 的單一次、乾淨的轉換,沒有任何雜訊。

記憶口訣:「第一次接觸即勝出」

記住:使用防彈跳 S-R 閂鎖器時,第一次接觸是電路唯一會聽取的訊號。在那之後發生的每一次彈跳都只是「0 和 0」,閂鎖器會透過維持現狀來自動忽略它們!

做得好!你剛剛掌握了數位記憶體最實用的應用之一。這正是高品質電腦鍵盤和工業按鈕確保每次只註冊一次按壓的方法。