如何用DSP和FPGA構(gòu)建多普勒測量系統(tǒng)
許多情況下,可在同一應(yīng)用中同時(shí)使用處理器和FPGA,采用協(xié)處理架構(gòu),讓FPGA執(zhí)行預(yù)處理或后處理操作,以加快處理速度。
傳統(tǒng)上,大量的應(yīng)用設(shè)計(jì)使用專門的數(shù)字信號(hào)處理(DSP)芯片或?qū)S脴?biāo)準(zhǔn)產(chǎn)品(ASSP)并通過信號(hào)處理算法來處理數(shù)字信息,濾波、視頻處理、編碼與解碼、以及音頻處理等僅僅是眾多采用DSP的應(yīng)用中的一部分而已。
現(xiàn)在,隨著FPGA性能和容量的改進(jìn),以及可以在大多數(shù)DSP應(yīng)用中看到的通用算術(shù)運(yùn)算的效率的提高,使用FPGA執(zhí)行DSP功能的做法變得越來越普遍。
在許多情況下,同一應(yīng)用中同時(shí)使用處理器和FPGA,采用協(xié)處理架構(gòu),讓FPGA執(zhí)行預(yù)處理或后處理操作,以加快處理速度。
顯示此種趨勢的應(yīng)用之一是多普勒測量系統(tǒng),它可以測量固體或液體在各種環(huán)境中流動(dòng)的速度。
從管道中流動(dòng)的油,到人的心臟中流動(dòng)的血液,相對(duì)于以前的方法,基于多普勒測量原理的非侵入式測量方法可以極大地降低風(fēng)險(xiǎn),減少成本和提高精度。
一般來說,這些系統(tǒng)都是采用DSP技術(shù),將FPGA和如TI公司提供的固定功能DSP器件之類結(jié)合起來使用。
多普勒測量系統(tǒng)
多普勒測量系統(tǒng)利用多普勒效應(yīng)測量運(yùn)動(dòng)目標(biāo)(固體、液體或氣體)的速度。最著名的應(yīng)用大概要算雷達(dá)槍了,交通巡警利用它檢測超速汽車。
在測量除汽車速度之外的其他物體的運(yùn)動(dòng)(例如心臟中血液的流動(dòng))時(shí),需要進(jìn)行多種測量,來確定更為復(fù)雜的流動(dòng)的細(xì)節(jié)。方法之一是利用電子束聚集技術(shù)。
在這種技術(shù)中,將使用大量探測器(許多小雷達(dá)槍)測量從發(fā)射源返回的頻率。這些探測器沿拋物線分布(如圖1所示),因此從焦點(diǎn)返回的信號(hào)將會(huì)同時(shí)到達(dá)每個(gè)探測器。將這些信號(hào)組合起來,并對(duì)顯著速度的微小波動(dòng)進(jìn)行少量處理,就可以確定位于焦點(diǎn)處的物體的速度。如果可以移動(dòng)探測器來對(duì)整個(gè)關(guān)注區(qū)域進(jìn)行掃描,那么這種方法效果會(huì)相當(dāng)好,但是如果沒有這樣的條件,則可以采用另外一種技術(shù),它可以獲得同樣的結(jié)果。通過插入一定的可編程的延遲,改變各個(gè)探測器的輸入組合的時(shí)間,可以將焦點(diǎn)改變到關(guān)注區(qū)域中的幾乎任何位置。例如,加入一定的固定額外延遲可以使焦點(diǎn)遠(yuǎn)移,而改變延遲來縮短探測器一側(cè)的傳播路徑則會(huì)使焦點(diǎn)向該側(cè)移動(dòng)。
圖2顯示了如何利用可調(diào)延遲產(chǎn)生拋物線形效果??烧{(diào)延遲功能在富含寄存器的FPGA中極易實(shí)現(xiàn),并可能成為從傳統(tǒng)DSP中剝離作為協(xié)處理器功能的一種功能。
系統(tǒng)實(shí)現(xiàn)示例
圖3顯示了一種系統(tǒng)實(shí)現(xiàn)示例的框圖。位于圖中部的FPGA負(fù)責(zé)產(chǎn)生發(fā)射器使用的輸出信號(hào)。該實(shí)現(xiàn)采用Xilinx直接數(shù)字頻率綜合器IP核,可方便地產(chǎn)生各種波形。可以根據(jù)測量目標(biāo)的不同輕松改變
探測器測量返回信號(hào)的模擬值,產(chǎn)生饋送到FPGA的數(shù)字值。FPGA對(duì)輸入信號(hào)執(zhí)行部分初步濾波運(yùn)算,來調(diào)整探測器的位置。然后FPGA向每個(gè)探測器數(shù)據(jù)流中插入一定可編程延遲,以實(shí)現(xiàn)電子束聚集功能。數(shù)據(jù)流被組合起來,一個(gè)數(shù)字濾波器負(fù)責(zé)確定信號(hào)的頻率分量。這樣就得到了確定焦點(diǎn)速度所必需的多普勒讀數(shù)。
在FPGA的內(nèi)部有一個(gè)MicroBlaze軟核,控制著測量過程,從而實(shí)現(xiàn)高層次的功能,如掃描、初始化、測試,以及診斷等。
DSP讀取和存儲(chǔ)FPGA執(zhí)行操作的結(jié)果。一旦完成一系列掃描,處理器就可以構(gòu)建出一幅針對(duì)掃描區(qū)域的數(shù)字圖像??梢詾椴煌乃俣确峙洳煌念伾?按照線性、對(duì)數(shù)或任何其他比例),并將數(shù)字圖像轉(zhuǎn)換成視頻圖像,在圖形終端上實(shí)時(shí)顯示或記錄下來留待以后回放。利用眾多可以得到的軟件或工具包中的一個(gè),還可以在處理器中輕松實(shí)現(xiàn)到JPEG或其他視頻格式的轉(zhuǎn)換,還可以采用其他系統(tǒng)分割進(jìn)行實(shí)驗(yàn)。如果實(shí)時(shí)視頻處理和存儲(chǔ)占用了處理器過多帶寬,可以將算法的一部分(比如掃描數(shù)據(jù)的預(yù)處理)放在FPGA中來執(zhí)行。
測量過程的另一個(gè)重要部分是確定目標(biāo)的質(zhì)量??梢酝ㄟ^測量從焦點(diǎn)返回探測器的能量大小來實(shí)現(xiàn)這一功能。返回的能量越多,則目標(biāo)越大(一般而言)。當(dāng)測量的目標(biāo)具有固定連貫性時(shí)(如在管道中流動(dòng)的油或其他液體),這種測量效果特別好,但當(dāng)系統(tǒng)中存在各種不同質(zhì)量或反射時(shí),測量就很困難了。
顯然,對(duì)被測系統(tǒng)多些了解可以為測量過程提供一些線索。通過存儲(chǔ)與返回信號(hào)的幅度相對(duì)應(yīng)的數(shù)字值,可以為FPGA協(xié)處理器增加能量測量功能。該值也是經(jīng)過了FPGA的延遲。
作為選擇,JPEG處理可以作為一項(xiàng)獨(dú)立的功能通過FPGA來執(zhí)行,從而使處理器留出更多時(shí)間進(jìn)行數(shù)據(jù)預(yù)處理器。有許多選項(xiàng)可供選擇,但提供一種能夠快速實(shí)現(xiàn)不同分割的易用平臺(tái)才是至為重要的。
類似的以協(xié)處理為本的應(yīng)用可以從硬件開發(fā)平臺(tái)的使用中獲得好處。利用硬件平臺(tái)可以讓您輕松實(shí)驗(yàn)各種系統(tǒng)和算法分割--將一些功能在FPGA中實(shí)現(xiàn),而另一些功能放在DSP中。DSP應(yīng)用程序一般很難用軟件進(jìn)行仿真,因此快速創(chuàng)建硬件/固件/軟件平臺(tái)的能力可以極大地縮短開發(fā)時(shí)間。使用賽靈思工具套件中的協(xié)仿真工具,通過TheMathWorksSimulink和目標(biāo)硬件進(jìn)行開發(fā),是一種可以大大縮短設(shè)計(jì)時(shí)間的技巧。
AvnetDSP協(xié)處理器設(shè)計(jì)套件
AvnetDSP協(xié)處理設(shè)計(jì)套件是針對(duì)以DSP為導(dǎo)向、同時(shí)需要使用FPGA和DSP的廣泛應(yīng)用開發(fā)而設(shè)計(jì)的。套件配有兩塊主電路板。Virtex-4評(píng)估板(如圖4所示)配有XilinxVirtex-4SX-FF668FPGA、平臺(tái)閃速配置PROM、擴(kuò)展連接器、CypressCY7C68013USB2.0控制器、國家半導(dǎo)體的DP8384710/100以太網(wǎng)端口、128x64OSRAM圖形顯示器、8MB閃存、32MBDDRSDRAM以及各種用戶開關(guān)和LED。第二塊電路板是TIDSP適配器模塊(如圖5所示),用于在Virtex-4電路板和各種TIDSP評(píng)估板之間起接口作用??梢詮腁vnet公司購買TI電路板,完成開發(fā)平臺(tái)的構(gòu)建。
套件還包括一些設(shè)計(jì)示例和用戶文檔,以便新的DSP設(shè)計(jì)?r更容易上手。賽靈思網(wǎng)站上提供了多個(gè)賽靈思應(yīng)用說明和參考設(shè)計(jì),有些使用了可從DSPSystemGenerator工具獲得的賽靈思IP核,以幫助用戶上手。
圖3:示例系統(tǒng)框圖。
本文小結(jié)
對(duì)廣泛的DSP應(yīng)用而言,同時(shí)使用FPGA和固定功能數(shù)字信號(hào)處理器的方法是可行的。在很多此類應(yīng)用中,利用專門為協(xié)處理應(yīng)用而開發(fā)的硬件設(shè)計(jì)套件來開發(fā)設(shè)計(jì)原型也是可行的。Avnet設(shè)計(jì)服務(wù)部提供各種設(shè)計(jì)套件,可組合使用以創(chuàng)建恰好適合您的設(shè)計(jì)的硬件平臺(tái)。使用基于硬件的開發(fā)平臺(tái)開始您的設(shè)計(jì)。
評(píng)論