FPGA可以通過專享的硬件資源進行處理數據,從而實現較高的吞吐率,可以比通過I/O硬件先獲取數據再通過軟件執行數據處理的速率更快。結合FPGA技術的測試系統,不是按照傳統意義上的“采集、數據傳輸、后處理”模式,而是可以直接在I/O采集之后就直接在FPGA硬件上執行數據處理,這種系統可以連續地測試被測設備,從而縮短測試時間。
通過FPGA上的專用硬件資源可以實現實時測量,如快速傅里葉變換(FFT)等。基于FPGA硬件本身所具有并行執行特性,可以對多個輸入通道同時進行測量,或者對單通道同時進行多種計算參數的測量。
圖1:使用FPGA硬件生成測試向量,并對采集數據進行實時連續分析
2 自定義觸發和采集
使用FPGA可以進行連續的實時信號處理或數據計算,從而可以添加自定義觸發和數據記錄功能,從而有選擇地傳遞所需的數據。相對于只能執行一組固定操作的傳統儀器,帶有FPGA儀器的可重置特性可以滿足特定的硬件應用需求。
例如,頻域觸發應用就體現了FPGA可重置特性的優勢。有些傳統頻譜分析儀可以使用頻率觸發功能,但不能實時進行。另一方面,矢量信號分析儀(VSA)可進行實時功率觸發,但不能實時地選擇感興趣的頻率信號。通過將FPGA技術添加到矢量信號分析儀中,您可以創建一個實時的、頻率相關的觸發功能,或者可以根據需要執行其他自定義的觸發操作。
3 自定義協議接口
FPGA可以直接在硬件上對數據進行編解碼,而無需使用軟件將信號信息編碼成協議信號(或將協議信號解碼成信號信息)。這樣就可以幫助簡化測試系統軟件,因為系統軟件只需要處理信號信息,使得協議級通信變得可行。而在過去,在只有預定義測試向量的情況下,是不適合通過軟件進行帶有協議通訊的測試的(例如,當基于協議數據需要快速決策時)。FPGA對于那些從接收到發送數據間需要快速響應的應用也是有必要的,在這種情形下,測試硬件必須能夠快速檢測和響應。
因為FPGA是可通過軟件進行重配置的硬件資源,因此對于同一硬件,可以通過不同配置支持多種協議,從而促進硬件的重復使用。此外,還可以利用FPGA的硬件級執行性能實現復雜的協議狀態機,此外基于FPGA的并行執行特性,可以實現同一協議接口的多個實例,從而進行多個被測設備的并行測試。
4 閉環控制和動態測試
如今有許多被測設備需要與測試環境進行實時的信號交互,在這種情況下,如果測試系統不能對被測設備提供實時反饋信息,就可能無法提供足夠的測試覆蓋范圍。例如,現代通信方案通常包含確認數據包或比特數據。如果測試系統不能準確地解析這些確認數據包或比特,并及時作出響應,那么可能無法正確地測試被測設備。在大多數情況下,只有硬件(FPGA)可以提供這種低延遲響應。
另一個實例是硬件在環(HIL)測試系統。在HIL系統中,待測設備通常是控制器,而測試系統必須模擬被控對象的行為。這樣可以提高對控制器進行測試的性能和可靠性;在某些情況下,還可以在被控對象生產出來之前先通過測試系統模擬被控對象,從而對控制器的功能進行驗證。FPGA的高性能和低延遲可以基于確定性的閉環循環周期來準確地模擬被控對象的行為。
圖2:FPGA硬件可以對協議級通信進行編碼和解碼,從而簡化測試系統軟件