基于FPGA的頻譜分析儀的設(shè)計(jì)與研制
頻譜分析儀是微電子測(cè)量領(lǐng)域中最基礎(chǔ)、最重要的測(cè)量?jī)x器之一,是從事各種電子產(chǎn)品研發(fā)、生產(chǎn)、檢驗(yàn)的重要工具。高分辨率、寬頻帶數(shù)字頻譜分析的方法和實(shí)現(xiàn)一直是該領(lǐng)域的研究熱點(diǎn)[1]。現(xiàn)代頻譜分析儀是基于現(xiàn)代數(shù)字信號(hào)處理理論的頻譜分析儀,信號(hào)經(jīng)過前置預(yù)處理、抗混疊濾波、A/D變換、數(shù)字頻譜分析等環(huán)節(jié)而得到信號(hào)中的頻率分量, 達(dá)到與傳統(tǒng)頻譜分析儀同樣的結(jié)果。
本文引用地址:http://www.ex-cimer.com/article/193814.htm本設(shè)計(jì)完全利用FPGA實(shí)現(xiàn)FFT,在FPGA上實(shí)現(xiàn)整個(gè)系統(tǒng)構(gòu)建。其中CPU選用Altera公司的Nios II軟核處理器進(jìn)行開發(fā), 硬件平臺(tái)關(guān)鍵模塊使用Altera公司的EDA軟件QuartusIIV8.0完成設(shè)計(jì)。整個(gè)系統(tǒng)利用Nios II軟核處理器通過Avalon總線進(jìn)行系統(tǒng)的控制。全文重點(diǎn)闡述了整個(gè)系統(tǒng)的設(shè)計(jì)流程,同時(shí)對(duì)于方案中的設(shè)計(jì)思路和重要部分給予說明。
1 系統(tǒng)設(shè)計(jì)方案
頻譜分析儀一般分為兩類:
一種是掃頻調(diào)諧式的分析儀,此類分析儀通過各類濾波,再經(jīng)過一個(gè)外差的接收機(jī),把輸入信號(hào)中的中頻信號(hào)進(jìn)行分析,從而得到頻譜分析的結(jié)果。這是現(xiàn)在最為普遍的頻譜分析儀結(jié)構(gòu),此類分析儀結(jié)構(gòu)復(fù)雜[2]。
另外一種是動(dòng)態(tài)的信號(hào)分析儀,即快速傅里葉變換FFT分析儀。它利用FFT將信號(hào)分解成分立的頻率分量,由模擬/數(shù)字轉(zhuǎn)換器(ADC)直接對(duì)輸入信號(hào)取樣,經(jīng)過FFT處理后獲得頻譜分布圖。此類分析儀速度明顯優(yōu)于傳統(tǒng)分析儀,可以進(jìn)行實(shí)時(shí)分析。本文的設(shè)計(jì)就采用這種原理。
在此設(shè)計(jì)中,信號(hào)經(jīng)過濾波、放大之后,通過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方式,通過采樣和數(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來存儲(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)處理的模塊分為乘累加器、平方器、加法器、開方器。
用再內(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語言和匯編語言編寫,程序分為下列幾個(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é)果見圖4。從圖4看出輸出的方波頻譜圖只有奇次諧波,沒有偶次諧波,而且此方波的基波、三次諧波、五次諧波和七次諧波的幅值滿足1、1/3、1/5、1/7的理論數(shù)值,這與方波理論頻譜基本相同[6],表1為其測(cè)量值與理論值的對(duì)比結(jié)果分析。
通過比對(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)了高集成度和可靠度。
fpga相關(guān)文章:fpga是什么
評(píng)論