本文將討論 NI PXI 任意波形產生器的各種功能與相關概念。若要進一步了解 NI PXI 任意波形產生器,請參閱 什麼是 PXI 波形產生器?
多數訊號產生器的記憶體架構會對波形大小與量子造成限制。將每個波形下載至裝置記憶體時,就樣本數而言,每個波形至少必須具有最小波形大小。此外,下載至裝置記憶體的波形樣本大小必須為特定數字或量子的整數倍數。
舉例來說,NI 5412 任意波形產生器的最小波形大小為 4 且波形量子為 4,相較於先前的最小波形大小為 256 且量子為 8 個樣本,其彈性更高。NI 5412 可以輸出大小為 4、8、12、16 等的波形,而前者只能輸出大小為 256、264、272、280 等的波形。
多個波形及其波形序列指示可載入 Signal Generator 的內建記憶體。使用序列產生波形的概念稱為「波形序列」或「連結與迴圈」波形。迴圈波形會多次重複單一波形,而連結波形會指定 AWG 的播放清單。AWG 會將波形儲存在內建記憶體中,因此波形的長度會受到限制。波形迴圈有助於產生具有多次重複子元件的訊號。迴圈波形區段可提升記憶體效率,並增加波形的電位持續時間。
下圖顯示波形與區段序列的概念。
圖 1
在圖 1 中,波形 A 代表會下載至內建記憶體的正弦波單一週期。波形 B 代表斜波形的單一週期,會下載至內建記憶體。請記住,每個波形皆須遵循最小波形大小與量子規則。
圖 2
上方圖 2 中的區段 1,顯示使用波形 A 建立的區段,重複或迴圈 3 次。區段 2 包含 2 次 Waveform B 迴圈。區段 3 僅包含 1 次波形 A 迴圈。
圖 3
如圖 3 所示,這些波形會以序列連結。
訊號源提供多種硬體觸發功能,可控制波形產生作業。觸發器是啟動一或多個裝置功能的內部或外部激源。觸發的刺激則包含 TTL 數位邊緣、軟體函式與類比準位等。外部觸發可重新匯出,再加上標籤事件 (稍後會說明),即可將硬體作業與外部電路或其他 NI 裝置同步化。一般而言,訊號源觸發器會在波形輸出開始後,啟動波形產生,或讓 AWG 從一個波形階段步進到另一個波形階段。以下說明四種常用的觸發模式:啟動觸發模式、連續觸發模式、步進觸發模式,以及突波觸發模式。
圖 4
如圖 4 所示,在開始觸發模式中,在記憶體中定義的波形序列只會通過整個序列產生一次,然後波形產生作業會停止。產生器接收開始觸發後,波形產生作業將從第一個區段開始,並繼續進行到最後一個區段。產生完整的序列清單之後,就會連續產生最後一個區段的樣本。
另一方面,在連續觸發模式中,會連續重複整個波形區段序列,如圖 5 所示。在啟動觸發器與連續觸發器模式中,在初始觸發後的所有後續觸發器都會遭到忽略。
圖 5
在步進觸發模式中,如圖 6 所示,在序列清單中定義的波形每次辨識觸發時,都會產生一個區段。該波形會循環的次數,將與該特定區段所設定的次數相同。在產生區段停止之後,波形的最後一個樣本會連續重複,直到接收下一個觸發。接收下一個觸發時,下一個區段定義的波形將產生適用於所設定的迴圈數量。序列清單消耗完畢後,波形產生作業將返回第一個區段,之後的觸發器將再次啟動程序。只有在該區段完成產生後才會辨識到觸發。否則會忽略觸發。
圖 6
激發觸發模式的運作方式與步進觸發模式非常類似,但在序列清單中定義的每個波形區段都會連續產生,直到發生另一個觸發,而不是只是重複最後一個區段的最後一個樣本。
圖 7
標籤是可在波形產生內特定點產生的數位脈衝。標籤可放置在每個序列區段中,並用於控制其他裝置時序的觸發。舉例來說,標記輸出常用作高速數位化儀與示波器的數位觸發。
從每個區段的波形緩衝區開始,即可提供偏移次數 (樣本數)。如果波形在區段內循環多次,則標記器會產生每次在所設定的取樣位置進行波形迴圈。
若要在波形迴圈數次的區段中只產生 1 個標籤,請將該區段分割成多個區段。舉例來說,若要在循環 100 次的正弦波形第一次反覆運算上產生標記,則可建立一個區段,以標記位於特定取樣位置產生正弦波形,且迴圈只會一次。建立第二個不帶標記的區段,產生正弦波形並迴圈 99 次。
如圖 8 所示,此技巧可用於不同區段組合,藉由建立包含標記與一個迴圈 (區段 1) 的區段,再建立不含標記且迴圈四次的區段,以每 5 個正弦波形迴圈產生 1 個標記。我們會重複這兩個區段,只要需要重複週期即可。
圖 8
標準標籤輸出的最大限制,在於每個波形區段只會發生一個標籤事件。資料標籤活動可延伸標籤功能,以在同一個區段中進行多個標籤活動。請參閱尋找合適的 Signal Generator 指南,以判斷您的裝置是否支援資料標籤事件。
資料標記是一種事件,可讓您將 16 個波形資料位元中的任一位元匯出至裝置上的任何有效位置。請記住,AWG 會使用數位類比轉換器,將一系列的數位樣本轉換為類比波形。舉例來說,每個樣本的 NI 5421 AWG 皆有 16 個波形資料位元。16 個波形資料位元最多可同時匯出。
當特定資料位元在波形資料中切換時,資料標籤活動的數位準位會有所變化。如果波形資料位元在區段中多次切換,資料標籤準位就會每次改變。資料位元準位若高,則資料標籤準位就會高。您也可以逆變此關係。
下圖顯示指定的資料位元切換時,匯出的資料標籤活動會在低與高之間切換。在 NI 5421 中,可將資料標記活動匯出至 RTSI 匯流排、PXI 觸發通道、SYNC 輸出/PFI 0 與 PFI 1 或 PFI 4 與 PFI 5。
圖 9
資料標記活動支援訊號產生器與其他裝置進行更緊密的同步化。舉例來說,AWG 與數化器通常會使用 AWG 匯出的開始觸發器進行同步。不過,從開始觸發匯出的時間到輸出接頭產生類比波形的時間,都會發生短時間延遲。使用資料標籤活動做為觸發來源時,由於標籤活動會直接與類比輸出同步化,因此觸發回應時間會更快。
指令碼功能相當強大,能讓您快速輕鬆地建立非常複雜的波形與觸發序列。您可透過指令碼 (Script),於產生作業中連接多筆波形並構成迴路。指令碼是一組指令,說明要產生的波形、產生的順序、產生的次數,甚至可以包含條件陳述式。裝置同時可以有多個指令碼,您可以參考指令碼名稱,選擇要執行的指令碼。本節將說明建立指令碼的語法,以及在應用中使用指令碼的方式。
首先,我們來看看以下所示的簡易指令碼範例。
執行時,此指令碼會連續產生 3 個波形。使用 6 種主要指令,即可輕鬆建立更複雜的指令碼:script/end script、generate、repeat/end repeat、 if/else/end if、wait 與 clear。
Script/End 指令碼 - 定義內含於單一指令碼的指令集,並將名稱與該指令碼建立關聯。
產生 - 產生具名波形。您可以產生整個波形或其子形。您也可以選擇在指定的波形指定位置產生標籤。
Repeat/End Repeat - 重複一組指令。可重複數量有限、永久重複,或重複直到收到硬體指令碼觸發。
If/Else/End If - 根據是否收到特定指令碼觸發,決定要執行的指令碼區段。
等待 - 暫停執行,直到收到指令碼觸發。
清除 - 忽略之前鎖存的 Script 觸發。此選項通常會在等待或重複指示之前使用。
接下來看看幾個範例,這些範例會運用這些指令碼函式建立複雜的波形序列。NI 指令碼編輯器可讓使用者輕鬆撰寫、維護甚至檢查指令碼錯誤。
有限重複 (N 次) - 此指令碼產生波形1、波形2,接著是波形3。波形2 會重複 3 次。
條件重複 - 此指令碼產生波形1、波形2,接著是波形3。波形2 會重複,直到發生 scripttrigger0 為止。
條件分支 - If/Then Else - 此指令碼產生波形1。接著,如果已收到 Script Trigger0,則將產生 wavform2。否則,如果未接收 Script Trigger0, 將產生波形3。
步進多個波形 -此指令碼產生波形1,然後等待指令碼觸發0。一旦發生 scripttrigger0,指令碼就會產生波形2。然後,指令碼會等待 scripttrigger0 再次發生,然後產生波形3。請注意,我們會使用明確的指令,確保在等待忽略指令之前收到任何指令碼觸發。整個序列會永遠重複,直到產生失敗。
使用標籤產生波形 -本指令碼產生波形1並於範例 20 產生標籤事件。
若此篇文件主題符合您的需要,則您亦可能需要下列 NI 產品: