目前大多數儀器采用封閉式FPGA(現場可編程門陣列)和固定的固件實現儀器的功能。如果你曾見過示波器的拆解,你也許見過里面的FPGA。FPGA可以增加測試儀器的處理能力,如果你曾使用過儀器的開放式FPGA,你就會知道可以將自定義的測試功能編程進儀器中。
儀器供應商早就了解FPGA的好處,并且一直在充分發揮FPGA獨特的處理能力優勢來豐富的功能,比如:儀器
● 能夠在示波器上完成預觸發捕獲
● 能夠利用信號處理功能在矢量信號分析儀上產生I和Q數據
● 能夠在高速數字儀器上實時進行圖案發生和矢量比較
測試設備制造商現在開始向用戶開放FPGA以提供更多特殊應用的優化。為了幫助理解為何這是一個好的轉變,下面列出了在測試應用中使用FPGA的一些關鍵特性:
● 確定性,實時處理
● 真正并行的執行
● 可重配置
● 低延時
更進一步講,利用開放式FPGA可以實現哪些以前不能實現的功能呢?為了描述這些可能性,下面將介紹一些利用開放式FPGA的常見測試應用。
測試系統加速
在大批量生產線的最終產品測試中,每一秒的測試時間都很寶貴。當產品測試速度與生產速度相匹配時,生產線的效率就是最高的。當兩者速度不匹配時,就必須采用創新的技術來縮短測試時間。傳統方法需要使用多臺分開的臺式儀器,它們通過以太網、USB或GPIB連接到一臺PC主機。這種測試的速度相對較慢,因為待測設備的控制、測量以及通過數據總線的處理是分開進行的。另外一種方法是使用開放式FPGA來加速這個過程,如圖1所示。
圖1:在測試儀器中,開放式FPGA可以增加諸如觸發和后處理等功能。
與使用外部通信總線不同,FPGA可以使用高速總線(如PXIe)連接儀器,并通過其配置端口(如I2C、SPI或另外的控制總線)連接待測設備(DUT)。這種應用中的FPGA可以控制待測設備,觸發其它儀器開始捕獲樣本,甚至將這些樣本處理成對主機來說有意義的結果。
低時延是加速這類應用的一個關鍵因素。FPGA沒有操作系統,但所有的邏輯都是用硬件實現,并且這些硬件工作的時鐘速率很高。這意味著響應只需花一個時鐘周期捕獲、一個時鐘周期處理和一個時鐘周期輸出結果。當時鐘速率為200MHz(時鐘周期為4ns)時,完整的響應時間只需12ns。由于FPGA的確定性特點,12ns的響應時間不是只有一次,而是每次都是。因此FPGA不僅可以避免與使用主機有關的延時,而且能夠最大限度地減小主機處理時的非確定性延時。
協議的處理
今天,并不是所有數字和MEMS設備都能用已知結果矢量進行測試。就拿脈沖密度麥克風(PDM)來說,如果給它一個激勵信號,你不能期望每次測試得到的比特流是完全相同的,這是因為PDM是模擬設備。為了從這些類型的待測設備獲得有意義的結果,在比較結果之前你首先需要用其特定的協議對數字流進行解碼。借助開放式FPGA,你可以在FPGA上配置你的測試系統來實現PDM協議,不必再傳至CPU進行解釋。進一步拓展這個概念,今天你可以配置這個FPGA實現PDM協議,明天你又可以重新配置同樣這個FPGA實現不同的協議,比如用于測試數字溫度傳感器、加速度計或MEMS設備的協議。
在圖2中,協議不是在CPU上實現,而是在FPGA上實現。正因為此,測試系統現在自身就可以支持快速握手腳本,適應精確等待周期等協議行為,并根據通信內容做出決策。這種方法不僅能讓你從待測設備接收更高層數據,比如在PDM麥克風場合中解碼的模擬數據,而且允許你用更高層命令編寫測試腳本。
圖2:FPGA可以用來處理協議,知曉總線使用的協議內容。
閉環測試:功放
在無線通信系統中,信號在發往天線之前需要用功放IC增加信號的強度。功放的性能規格通常是在特定的輸出功率電平點定義的。因此當功放工作在這個輸出功率電平時對它們進行測試就顯得非常重要。然而,功放的增益一般只是粗略的知道(比如±3dB),而且在器件工作范圍內是非線性的。你越接近最大輸出功率,增益就越低?;谶@些理由,在開展任何性能測試之間你必須首先“調測”放大器的輸出。調測輸出經常被稱為功率電平調整或功率伺服調整?;驹硎钦{整放大器的輸入功率,直到你測得正確的輸出功率。
測量功放的傳統測試裝置見圖3所示。矢量信號發生器(VSG)產生一個激勵波形給待測設備。功率計確保待測設備輸出正確的功率電平。最后由矢量信號分析義(VSA)測量待測設備的性能——如誤差矢量幅度(EVM)或相鄰通道功率(ACP)。實際操作中需要針對各種中心頻率和功率電平重復這些測量。
圖3:用于測量功放輸出的傳統測試裝置包含有矢量信號發生器、矢量信號分析儀和功率計。
必須針對每個想要測試的中心頻率和功率電平調測功放的輸出功率。調測過程一般遵循以下這些步驟:
● 根據估計的待測設備增益選取一個起始的矢量信號發生器功率電平
● 設置矢量信號發生器的功率電平
● 等待矢量信號發生器穩定工作
● 等待待測設備穩定工作
● 用功率計進行測量
如果功率在正確的范圍內,退出。如果不在范圍內,計算新的矢量信號發生器功率電平,回到步驟2重新開始
整個調測過程可能要花幾百毫秒到幾秒的時間,具體取決于待測設備類型、要求的精度以及使用的儀器。調測過程完成后就可以用矢量信號分析儀開展性能測量了。
圖4顯示了使用傳統方法將待測設備樣品輸出調整到平均輸出功率為28dBm的過程。如果功率放大器的增益是線性的,并且符合數據手冊中規定的典型增益,那么矢量信號發生器產生的第一個點就將產生28dBm的輸出功率。然而放大器的實測輸出功率只有26.5dBm,這就表明了功放典型增益指標的不精確性。隨后調整矢量信號發生器的輸出功率,由矢量信號分析儀捕獲另外一個輸出功率點。這次平均功率是27.6dBm,從中可以看出放大器增益響應的壓縮過程。總之花了7步、大約150ms的時間才使放大器的輸出達到想要的功率值。在這個例子中,待測設備的穩定時間是每步10ms。但不同待測設備的穩定時間是不同的,它將顯著影響總的調測時間。
圖4:傳統的功放輸出調測方法表明功率電平是漸次增加的。
矢量信號收發器(VST)是將矢量信號發生器、矢量信號分析儀和FPGA整合在一起的一種儀器。這種組合可以讓你將功率調測算法轉移到硬件中實現。即使沒有圖5中的功率計,你通常也可以執行系統校準步驟將功率計精度轉嫁給矢量信號分析儀。
圖5:矢量信號收發器將信號發生器、信號分析儀和FPGA整合在一起。
調測功放輸出功率的步驟與傳統方法是類似的,只不過調測環路在開放式FPGA中執行。在FPGA中執行環路可以顯著縮短每次調整所需的時間。
通過使用開放式FPGA和硬件并在FPGA上實現控制環路,調測待測設備輸出功率的時間將遠遠小于在主機電腦上執行控制環路的時間。對于本例中的待測設備來說,調測過程只用了5ms,而傳統方法需要150ms。需要注意的是,基于硬件的方法所需的步驟數比傳統方法多一步。但調測過程所需的總時間卻明顯減少。與圖4相比,圖6中的前幾個步驟完成得很快(平均時間較短),然后點的間隔越來越大,因為調測環路正在收斂。
圖6:使用基于硬件的調測方法后,功率電平上升的時間要短于傳統方法。
信號處理
用戶可編程FPGA最有用的應用之一是在儀器上減少必須傳回主機進行后處理的數據量,從而釋放通信總線用于其它數據傳輸,同時減少CPU的負擔。用于這方面的常見方法包括復雜觸發、濾波、峰值檢測或對捕獲的數據集執行快速傅里葉變換(FFT)。
例如在圖7中你可以看到有4個待測設備需要并行測試的應用。模數轉換器(ADC)將樣本傳送給FPGA,但直到定制觸發器啟動捕獲命令后數據才被捕獲。在捕獲數據時,FPGA會實時平均測量結果,然后將它們連續進行記錄。然后在測量無雜散動態范圍(SFDR)、信噪比(SNR)和信號噪聲與失真比(SINAD)之前對記錄進行快速傅里葉變換。這些結果只是來自ADC的的輸入信號數據的一部分,接下來將通過直接存儲器訪問先入先出緩沖機制(DMA FIFO)上傳給主機。
圖7:開放式FPGA可以幫助你捕獲數據、平均數據以消除噪聲、將并行數據變為串行數據,然后執行數學、FFT和濾波器算法。
作為DSP中的一種基本功能,快速傅里葉變換被廣泛用于許多測試應用。由FPGA實現這個功能可以為許多測試應用增添許多功能,比如頻域觸發器、數據精簡、基于頻率的閉環控制和圖像處理等。圖8顯示了如何在上例中使用LabVIEW FPGA實現快速傅里葉變換。
圖8:前述例子中的這個代碼顯示了快速傅里葉變換是在開放式FPGA的何處執行的。
雖然本文只是提及了很少幾個可以FPGA上實現的令人激動的數字信號處理功能,但實際上還有許多其它功能可以用來擴展FPGA在測試應用中可以實現的能力。這類處理功能可以在許多開放式FPGA上實現,圖9顯示了在國家儀器(NI)公司的硬件上可以通過LabVIEW FPGA實現的一些功能類型。
圖9:在FPGA上可以實現的數字信號處理功能包括數學、濾波、三角函數和視頻處理等。
隨著開放式FPGA在整個測試與測量行業內逐漸流行起來,你將看到只有固定功能的儀器越來越少。相反,更多的儀器將變得可軟件定義,與移動設備行業中引入“應用(app)”所經歷的變革一樣。測試應用不再受制于測試供應商開發的軟件能力。它們將只受限于當時的硬件水平以及使用儀器的工程師的想像力。
責任編輯:gt
評論
查看更多