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