開(kāi)放式FPGA增加測(cè)試靈活性
現(xiàn)在的大多數(shù)儀器通過(guò)將封閉式FPGA與固定固件相結(jié)合來(lái)實(shí)現(xiàn)儀器的各種功能。如果您看過(guò)一個(gè)拆解后的示波器,您可能已經(jīng)看過(guò)里面的FPGA.FPGA提高了測(cè)試儀器的處理能力,而且如果您會(huì)使用儀器中的開(kāi)放式FPGA,就可以自己編寫(xiě)儀器的測(cè)試功能。
本文引用地址:http://cafeforensic.com/article/201612/327588.htm儀器廠商早就認(rèn)識(shí)到FPGA的優(yōu)勢(shì),而且也利用其獨(dú)特的處理能力來(lái)實(shí)現(xiàn)儀器的各種特性:
*在示波器上進(jìn)行預(yù)觸發(fā)采集
*在矢量信號(hào)分析儀上通過(guò)信號(hào)處理生成I和Q數(shù)據(jù)
*實(shí)時(shí)實(shí)現(xiàn)模式生成和高速數(shù)字儀器的向量比較
測(cè)試設(shè)備制造商正在致力于幫助用戶(hù)更好地利用FPGA,以針對(duì)更多的特定應(yīng)用進(jìn)行優(yōu)化。為了幫助您理解這一轉(zhuǎn)變的好處,以下幾點(diǎn)是FPGA特別適用于測(cè)試應(yīng)用的關(guān)鍵屬性:
*確定實(shí)時(shí)的處理
*真正的并行執(zhí)行
*可重配置
*低延遲
再進(jìn)一步思考一下,您可以利用開(kāi)放式FPGA來(lái)實(shí)現(xiàn)以前無(wú)法實(shí)現(xiàn)的哪些功能呢?為了說(shuō)明這些可能性,以下介紹了一些利用開(kāi)放式FPGA的常見(jiàn)測(cè)試應(yīng)用。
加速測(cè)試系統(tǒng)
在高產(chǎn)量生產(chǎn)線的末端生產(chǎn)測(cè)試中,測(cè)試時(shí)間分秒必爭(zhēng)。當(dāng)生產(chǎn)線的測(cè)試速率與生產(chǎn)速率相匹配時(shí),生產(chǎn)效率達(dá)到最大。如果無(wú)法實(shí)現(xiàn)這一匹配,則必須采用創(chuàng)新的技術(shù)來(lái)縮短測(cè)試時(shí)間。傳統(tǒng)的方法通過(guò)以太網(wǎng)、USB或GPIB將獨(dú)立的臺(tái)式儀器連接到PC主機(jī)上。由于待測(cè)設(shè)備通過(guò)不同的數(shù)據(jù)總線分別進(jìn)行控制、測(cè)量和處理,因而所需要的測(cè)試時(shí)間相對(duì)較長(zhǎng)。另一種方法是使用開(kāi)放式FPGA來(lái)加速該過(guò)程,如圖1所示。
圖1:在測(cè)試儀器中,開(kāi)放式FPGA可實(shí)現(xiàn)觸發(fā)和后處理等功能。
FPGA沒(méi)有利用外部通信總線,而是使用PXIe等高速總線來(lái)連接儀器,并通過(guò)其配置端口(如I2C、SPI或其他控制總線)連接到待測(cè)設(shè)備。在此類(lèi)應(yīng)用中,F(xiàn)PGA可控制DUT(待測(cè)設(shè)備)、觸發(fā)其他儀器開(kāi)始采集采樣數(shù)據(jù),甚至對(duì)這些采樣數(shù)據(jù)進(jìn)行處理,將其轉(zhuǎn)換成對(duì)主機(jī)有意義的結(jié)果。
低延遲是能夠加快此類(lèi)應(yīng)用運(yùn)行速度的一個(gè)關(guān)鍵因素。FPGA本身并不具有操作系統(tǒng),它是在具有高速時(shí)鐘速率的硬件上實(shí)現(xiàn)所有邏輯。這意味著一個(gè)響應(yīng)可能需要一個(gè)時(shí)鐘周期來(lái)進(jìn)行采集、一個(gè)時(shí)鐘周期來(lái)進(jìn)行處理以及一個(gè)時(shí)鐘周期來(lái)做出響應(yīng)。如果時(shí)鐘速率為200MHz(時(shí)鐘周期為4ns),則一個(gè)完整的響應(yīng)需要12ns.由于FPGA的確定性特性,這種響應(yīng)并不是一次性的,而是每一次都是12ns.因此,F(xiàn)PGA就可以省去與主機(jī)相關(guān)的延遲,而且可以最小化基于主機(jī)的處理的非確定性延遲。
協(xié)議感知
今天,并不是所有的數(shù)字和MEMS器件可以針對(duì)已知的結(jié)果向量進(jìn)行測(cè)試。例如,給PDM(脈沖密度麥克風(fēng))一個(gè)激勵(lì)信號(hào),由于PDM的模擬特性,每次測(cè)試得到的比特流都會(huì)不一樣。為了獲得此類(lèi)待測(cè)設(shè)備相關(guān)的有意義結(jié)果,首先需要根據(jù)相應(yīng)協(xié)議解碼數(shù)字流,之后再比較結(jié)果。使用開(kāi)放式FPGA,您可以對(duì)測(cè)試系統(tǒng)進(jìn)行配置,在FPGA上執(zhí)行PDM協(xié)議,而不是將其傳輸?shù)紺PU上進(jìn)行解讀。從更寬泛的角度來(lái)說(shuō),您今天可以對(duì)FPGA進(jìn)行配置來(lái)執(zhí)行PDM協(xié)議,明天也可對(duì)同一個(gè)FPGA進(jìn)行重新配置來(lái)執(zhí)行其他協(xié)議,以測(cè)試數(shù)字溫度傳感器、加速度計(jì)、或MEMS器件。
在圖2中,協(xié)議并不是在CPU上執(zhí)行,而是在FPGA上。正因?yàn)槿绱耍摐y(cè)試系統(tǒng)可以支持快速握手腳本,適應(yīng)精確等待周期等協(xié)議行為,并根據(jù)該通信做出決策。這種方法不僅可以讓您接收來(lái)自DUT的更高層數(shù)據(jù),如PDM麥克風(fēng)解碼后的模擬數(shù)據(jù),而且也可以讓您使用更高級(jí)別的命令來(lái)編寫(xiě)測(cè)試腳本。
圖2. FPGA可用于處理協(xié)議,使其感知總線所使用的協(xié)議。
閉環(huán)測(cè)試:功率放大器
在無(wú)線通信系統(tǒng)中,功率放大器集成電路可在將信號(hào)發(fā)送至天線之前增加信號(hào)的強(qiáng)度。功率放大器通常在一個(gè)特定的輸出功率下具有特定的性能。因此,當(dāng)功率放大器在特定輸出功率電平下運(yùn)行時(shí),有必要對(duì)功率放大器進(jìn)行測(cè)試。但是,我們通常只是粗略地知道放大器的增益(例如±3分貝),而且放大器的增益在設(shè)備運(yùn)行范圍內(nèi)是非線性的。越接近最大輸出功率,增益越低。因此,在進(jìn)行任何性能測(cè)量之前必須“調(diào)整”放大器的輸出。輸出調(diào)整通常稱(chēng)為功率調(diào)整或功率伺服。其基本原理是,調(diào)整放大器的輸入功率直至測(cè)量得到正確的輸出功率。
用于測(cè)量功率放大器的傳統(tǒng)測(cè)試裝置如圖3所示。VSG(矢量信號(hào)發(fā)生器)生成一個(gè)激勵(lì)波形至DUT(待測(cè)設(shè)備)。功率計(jì)可確保DUT輸出的是正確的功率電平。最后,VSA(矢量信號(hào)分析儀)測(cè)量待測(cè)設(shè)備的性能——如EVM(誤差矢量幅度)或ACP(鄰信道功率)。這些測(cè)量是在各種中心頻率和功率電平下進(jìn)行的。
圖3.用于測(cè)量功率放大器輸出的傳統(tǒng)測(cè)試裝置包含一個(gè)VSG、VSA和功率計(jì)。
功率放大器的輸出功率必須根據(jù)每個(gè)所需的中心頻率和功率電平進(jìn)行調(diào)整。在調(diào)整過(guò)程中可以遵循以下步驟:
●根據(jù)待測(cè)設(shè)備的估算增益,選擇一個(gè)起始VSG功率電平。
●設(shè)置VSG功率電平。
●等待VSG穩(wěn)定。
●等待DUT穩(wěn)定。
●使用功率計(jì)進(jìn)行測(cè)量。
●如果功率在量程內(nèi),則退出。否則計(jì)算新的VSG功率電平,并返回步驟2.
調(diào)整所需的時(shí)間取決于待測(cè)設(shè)備的類(lèi)型、所需的精度以及所使用的儀器類(lèi)型,通常為幾百毫秒到幾秒。調(diào)整完成后,使用VSA進(jìn)行性能測(cè)量。
圖4顯示的是一個(gè)待測(cè)設(shè)備在調(diào)整過(guò)程中的輸出,該設(shè)備采用傳統(tǒng)方法來(lái)獲得28dBm的平均輸出功率。如果功率放大器的增益呈線性且匹配數(shù)據(jù)表中規(guī)定的標(biāo)準(zhǔn)增益,則VSG生成的第一個(gè)點(diǎn)會(huì)輸出28dBm的功率。相反,放大器的輸出只有26.5dBm,這說(shuō)明功率放大器規(guī)定的標(biāo)準(zhǔn)增益并不準(zhǔn)確。因此,需要對(duì)VSG輸出功率進(jìn)行調(diào)整,同時(shí)VSA捕獲另一個(gè)點(diǎn)。此時(shí)的平均功率為27.6dBm,這表明了放大器處于增益壓縮狀態(tài)??傮w上,該方法需要七個(gè)步驟以及大約150毫秒的時(shí)間才能使放大器的輸出達(dá)到所需的級(jí)別。在這個(gè)例子中,每個(gè)步驟的待測(cè)設(shè)備穩(wěn)定時(shí)間為10ms.但是,穩(wěn)定時(shí)間根據(jù)每個(gè)待測(cè)設(shè)備而有所不同,這會(huì)大大影響整體的調(diào)整時(shí)間。
圖4.調(diào)整功率放大器輸出的傳統(tǒng)方法顯示了功率電平呈逐步增大狀態(tài)。
VST(矢量信號(hào)收發(fā)儀)結(jié)合了VSG、VSA和FPGA.這一組合使您可將功率調(diào)整算法的運(yùn)行轉(zhuǎn)移到硬件上。在圖5中,雖然沒(méi)有功率計(jì),但是您也可以運(yùn)行一個(gè)系統(tǒng)校準(zhǔn)步驟,在VSA上獲得與功率計(jì)相同的精確度。
圖5.矢量信號(hào)收發(fā)儀結(jié)合了信號(hào)發(fā)生器、信號(hào)分析儀和FPGA.
功率放大器的輸出功率調(diào)整步驟類(lèi)似于傳統(tǒng)方法步驟,不同的是調(diào)整循環(huán)是在開(kāi)放式FPGA內(nèi)部運(yùn)行。在FPGA內(nèi)運(yùn)行循環(huán)可大大降低每次調(diào)整所需的時(shí)間。與在主機(jī)上運(yùn)行控制循環(huán)相比,通過(guò)使用開(kāi)放式FPGA,并在FPGA上執(zhí)行控制循環(huán),調(diào)整待測(cè)設(shè)備輸出功率所需的時(shí)間將大大縮短。對(duì)于本例中的DUT,功率調(diào)整只需大約5毫秒,而采用傳統(tǒng)方法則需要150毫秒。請(qǐng)注意,基于硬件的方法比傳統(tǒng)方法多一個(gè)步驟。但是,調(diào)整所需的總體時(shí)間卻少得多。與圖4相比,在圖6中,前面幾個(gè)步驟執(zhí)行的速度非???縮短了平均時(shí)間),之后隨著調(diào)整循環(huán)的收斂,點(diǎn)之間的間距不斷增大。
圖6.與傳統(tǒng)方法相比,基于硬件的調(diào)整可使功率電平上升的時(shí)間大大縮短。
信號(hào)處理
用戶(hù)可編程FPGA最典型的應(yīng)用之一是減少儀器上必須發(fā)送回主機(jī)進(jìn)行處理的數(shù)據(jù)量,從而將通信總線釋放出來(lái)進(jìn)行其他數(shù)據(jù)傳輸,同時(shí)降低了CPU的負(fù)荷。常見(jiàn)的方法包括對(duì)采集的數(shù)據(jù)集進(jìn)行復(fù)雜觸發(fā)、濾波、峰值檢測(cè)或者執(zhí)行FFT(快速傅立葉變換)。
例如,在圖7所示的應(yīng)用中,有四個(gè)待測(cè)設(shè)備需要并行進(jìn)行測(cè)試。ADC(模擬數(shù)字轉(zhuǎn)換器)將采樣數(shù)據(jù)傳送至FPGA,但當(dāng)收到一個(gè)自定義觸發(fā)才會(huì)開(kāi)始采集數(shù)據(jù)。在采集數(shù)據(jù)時(shí),F(xiàn)PGA會(huì)對(duì)測(cè)量結(jié)果進(jìn)行實(shí)時(shí)平均,然后將計(jì)算結(jié)果序列化到記錄中。接著,對(duì)記錄的數(shù)據(jù)進(jìn)行FFT,然后開(kāi)始測(cè)量SFDR(無(wú)雜散動(dòng)態(tài)范圍)、SNR(信噪比)和SINAD(信噪失真比)。這些結(jié)果僅僅是來(lái)自ADC的輸入信號(hào)的一小部分?jǐn)?shù)據(jù),通過(guò)DMA FIFO(直接內(nèi)存存取,先入先出)機(jī)制傳輸至主機(jī)。
圖7.開(kāi)放式FPGA可讓您采集數(shù)據(jù)、對(duì)信號(hào)取平均值以去噪、將并行數(shù)據(jù)轉(zhuǎn)化為串行數(shù)據(jù),并應(yīng)用數(shù)學(xué)運(yùn)算、FFT和濾波。
FFT作為DSP中的一個(gè)基本函數(shù),F(xiàn)FT可用于許多測(cè)試應(yīng)用。FPGA具有這個(gè)功能有助于測(cè)試頻域觸發(fā)、數(shù)據(jù)壓縮、基于頻率的閉環(huán)控制和圖像處理等應(yīng)用。圖8顯示了該示例如何使用LabVIEW FPGA實(shí)現(xiàn)FFT.
圖8.代碼顯示了開(kāi)放式FPGA上執(zhí)行FFT的位置。
雖然本文提到的僅僅是FPGA幾個(gè)令人激動(dòng)的數(shù)字信號(hào)處理功能,但是FPGA上還具有許多其他功能可用于測(cè)試應(yīng)用中。許多開(kāi)放式FPGA均具有這種處理功能,圖9顯示的是NI硬件通過(guò)LabVIEW FPGA可實(shí)現(xiàn)的一些處理類(lèi)型。
圖9. FPGA上具有的數(shù)字信號(hào)處理功能包括數(shù)學(xué)運(yùn)算、濾波、三角函數(shù)和視頻處理。
隨著開(kāi)放式FPGA在整個(gè)測(cè)試測(cè)量行業(yè)的日益普及,具有固定功能的儀器將會(huì)逐步被淘汰。相反,儀器的功能將越來(lái)越多地由軟件來(lái)定義,這類(lèi)似于“應(yīng)用程序”為移動(dòng)設(shè)備行業(yè)帶來(lái)的變革。測(cè)試應(yīng)用程序?qū)⒉辉偈芟抻跍y(cè)試廠商可以開(kāi)發(fā)何種軟件功能,而是受限于硬件和使用該儀器的工程師的想象
評(píng)論