宏虹技術 | 充分利用宏虹Spectrum AWG 運行模式:序列模式引領波形輸出新高度

前言

任意波形產生器(AWG)的一個重要功能點是,它們可以生成幾乎無限數量種的波形形狀,而AWG的運行模式控制了這些波形輸出的方式。在這篇應用筆記中,我們將探討如何高效利用TS-M4i.66xx系列 AWG 的不同運行模式。其中,我們會集中介紹其序列模式,該模式能提供接近於即時控制輸出波形選擇的能力。
AWG的工作方式類似於反向數模轉換器。它們先將波形以數值形式儲存在波形記憶體中,然後控制器將數字數據送到數模轉換器(DAC)中,該轉換器將其轉換為類比電壓。如下圖一所示。
圖1:AWG中從記憶體到輸出的數據路徑概念框圖

圖一、AWG中從記憶體到輸出的數據路徑概念框圖

波形記憶體運行模式

宏虹Spectrum TS-M4i.66xx系列AWG的波形記憶體有兩種不同的運行模式。

第一種是標準模式在此模式下,波形數據完全儲存在波形記憶體中,這會限制波形持續時間不超過波形記憶體的長度。但請注意,對於這個產品系列的AWG,波形記憶體都非常大,可達到2 GSamples,從而在最快的時鐘速率(1.25 GS/s)下高達1.6秒的最大波形持續時間,並且該持續時間內没有任何重複部分。
第二種模式是FIFO模式,它透過PCIe x8串列介面從電腦主機流式傳輸波形數據,速率最高可達2.8 GB/s。內部波形記憶體用作流式緩衝區。此模式允許延長波形的持續時間,一般受限於電腦主機的可用運行記憶體。使用基於RAID數據儲存的PC系統時,甚至可以實現連續數小時的無間斷波形生成。

AWG運行模式

運行模式決定了何時輸出波形的哪一部分。運行模式與AWG觸發設定一起生效,該觸發可以由內部或外部產生。各種不同模式的概述如下:
1.單次輸出
編輯好的波形在接收到外部觸發或軟體觸發後輸出一次。在第一個觸發事件之後,後續觸發將被忽略。
1.單次輸出
單次輸出
2.單次重新輸出
在此模式下,每次觸發事件發生後都會輸出板載緩衝中的波形數據。觸發源可以是外部觸發,也可以是軟體觸發。
2.單次重新輸出
單次重新輸出
3.重複輸出
編輯好的波形在接收到觸發訊號後連續輸出,直到執行停止命令。觸發源可以是外部觸發,也可以是軟體觸發,在第一個觸發事件發生後,其它的觸發將被忽略。
3.重複輸出
重複輸出
4.門控回放
門控回放模式輸出的波形數據是由外部的門控訊號進行控制。只有當門控訊號處於預編程的電平時,數據才會被輸出。
4.門控回放
門控回放
5.FIFO模式
FIFO模式是Spectrum模組化AWG產品特有的操作模式。它設計用於主機記憶體或硬碟與AWG之間的連續數據傳輸。完整安裝的板載記憶體用於儲存緩衝數據,使連續流非常可靠。
5.FIFO模式
FIFO模式
6.多次重放
該模式在無需重新啟動硬體的情況下,可以使波形在多個觸發事件下進行快速輸出。板載緩衝被分成幾個大小相同的段,可以包含不同的波形數據。這種模式可以達到非常快的重複率。
6.多次重放
多次重放
7.序列回放模式
序列回放模式將板卡內部緩衝分成多個不同長度的數據段。這些數據段它透過PCIe x8串列介面從電腦主機流式傳輸波形數據,速率最高可達2.8 GB/s。內部波形記憶體用作流式緩衝區。此模式允許延長波形的持續時間,一般受限於電腦主機的可用運行記憶體。使用基於RAID數據儲存的PC系統時,甚至可以實現連續數小時的無間斷波形生成。用戶設定的序列記憶體進行鏈結。序列決定了不同數據段輸出的順序以及每個段循環的次數。使用序列回放模式,可以透過簡單的軟體命令在回放波形之間切換,或者在回放其他段的同時重新定義段的波形數據。
多次重放模式和序列回放模式都把波形記憶體分割成了多個段,每個段用於包含一個波形或波形的一個部分。然後,每次觸發都會增加選定的段號並輸出對應的波形。其中序列模式還增加了用戶可選自定義循環次數的能力以及選擇更改下一個要輸出的段的功能。

序列模式

整個序列流程如下圖二所示。正如前面所說,序列模式會將輸出的AWG波形分割為幾個數據段。

