基于FPGA和單片機(jī)的掃頻儀研究與設(shè)計
一個網(wǎng)絡(luò)的頻率特性包括幅頻特性和相頻特性,在系統(tǒng)設(shè)計時,各個網(wǎng)絡(luò)的頻率特性對該系統(tǒng)的穩(wěn)定性、工作頻帶、傳輸特性等都具有重要影響。實際操作中,掃頻儀大大簡化了測量操作,提高了工作效率,達(dá)到了測量過程快速、直觀、準(zhǔn)確、方便的目的,在生產(chǎn)、科研、教學(xué)上得到廣泛運(yùn)用。本設(shè)計采用數(shù)字頻率合成技術(shù)產(chǎn)生掃頻信號,以單片機(jī)和FPGA為控制核心,通過A/D和D/A轉(zhuǎn)換器等接口電路,實現(xiàn)掃頻信號頻率的步進(jìn)調(diào)整、數(shù)字顯示及被測網(wǎng)絡(luò)幅頻特性與相頻特性參數(shù)的顯示。
本文引用地址:http://m.butianyuan.cn/article/201706/349301.htm1 系統(tǒng)總體方案及設(shè)計框圖
1.1 系統(tǒng)總體方案
將輸出頻率步進(jìn)可調(diào)的正弦掃頻信號源作為被測網(wǎng)絡(luò)的激勵Vi,可得被測網(wǎng)絡(luò)的響應(yīng)為V0。通過測量各頻率點的幅度就可得到V0和Vi的有效值,兩者之比就是該點的幅度頻率響應(yīng);對V0和Vi進(jìn)行過零比較、整形,再送到FPGA測量相位差,即可得到相頻特性。
1.2 系統(tǒng)總體設(shè)計框圖
系統(tǒng)通過鍵盤掃描得到外界設(shè)置的掃頻范圍和頻率步進(jìn),通過調(diào)用DDS控模塊控制DAC904,輸出掃頻信號。由于信號在被測網(wǎng)絡(luò)阻帶內(nèi)會有很大的衰減,故用程控放大處理經(jīng)被測網(wǎng)絡(luò)的掃頻信號之后,利用AD637進(jìn)行有效值采樣,LM311進(jìn)行整形。信號有效值經(jīng)MAXl270進(jìn)行AD轉(zhuǎn)換后得到有效值的數(shù)字量,整形后的信號經(jīng)測相模塊處理得到相位差值。在FPGA中寫入2個RAM存放被測信號的有效值和相位差值。完成一次掃頻后通過波形顯示模塊將幅頻、相頻曲線顯示在示波器上,并將特定頻率點的幅度和相位差值在液晶顯示器上進(jìn)行顯示。系統(tǒng)實現(xiàn)框圖如圖1所示。
2 系統(tǒng)功能部分設(shè)計
2.1 掃頻信號的產(chǎn)生
直接數(shù)字合成(DDFS)信號源。它是一種完全數(shù)字化的方法:先將一個周期的正弦波(或者其他波形)的離散樣點幅值的數(shù)字量預(yù)先存儲于ROM或者RAM中,按一定的地址增量間隔讀出,經(jīng)D/A轉(zhuǎn)換后成為不同頻率的模擬正弦波信號波形,再經(jīng)低通濾掉毛刺即可得到所需頻率的輸入信號。按此原理,DDS可以合成任意波形,且可以精確控制相位,頻率也非常穩(wěn)定。利用FPGA制作起來相當(dāng)容易,且掃頻步進(jìn)實現(xiàn)簡單。設(shè)FPGA內(nèi)部的參考頻率源的頻率為fclk,采用計數(shù)容量為2N的相位累加器(N為相位累加器的位數(shù)),頻率控制字為M,則DDS系統(tǒng)輸出信號的頻率fout=fclk/2N×M。頻率分辨率為:△f=fclk/2N。
若選取晶振頻率為40 MHz,頻率控制字為24位,相位累加器的位數(shù)為31位,則輸出頻率范圍為0.02 Hz~312 kHz,步進(jìn)頻率為40 MHz/231≈0.02 Hz。
系統(tǒng)采用高速14-bit電流輸出型D/A轉(zhuǎn)換器DAC904制作DDS掃頻信號源。通過FPGA給其20 MHz的時鐘信號以輸出10 Hz~100 kHz的掃頻信號。該器件制作成的PCB板中,很好地考慮了接地,使得輸出信號在頻率為1 MHz可以達(dá)到無明顯失真。DAC904采用內(nèi)部基準(zhǔn)和雙極性接法,輸出信號幅值范圍為0~5 V。其原理圖如圖2所示。
2.2 幅頻特性測試方案
使用集成真有效值轉(zhuǎn)換器AD637先檢測出信號每個頻率點的有效值,再經(jīng)過A/D采樣將得到的數(shù)據(jù)讀到單片機(jī)中進(jìn)行處理即可。該器件外接電路簡單,工作頻帶很寬,與A/D轉(zhuǎn)換器級聯(lián),可以對任何復(fù)雜波形的有效值、平均值、均方值、絕對值進(jìn)行采樣,測量誤差小于±(0.2%讀數(shù)+0.5 mV),可以達(dá)到很高的測量精度。
2.3 相頻特性測試方案
采用計數(shù)法實現(xiàn)相位的測量。計數(shù)法的思想是將相位量轉(zhuǎn)化為數(shù)字脈沖量,然后對數(shù)字脈沖進(jìn)行測量而得到相位差。對轉(zhuǎn)換后的數(shù)字脈沖量進(jìn)行異或運(yùn)算,產(chǎn)生脈寬為T0、周期為T的另一路方波,若高頻計數(shù)時鐘脈沖周期為TCP,則在一個周期T的時間內(nèi)的計數(shù)數(shù)值為:
式中,φx為相位差的度數(shù)。
這種方法應(yīng)用比較廣泛,精度較高,電路形式簡單,適合FPGA實現(xiàn)。
實際測量中,當(dāng)兩輸入信號頻率較高且相位差很小時,得到的脈沖很窄,這會造成較大誤差。為了克服上述缺陷,引入等精度測量的思想(如圖3),采用多周期同步計數(shù)法,利用觸發(fā)器產(chǎn)生一個寬度為被測信號fa整數(shù)倍的閘門信號。利用計數(shù)器1測量出閘門信號內(nèi)通過高頻脈沖fm的個數(shù)N1,利用計數(shù)器2測量出相同時間內(nèi)閘門信號、異或信號、高頻脈沖三者相與后的脈沖數(shù)N2。因此,相位差值為△φ=N2/N1x36 0°。測量相位的同時,在FPGA內(nèi)部引入一D觸發(fā)器,用一路方波信號控制另一路方波,通過觸發(fā)器輸出的高低以判斷信號相位差范圍是大于180°還是小于180°。
2.4 系統(tǒng)顯示電路設(shè)計
為了在示波器上顯示曲線,需要通過2個D/A轉(zhuǎn)換器向X、Y軸同步送入掃描信號和數(shù)據(jù)信號。X軸方向的DA轉(zhuǎn)換器輸出掃描信號為O~5 V的鋸齒波信號,而數(shù)據(jù)信號為-5~5 V,反應(yīng)了各個頻率點上的信號幅值和相位,由另一片D/A轉(zhuǎn)換器向Y軸方向輸出。
3 系統(tǒng)軟件設(shè)計
系統(tǒng)軟件設(shè)計由單片機(jī)和FPGA組成。整個系統(tǒng)以用戶按鍵中斷為主線,調(diào)用不同的處理函數(shù),與FPGA中各個控制模塊之間,以總線的進(jìn)行數(shù)據(jù)的交換,實現(xiàn)了系統(tǒng)測量頻率特性的功能。軟件流程圖見圖4。
4 結(jié)束語
本掃頻儀利用數(shù)字頻率合成技術(shù)(DDS)產(chǎn)生掃頻信號,通過14位D/A轉(zhuǎn)換器DAC904產(chǎn)生了10 Hz~100 kHz的正弦掃頻信號,作用于被測網(wǎng)絡(luò)。網(wǎng)絡(luò)的輸出信號通過有效值采樣電路,以及由比較器LM311配合FPGA內(nèi)部實現(xiàn)的測相電路,完成了對被測網(wǎng)絡(luò)頻率特性的測量。
為對系統(tǒng)的性能進(jìn)行測試,制作了一個中心頻率為5 kHz。帶寬為±50 Hz的阻容雙T網(wǎng)絡(luò)。測試結(jié)果表明,在網(wǎng)絡(luò)的通帶和阻帶內(nèi),相頻特性測量均達(dá)到了3°以內(nèi)的測量精度,幅頻特性的測量誤差均小于50%。此外,該系統(tǒng)可以通過鍵盤輸入掃頻范圍,通過示波器顯示幅頻、相頻曲線,并可以在液晶顯示器上顯示該網(wǎng)絡(luò)在特定頻率點上的幅度、相位特性值。該系統(tǒng)操作簡單,成本低廉,測量精確,具有很強(qiáng)的實用性。
評論