基于89C55和FPGA的頻率特性測試儀
摘要:為了能夠直接顯示待測網(wǎng)絡(luò)的幅頻相頻特性,設(shè)計(jì)了一個(gè)以89C55和FPGA構(gòu)成的最小系統(tǒng)為控制核心的頻率特性測試儀。系統(tǒng)基于DDS(直接數(shù)字頻率合成)原理和多周期同步計(jì)數(shù)相位測量法,由信號發(fā)生器,被測雙T網(wǎng)絡(luò),真有效值檢波,相位檢測,LCD顯示及幅頻特性曲線顯示等部分構(gòu)成。其中,信號發(fā)生和相位檢測在FPGA內(nèi)部實(shí)現(xiàn)。用戶可通過按鍵輸入需求,頻率特性曲線實(shí)時(shí)顯示于示波器上。整個(gè)系統(tǒng)性能穩(wěn)定,界面友好,操作簡單,實(shí)現(xiàn)了數(shù)字化頻率特性分析。
關(guān)鍵詞:89C55;FPGA;DDS;真有效值檢波;相位測量
頻率特性是一個(gè)系統(tǒng)(或元件)對不同頻率輸入信號的響應(yīng)特性,是一個(gè)網(wǎng)絡(luò)最重要的特性之一。幅頻特性和相頻特性綜合稱為頻率特性。測量頻率的方法有點(diǎn)頻法和掃頻法。傳統(tǒng)的模擬式掃頻儀價(jià)格昂貴、體積龐大,不能直接得到相頻特性,給使用帶來諸多不便。為此,設(shè)計(jì)了數(shù)字掃頻式頻率特性測試儀。
1 方案論證與選擇
1.1 方案的選擇
1.1.1 信號發(fā)生模塊
方案1:采用模擬分立元件或單片壓控函數(shù)發(fā)生器??赏瑫r(shí)產(chǎn)生正弦波、方波、三角波,但由于元件分散性太大,產(chǎn)生的頻率穩(wěn)定度較差、精度低、波形差,不能實(shí)現(xiàn)任意波形輸出。
方案2:采用傳統(tǒng)的直接頻率合成器。這種方法能實(shí)現(xiàn)快速頻率變換,具有低相位噪聲以及所有方法中最高的工作頻率。但由于采用大量的倍頻、分頻、混頻和濾波環(huán)節(jié),導(dǎo)致直接頻率合成的結(jié)構(gòu)復(fù)雜,并且它也無法實(shí)現(xiàn)任意波形輸出。
方案3:采用鎖相式頻率合成器。鎖相式頻率合成是將一個(gè)高穩(wěn)定度和高精度的標(biāo)準(zhǔn)頻率經(jīng)過加減乘除的運(yùn)算產(chǎn)生同樣穩(wěn)定度和精確度的大量離散頻率的技術(shù),它在一定程度上解決了既要頻率穩(wěn)定精確,又要頻率在較大范圍可變的矛盾。但由于鎖相環(huán)本身是一個(gè)惰性環(huán)節(jié),鎖定時(shí)間長,故頻率轉(zhuǎn)換時(shí)間長,頻率受限。更重要的弱點(diǎn)是,不能實(shí)現(xiàn)任意波形的功能。
方案4:采用直接數(shù)字頻率合成器(DDFS)。DDFS技術(shù)以Nyquist時(shí)域采樣定理為基礎(chǔ),在時(shí)域中進(jìn)行頻率合成,它可以快速改變頻率,并且通過更換波形數(shù)據(jù)可以實(shí)現(xiàn)任意波形功能。DDFS相對帶寬高,輸出相位連續(xù),頻率、相位和幅度均可以實(shí)現(xiàn)程控。充分利用FPGA內(nèi)部資源,在其內(nèi)設(shè)置所有邏輯電路實(shí)現(xiàn)DDS合成,理論上可達(dá)MHz,100 kHz的頻段要求很容易實(shí)現(xiàn),而且省去大部分硬件,只需D/A轉(zhuǎn)換輸出,避免硬件電路的分部影響。
為盡量減輕硬件負(fù)擔(dān),充分利用數(shù)字資源,在滿足應(yīng)用要求的基礎(chǔ)上,選擇方案4,在FPGA內(nèi)部實(shí)現(xiàn)頻率合成。
1.1.2 被測網(wǎng)絡(luò)
方案1:直接利用阻容雙T網(wǎng)絡(luò)??梢酝ㄟ^改變電容電阻的參數(shù)改變中心頻率,但其傳遞函數(shù)形式已經(jīng)固定,帶寬大概是中心頻率的4倍,Q值固定為0.25,陷波效果較差。
方案2;采用改進(jìn)雙T網(wǎng)絡(luò),網(wǎng)絡(luò)輸出經(jīng)過射級跟隨器反饋回網(wǎng)絡(luò),可以限制帶寬,容易實(shí)現(xiàn)應(yīng)用要求。為此選擇方案2。
1.2 系統(tǒng)總體實(shí)現(xiàn)方框圖
系統(tǒng)方框圖如圖1。
2 理論分析與計(jì)算
2.1 DDS原理分析
DDS是一種應(yīng)用數(shù)字技術(shù)產(chǎn)生信號波形的方法,主要組成:相位累加器、波形存儲器、D/A轉(zhuǎn)換器和低通濾波器?;竟ぷ髟硎牵涸趨⒖紩r(shí)鐘信號的控制下,通過由頻率控制字K控制的相位累加器輸出相位碼,將存儲于波形存儲器中的波形量化采樣數(shù)據(jù)值按一定的規(guī)律讀出,經(jīng)D/A轉(zhuǎn)換和低通濾波后輸出波形。其FPGA內(nèi)部實(shí)現(xiàn)框圖如圖2所示。
通過DDS技術(shù)實(shí)現(xiàn)頻率合成前需要確定DDS的主要性能參數(shù):
設(shè)參考頻率源頻率為fclk,采用計(jì)數(shù)容量為2N的相位累加器(N為相位累加器的位數(shù)),頻率控制字為M,則DDS系統(tǒng)輸出信號的頻率為fout=fclk/2N×M,頻率分辨率為△f=fclk/2N。若選取晶振頻率為40 MHz,頻率控制字為24位,相位累加器的位數(shù)為31位,此時(shí)的DDS模塊邏輯框圖如圖3所示,這樣的理論輸出頻率范圍為0.02 Hz~312 kHz,步進(jìn)約為0.02 Hz(40 MHz/231)。
2.2 雙T網(wǎng)絡(luò)
雙T網(wǎng)絡(luò)可看作由一個(gè)T型低通網(wǎng)絡(luò)和一個(gè)T型高通網(wǎng)絡(luò)組成。低通網(wǎng)絡(luò)如圖3所示。將其中的電阻、電容全轉(zhuǎn)換成阻抗表示。傳遞函數(shù)H(jω)為:
2.3 相位測量
此模塊采用多周期同步計(jì)數(shù)法。對輸入信號周期進(jìn)行填充式脈沖計(jì)數(shù),具體做法為:利用D觸發(fā)器產(chǎn)生一個(gè)寬度為整數(shù)個(gè)被測信號周期的同步閘門信號,將同步閘門信號和時(shí)鐘脈沖信號相與后送入計(jì)數(shù)器1進(jìn)行記數(shù),計(jì)數(shù)值為N1;將同步閘門信號、鑒相脈沖和時(shí)鐘脈沖三者相與后送入記數(shù)器2進(jìn)行記數(shù),計(jì)數(shù)值為N2,相位差為φx=(N2/N1)×180。這樣可使量化誤差大大減小,測量精度得到提高,如圖5所示。
閘門的設(shè)置、脈沖間的運(yùn)算、計(jì)數(shù)等問題在FPGA內(nèi)部實(shí)現(xiàn)可增加系統(tǒng)的靈活性和測量精確度,并可減輕硬件方面的工作量。
3 主要功能電路的設(shè)計(jì)
3.1 DDS信號發(fā)生模塊
AD9851模塊處理單片機(jī)送的頻率控制字,輸出地址值給ROM 1P模塊,ROM 1P模塊中存儲正弦波表,輸出幅度值給DA。具體在FPGA內(nèi)實(shí)現(xiàn)如圖6所示。
3.2 真有效值測量電路
采用典型真有效值一電流轉(zhuǎn)換芯片AD637,其外圍元件少,頻帶寬。對于有效值為200mV的信號,600 kHz;對于有效值為1 V的信號,-3 dB帶寬是8 MHz,其后接12位高速低功耗串口模/數(shù)轉(zhuǎn)換芯片ADS7818。為簡化電路,并保持電路參數(shù)的對稱性,僅采用一個(gè)ADS7818,通過電磁繼電器,由單片機(jī)控制,在兩路信號間周期性切換進(jìn)行測幅。
3.3 放大整形及相位測量模塊
由于經(jīng)過雙T網(wǎng)絡(luò)輸出的信號幅度衰減很大,而信號經(jīng)過過零比較器的傳輸時(shí)間為,式中,G0為過零檢測器的直流增益;fP1是第一個(gè)響應(yīng)極點(diǎn);f為信號頻率;VP是信號幅值。由該式可以看出,幅度與相移成反比,所以在經(jīng)過比較器前要加一級放大,采用的是可變增益放大芯片AD603構(gòu)成的自動增益控制電路,當(dāng)輸入信號峰一峰值在400 mV~7 V,頻率在6 MHz以下,輸出信號穩(wěn)定平坦。在此次應(yīng)用的實(shí)際電路中,將有效值從200 mV~3.5 V,頻率從30 Hz~3 MHz的輸入信號無失真的都放大到1.72 V。由于DDS輸出電壓為1.72 V,所以只需放大處理經(jīng)過網(wǎng)絡(luò)后的信號。另外,由于前級為雙T網(wǎng)絡(luò)中的射隨,故不需做阻抗匹配。AGC(自動增益控制)電路如圖7所示。
輸出信號經(jīng)過由LM311構(gòu)成的零點(diǎn)附近的滯回比較器整形后給FPGA,進(jìn)行相位測量。經(jīng)過放大整形后的兩路信號先經(jīng)過一級極性判別電路,通過讀取D觸發(fā)器的輸出電平來判斷從雙T網(wǎng)絡(luò)輸出的信號相位相對于原信號相位超前還是滯后,VOUT輸出為高電平時(shí)超前,反之為滯后。同時(shí)將兩個(gè)信號送入異或門,得到脈沖信號,測量脈沖信號的寬度,再通過計(jì)算就可以得到相位差。當(dāng)脈沖的寬度很小時(shí),為達(dá)到設(shè)計(jì)要求,標(biāo)準(zhǔn)脈沖的頻率要求很高。設(shè)計(jì)時(shí)使用的是40 MHz的晶振,所以得到相位差的表達(dá)式為度。
3.4 示波器顯示模塊
將幅頻相頻信息加至y軸,頻率鋸齒波加至x軸。D/A轉(zhuǎn)換采用12位串口電壓輸出型可程控偏壓的數(shù)/模轉(zhuǎn)換芯片TLV5638。
4 測試數(shù)據(jù)與分析
4.1 測試數(shù)據(jù)結(jié)果
測試數(shù)據(jù)結(jié)果如表1所示。
4.2 數(shù)據(jù)分析
經(jīng)過測量,雙T網(wǎng)絡(luò)的幅頻及相頻特性曲線如圖8所示。在幅頻特性曲線中,橫坐標(biāo)代表頻率,一格代表1 kHz;縱坐標(biāo)代表增益,一格代表0.5倍。在相頻特性曲線中,橫坐標(biāo)代表頻率,一格代表1 kHz;縱坐標(biāo)代表相位,一格代表5°。
4.3 誤差分析
4.3.1 相位測量誤差分析
(1)計(jì)數(shù)誤差。計(jì)數(shù)器總會存在±1的誤差,這個(gè)誤差是方案本身存在的,無法消除,采用改進(jìn)的計(jì)數(shù)方案雖無法消除誤差,但可減小誤差的影響。
(2)前級處理引入的誤差。采用計(jì)數(shù)法測相前需要對輸入的兩路信號進(jìn)行限幅放大、電平轉(zhuǎn)換等處理,由于難以保證處理兩路信號的電路線形度完全一致,因此會引入誤差。另外在電平轉(zhuǎn)換時(shí),比較器會影響轉(zhuǎn)換的方波上升沿或下降沿不穩(wěn)定,影響計(jì)數(shù)結(jié)果。
(3)兩信號相異或后,用計(jì)數(shù)法測相位差,其標(biāo)準(zhǔn)時(shí)鐘信號由晶振產(chǎn)生,采用40 MHz晶振,其晶振頻率穩(wěn)定度也會影響測量結(jié)果。
(4)相差測量精度還可以提高。如果相位差精度要達(dá)到0.1°,正弦波表數(shù)據(jù)應(yīng)該至少儲存360×10個(gè)點(diǎn),但這里只儲存了1 024個(gè)點(diǎn)。
(5)掃頻DDS部分還可以提高掃頻精度??梢蕴岣?strong>FPGA內(nèi)部時(shí)鐘頻率來提高掃頻精度,掃頻參考時(shí)鐘采用10 MHz,因?yàn)镈/A轉(zhuǎn)換部分是采用轉(zhuǎn)換速度為100 ns的DAC0800,因此完全可以進(jìn)一步提高參考時(shí)鐘的頻率,DAC0800轉(zhuǎn)換速度完全可以達(dá)到。
4.3.2 幅度測量誤差分析
幅度測量是采用真有效值檢波,AD637芯片本身在檢測有效值時(shí)存在固定偏差,但對前后信號產(chǎn)生的偏差一致,而且可以通過軟件對測量結(jié)果進(jìn)行校準(zhǔn)。
5 總結(jié)分析與結(jié)論
實(shí)驗(yàn)表明,DDS信號發(fā)生部分掃頻范圍100 Hz~100 kHz,頻率步進(jìn)10 Hz。用戶可以通過按鍵選擇定點(diǎn)測量或特定頻率段掃頻測量,并能通過LCD顯示預(yù)置頻率、網(wǎng)絡(luò)前后信號幅值、相位差及其極性,還可在示波器上顯示幅頻特性和相頻特性曲線。此外,可以方便地實(shí)現(xiàn)定點(diǎn)測量及特定頻率段測量,能夠很好地幫助理解頻率特性,且其可擴(kuò)展性好,設(shè)計(jì)出來的產(chǎn)品體積小,易攜帶,適合教學(xué)等領(lǐng)域的應(yīng)用。