圖2:波形記憶體的分割和序列記憶體的鏈結

圖二、波形記憶體的分割和序列記憶體的鏈結

載入到每個段中的波形可以具有不同的大小。用戶自定義的數據段鏈結順序可以透過額外的序列儲存器進行記錄,如下圖2所示底部所示。序列儲存器將記憶體步驟與特定段關聯,可以指定每個段的循環次數,並定義下一個段。最重要的是,波形段之間的切換沒有死區,也就是說允許無縫連接。
在我們的範例中,序列儲存器內定義了4個步驟。其中三個(Step#1、#3和#4)構成無盡循環,將連續重複輸出,每次循環將包含數據段#2重複10次,數據段#3重複100次,以及數據段#7僅1次,然後,AWG輸出又返回到Step #1並重新開始週期。
在序列模式下,可以透過簡單的軟體命令更改輸出的波形,或者在某段數據正在輸出的同時重新定義其他段波形數據,透過這個功能,我們可以實現近乎即時的波形編程和輸出。
波形和序列儲存器的嚴格分離使得在運行過程中更改序列儲存器成為可能。我們再來看上面的範例,序列有一個未使用的步驟,即Step#2。在我們的範例中,啟動AWG之前已經定義了3個步驟。一開始,我們不對這些步驟進行更改。然後設定Step#2令其自循環,也即是將它自身作為鏈結的下一個步驟,但由於已定義的序列順序,該步驟並不會被調用。我們想強調的是: 由於序列儲存器的讀取優先於寫入特性,因此可以在運行時安全地向序列儲存器中的任何步驟暫存器寫入,而不用擔心會破壞它。透過地址找到某個步驟並更改其下一步鏈結物件參數,可以實現軟體控制的序列間切換。
假設在我們上面的例子中,我們將第Step#4的下一步鏈結參數從Next=#1更改为Next=#2,則原本無限執行的3步驟序列(自AWG開始輸出以來一直重複)將在下一次輸出完成與Step#4關聯的數據段(在範例是段#7)的最後一個採樣點時,退出原有循環。然後,它將跳轉到Step#2,並無縫繼續輸出與之關聯的段#3的第一個樣本。由於Step#2結束後鏈結回自身,AWG後續將無盡循環輸出數據段#3,直到被用戶停止。
對於序列記憶體中的任何一個步驟,其“Next”、“Segment”和“Loop”三個步驟參數都可以在運行時進行更改,而不需擔心會破壞序列記憶體。但應當注意的是,一旦進入某一步驟,就會按該步驟原本的設定執行,這包括輸出關聯的段落波形,以及程式設定的重複次數,都將會先按舊設定完成輸出,再把新設定應用進去。

序列模式的優勢

宏虹Spectrum TS-M4i.66xx系列AWG的序列模式具有許多優勢。

首先,它可以更有效地利用內置儲存器。 譬如,重複波形段可以只儲存一次,並在需要時重複輸出,從而減少所需的記憶體空間。
其次,輸出波形的順序選擇具有非常大的靈活性 所有測試過程中用到的波形都可以立即載入,然後根據需要進行選取,這極大地提高了測試速度。
此外,對波形段近乎即時的控制,使得AWG響應不同測試需求時,能輕鬆展現其強大的適應性。 可以根據其他測試測量結果,隨時改變序列順序,而無需停止測試。這是其最強大的優勢,換句話說,它允許根據測量性能來更改測試條件的自適應測試。

以下是一個通用的典型場景:

  •  預先載入所有測試波形
  •  將被測設備(DUT)分別連接到任意波形產生器和數位化儀
  •  AWG輸出測試波形1
  • 使用數位化儀捕獲並分析測試波形1對DUT的影響
  • 根據分析結果選取下一個測試
  • AWG輸出測試波形2
  • 使用數位化儀捕獲並分析測試波形2對DUT的影響
  • 根據分析結果選取下一個測試
  • 繼續重複上述步驟,直到測試完成
提前儲存所有用到的測試波形,並透過編輯序列記憶體來即時調用它們的這個功能,是宏虹Spectrum AWG的一個強大優勢。再結合任意波形產生器本身可生成幾乎任何波形的能力,它成為了一種測試波形產生器的理想選擇。

使用序列模式的一個例子

該例子的目的是測試針對曼徹斯特編碼的串列數據流接收器,該數據流如下圖三所示。
圖3:準備由AWG生成的曼徹斯特編碼的串列數據流範例

圖三、準備由AWG生成的曼徹斯特編碼的串列數據流範例

曼徹斯特編碼在許多常見的串列數據鏈路中都有應用,包括RFID、PSI 5和乙太網。曼徹斯特碼總是在每個位週期的中間存在一個電平跳變。此外,它可能(取決於要傳輸的信息)在報文週期開始和結束時也有額外的電平跳變。每位中間位置的電平跳變方向表示了該位的數據,而報文週期邊界處的跳變則不攜帶信息,它們的存在只是為了將訊號置於正確的狀態,以允許位中的轉換。保證發生的跳變同時也使得訊號能夠包含時鐘信息。

上述這個複合波形由下圖四中的三種波形段元素組成:

  • “1” – 高電平到低電平的跳變
  •  “0” – 低電平到高電平的跳變
  •  靜息基線 – 保持在直流0V電平
圖4:使用3個數據段生成曼徹斯特代碼

圖四、使用3個數據段生成曼徹斯特代碼

我們會發現,透過使用這些元素分別定義三個波形段,就可以合成任何數據包組合。這同時意味著,透過改變這三個段的順序,就可以改變數據包的內容。

接下來,我們將段設定為512個採樣點的長度,時鐘速率設為50 MS/s,這樣每個波形元素的持續時間(圖三中的TBIT)將會是10.24 µs。數據包與包之間有一個持續超過兩個比特時鐘週期的靜息基線訊號。

在本例中,宏虹Spectrum TS-M4i.6631-x8 AWG是使用MATLAB腳本控制的,該腳本構建起了四種用於測試的不同數據包。宏虹提供了適用於Windows和Linux操作系統的驅動程式,這些驅動程式支援大多數常用編程語言和第三方測試整合軟體,例如LabVIEW,MATLAB和LabWindows/CVI,所有這些驅動都帶有詳細文檔和工作範例。

下面展示的是控制序列記憶體內容的MATLAB代碼:

控制序列記憶體內容的MATLAB代碼
控制序列記憶體內容的MATLAB代碼

其中條件參數定義如下:0 => 總是結束循環,1 => 在觸發時結束循環,2 => 結束整個序列

下面這個波形就是透過十四个步驟建立起來的,其中只用到了前述的三個波形段元素。

圖5:使用TS-M4i.4450-x8數位化儀獲取到的不同序列數據包波形

圖五、使用TS-M4i.4450-x8數位化儀獲取到的不同序列數據包波形

MATLAB腳本種包含四個這樣的“表格”,每個表格種載入不同的波形段組合。當AWG運行在這種MATLAB腳本時,即可產生四種不同的數據包。波形輸出的結果如下圖五所示。

這裡,我們使用了宏虹Spectrum TS-M4i.4450-x8數位化儀以多段採集模式獲取整個測試序列中的4段。4個局部顯示視窗中最上面的一個展示了我們在上述代碼中所生成的完整數據包波形。其它三個則是不同的數據包,作為僅透過更改序列記憶體參數即可更改數據內容的範例。

 

結論

AWG的操作模式決定了波形的選擇和輸出時機。序列模式是其中最靈活的模式,具有分割記憶體和選擇要輸出的波形段的能力,還允許用戶設定每段應重複的次數,然後確定下一個輸出的段。編程控制每個段的序列記憶體,可以在AWG輸出的同時進行更改,這意味著輸出的波形可以實現近乎即時的更改,從而提供編程實現自適應測試的能力。

了解更多產品資訊

TS-66xx系列

TS-66xx系列

PCIe任意波形發生器TS-M4i.66xx系列

  • 快速16位任意波形發生器
  • 1、2或4通道版本
  • 所有通道同時生成訊號
  • 每個通道獨立的DAC和放大器
  • 輸出電平可編程±160mV至±5 V(±80 mV至±2.5 V,50歐姆)
  • 模式:單次、循環、FIFO、序列重放模式、門控……
  • 2 GSample板載內存
  • 使用SCAPP選項從CUDA GPU直接傳輸數據
TS-AWG4000系列

TS-AWG4000系列

  • 1.2 GS/s,16位垂直分辨率
    最短邊沿時間: <700ps @1Vpp|<900 ps@5 Vpp
  • 最大動態範圍高達12 Vpp(50歐姆)
  • 每個通道高達1024 Mpts
  • 8個數字通道與模擬生成同步
  • 軟件用戶界面:用於AWG模式的Expert Rider和用於AFG模式的Simple Rider

如果您對此感興趣,歡迎您關注我們獲取更多文章資訊,如有任何問題,也歡迎聯絡我們!