運用示波器和用戶可定義的 FPGA 提高測量質量與速度
1. 什么是「軟件設計的示波器」?
示波器等儀器通常采用多個軟件層,有些是用戶較容易存取的軟件,有些則否。 PC 上的軟件可控制測試系統的整體運作,儀器驅動程序可提供示波器的通訊功能,嵌入儀器本身的軟件則控制了數據采集和提供給用戶的方式。 傳統儀器會通過儀器驅動程序提供固定的測量功能;模塊化儀器則運用了開放式的 PC 軟件和現代 CPU 的處理性能,可以在 PC (而非儀器內部) 執行訊號分析。 這樣一來,用戶即可迅速定制針對采集到的數據執行數據分析的方式,以此滿足個人的特殊需求,例如縮短測試時間或提高測量分辨率。
本文引用地址:http://www.104case.com/article/201612/333314.htm軟件設計儀器進一步運用這個概念,可供用戶修改或甚至徹底替換儀器 FPGA 上所執行的嵌入式軟件。 因為每個采集到的數據點都可以實時在儀器 FPGA 上完成分析,所以用戶可實現定制的實時分析和復雜的觸發,并且避免空滯時間 (錯失訊號)。 簡而言之,軟件設計儀器能夠讓用戶存取所有的軟件層,從主機 PC 到儀器數據轉換器的針腳全都包含在內,進一步實現定制的修改內容,滿足特定的應用需求。
全新 NI PXIe-5171R 示波器是一種軟件設計儀器,配備 8 個輸入通道、300 MHz 模擬帶寬、250 MS/s 取樣率、14 位分辨率,以及用戶可設定的 Xilinx Kintex-7 FPGA。
圖 1: 用戶可定義的 FPGA 作為軟件設計儀器 (PXIe-5171R 示波器) 程序框圖的核心組件。
2. 透過軟件來設計示波器 FPGA 的程序
LabVIEW FPGA Module 能夠把 LabVIEW 系統設計軟件擴充至 NI 可重設 I/O (RIO) 硬件上的 FPGA;而這類硬件則包含了 PXIe-5171R 和 PXIe-5624R 示波器、數字序列儀器、RF 向量訊號分析器,以及在 2012 年發表「軟件設計儀器」概念的向量訊號收發器 (VST)。
LabVIEW 本身即具有平行機制,而且數據流概念和 FPGA 的數據流也很像,因此非常適合用來設計 FPGA 程序。 LabVIEW 能夠抽象化系統內不同操作部分所執行的處理和數據遷移作業 (例如儀器內的 FPGA 和 PC 內的微處理器),因此工程師和科學家不需要 Verilog 或 VHDL 之類的 FPGA 程序設計、運算架構或數據串流等方面的深入知識,即可充分發揮軟件設計儀器的性能。
LabVIEW 本身即具有平行機制,而且數據流概念和 FPGA 的數據流也很像,因此非常適合用來設計 FPGA 程序。 LabVIEW 能夠抽象化系統內不同操作部分所執行的處理和數據遷移作業 (例如儀器內的 FPGA 和 PC 內的微處理器),因此工程師和科學家不需要 Verilog 或 VHDL 之類的 FPGA 程序設計、運算架構或數據串流等方面的深入知識,即可充分發揮軟件設計儀器的性能。
圖 2 為軟件設計儀器的軟件架構 (目前以示波器為例)。 此架構包含了實現 FPGA 的例程,可用于實際采集和實時處理,以及主機 PC 上對應的軟件模塊,能夠和 FPGA 上的對應部分互動,進一步設定/控制測量作業、處理 PXI Express 總線的數據傳輸,并且呈現數據給用戶。
圖 2: 就軟件設計儀器的架構而言,主 VI 會和 FPGA 上的對應部分互動,以此設定硬件并執行測量。
主機 PC 的組件和儀器驅動程序很類似,FPGA 程序代碼則是和傳統的示波器硬件比較像。 不同于傳統示波器,這些組件可用來建置定制示波器 IP,同時也因為開放式特性,可供用戶根據特定需求而修改或擴充
3. 示波器搭配用戶可定義的 FPGA 所提供的測試優勢
測試應用的終極目標之一就是縮短整體的測試時間。 時間通常是提高大量制造成本的主要原因之一,彈性和可重復使用率對高度混合或高度維護測試系統而言則是非常重要。 下列三個范例說明了示波器搭配用戶可定義的 FPGA 如何節省時間和成本。
在線處理和 DUT 控制,加快測量速度
許多應用必須透過通過數字濾波、信道化、快速傅立葉變換 (FFT) 或解調等措施來處理所采集的數據。 雖然現代的多核心 CPU 可提供無與倫比的處理性能給桌面計算機,但通常無法實時處理多核心示波器所產生的數據,所以也沒辦法快速執行測量作業。 結果就是 CPU 會成為測試速度的關鍵。 有了 FPGA 和固有的平行機制,即可輕松持續執行復雜的分析作業,例如實時并行計算多個通道的功率頻譜。
圖 3 為用戶可定義的 FPGA 如何用于 PXIe-5171R 示波器,只要一次就能采集并測量一個 DUT (RF 切換器) 內多個通道的串音。 4 個示波器通道會平行采集 DUT 所有 4 個信道的輸出訊號,計算所有 4 個通道的功率頻譜,并且針對違反情況執行屏蔽測試。
圖 3: PXIe-5171R 示波器搭配用戶可定義的 FPGA,可執行平行的頻譜測量,進而縮短測試時間。
另一個在線處理的例子就是透過 DUT 關閉循環。 示波器本身可控制 DUT 并縮短測試時間,而非由主機 PC 來控制測試系統內的 DUT 和示波器 (這樣會帶來通訊時間的運作成本)。 示波器的 I/O 通道可做為分離式 I/O 使用,也可當作 SPI 之類的序列總線,以便和 DUT 通訊。
圖 4: 測試高速數字轉模擬轉換器 (DAC) 的刺激反應系統。
透過點對點數據流技術,示波器即可結合其他儀器,打造出閉循環測試系統 (圖 4)。 示波器內部的 FPGA 會產生測試訊號,并且傳送至數字序列儀器,以此驅動 DAC 輸入。 示波器會采集頻譜,并且自動比較采集到的訊號和預期的訊號 (也就是之前產生的訊號)。
透過自定義觸發和協議解碼縮短測試時間
對許多測量作業而言,偵測特定的訊號狀況以啟動采集作業是相當重要的功能。 傳統的示波器可以精確采集一些觸發狀況 (例如某個訊號超過臨界值),但因為儀器處理已采集的資料而帶來的空滯時間,所以無法每次都偵測到更復雜的事件,例如脈寬。
用戶可設定的 FPGA 可做為訊號鏈不可或缺的一部分,并且針對用戶定義的狀況實時分析每個訊號。 這樣一來即可以精確穩定的方式,偵測簡易 (準位和磁滯) 和復雜觸發,例如訊號抖動或脈寬、特定上升時間,或甚至特定的訊號形狀。 圖 5 的觸發狀況運用了一個訊號封包,以此觸發采集作業。 諸如此類的觸發情境可用于設計和測試項目,以便偵測單邊緣觸發器難以偵測到的異常行為。
圖 5: 特定訊號形狀引發的觸發。 在此范例中,訊號必須介于紅色和綠色曲線之間,才能夠觸發采集作業。
此外,也可以組合多個觸發器,進而偵測復合狀況,例如可以在不同通道上看到特定頻譜內容的數字樣式,或者是一連串的事件,通常稱為 A-B 觸發器。
有個相關功能就是可根據序列通訊接口上的特定數據字詞或錯誤,偵測并觸發采集作業。 有了用戶可定義的 FPGA,即可測試訊號的完整性 (根據規格測試訊號的模擬波形),同時平行譯碼輸入數據,以此驗證數據內容。 這樣一來,用戶不但可以測試訊號,也能夠建立可做為最終系統組件并快速制作原型的測試設定,有效運用單一儀器同時完成兩項工作。
仿真舊設備以減緩產品汰換問題
軍事或航天應用領域內許多維護測試系統都有使用壽命的需求,可延長至 10 年以上。 通常會根據特定的儀器特性而撰寫測試程序代碼 (無論是否刻意),因此很難在避免大幅變動的情況下替換儀器,而且重新認證測試程序代碼也需要高額的成本。
用戶可定義的 FPGA 可供程序設計,藉此修改儀器并仿真遭替換設備的行為,有助于避免上述問題。 運用 FPGA 邏輯即可輕松復制觸發行為或時序組合等特性,此外只要透過數字方式實作所需的濾波器,甚至可以模擬更復雜的方面,例如示波器的濾波特性。
4. 示波器搭配用戶可定義的 FPGA 所提供的科學應用優勢
就高能物理等科學應用而言,儀器的性能與彈性都是很重要的特色。 一般來說,這類應用大部分的訊號處理和控制作業都會采用模擬電子和相對較慢的 ADC,以此采集預先處理過的訊號。 現在,快速的高分辨率 ADC (14 位和 250 MS/s 以上) 可直接從傳感器采集訊號樣本。 只要儀器搭載用戶可設定的 FPGA,即可在采集期間同時執行訊號處理作業,不必通過 PC 完成后續處理。 這樣不但可以更快取得結果,也能夠提高科學實驗控制的彈性和效率。
有效實時反饋系統的在線處理
許多科學實驗都必須仰賴控制系統,確保所有設定項目都維持在明確定義的狀態。 舉例來說,DIII-D Tokamak 等融合研究系統會透過 RF 功率來加熱等離子體,這會需要測量復雜的 RF 反射系數,并且根據測量結果衍生出合適的控制參數
使用粒子加速器和同步加速器時,必須持續監控粒子光束的軌跡,才能滿足磁鐵的正確控制輸入需求。 示波器搭配用戶可定義的 FPGA,提供了固有的快速平行處理性能,能夠同時分析訊號和頻域,以及極高速的控制循環,因此有助于解決 DIII-D Tokamak 等應用問題。 只要客制化 FPGA,即可監測重要的安全參數,以便在系統處于非理想狀態時觸發關機作業。
示波器可透過高速 PXI Express 總線,搭配輸出模塊以產生實驗所需的控制訊號,或是以每個儀器超過 3 GB/s 的速度連續把數據串流至儲存媒介。 用戶可定義的 FPGA 還有另一個優點,那就是可以快速修改處理和控制算法。 可以把已編譯過的位串流加載 FPGA,只要不到一秒的時間,即可改變示波器的行為。
實時事件偵測和數據減量,有助于加速探索
判斷重點事件通常相當困難。 常見的作法就是等到實際數據采集作業結束之后,在后續處理期間尋找事件,不過這么做很花時間,而且必須儲存大量的數據。
另外有一個更有效的方式,就是在采集期間決定要保留和舍棄的訊號,以此把數據量降到最低。 通常唯一的重點參數就是時戳和能量脈沖的計算結果,所以就儲存觀點而言,從儀器回傳這些參數會更有效率,而且因為采集到的結果可輕松卸除至主機 PC,所以還可以延長測量時間。
舉例來說,飛行時間 (ToF) 應用會持續繪制粒子和能量。 如圖 5 所示,較快的粒子位于左邊 (飛行時間較短),較慢的粒子則位于右邊。
圖 5: 標準的 ToF 圖和偵測到的脈沖,這些脈沖會傳輸至主機 PC。
測量系統的功用在于采集、時戳、測量能量脈沖,并且排除時間 (采集到的數據),中間完全沒有脈沖,通常稱為零點抑制。 透過 FPGA 即可輕松實作,因為可以實時計算每個樣本。 如圖 5 所示,偵測事件的一般架構可能會是脈沖 (例如某個臨界值) 偵測器,接著是符合已偵測脈沖上參考脈沖 (例如高斯形狀) 的算法,以便估計最大值。 偵測峰值和對應時戳并加以儲存之后,即可舍棄所采集到的脈沖,也可傳送至另一個緩沖區,以便進一步分析或于 PC 顯示。
LabVIEW FPGA 提供一些工具給用戶,能夠把必要的訊號處理階段實作于示波器上,藉此執行脈沖過濾和整形、計算出現次數并加上時戳、測量高度和上升時間、直接在儀器內重新建構基線,并且把壓縮過的結果回傳至 PC,以便提高研究人員的工作效率。
5. 結論
傳統示波器的原理是基于對信號進行快照的模式,然后在采樣的后端將采到的信號對齊現實給客戶波形測量。這樣的方式會丟掉兩次快照之間的數據,如果我們需要尋找一個信號中很小概率的細節,那傳統儀器無疑會增加很多的測試時間。并且,基于FPGA將所有信號無縫采集,可以進行實時的信號處理,比如找出特定的信號波形,將其觸發。與傳統的示波器只能基于電平的觸發方式不同,全新的可重配置示波器可幫助用戶透過定制化觸發,更快偵測事件,并且實時處理數據,直接透過儀器把數據轉換成結果,進一步提高測量質量與速度。
評論