基于單片機(jī)和FPGA的頻率特性測(cè)試儀的設(shè)計(jì)
1 引言
頻率特性是網(wǎng)絡(luò)的性能最直觀反映。頻率特性測(cè)試儀是測(cè)量網(wǎng)絡(luò)的幅頻特性和相頻特性,并顯示相應(yīng)曲線的一種快速、方便、動(dòng)態(tài)、直觀的測(cè)量?jī)x器,可廣泛應(yīng)用于電子工程領(lǐng)域。
該測(cè)試儀以掃頻外差為基本原理,并以單片機(jī)和FPGA構(gòu)成的最小系統(tǒng)為控制核心,很好地完成對(duì)有源雙T網(wǎng)絡(luò)進(jìn)行頻率在100 Hz~100 kHz范圍內(nèi)的幅頻響應(yīng)和相頻響應(yīng)特性的測(cè)試,并實(shí)現(xiàn)在通用數(shù)字示波器上同時(shí)顯示幅頻和相頻響應(yīng)特性曲線。
2 系統(tǒng)設(shè)計(jì)方案
2.1 總體方案
該設(shè)計(jì)采用單片機(jī)和FPGA結(jié)合的方式。將輸出頻率可步進(jìn)的正弦信號(hào)的掃描信號(hào)源作為被測(cè)網(wǎng)絡(luò)的輸入信號(hào)Vi,則被測(cè)網(wǎng)絡(luò)的輸出信號(hào)Vo為頻率可步進(jìn)的信號(hào)。通過測(cè)量各頻率點(diǎn)的幅度就可得到Vo和Vi的有效值,兩者之比就是該點(diǎn)的幅度頻率響應(yīng);對(duì)Vo和Vi進(jìn)行過零比較、整形,再送到FPGA測(cè)量相位差。 Vi的上升沿啟動(dòng)計(jì)數(shù),Vo的上升沿停止計(jì)數(shù),所得時(shí)間值與信號(hào)周期之比,就是該點(diǎn)的相位頻率響應(yīng)。此方案采用FPGA測(cè)量相位差,而且便于制作DDS掃描信號(hào)源。
2.2 掃頻信號(hào)源設(shè)計(jì)方案
該設(shè)計(jì)采用直接數(shù)字合成(DDS)信號(hào)源。DDS信號(hào)源是由數(shù)字量控制的頻率源,如圖 1所示,其具體實(shí)現(xiàn)過程是:將輸出波形一個(gè)完整周期的幅度值按相位步進(jìn)順序量化存儲(chǔ)于雙端口RAM中,按一定的地址間隔讀出,經(jīng)D/A轉(zhuǎn)換成模擬信號(hào),再經(jīng)低通濾波器濾去D/A轉(zhuǎn)換帶來的小臺(tái)階和數(shù)字電路產(chǎn)生的毛刺,即可獲得高精度、高純度的正弦信號(hào)。理論上只要累加器的位數(shù)足夠多,便可實(shí)現(xiàn)任意小的頻率步進(jìn),且頻率分辨率很高,十分接近于連續(xù)變化。通過預(yù)設(shè)相位累加器初值可很方便地實(shí)現(xiàn)精密相位調(diào)節(jié)。
2.3 幅度測(cè)量模塊的方案
該模塊采用集成真有效值變換器件。測(cè)量被測(cè)信號(hào)的真有效值,然后將其換算為幅值。即可實(shí)現(xiàn)對(duì)正弦波的幅值測(cè)量。該方案硬件、軟件都很簡(jiǎn)單,而且精度高,效果理想。
2.4 相位測(cè)量模塊的方案
該模塊采用相位一時(shí)間轉(zhuǎn)化法。兩個(gè)頻率相同、相位不同的正弦信號(hào)經(jīng)整形異或運(yùn)算后產(chǎn)生脈寬為Tx、周期為T的方波,相位差與(TX/T)之間始終存在一一對(duì)應(yīng)關(guān)系。因此無論頻率如何變化,只要測(cè)出(Tx/T),相位差的大小也就確定。
3 理論分析與計(jì)算
3.1 DDS相關(guān)計(jì)算
由DDS原理可得:
式中,N為相位累加器位數(shù),K為頻率控制字。
當(dāng)K=1時(shí),可知DDS的最低輸出頻率為:
此即DDS的頻率分辨率。
(1)移相信號(hào)發(fā)生器部分DDS由于輸出級(jí)D/A轉(zhuǎn)換器DAC0800的建立時(shí)間為100 ns,則時(shí)鐘頻率應(yīng)小于10 MHz,取時(shí)鐘頻率fout=8.388 608 MHz,相位累加器N=23bit,則:
(2)掃頻信號(hào)部分DDS 由于FPGA片內(nèi)資源豐富,為保證足夠的掃頻精度,取參考時(shí)鐘頻率fclk為40 MHz。通過控制頻率控制字K的變化范圍,完全可以滿足DAC0800的速度要求。
3.2 相位測(cè)量相關(guān)計(jì)算
由FPGA利用等精度法測(cè)得被測(cè)信號(hào)和基準(zhǔn)時(shí)鐘的頻率分別為f0、fCP,對(duì)被測(cè)信號(hào)鑒相后,由得到的相位差脈沖寬度T控制計(jì)數(shù)器計(jì)數(shù),其計(jì)數(shù)值設(shè)為M,則被測(cè)信號(hào)的相位差為:
(1)相位測(cè)量誤差計(jì)算 若讓計(jì)數(shù)器在1 s內(nèi)累計(jì)記數(shù),則累計(jì)數(shù):M1=Mf0,式(5)改為
其測(cè)量誤差△φ為:
(2)相位測(cè)量分辨率計(jì)算 數(shù)字移相信號(hào)發(fā)生器頻率范圍為20 Hz~20 kHz,相位差測(cè)量范圍為0~359°,因此計(jì)數(shù)器時(shí)鐘頻率fclk至少為72 MHz,取fCP=100 MHz,由于計(jì)數(shù)器分辨率為±1,對(duì)應(yīng)最小相位分辨率(f0=20 kHz時(shí)):
4 系統(tǒng)整體框圖
系統(tǒng)設(shè)計(jì)發(fā)揮FPGA穩(wěn)定、可靠、可編程的特點(diǎn),讓FP-GA實(shí)現(xiàn)盡可能多的功能,從而減少模擬部分的工作,使整個(gè)設(shè)計(jì)更加可靠。系統(tǒng)整體框圖如圖2所示。
5.2 示波器顯示部分
系統(tǒng)除實(shí)現(xiàn)LCD顯示外,還可借助示波器顯示曲線。為分別顯示幅頻和相頻特性曲線,用疊加直流電平的方法使兩種曲線顯示在示波器熒光屏適當(dāng)位置(示波器上方為幅頻曲線,下方為相頻曲線)。根據(jù)需要,亦可獨(dú)立顯示某一種曲線。幅度、相位數(shù)據(jù)均取256 bit,D/A轉(zhuǎn)換采用DAC0800完成。圖4為共電路圖。
5.3 系統(tǒng)軟件的設(shè)計(jì)
軟件設(shè)計(jì)由C和Verilog HDL語言編寫完成,前者由單片機(jī)運(yùn)行完成實(shí)時(shí)顯示、鍵值讀取、數(shù)據(jù)處理等系統(tǒng)的主控功能;后者寫入FPGA完成鍵盤掃描。
并在其中寫入濾波模塊對(duì)波形進(jìn)行處理,DDS控制產(chǎn)生最終波形的顯示并充當(dāng)單片機(jī)與外圍電路的橋梁。系統(tǒng)軟件流程如圖5所示。
6 結(jié)束語
系統(tǒng)很好地完成對(duì)有源雙T網(wǎng)絡(luò)進(jìn)行100 Hz~100 kHz頻率范圍內(nèi)的幅頻響應(yīng)和相位響應(yīng)特性的測(cè)試,頻率穩(wěn)定度達(dá)到10-6,并能在通用數(shù)字示波器上同時(shí)顯示幅頻和相頻響應(yīng)特性曲線。同時(shí)系統(tǒng)單片機(jī)的軟件設(shè)計(jì)實(shí)現(xiàn)友好的人機(jī)交互界面,充分發(fā)揮了單片機(jī)智能化的特點(diǎn)。
評(píng)論