黃 俊,余水寶,黃相平
(浙江師范大學(xué) 數(shù)理與信息工程學(xué)院,浙江 金華321004)
移相信號(hào)在電子、通信等科學(xué)研究領(lǐng)域有著廣泛的應(yīng)用,兩個(gè)同頻的移相信號(hào)又是電子行業(yè)繼電保護(hù)領(lǐng)域中模擬、分析事故的一個(gè)重要手段,因此移相信號(hào)發(fā)生器是實(shí)驗(yàn)室和科研單位經(jīng)常使用到的一個(gè)重要儀器設(shè)備。近年來,一種新的頻率合成技術(shù)——直接數(shù)字頻率合成(DDS)技術(shù)得到飛速發(fā)展。DDS技術(shù)是一種從相位概念出發(fā)直接合成所需波形的頻率合成技術(shù)。它與傳統(tǒng)的頻率合成技術(shù)相比,具有頻率分辨率高、頻率轉(zhuǎn)換速度快、輸出波形靈活、相位變化連續(xù)等優(yōu)點(diǎn)。隨著微電子技術(shù)的發(fā)展,現(xiàn)場可編程門陣列(FPGA)器件也得到了飛速發(fā)展。由于該器件具有集成度高、可靠性強(qiáng)和現(xiàn)場可編程等特點(diǎn),因此在數(shù)字信號(hào)處理中得到了廣泛的應(yīng)用,越來越受到硬件電路設(shè)計(jì)工程師的青睞。
本文介紹了一種基于FPGA的數(shù)字移相信號(hào)發(fā)生器的設(shè)計(jì)方案,頻率范圍1 Hz~10 MHz,相位差范圍0°~359.5°,頻率分辨率為 1 Hz,相位差分辨率為 0.5°,可輸出方波、三角波和正弦波。該系統(tǒng)具有輸出波形靈活、穩(wěn)定性好等優(yōu)點(diǎn)。
DDS主要由相位累加器、波形查找表ROM、D/A轉(zhuǎn)化器和低通濾波器等部件組成,其原理框圖如圖1所示。圖中,相位累加器在系統(tǒng)時(shí)鐘的控制下以步長K作線性累加,其輸出端可對(duì)波形查找表ROM尋址,波形查找表輸出相應(yīng)的波形數(shù)據(jù),然后波形數(shù)據(jù)依次經(jīng)過數(shù)模轉(zhuǎn)換器和低通濾波器,最后輸出平滑連續(xù)的波形。
設(shè)相位累加器的字長為N,頻率控制字為K,系統(tǒng)的時(shí)鐘頻率為fc,則DDS系統(tǒng)輸出波形的頻率fout為:
頻率分辨率Vf為:
當(dāng)系統(tǒng)時(shí)鐘頻率fc固定不變時(shí),DDS的頻率分辨率Vf完全由相位累加器的字長N決定。本系統(tǒng)中,fc=160 MHz,N=32,則頻率分辨率 Vf≈0.372 5 Hz,因此 DDS的頻率分辨率極高。
從原理框圖可以看出DDS是一個(gè)開環(huán)系統(tǒng),沒有任何反饋環(huán)節(jié),這種結(jié)構(gòu)大大縮短了DDS的頻率轉(zhuǎn)換時(shí)間。
本系統(tǒng)主要包括人機(jī)交互模塊、單片機(jī)模塊、基于FPGA的DDS模塊、高速D/A模塊和低通濾波器模塊,系統(tǒng)整體框圖如圖2所示。其中人機(jī)交互模塊包括液晶12864顯示和鍵盤輸入兩部分,分別用于顯示波形參數(shù)和實(shí)現(xiàn)用戶對(duì)波形的調(diào)節(jié)功能。單片機(jī)模塊一方面用于控制液晶顯示和鍵盤輸入,另一方面負(fù)責(zé)與FPGA進(jìn)行通信。限于篇幅,本文主要介紹基于FPGA的DDS模塊和高速D/A轉(zhuǎn)換模塊。
圖2 系統(tǒng)整體框圖
基于FPGA的DDS模塊是本系統(tǒng)設(shè)計(jì)的核心。首先值得說明的是,實(shí)現(xiàn)兩路移相信號(hào)的直接數(shù)字頻率合成有兩種方案可供選擇。方案一:使用同一相位累加器、同一起始地址,當(dāng)移相角度發(fā)生變化時(shí),發(fā)送不同波形數(shù)據(jù)到兩個(gè)存儲(chǔ)器,使輸出信號(hào)產(chǎn)生相位差。方案二:在儲(chǔ)存器中存放相同的數(shù)據(jù),根據(jù)移相角度改變兩個(gè)相位累加器掃描的起始地址。前者利用FPGA設(shè)計(jì)硬件電路簡單,但偏重于軟件,算法技巧性較強(qiáng);后者對(duì)相位累加器的設(shè)計(jì)要求較高,考慮到FPGA內(nèi)部的豐富資源,本系統(tǒng)采用方案二[1-2]。
本系統(tǒng)采用Cyclone II系列的FPGA芯片EP2C8Q208C8為主控芯片,其內(nèi)部最高處理速度達(dá)幾百兆,內(nèi)含兩個(gè)鎖相環(huán)倍頻器(PLL)和 4 MB的 ROM,內(nèi)部資源相當(dāng)豐富。利用FPGA芯片設(shè)計(jì)的頂層文件Symbol File圖如圖3所示。其中pll為鎖相環(huán)倍頻模塊,tongxun為FPGA與單片機(jī)通信接口模塊,add為相位累加器模塊,lpm_rom0、lpm_rom1為存儲(chǔ)器ROM模塊。
本系統(tǒng)輸出信號(hào)的最高頻率擬達(dá)到10 MHz,如果在一個(gè)周期內(nèi)至少采樣16個(gè)點(diǎn),則掃描時(shí)鐘頻率至少要達(dá)到160 MHz。由于系統(tǒng)的有源晶振頻率為 50 MHz,因此本系統(tǒng)充分利用FPGA內(nèi)部的鎖相環(huán),輸出160 MHz的高頻信號(hào)作為系統(tǒng)時(shí)鐘[3-4]。
2.1.1 與單片機(jī)通信接口模塊
為了將頻率控制字與相位控制字輸入給FPGA,本系統(tǒng)利用單片機(jī)對(duì)其進(jìn)行送數(shù)。首先考慮到單片機(jī)與FPGA電平匹配的問題,本系統(tǒng)選用STC12LE5A60S2單片機(jī),其工作電壓范圍為2.2 V~3.6 V。
為了使FPGA與單片機(jī)正常通信,本系統(tǒng)仿照AD9851的串口通信模式,其時(shí)序如圖4所示。在寫時(shí)鐘W_CLK的控制下,40 bit控制字依次從低位到高位被讀入,最后FQ_UD端產(chǎn)生一個(gè)上升沿,表示將40 bit控制字加載到AD9851內(nèi)部寄存器。
本系統(tǒng)設(shè)計(jì)了兩組串口通信接口,一組用于接收30 bit的頻率控制字,另一組用于接收12 bit的相移控制字。通過設(shè)計(jì)硬件描述語言,創(chuàng)建Symbol File。
2.1.2 相位累加器模塊
通過設(shè)計(jì)硬件描述語言,創(chuàng)建相位累加器Symbol File。該累加器的字長為32,當(dāng)復(fù)位信號(hào)reset為1時(shí),在時(shí)鐘pllclk控制下每來一個(gè)脈沖累加器以步長K(kong_f)累加,高 12位(31 downto 20)累加結(jié)果輸出作為ROM地址,當(dāng)K發(fā)生變化時(shí)輸出頻率也相應(yīng)改變。累加器的初值為K1(kong_p),當(dāng)K1改變時(shí)累加器輸出結(jié)果也相應(yīng)改變,從而使兩個(gè)存儲(chǔ)器的地址不同而形成相位差。
本系統(tǒng)考慮到輸出信號(hào)的光滑度和FPGA的資源,設(shè)計(jì)4 096個(gè)點(diǎn)為一個(gè)周期,因此設(shè)計(jì)了兩個(gè)12 bit(4 096 B)的 ROM。本系統(tǒng)創(chuàng)建的存儲(chǔ)器 ROM Symbol File,clock為基準(zhǔn)時(shí)鐘,address[11..0]為地址輸入端,q[11..0]為波形數(shù)據(jù)輸出端。
由于本系統(tǒng)輸出兩路頻率相同而相位不同的移相信號(hào),因此需設(shè)計(jì)兩組高速D/A轉(zhuǎn)換電路。該電路采用轉(zhuǎn)換速率為 165 MS/s,分辨率為12 bit的高速 D/A轉(zhuǎn)換芯片,其具有轉(zhuǎn)換速度快、控制方便、輸出波形誤差小等優(yōu)點(diǎn)。考慮到DAC902為差分電流輸出型,差分電流最大值是20 mA,輸出端接 100 Ω電阻,所以通過電壓反饋型高速運(yùn)算放大器OPA690得到差分電壓。
系統(tǒng)上電后通過Gwinstek GDS-2102數(shù)字存儲(chǔ)示波器測試并記錄實(shí)驗(yàn)結(jié)果。
圖5所示為信號(hào)源輸出頻率為1 kHz,兩路信號(hào)相移分別為 45°、90°、180°、270°時(shí), 使用示波器觀察并用U盤拷貝的輸出波形。
圖6所示為信號(hào)源輸出相移 180°、頻率為 1 MHz,頻率相移分別為 10 Hz、10 kHz、5 MHz、10 MHz 時(shí), 使用示波器觀察并用U盤拷貝的輸出波形。
表1為同相移下根據(jù)不同頻率值測得的實(shí)際頻率值。
本系統(tǒng)通過選用Cyclone II系列的FPGA芯片EP2C8Q208C8和STC12LE5A60S2單片機(jī)實(shí)現(xiàn)了數(shù)字移相信號(hào)發(fā)生器的設(shè)計(jì)。可產(chǎn)生頻率范圍為1 Hz~10 MHz,且頻率、相位均可調(diào)的方波、三角波和正弦波。由于本系統(tǒng)采用DDS算法,因此能在頻率、相位上實(shí)現(xiàn)高精度的控制。實(shí)驗(yàn)結(jié)果表明,本系統(tǒng)具有頻率分辨率高、頻率轉(zhuǎn)換速度快、輸出信號(hào)噪聲低和系統(tǒng)穩(wěn)定性好等優(yōu)點(diǎn)。
表1 頻率測試數(shù)據(jù)(相移 180°,空載)
[1]李輝,朱林生.基于FPGA的三相函數(shù)信號(hào)發(fā)生器設(shè)計(jì)[J].電子科技,2010,23(7):87-91.
[2]舒俊,陳希,余水寶.零誤差低頻程控三相相移信號(hào)發(fā)生器[J].儀器儀表學(xué)報(bào),2009,30(6):796-797.
[3]周紹軍.基于DDS技術(shù)的高精度雙路可移相波形信號(hào)發(fā)生器設(shè)計(jì)[J].西南民族大學(xué)學(xué)報(bào),2010,36(5):822-826.
[4]趙茂泰.電子測量儀器設(shè)計(jì)[M].武漢:華中科技大學(xué)出版社,2010:148-153.