JOVANA
Explore Library Glossary Getting Started Three Levels Fields How it works Mission
Join the mission
All guides

遲滯與史密特觸發器

上一篇留給你一個會抖動的比較器:把一個帶雜訊的訊號擱在臨界值正上方,輸出就會像機關槍一樣在高與低之間掃射。解藥是一個恆溫器的把戲——給這個決定一個死區,用兩個臨界值取代一個,讓一點點雜訊再也推不動它越過邊界。這就是遲滯,而用一絲正回授把它造出來的電路,就是史密特觸發器。

抖動,與一個帶死區的恆溫器

第 1 篇留給你一個問題。一個裸的比較器判斷它兩個輸入哪個比較大,並把輸出甩向某條電源軌——果斷得很,直到你盯著的那個訊號背著幾毫伏的雜訊、緩緩地爬過臨界值。就在跨越的那一刻,光是雜訊就足以不斷翻轉答案,於是輸出噴出一連串虛假的高-低-高-低脈衝,而不是一道乾淨的邊緣。那陣機關槍般的咯咯聲就是比較器抖動,再換一顆更穩的比較器晶片也治不好它,因為那份猶豫是真的:在那一瞬間,輸入確實在邊界上來回跳舞。

你家的恆溫器面對的正是這件事,而且老早就解決了。如果它一感到室溫掉到 20 °C 以下就開暖爐、一感到升到 20 °C 以上就關,它會永遠每隔幾秒就開開關關,因為感測器旁的空氣總在零點幾度間擺動。所以它不用一個溫度——它用兩個。它只在室溫跌破 19 °C 時才點燃暖爐,接著讓它持續運轉,直到室溫爬過 21 °C 才關掉。那 2 度的間隙就是一個死區:一個什麼都不變的區帶,於是一點點擺動永遠翻不回那個決定。

遲滯:用兩個臨界值取代一個

把恆溫器搬進電子學,你就得到遲滯:比較器不用單一的切換電壓,而是用兩個。有一個上跳脫點(叫它 VTH),輸入必須升到它之上才會把輸出翻向一邊;還有一個下跳脫點(VTL),輸入必須跌到它之下才會把輸出翻回去。這兩個準位之間就是死區,在死區裡,輸出單純地維持它上一次安頓下來的狀態。這個詞字面上的意思就是落後——輸出的行為落後於輸入,它取決於的不只是輸入此刻在哪裡,還有它是從哪個方向過來的。

現在重播那次帶雜訊的跨越。假設 VTL = 1.0 V、VTH = 3.0 V,一個騎著 ±0.3 V 雜訊的慢訊號向上漂過 2 V。當它爬過 1 V 時什麼也沒發生——那只是下跳脫點,它在往下走時才重要。它繼續上升,連同雜訊一起,而輸出文風不動,直到訊號真正推過 3 V。它一推過,輸出就啪地翻一次,然後待在那裡。要讓雜訊把它翻回去,訊號現在得一路退回 1 V 以下——這是一段 2 伏的撤退,是 0.3 V 的雜訊製造不出來的。一道乾淨的邊緣,沒有抖動,因為它得爬回去的那道閘門,如今已遠遠落在它身後。

死區的寬度,VTH 減 VTL,本身就是遲滯量,也是你要設計的那個唯一數字。經驗法則很直白:把這個區帶做得舒舒服服地寬過你訊號上最壞情況的雜訊。如果你的輸入帶著 0.3 V 的峰對峰雜訊,一個 2 V 的區帶就安全得綽綽有餘;如果它只帶著幾毫伏,一個 50 mV 的區帶或許就夠。太窄,抖動會漏回來;太寬,你會開始忽略你本需要抓到的真實變化——這份張力,我們最後會誠實地回頭談。

把它造出來:一絲正回授

那麼,你要怎麼讓一個比較器帶著兩個臨界值?你把一點點輸出回授回去,幫忙設定那個臨界值。這就是史密特觸發器:一個包在小劑量正回授裡的比較器。停下來,注意這在你學過運算放大器的一切之後,聽起來有多怪。先前各階裡每一個線性放大器都倚靠回授,把一片輸出減去,好讓電路朝目標平靜下來。這裡我們反而上一片,這通常是不穩定的配方——但不穩定正是我們在臨界值處想要的東西。我們要這個電路在它做決定的那一刻,狠狠地、毫不猶豫地承諾下去。

把它想成一次「啪」的彈動。輸入一把比較器推過邊緣的那一刻,輸出就開始移動——而因為那輸出的一小部分以相同方向被回授到輸入,它把輸入又往邊緣的更外側一推,這又把輸出驅動得更猛。這場失控叫作再生,而它在幾奈秒內就結束:輸出在一個果斷的彈指間衝向相反的電源軌。那同一份回授,在製造這次彈動的同時,也移動了臨界值。當輸出落在新的電源軌上,它把跳脫點一起拖到遠側,把死區撐開來。這就是整個機制——正回授一舉就給了你那記彈動,以及那兩個臨界值。

用真實數字設計跳脫點

