FPGA滿足紅外熱像儀數(shù)據(jù)采集處理需求
隨著信息技術(shù)的發(fā)展,人們面臨的數(shù)字信號(hào)處理任務(wù)越來越繁重,對(duì)數(shù)據(jù)處理系統(tǒng)的要求也越來越高。數(shù)字信號(hào)處理功能一般在兩類可編程平臺(tái)上實(shí)現(xiàn):數(shù)字信號(hào)處理器(DSP)和現(xiàn)場(chǎng)可編程門陣列(FPGA)。DSP是一種特殊的微處理器,計(jì)算功能很強(qiáng)大,可以用C語言或匯編語言進(jìn)行編程,能實(shí)現(xiàn)復(fù)雜的信號(hào)處理算法;而FPGA是一種配置能力很強(qiáng)的硬件,可以用VHDL或VerilogHDL來編程,它的實(shí)時(shí)性很好,能并行進(jìn)行大數(shù)據(jù)量的底層算法處理。
本文引用地址:http://m.butianyuan.cn/article/97539.htm筆者主要從事紅外熱像儀的研制工作。紅外熱像儀是一種成像設(shè)備,它和CCD(電荷耦合器件)相機(jī)類似,都是通過探測(cè)器將探測(cè)到的光信號(hào)轉(zhuǎn)化為電信號(hào),再進(jìn)行信號(hào)處理和顯示。不同的是CCD相機(jī)探測(cè)到的是可見光,而紅外熱像儀探測(cè)到的是紅外線。紅外探測(cè)器將探測(cè)到的光信號(hào)轉(zhuǎn)化為模擬信號(hào),為了進(jìn)行后續(xù)的數(shù)字信號(hào)處理,需要對(duì)模擬信號(hào)進(jìn)行數(shù)字采樣。設(shè)計(jì)中用到了兩片以上的14bit的AD(模數(shù))轉(zhuǎn)換芯片,由于DSP管腳資源有限,而且對(duì)各個(gè)轉(zhuǎn)換芯片的訪問時(shí)間是分時(shí)進(jìn)行的,因此它需要花大量的時(shí)間與各個(gè)芯片進(jìn)行數(shù)據(jù)交換,相應(yīng)用于計(jì)算的時(shí)間大大減少,無法滿足數(shù)據(jù)交換的并行要求。相比較而言,F(xiàn)PGA以其豐富的管腳資源和高實(shí)時(shí)性滿足了設(shè)計(jì)需求,因此紅外熱像儀中多采用FPGA處理平臺(tái)來實(shí)現(xiàn)數(shù)據(jù)采集和處理。
目前世界上生產(chǎn)FPGA的廠商很多,而Altera和Xilinx兩家就占有60%以上的市場(chǎng)份額,它們生產(chǎn)的FPGA各有優(yōu)劣,筆者主要采用了Altera公司的Stratix系列FPGA來進(jìn)行設(shè)計(jì)。該系列芯片的相關(guān)數(shù)據(jù)在Altera公司的官方網(wǎng)站都有詳細(xì)介紹,本文就不再贅述。選用Altera公司的FPGA一方面是由于該芯片具有豐富的硬件資源,另一方面原因是它具有功能強(qiáng)大的開發(fā)軟件QuartusII,非常便于系統(tǒng)開發(fā)和設(shè)計(jì)。
QuartusII是Altera公司開發(fā)的進(jìn)行SoPC(可編程片上系統(tǒng))設(shè)計(jì)的綜合性環(huán)境和基本開發(fā)工具,內(nèi)部嵌有綜合器和仿真器,它提供了一種與結(jié)構(gòu)無關(guān)的設(shè)計(jì)環(huán)境,使設(shè)計(jì)者能方便地進(jìn)行設(shè)計(jì)輸入、快速處理和器件編程。同時(shí),它支持第三方綜合工具和仿真工具。Modelsim作為專業(yè)的第三方仿真工具,能有效地彌補(bǔ)QuartusII在仿真速度方面的不足,大大提高產(chǎn)品開發(fā)的速度。
與DSP、微控制器結(jié)合將成主流
Altera公司的Stratix系列或者更高級(jí)別的FPGA內(nèi)部都嵌入有DSP內(nèi)核,可以作為CPU來使用。NiosII是Altera公司提供的完整的開發(fā)環(huán)境,可以通過C/C++語言直接對(duì)CPU進(jìn)行編程,并進(jìn)行編譯和調(diào)試。CPU內(nèi)核可以根據(jù)需要選擇合適的外設(shè)、存儲(chǔ)器和接口。紅外熱像儀通過調(diào)用DSP內(nèi)核的SPI(高速同步串口)總線控制接口控制溫度傳感器,實(shí)現(xiàn)了溫度采集功能,通過調(diào)用UART(通用異步接收/發(fā)送裝置)模塊實(shí)現(xiàn)了串口收發(fā)控制功能,編程難度比直接用FPGA進(jìn)行時(shí)序設(shè)計(jì)要容易得多。
紅外熱像儀中要用到很多圖像處理算法,直接用FPGA進(jìn)行時(shí)序設(shè)計(jì)比較復(fù)雜,需要編寫幾千甚至上萬行代碼。而Matlab是一款功能強(qiáng)大的計(jì)算軟件,可以用很少的代碼實(shí)現(xiàn)算法設(shè)計(jì)和仿真,但是其設(shè)計(jì)結(jié)果并不能直接載入FPGA運(yùn)行。對(duì)此,Altera公司開發(fā)了一款系統(tǒng)級(jí)設(shè)計(jì)工具:DspBuilder,它可以作為Matlab和QuartusII之間的紐帶,將MATLAB環(huán)境下完成的算法轉(zhuǎn)化為HDL語言模塊,QuartusII將這些模塊作為IP核直接調(diào)用,即可進(jìn)行編譯、鏈接和下載,輕松實(shí)現(xiàn)復(fù)雜算法的設(shè)計(jì),大大提高了設(shè)計(jì)效率,并且降低了復(fù)雜算法的設(shè)計(jì)難度。
FPGA進(jìn)行程序調(diào)試的過程中經(jīng)常需要對(duì)信號(hào)波形和延時(shí)情況進(jìn)行驗(yàn)證,單純通過軟件仿真有時(shí)不能完全體現(xiàn)信號(hào)在硬件電路中運(yùn)行的真實(shí)情況。QuartusII內(nèi)部集成的嵌入式邏輯分析儀SignalTap是個(gè)很實(shí)用的解決此問題的工具,它能夠捕獲和顯示設(shè)計(jì)中信號(hào)的實(shí)時(shí)狀態(tài)。我們只需要設(shè)置被測(cè)試信號(hào)、采樣時(shí)鐘、采樣模式和采樣深度,在硬件電路通電工作狀態(tài)下即可通過軟件實(shí)時(shí)觀測(cè)到信號(hào)波形的變化,從而判斷信號(hào)的正確性和準(zhǔn)確性,有效地完成程序調(diào)試。
未來FPGA與微控制器的結(jié)合將成為芯片開發(fā)的主流。在SoC設(shè)計(jì)中嵌入FPGA就形成了新的IC即可編程系統(tǒng)級(jí)集成電路(FPSLIC),現(xiàn)在也已經(jīng)廣泛應(yīng)用于電信、網(wǎng)絡(luò)、儀器儀表等系統(tǒng)中了。把CPU嵌入FPGA中,是眾多FPGA廠商現(xiàn)在的做法,我們使用軟核即SoPC就可以高效完成復(fù)雜設(shè)計(jì),不過希望FPGA在集成CPU內(nèi)核的同時(shí)保持高密度、大容量,并且降低功耗,以滿足更高的系統(tǒng)設(shè)計(jì)需求。
紅外熱像儀相關(guān)文章:紅外熱像儀原理
評(píng)論