摘 要: 設(shè)計(jì)了一種新型的基于FPGA的頻譜分析儀,。該分析儀采用FFT技術(shù),,充分利用Nios II軟核處理器,加上LCD,、AD芯片,、濾波器及一些外圍電路,完成了信號(hào)的采集,、濾波,、處理、數(shù)字FFT,,并最終將得到的數(shù)據(jù)送到LCD上顯示,。系統(tǒng)的測(cè)試結(jié)果表明,該數(shù)字頻譜分析儀能滿足0~1 MHz頻段范圍內(nèi)實(shí)時(shí)頻譜分析應(yīng)用的需要。該頻譜分析儀工作穩(wěn)定,、操作方便,、且成本比其他頻譜分析儀低很多。
關(guān)鍵詞: 頻譜; 分析儀; FFT; Nios II
頻譜分析儀是微電子測(cè)量領(lǐng)域中最基礎(chǔ),、最重要的測(cè)量?jī)x器之一,,是從事各種電子產(chǎn)品研發(fā)、生產(chǎn),、檢驗(yàn)的重要工具,。高分辨率,、寬頻帶數(shù)字頻譜分析的方法和實(shí)現(xiàn)一直是該領(lǐng)域的研究熱點(diǎn)[1]?,F(xiàn)代頻譜分析儀是基于現(xiàn)代數(shù)字信號(hào)處理理論的頻譜分析儀,信號(hào)經(jīng)過(guò)前置預(yù)處理,、抗混疊濾波,、A/D變換、數(shù)字頻譜分析等環(huán)節(jié)而得到信號(hào)中的頻率分量,, 達(dá)到與傳統(tǒng)頻譜分析儀同樣的結(jié)果,。
本設(shè)計(jì)完全利用FPGA實(shí)現(xiàn)FFT,在FPGA上實(shí)現(xiàn)整個(gè)系統(tǒng)構(gòu)建,。其中CPU選用Altera公司的Nios II軟核處理器進(jìn)行開(kāi)發(fā), 硬件平臺(tái)關(guān)鍵模塊使用Altera公司的EDA軟件QuartusIIV8.0完成設(shè)計(jì),。整個(gè)系統(tǒng)利用Nios II軟核處理器通過(guò)Avalon總線進(jìn)行系統(tǒng)的控制,。全文重點(diǎn)闡述了整個(gè)系統(tǒng)的設(shè)計(jì)流程,同時(shí)對(duì)于方案中的設(shè)計(jì)思路和重要部分給予說(shuō)明,。
1 系統(tǒng)設(shè)計(jì)方案
頻譜分析儀一般分為兩類(lèi):
一種是掃頻調(diào)諧式的分析儀,,此類(lèi)分析儀通過(guò)各類(lèi)濾波,再經(jīng)過(guò)一個(gè)外差的接收機(jī),,把輸入信號(hào)中的中頻信號(hào)進(jìn)行分析,,從而得到頻譜分析的結(jié)果。這是現(xiàn)在最為普遍的頻譜分析儀結(jié)構(gòu),,此類(lèi)分析儀結(jié)構(gòu)復(fù)雜[2],。
另外一種是動(dòng)態(tài)的信號(hào)分析儀,即快速傅里葉變換FFT分析儀,。它利用FFT將信號(hào)分解成分立的頻率分量,,由模擬/數(shù)字轉(zhuǎn)換器(ADC)直接對(duì)輸入信號(hào)取樣,經(jīng)過(guò)FFT處理后獲得頻譜分布圖,。此類(lèi)分析儀速度明顯優(yōu)于傳統(tǒng)分析儀,,可以進(jìn)行實(shí)時(shí)分析。本文的設(shè)計(jì)就采用這種原理,。
在此設(shè)計(jì)中,,信號(hào)經(jīng)過(guò)濾波、放大之后,,通過(guò)AD取樣,,在FGPA內(nèi)對(duì)信號(hào)進(jìn)行全硬件的數(shù)字濾波后,交給FFT信息處理單元進(jìn)行FFT變換,,最后送到LCD顯示其頻譜分析的結(jié)果,。
圖1是系統(tǒng)的硬件結(jié)構(gòu)框圖。整個(gè)系統(tǒng)設(shè)計(jì)主要由FPGA的內(nèi)部硬件電路及外圍接口模塊構(gòu)成,。
2 系統(tǒng)的硬件單元
2.1 AGC電路
因?yàn)檩斎胄盘?hào)幅度變化較大,,為了使信號(hào)的幅度恒定且其幅度滿足A/D采樣的范圍(高位為2 V~3 V),因此此設(shè)計(jì)中加入AGC電路,。本設(shè)計(jì)中的AGC電路采用AD603型線性增益放大器[3],。
2.2 ADC電路
為保證ADC輸入動(dòng)態(tài)范圍的要求和對(duì)特定干擾的抑制,信號(hào)首先需要預(yù)處理,。根據(jù)采樣定理,,輸入ADC的信號(hào)必須小于采樣頻率的1/2。ADC是完成從模擬到數(shù)字轉(zhuǎn)換的關(guān)鍵環(huán)節(jié),,它的精度和速度直接決定了頻譜分析儀的性能,,所以ADC應(yīng)盡量選用精度和速度都比較高的芯片[4]。系統(tǒng)采用WM8731芯片實(shí)現(xiàn)ADC,該芯片采用Sigma-delta ADC方式,通過(guò)采樣和數(shù)字濾波技術(shù)實(shí)現(xiàn)低頻信號(hào)的高分辨率轉(zhuǎn)換和含有音頻信號(hào)的低失真轉(zhuǎn)換,。
2.3 LCD顯示模塊
本系統(tǒng)直接定義NiosⅡ控制LCD液晶顯示模塊,,利用FPGA中的PIO接口模擬LCD的接口電路,。外圍電路上選用320×240液晶顯示模塊,選用SEDl335作為液晶模塊的控制器,。
3 FFT/DFT信號(hào)處理模塊的實(shí)現(xiàn)
3.1 FIFO模塊
AD采樣的數(shù)據(jù)不能立即送到Nios CPU中進(jìn)行處理,,因?yàn)镃PU還有許多其他任務(wù)要做,所以只有等AD采集到一定數(shù)量的數(shù)據(jù)之后再讀取采樣數(shù)據(jù),,這樣節(jié)省CPU的時(shí)間[5],。因此首先需設(shè)計(jì)一個(gè)FIFO來(lái)存儲(chǔ)AD采樣的數(shù)據(jù),等FIFO中的數(shù)據(jù)滿之后再將它們讀取到CPU中進(jìn)行處理,。
FIFO是一種先進(jìn)先出的數(shù)據(jù)緩存器,,根據(jù)FIFO工作的時(shí)鐘域,可以將FIFO分為同步FIFO和異步FIFO。本設(shè)計(jì)中采用了寬度為16 bit,,深度為256的異步FIFO,。
3.2 FFT/DFT處理模塊
根據(jù)DFT算法將信號(hào)處理的模塊分為乘累加器、平方器,、加法器,、開(kāi)方器。
用再內(nèi)建FPGA內(nèi)部到16 bit雙口RAM,,可方便地使刷新數(shù)據(jù)和顯示讀出數(shù)據(jù)同時(shí)進(jìn)行,而不產(chǎn)生邏輯沖突,,同時(shí)也保留了結(jié)果的精度,其FPGA實(shí)現(xiàn)模塊連接圖如圖2所示,。
4 軟件設(shè)計(jì)方案
控制系統(tǒng)的主程序采用C語(yǔ)言和匯編語(yǔ)言編寫(xiě),,程序分為下列幾個(gè)部分:采樣數(shù)據(jù)處理、FFT轉(zhuǎn)換,、標(biāo)準(zhǔn)參數(shù)設(shè)定,、操作界面和頻譜顯示。
軟件流程圖如圖3所示,。
5 實(shí)驗(yàn)的結(jié)果與分析
給頻譜分析儀輸入峰-峰值為2 V,、頻率為100 Hz的方波信號(hào),其信號(hào)處理結(jié)果見(jiàn)圖4,。從圖4看出輸出的方波頻譜圖只有奇次諧波,,沒(méi)有偶次諧波,而且此方波的基波,、三次諧波,、五次諧波和七次諧波的幅值滿足1,、1/3,、1/5、1/7的理論數(shù)值,,這與方波理論頻譜基本相同[6],,表1為其測(cè)量值與理論值的對(duì)比結(jié)果分析,。
通過(guò)比對(duì)可以驗(yàn)證分析儀的LCD顯示的頻譜圖形與其輸入信號(hào)的理論頻譜數(shù)值基本一致,譜線位置準(zhǔn)確,,幅度值與理論誤差較小,,該頻譜分析儀較好地完成了測(cè)量信號(hào)頻譜的要求,達(dá)到了預(yù)期設(shè)計(jì)的要求,。
該設(shè)計(jì)在分析和利用Nios II軟核處理器和頻譜分析儀理論的基礎(chǔ)上,,完成儀器硬件和軟件部分的設(shè)計(jì)。分析儀采用周期圖法進(jìn)行頻譜分析,,這樣可以保證測(cè)試結(jié)果較高的分辨率和頻率準(zhǔn)確性,;其中FFT運(yùn)算模塊采用全硬件級(jí)聯(lián)結(jié)構(gòu),不僅有效滿足了儀器對(duì)于信號(hào)處理實(shí)時(shí)性的要求,,同時(shí)也節(jié)省了硬件資源,;本設(shè)計(jì)可重構(gòu)性好,在多種不同的應(yīng)用領(lǐng)域,可根據(jù)實(shí)際需要對(duì)模塊進(jìn)行替換升級(jí).選擇高性能AD和大邏輯資源的FPGA等可以使性能得到大幅度提升;實(shí)現(xiàn)了片上設(shè)計(jì),,降低了系統(tǒng)的成本,,實(shí)現(xiàn)了高集成度和可靠度。
參考文獻(xiàn)
[1] 劉祖深.頻譜分析儀全數(shù)字中頻設(shè)計(jì)研究與實(shí)現(xiàn)[J].電子測(cè)量與儀器學(xué)報(bào),2009,23(2):39-45
[2] 崔旭濤,楊日杰,何友.基于DSP+FPGA的信號(hào)處理實(shí)驗(yàn)系統(tǒng)研制[J].儀器儀表學(xué)報(bào),2007,28(5):918-922.
[3] LUNDY T. KIRK B. A new matrix approach to real FFTs and convolutions of length 2 k[J]. Computing, 2007,80(1):56-59.
[4] 于超,陳光武,石文靜.基于FPGA的信號(hào)采集及其頻譜顯示[J]. 液晶與顯示,2008,23(4):499-503.
[5] BETOWSKI D J, BEJU V. Considerations for phase accumulator design for direct digital frequency synthesers[C]. IEEE Interactional Conference Neural Networkable Signal processing,,2009,1(1):213-217.
[6] 張向明,趙治華,孟進(jìn).考慮測(cè)量帶寬影響的電磁干擾頻譜FFT計(jì)算[J]. 中國(guó)電機(jī)工程學(xué)報(bào),2010,30(36):117-122.