讓我們來造最常見的版本:反相史密特觸發器。訊號進到反相(−)輸入。非反相(+)輸入由一個來自輸出的分壓器供電——而那個分壓器電壓,就是輸入要去較勁的臨界值。因為輸出總是坐在某一條電源軌上(±Vsat),這個臨界值就只能取兩個值,每條軌各一個。分壓器決定了多少比例的電源軌被送回來,而那個比例就是一切。

                Vin ----------[ - ]\
                                   | \
                                   |   >----+------ Vout  (+Vsat / -Vsat)
                         +------[ + ]/      |
                         |                  |
                         +-----[ R1 ]-------+     R1 = 90k  (output -> + node)
                         |
                       [ R2 ]                      R2 = 10k  (+ node -> ground)
                         |
                        GND

   Feedback fraction   B = R2 / (R1 + R2) = 10k / 100k = 0.1
   With Vsat = +/- 10 V:
     Upper trip   VTH = +Vsat x B = +10 x 0.1 = +1.0 V
     Lower trip   VTL = -Vsat x B = -10 x 0.1 = -1.0 V
     Deadband (hysteresis) = VTH - VTL = 2.0 V
一個反相史密特觸發器。R1 與 R2 把輸出的一個比例 B 回授到 + 輸入;那個比例乘上每條電源軌,就給出兩個跳脫點,而它們的間隙就是遲滯區帶。

慢慢走一遍代數——它就是你早已認得的那個分壓器。+ 節點的電壓是 V+ = Vout times R2/(R1+R2) = Vout times B,其中 B 是回授比例。每當輸入越過 V+,輸出就翻轉。當輸出坐在 +Vsat 時,臨界值是 V+ = +Vsat times B,所以輸入必須升到它之上才會跳脫——那就是 VTH。一旦翻轉,輸出來到 −Vsat,於是臨界值跳到 V+ = −Vsat times B,輸入現在得跌到之下才會翻回去——那就是 VTL。死區是 VTH − VTL = 2 times B times Vsat。當 B = 0.1、Vsat = 10 V,跳脫點是 ±1 V,區帶寬 2 V,正如圖上所畫。

  1. 量出你輸入上最壞情況的雜訊——譬如 0.3 V 峰對峰——並挑一個大上幾倍的遲滯區帶當作餘裕。這裡瞄準 2 V 的區帶。
  2. 從「區帶 = 2 times B times Vsat」找出比例 B。當區帶 = 2 V、Vsat = 10 V,B = 2 / (2 times 10) = 0.1。
  3. 把 B 換成電阻:B = R2/(R1+R2) = 0.1 意味著 R1 是 R2 的九倍。取 R2 = 10 k,於是 R1 = 90 k。讓它們落在數十 kΩ 的範圍,這樣它們幾乎不會對輸出造成負載。
  4. 想把整個區帶從零點挪開——在無法給負電壓的單電源裡很有用——就把 R2 接回一個參考電壓,而不是接地。那會讓兩個跳脫點一起上滑,而不改變那 2 V 的寬度。

誠實地選擇區帶——以及那些免費的禮物

遲滯不是免費的免疫力;它是一筆交易。那個雜訊跨不過的死區,同時也是一個真實的、小的變化會被忽略的區帶。如果你的訊號必須解析出一個真正 0.1 V 的階躍,你卻為了打敗雜訊而設了 2 V 的死區,那個真實的階躍就消失了——輸出不會為它移動。所以誠實的設計目標是:把區帶做到你最壞雜訊所要求的那麼寬,再寬一分也不要。並且接受切換不再發生在一個俐落的單一電壓上;上升邊緣與下降邊緣現在按設計發生在不同的準位。如果你需要一個精確的、單一的臨界值,遲滯就是錯的工具——你該改為先把訊號弄乾淨,或者從源頭把雜訊縮小。

不過,同樣這筆交易也為你買來兩份禮物。第一份你其實已經隱約見過:因為輸出是靠再生「啪」地彈過去、而不是慢慢爬過去,史密特觸發器會把一個緩慢的輸入磨利成一道快速、乾淨的邊緣——餵它一個慵懶的正弦波或一條遲鈍的感測器斜坡,它會吐出俐落的數位轉態,這正是它住在類比與數位邊界上的原因。第二份禮物是一個免費的振盪器。把史密特觸發器的輸出透過一個電阻和一個電容繞回它自己的輸入,它就永遠靜不下來:它朝一個跳脫點充電、啪地彈動,接著朝另一個跳脫點充電,永無止境。那就是一個弛張振盪器,而它正是藏在你會在計時那一階遇到的 555 計時器裡的那具「遲滯加 RC」引擎。

實務上你很少從頭造那個分壓器。許多比較器晶片出廠時就烘進了幾毫伏的遲滯——足以擋住它們自身內部雜訊造成的抖動,雖然對一個髒的外部訊號通常太少,所以你會加上外部電阻來換取更寬的區帶。而整顆邏輯閘也有預先史密特化的:經典的 74HC14 是六個各自在輸入端帶遲滯的反相器,是清理一道緩慢或帶雜訊的邏輯邊緣的日常主力。這個點子另一個能掙得身價的地方是開關防彈跳——一個機械開關的接點會彈跳好幾毫秒,把那陣參差的彈跳餵過一個史密特觸發器(或它的軟體表親),就把這團亂變成一次乾淨的按壓,這個故事本階最後一篇會完整說給你聽。