任意波形發生器(AWG)的一個重要功能點是,它們可以生成幾乎無限數量種的波形形狀。AWG的運行模式控制了這些波形輸出的方式。在這篇應用筆記中,我們將探討如何高效利用TS-M4i.66xx系列AWG的不同運行模式。其中,我們會集中介紹其序列模式,該模式能提供接近于實時控制輸出波形選擇的能力。
TS-M4i.66xx系列AWG
AWG的工作方式類似于反向模數轉換器。它們先將波形以數值形式存儲在波形內存中,然后控制器將數字數據送到數模轉換器(DAC)中,該轉換器將其轉換為模擬電壓。如圖1所示。
圖1:AWG中從內存到輸出的數據路徑概念框圖
一、波形內存運行模式
TS-M4i.66xx系列AWG的波形內存有兩種不同的運行模式。
第一種是標準模式,在這種模式下,波形數據完全存儲在波形內存中,這會限制波形持續時間不超過波形內存的長度。但請注意,對于這個產品系列的AWG,波形內存都非常大,可達到2 GSamples,從而提供在最快的時鐘速率(1.25 GS/s)下高達1.6秒的最大波形持續時間,并且該持續時間內沒有任何重復部分。
第二種模式是FIFO模式,它通過PCIe x8串行接口從計算機主機流式傳輸波形數據,速率最高可達2.8 GB/s。內部波形內存用作流式緩沖區。這種模式允許延長波形的持續時間,一般受限于計算機主機的可用運行內存。使用基于RAID數據存儲的PC系統時,甚至可以實現連續數小時的無間斷波形生成。
二、AWG運行模式
運行模式決定了何時輸出波形的哪一部分。運行模式與AWG觸發設置一起生效,該觸發可以由內部或外部產生。各種不同模式的概述如下:
●Single 單次模式- 波形內存中的數據將在第一次觸發事件后輸出一次,之后的觸發將被忽略。
●Single restart 單次重播模式- 波形內存中的相同數據將在每次觸發事件后輸出一次。
●Repetitive (continuous) 重復(連續)- 波形內存的數據連續循環輸出到設定的次數或直到發出停止命令為止。
●Gated 門控- 允許通過外部門控信號的狀態來控制波形輸出。
●Multiple 多段– 波形內存被劃分為相同長度的多個段,每次觸發事件輸出下一個段。
●Sequence 序列– 波形內存被劃分為多個段,可將不同長度的波形加載到段中。順序文件確定具體的輸出順序、循環計數和將要輸出的段。
多段模式和序列模式都把波形內存分割成了多個段,每個段用于包含一個波形或波形的一個部分。然后,每次觸發都會增加選定的段號并輸出對應的波形。其中序列模式還增加了用戶可選自定義循環次數的能力以及選擇更改下一個要輸出的段的功能。
三、序列模式
整個序列流程如圖2所示。正如前面所說,序列模式會將輸出的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”三個步驟參數都可以在運行時進行更改,而不需擔心會破壞序列內存。但應當注意的是,一旦進入某一步驟,就會按該步驟原本的設置執行,這包括輸出關聯的段落波形,以及編程設置的重復次數,都將會先按舊設置完成輸出,再把新設置應用進去。
四、序列模式的優勢
TS-M4i.66xx系列AWG的序列模式具有許多優勢。首先,它可以更有效地利用內置存儲器。比如,重復波形段可以只存儲一次,并在需要時重復輸出,從而減少所需的內存空間。
其次,輸出波形的順序選擇具有非常大的靈活性。所有測試過程中用到的波形都可以立即加載,然后根據需要進行選取,這極大地提高了測試速度。
此外,對波形段近乎實時的控制,使得AWG響應不同測試需求時,能輕松展現其強大的適應性??梢愿鶕渌?a href="http://m.1cnz.cn/soft/data/50-103/" target="_blank">測試測量結果,隨時改變序列順序,而無需停止測試。這是其最強大的優勢,換句話說,它允許根據測量性能來更改測試條件的自適應測試。
以下是一個通用的典型場景:
● 預先加載所有測試波形
● 將被測設備(DUT)分別連接到任意波形發生器和數字化儀
● AWG輸出測試波形1
● 使用數字化儀捕獲并分析測試波形1對DUT的影響
● 根據分析結果選取下一個測試
● AWG輸出測試波形2
● 使用數字化儀捕獲并分析測試波形2對DUT的影響。
● 根據分析結果選取下一個測試
● 繼續重復上述步驟,直到測試完成
提前存儲所有用到的測試波形,并通過編輯序列內存來實時調用它們的這個功能,是TS-AWG的一個強大優勢。再結合任意波形發生器本身可生成幾乎任何波形的能力,它成為了一種測試波形發生器的理想選擇。
五、使用序列模式的一個例子
該例子的目的是測試針對曼徹斯特編碼的串行數據流接收器,該數據流如圖3所示。
圖3:準備由AWG生成的曼徹斯特編碼的串行數據流示例
曼徹斯特編碼在許多常見的串行數據鏈路中都有應用,包括RFID、PSI 5和以太網。曼徹斯特碼總是在每個位周期的中間存在一個電平跳變。此外,它可能(取決于要傳輸的信息)在報文周期開始和結束時也有額外的電平跳變。每位中間位置的電平跳變方向表示了該位的數據,而報文周期邊界處的跳變則不攜帶信息,它們的存在只是為了將信號置于正確的狀態,以允許位中的轉換。保證發生的跳變同時也使得信號能夠包含時鐘信息。
上述這個復合波形由圖4中的三種波形段元素組成:
● "1" - 高電平到低電平的跳變
● "0" - 低電平到高電平的跳變
● 靜息基線 – 保持在直流0V電平
圖4:使用3個數據段生成曼徹斯特代碼
我們會發現,通過使用這些元素分別定義三個波形段,就可以合成任何數據包組合。這同時意味著,通過改變這三個段的順序,就可以改變數據包的內容。
接下來,我們將段設置為512個采樣點的長度,時鐘速率設為50 MS/s,這樣每個波形元素的持續時間(圖3中的TBIT)將是10.24 μs。數據包與包之間有一個持續超過兩個比特時鐘周期的靜息基線信號。
在本例中,TS-M4i.6631-x8 AWG是使用MATLAB腳本控制的,該腳本構建起了四種用于測試的不同數據包。德思特提供了適用于Windows和Linux操作系統的驅動程序,這些驅動程序支持大多數常用編程語言和第三方測試集成軟件,例如LabVIEW,MATLAB和LabWindows/CVI,所有這些驅動都帶有詳細文檔和工作示例。
下面展示的是控制序列內存內容的MATLAB代碼:
總是結束循環,1 => 在觸發時結束循環,2 => 結束整個序列。
下面這個波形就是通過十四個步驟建立起來的,其中只用到了前述的三個波形段元素。
圖5:使用TS-M4i.4450-x8數字化儀獲取到的不同序列數據包波形
MATLAB腳本種包含四個這樣的“表格”,每個表格種加載不同的波形段組合。當AWG運行在這種MATLAB腳本時,即可產生四種不同的數據包。波形輸出的結果如圖5所示。
這里,我們使用了TS-M4i.4450-x8數字化儀以多段采集模式獲取整個測試序列中的4段。4個局部顯示窗口中最上面的一個展示了我們在上述代碼中所生成的完整數據包波形。其它三個則是不同的數據包,作為僅通過更改序列內存參數即可更改數據內容的示例。
六、結論
AWG的操作模式決定了波形的選擇和輸出時機。序列模式是其中最靈活的模式,具有分割內存和選擇要輸出的波形段的能力,還允許用戶設置每段應重復的次數,然后確定下一個輸出的段。編程控制每個段的序列內存,可以在AWG輸出的同時進行更改,這意味著輸出的波形可以實現近乎實時的更改,從而提供編程實現自適應測試的能力。
審核編輯 黃宇
-
AWG
+關注
關注
1文章
50瀏覽量
16847 -
波形控制
+關注
關注
0文章
5瀏覽量
6668
發布評論請先 登錄
相關推薦
評論