中心議題:
- 什么是示波器的觸發(fā)
- 普通觸發(fā)模式
- 示波器觸發(fā)策略
解決方案:
- 邊沿觸發(fā)
- 矮脈沖觸發(fā)
- 序列觸發(fā)
示波器是電氣工程師的基礎儀器,但我經常發(fā)現有些工程師不能有效地使用其觸發(fā)功能。觸發(fā)常被認為非常復雜,現在存在這樣一種趨勢,即如果有任何問題,直接到實驗室去求助專家來幫助設置觸發(fā)。本文的目的在于幫助工程師了解觸發(fā)的基本原理以及有效使用觸發(fā)的策略。
什么是觸發(fā)?
任何示波器的存儲器都是有限的,因此所有示波器都必須使用觸發(fā)。觸發(fā)是示波器應該發(fā)現的用戶感興趣的事件。換句話說,它是用戶想要在波形中尋找的東西。觸發(fā)可以是一個事件(即波形中的問題),但不是所有的觸發(fā)都是事件。觸發(fā)實例包括邊沿觸發(fā)、毛刺信號觸發(fā)和數字碼型觸發(fā)。
示波器必須使用觸發(fā)的原因在于其存儲器的容量有限。例如,Agilent90000系列示波器具有20億采樣的存儲器深度。但是,即便擁有如此大容量的存儲器,示波器仍需要一些事件來區(qū)分哪20億個采樣需要顯示給用戶。盡管20億的采樣聽起來似乎非常龐大,但這仍不足以確保示波器存儲器能夠捕獲到感興趣的事件。
示波器的存儲器可視為一個傳送帶。無論什么時候進行新的采樣,采樣都會存儲到存儲器中。存儲器存滿時,最舊的采樣就會被刪除,以便保存最新采樣。當觸發(fā)事件發(fā)生時,示波器就會捕獲足夠的采樣,以將觸發(fā)事件存儲在存儲器要求的位置(通常是在中間),然后將這些數據顯示給用戶。
重復采樣模式與單次采樣模式
過去,最常見的示波器運行模式是重復模式。這意味著一旦示波器觸發(fā)并將數據顯示給用戶,它將立即開始搜索下一個觸發(fā)事件。這就是示波器波形更新如此頻繁的原因。
任何一款示波器要想進行觸發(fā)并將數據顯示給用戶,都需要時間來重新準備觸發(fā)。這個時間也稱為“掛起時間”。在掛起時間內,示波器不能捕獲任何波形。因此,掛起時間越短,錯失的事件越少。例如,如果有一個毛刺信號恰巧在掛起時間內出現,那么它將不能在示波器的顯示屏上顯示。
如果這個毛刺信號是一個罕見事件,則用戶可能認為波形中沒有毛刺信號,而事實上它卻是存在的。因此,示波器的掛起時間越短,錯失波形中重要事件的幾率就越低。
表述此概念的另一種方法是“更新速率”,即每秒鐘的波形數量。例如,Agilent7000系列示波器具有100000波形/秒的更新速率。
單次采樣模式用于查找單一觸發(fā),而不會繼續(xù)采集更多波形。因此,當用戶想要查找某個事件,檢查導致該事件的原因和事件發(fā)生后所出現的問題時,便可使用單次采樣模式。這種模式對于分析不重復并且每次操作都會發(fā)生變化的波形尤其重要。
自動模式與觸發(fā)模式
如果沒有發(fā)生觸發(fā)事件,將會出現什么情況呢?這一個非常好的問題。在這種情況下,屏幕上的波形將不會更新。這不是我們想要的情況,因為用戶可能不知道如何改變觸發(fā)來獲得屏幕上的波形。例如,如果探頭滑落,示波器將可能停止觸發(fā)。不過,如果屏幕不能更新,信號丟失將很不明顯。
為了解決這個問題,示波器擁有一個稱為“自動(Auto)”觸發(fā)的模式。在此模式下,如果在一段時間內無法找到觸發(fā),示波器將自動觸發(fā)以更新屏幕。通常,示波器上有一些指示器(例如前面板上的LED)來指示上一個觸發(fā)是真實觸發(fā)還是自動觸發(fā)。這樣,如果用戶看到“自動(Auto)”指示器,他們就會知道所設置的觸發(fā)沒有發(fā)生。例如,如果用戶設置的觸發(fā)為毛刺信號,他們將會知道示波器沒有檢測出毛刺信號。
然而,當您回顧上一段的內容時就會發(fā)現,當自動觸發(fā)發(fā)生時,它就意味著每次觸發(fā)之后,示波器進行重新準備時具有掛起時間。為了完全避免這一時間,示波器應改為“觸發(fā)(triggered)”模式。(這在某些示波器中稱為“正常”模式)。在“觸發(fā)(triggered)”模式中,除非發(fā)現觸發(fā)事件,否則示波器將不會進行觸發(fā)。因此,如果用戶將觸發(fā)模式設置為毛刺信號并且示波器一直沒有進行觸發(fā),那么用戶就可以確信毛刺信號沒有發(fā)生(至少示波器能夠檢測出)。
[page]
普通觸發(fā)模式
邊沿觸發(fā)
邊沿觸發(fā)是所有觸發(fā)模式中最普通的一種觸發(fā)。它的使用如此頻繁的原因在于,所有波形都有邊沿,只要觸發(fā)電平設置正確,這種觸發(fā)模式就能正常工作。同時,這一優(yōu)勢也是其最大的劣勢,因為它能對大多數波形非常頻繁地進行觸發(fā),所以它和自動觸發(fā)(AutoTrigger)非常相似。
毛刺信號/脈沖寬度/超時觸發(fā)
雖然許多問題只需使用邊沿觸發(fā)便可以輕松找出,但是有時工程師必須使用更復雜的觸發(fā)。其中,最簡單的觸發(fā)便是脈沖觸發(fā)。脈沖觸發(fā)被定義為一段高于(正脈沖)或者低于(負脈沖)某個閾值電平的時間。最常見的脈沖觸發(fā)是毛刺觸發(fā),它常用于對小于最小寬度的脈沖進行觸發(fā)。這是一個違反觸發(fā)的實例,因為示波器無論在何時觸發(fā)都會指示出一個問題。
具有最大時間值的脈寬觸發(fā)的一個令人困惑的方面是發(fā)生觸發(fā)的時間。在某些情況下,用戶可能想要在超過時間值時示波器立即進行觸發(fā)。這稱為“超時”觸發(fā),因為示波器并不需求一個完整的脈沖來進行觸發(fā)。換句話說,即使不發(fā)生第二個跳變,超時觸發(fā)仍將進行。
相反,我們所說的“脈沖”觸發(fā)只有等到第二個跳變出現后才會進行觸發(fā)。也就是說,對于正脈沖來說,即使超過最大時間,也要一直等到下降沿才會發(fā)生觸發(fā)。這意味著時間限制點之后的觸發(fā)可以良好地進行。因此,超時觸發(fā)的使用率比脈寬觸發(fā)高得多。由于這并不直觀,所以我們?yōu)橛脩籼峁┝藘煞N選擇,用戶可以使用超時觸發(fā),也可以使用脈沖末端觸發(fā)。如果選擇超時選項,則此時的脈寬觸發(fā)將與超時觸發(fā)完全相同。
有關脈寬觸發(fā)的另一個令人費解的地方是它們并不全是違反觸發(fā)。雖然毛刺信號很明顯是違反觸發(fā),但長脈沖也可能是一個正常事件。因此,這取決于是否規(guī)定了脈沖寬度為違反觸發(fā)的一個條件。
上升時間和下降時間
違反觸發(fā)的下一種類型是上升時間觸發(fā)和下降時間觸發(fā)。它們可用于查找上升或下降太快或太慢的邊沿。此類觸發(fā)由兩個觸發(fā)電平(邏輯高和邏輯低)和信號在這兩個電平之間的最長時間和最短時間來定義。
上升時間觸發(fā)和下降時間觸發(fā)的一個令人困惑的方面是觸發(fā)電壓閾值并不依賴于自動測量電壓閾值。例如,測量出信號的上升時間并且期望上升時間觸發(fā)能夠在同一時間值上進行觸發(fā)本來是非常正常的。但在許多情況下,測量閾值默認為信號電壓范圍的10%和90%。因為觸發(fā)閾值是獨立的,所以用戶很容易錯誤地設置不同的閾值,例如5%和95%。在這種情況下,用戶可能會感到很困惑,因為測量顯示的是上升時間值,但是使用相同的時間值卻不能使示波器進行觸發(fā)。
建立觸發(fā)與保持觸發(fā)
另一類違反觸發(fā)是建立觸發(fā)和保持觸發(fā)。當然,這要求使用數據信號和時鐘信號。這種觸發(fā)還要求規(guī)定建立時間、保持時間或者兩者都要規(guī)定。當檢測建立時間和保持時間違反觸發(fā)條件時,示波器將進行觸發(fā)。
矮脈沖觸發(fā)
毛刺信號是一個非常窄的脈沖,而矮脈沖是一個非常矮的脈沖。矮脈沖是由三個電壓電平來定義的。如果一個信號通過兩個閾值(同一方向),然后又再次通過其中一個閾值而未通過第三個閾值,那么將出現矮脈沖觸發(fā)。例如,如果三個閾值為1V、2V和3V,信號從0V向2.3V前進,然后返回到0V,這就是一個矮脈沖,因為它上升時通過1V、2V,然后下降時又通過2V。
這個觸發(fā)最令人困惑的地方是三個閾值電平的定義。通常,閾值電平定義為10%、50%和90%時恰好合適,但它不是直觀的,為什么需要三個閾值電平,而不是兩個閾值電平呢?
窗口觸發(fā)
窗口觸發(fā)(Window)是一種高級觸發(fā),它使用兩個電壓閾值和兩個時間值。窗口觸發(fā)即是當信號進入或退出某個電壓范圍時進行觸發(fā)。另外,時間也可以是一個范圍,因此可以指定信號在某個電壓范圍之內(或之外)的最短時間和最長時間作為觸發(fā)條件。這為進行各種不同的觸發(fā)提供了極大的靈活性。
[page]
序列觸發(fā)
序列觸發(fā)具有在示波器進行觸發(fā)之前,首先查找一個事件,然后搜索另一個事件的能力。例如,序列觸發(fā)使用戶可以查找一個信號邊沿,該信號邊沿后緊隨另一個信號脈沖。
圖1所示的是Agilent90000示波器的序列觸發(fā)實例。注意,圖中所示的即是通道2上的脈沖如何緊隨通道1上的邊沿。
圖1:序列觸發(fā)
示波器中最常見的觸發(fā)是硬件觸發(fā)。在這種情況下,因為對觸發(fā)進行實時處理,所以即使是最罕見的觸發(fā)事件也可以被捕獲。然而,一些事件非常復雜,以至于硬件觸發(fā)無法捕獲。為了觸發(fā)這些事件,需要將軟件觸發(fā)(例如AgilentInfiniuum示波器上的InfiniiScan)與硬件觸發(fā)一起使用。
當進行硬件觸發(fā)時,軟件觸發(fā)將搜索捕獲到的事件跡線。如果找到此跡線,那么示波器就會進行觸發(fā)。然而,盡管此類觸發(fā)功能很強大,但無法進行實時觸發(fā)。對于頻繁發(fā)生的事件來說,這沒有什么問題,但對于罕見事件而言,這卻是一個巨大的缺陷。在這種情況下,軟件觸發(fā)將可能錯失大多數罕見事件實例,而示波器可能需要很長時間才能觸發(fā)。即使如此,讓示波器自動查找事件還是要好得多,盡管它要花費幾分鐘的時間,但這總比找不到任何事件要強。
觸發(fā)策略
進行觸發(fā)以顯示波形
迄今為止,這是最簡單的案例,因為它使用的是自動觸發(fā)。設置此觸發(fā)的最簡單的方法是輕松按下示波器前面板上的“Autoscale”按鈕。這是顯示示波器波形的最快速的方法。在許多情況下,這已足以使用戶了解之后出現的情況。
進行觸發(fā)以調試模擬問題
如果簡單的觸發(fā)不能夠揭示問題,下一種方法是尋找簡單的模擬問題。這里嘗試的主要觸發(fā)模式是毛刺信號、矮脈沖、上升時間和下降時間。這些模式可揭示出大多數常見的模擬問題。另外,用戶還可以使用建立和保持觸發(fā),以確保建立和保持觸發(fā)不是問題的根源。
在這種情況下,示波器應使用標準可重復模式來運行。(對于大多數示波器來說,這簡稱為“Run”)。
某些模擬問題(例如非單調邊沿)只有使用軟件觸發(fā)才能夠檢測出來。在這種情況下,請確保將硬件觸發(fā)和軟件觸發(fā)設置為相同的邊沿和斜率。這是一個很常見的問題,它使用戶誤以為沒有觸發(fā)發(fā)生,實際上是由于硬件觸發(fā)設置不正確造成的。
如果您注意到波形在示波器上顯示時間非常短,您可以使用軟件觸發(fā)中的區(qū)域觸發(fā)對其進行觸發(fā)。區(qū)域觸發(fā)允許我們將一部分格子線指定為“必須交叉”的區(qū)域,只有波形穿過那個區(qū)域,示波器才會進行觸發(fā)?;蛘?,此區(qū)域也可以設置為“不得交叉”,以便過濾出您不想看到的波形。
在這種情況下,將示波器設置為觸發(fā)模式是非常明智的,如此一來,在沒有發(fā)現事件時,示波器就不會進行觸發(fā)。這也意味著這個特殊問題并未發(fā)生,并且可在問題的根源中排除這個問題。因此,這是一個排除問題的過程。
進行觸發(fā)以調試軟件或FPGA問題
在前兩種情況下,示波器是根據某個特定的模擬問題進行觸發(fā)。但是,在許多情況(例如軟件或FPGA問題)下,我們的目標并不是對問題進行觸發(fā),而僅僅是想通過對波形的跟蹤來嘗試著找出邏輯問題,而不是模擬問題。
在這種情況下,將示波器設置為使用深存儲器和單次模式運行非常重要。(對于安捷倫示波器來說,這是“Single”按鈕,而非“Run”按鈕)。深存儲器為您提供最大數量的波形,這些波形還可以為您提供捕獲問題的最佳時機。對于大多數示波器來說,無論“TimeperDivision”旋鈕何時改變,存儲器深度都可進行自動設置,此外,存儲器深度也可手動設置。對于AgilentInfiniium示波器來說,此設置在“Acquisition”菜單中完成。
觸發(fā)事件應設置為在感興趣區(qū)域的某個地方發(fā)生的已知事件。最常見的選項是脈沖、數字碼型和串行觸發(fā)。脈沖觸發(fā)是最簡單的觸發(fā),因為它只需指定脈沖長度。碼型觸發(fā)和串行觸發(fā)非常特殊,因為它們支持用戶指定特定值。例如,常見串行觸發(fā)是對一個特定地址執(zhí)行寫操作。一旦找到感興趣的事件,那么跟蹤此跡線就會找到問題的根源。對于串行總線來說,啟動數據的串行解碼功能非常有用。這樣不僅可以顯示模擬波形,還可將波形轉換成數據包,從而使通過數據進行跟蹤變得非常容易。
觸發(fā)是一個非常強大的示波器特性,但是通常用戶必須不能僅限于了解簡單的邊沿觸發(fā)。其關鍵是了解用戶是否正在尋找模擬問題或者正在跟蹤一個邏輯問題。示波器在這兩方面都可提供出色的功能,但這取決于用戶使用正確的策略。