張林行,尚小虎,趙美聰,劉 陽
(吉林大學(xué) 儀器科學(xué)與電氣工程學(xué)院,吉林 長春 130021)
基于FPGA的直接數(shù)字合成信號源設(shè)計
張林行,尚小虎,趙美聰,劉 陽
(吉林大學(xué) 儀器科學(xué)與電氣工程學(xué)院,吉林 長春 130021)
以高級語言描述、系統(tǒng)級仿真和綜合技術(shù)為特征的第三代EDA工具為依托,以給被測電路提供一個性能較好的信號為目的,提出了基于現(xiàn)場可編程門陣列(FPGA)的直接數(shù)字合成(DDS)信號源。該信號源采用直接數(shù)字頻率合成技術(shù),從"相位"的概念出發(fā)進(jìn)行頻率合成。主控芯片采用CycloneII EP2C5T144C8N,實現(xiàn)整個電路的控制。波形的發(fā)生采用查表的方式,通過與單片機(jī)進(jìn)行簡單的并行通信,完成外部輸入數(shù)據(jù)與芯片內(nèi)部控制字的轉(zhuǎn)換,以D/A轉(zhuǎn)換器為核心構(gòu)成波形重構(gòu)電路。該信號源可以對產(chǎn)生的信號進(jìn)行頻率調(diào)節(jié)、相位調(diào)節(jié)、幅度調(diào)節(jié)。應(yīng)用了鎖相環(huán)技術(shù),使輸出信號頻率穩(wěn)定。與傳統(tǒng)信號源相比,該設(shè)計具有靈活可控、信號多樣、可靠性高等優(yōu)點。
信號源;直接數(shù)字合成;現(xiàn)場可編程門陣列;人機(jī)交互;串/并行通信;鎖相環(huán)
直接數(shù)字合成技術(shù)(Direct Digital Synthesis,DDS)基于取樣和計算,通過直接數(shù)字合成來生成波形信號,頻率和相位對于參考頻率可以調(diào)節(jié)[1]。直接數(shù)字合成信號源頻率分辨率高、切換速度快,便于集成[2]。
數(shù)字信號處理和集成電路向高速數(shù)據(jù)處理方向發(fā)展,對數(shù)據(jù)處理的要求越來越高,MCU(Micro Controller Unit)+DDS的頻率合成技術(shù)已經(jīng)不能滿足目前的數(shù)據(jù)處理速度要求。而現(xiàn)場可編程門陣列(Field Programmable Gate Array,F(xiàn)PGA)具有速度快、集成度高、存儲容量大的特點,F(xiàn)PGA+DDS的設(shè)計能夠?qū)崿F(xiàn)高速復(fù)雜數(shù)據(jù)處理的功能[3]。為了使電路的輸出時鐘與參考時鐘保持同步,采用了鎖相環(huán)(Phase Locked Loop,PLL)技術(shù),利用反饋實現(xiàn)了頻率及相位的同步?;贒DS原理并使用Altera Cyclone系列的FPGA芯片設(shè)計信號源,靈活可控、信號多樣、可靠性高。
MATLAB是用于算法數(shù)據(jù)可視化的交互式環(huán)境,基于MATLAB可以使產(chǎn)生的波形信號多樣化。使用MATLAB產(chǎn)生實時的波形數(shù)據(jù),通過串口通信發(fā)送給單片機(jī),再進(jìn)行單片機(jī)與FPGA之間的數(shù)據(jù)和控制信號的通信。結(jié)合單片機(jī)控制靈活和FPGA速度快、可靠性高的優(yōu)點,組成如圖1所示的現(xiàn)場可編程系統(tǒng)。這樣設(shè)計的DDS信號源節(jié)約了FPGA的存儲空間,加快了數(shù)據(jù)處理速度,提高了產(chǎn)生信號的穩(wěn)定性[4]。
使用MATLAB軟件產(chǎn)生波形數(shù)據(jù),將數(shù)據(jù)通過串口通信傳送給單片機(jī),再進(jìn)行單片機(jī)與FPGA通信,將波形數(shù)據(jù)和控制信號傳送給PFGA?;贔PGA,用Quartus2軟件通過VHDL語言進(jìn)行程序設(shè)計。設(shè)計PLL鎖相環(huán)來控制不同工作時鐘,保證內(nèi)外工作頻率的同步性[5];設(shè)計頻率產(chǎn)生及控制部分,通過尋址波形ROM來產(chǎn)生波形數(shù)據(jù),并進(jìn)行頻率調(diào)節(jié)和相位調(diào)節(jié)。再經(jīng)過D/A轉(zhuǎn)換,輸出波形信號。通過控制DAC (Digital to Analog Converter)芯片的基準(zhǔn)電壓控制輸出信號的幅度最后通過數(shù)模轉(zhuǎn)換。
圖1 總設(shè)計原理框圖Fig.1 Block diagram of the total design
用PC機(jī)和單片機(jī)作為波形數(shù)據(jù)選擇控制系統(tǒng),并將波形數(shù)據(jù)和控制信號通過串/并行通信傳送給 FPGA[6]。選用CycloneII EP2C5T144C8N芯片作為波形發(fā)生系統(tǒng),提供50M的系統(tǒng)時鐘送入FPGA芯片內(nèi)置的鎖相環(huán)如圖2所示,用VHDL語言設(shè)計鎖相環(huán)輸出一個50M的時鐘作為頻率生成與調(diào)節(jié)的工作時鐘。將系統(tǒng)時鐘16分頻后的時鐘作為串口模塊的工作時鐘,通過頻率控制模塊產(chǎn)生調(diào)節(jié)信號FSKOUT、PSKOUT、ASKOUT,從而進(jìn)行頻率調(diào)節(jié)、相位調(diào)節(jié)、幅度調(diào)節(jié),并將這些調(diào)節(jié)信號反饋到PC端。最后通過D/A轉(zhuǎn)換,將數(shù)字信號轉(zhuǎn)換成DDS信號源的輸出信號[4]。
圖2 鎖相環(huán)(PLL)原理圖Fig.2 Block diagram of PLL
頻率控制模塊的設(shè)計:
在頻率步進(jìn)控制方面,采用鍵盤輸入頻率值,并在頻率輸出后可以對頻率進(jìn)行微調(diào),微調(diào)量為輸出頻率的最小單位且要大于頻率分辨率。頻率的輸出范圍從毫赫茲到千赫茲,為了方便信號頻率的快速調(diào)節(jié),分別設(shè)計為毫赫茲、赫茲和千赫茲的3個檔位調(diào)節(jié)頻率,每個檔位都有其對應(yīng)的基準(zhǔn)頻率,系統(tǒng)的最小基準(zhǔn)頻率為100 Hz。根據(jù)公式(1)可得系統(tǒng)的最小輸出頻率可以達(dá)到1 mHz;由于輸出的最大頻率不超過系統(tǒng)時鐘的40%,以及數(shù)模轉(zhuǎn)換芯片轉(zhuǎn)換速度限制的原因,根據(jù)公式(2),設(shè)計系統(tǒng)最大輸出頻率為20 kHz。通過系統(tǒng)設(shè)計的算法把輸入的頻率值換算成相應(yīng)的頻率控制字來實現(xiàn)頻率的調(diào)節(jié)。
用f表示輸出頻率,用k表示頻率控制字,fc表示各自檔位對應(yīng)的基準(zhǔn)頻率。由公式(1)可以算出,對于輸入的頻率值f,都可以算出其對應(yīng)的頻率控制字k。
相位累加器設(shè)計:
設(shè)計一個由N位全加器和累加寄存器組成的相位累加器,并用系統(tǒng)時鐘來控制相位累加器的工作。如圖3所示,當(dāng)頻率字為1,即系統(tǒng)時鐘產(chǎn)生上升沿時,全加器將上一個相位值與頻率字相加并送入累加寄存器。累加寄存器將數(shù)據(jù)輸入給波形存儲器,同時又將該次的相位值送回全加器[7]。
圖3 相位累加器設(shè)計Fig.3 Block diagram of the phase accumulator
頻率的微調(diào)量與最小輸入值必須大于頻率分辨率,累加器的字長要求為2×8的整數(shù)倍,為了滿足DDS信號源最小頻率的輸出,由公式(3)設(shè)計累加器字長為N=14。
波形ROM設(shè)計:
從噪聲功率的角度看,波形ROM的數(shù)據(jù)位數(shù)應(yīng)該與字長相一致或比字長稍長。由于選擇的是8位的DAC芯片,因而設(shè)定ROM的字長和DAC的位數(shù)保持一致即8位,從而確定ROM的數(shù)據(jù)位數(shù)。波形存儲器是利用相位累加器輸出的高8位對其進(jìn)行尋址的,并輸出該相位對應(yīng)的二進(jìn)制值[8]。用MATLAB編輯程序產(chǎn)生正弦數(shù)據(jù):
>>clear tic;
t=2*pi/256;
t=[0:t:2*pi];
y=128*sin(t)+128;
round(y);
t=0.0245;
ans;
將產(chǎn)生的波形數(shù)據(jù)進(jìn)行進(jìn)制轉(zhuǎn)換,轉(zhuǎn)為8位二進(jìn)制數(shù)據(jù),該數(shù)值與00000000-11111111區(qū)間內(nèi)的數(shù)據(jù)一一對應(yīng)。通過PC機(jī)與單片機(jī)、單片機(jī)與FPGA的串/并行通信將波形數(shù)據(jù)和控制信號傳送給FPGA。
調(diào)節(jié)幅度設(shè)計:
用兩片DAC芯片級聯(lián)[9-11],兩片DAC均直流5 V供電,其中第一片DAC基準(zhǔn)電壓也使用5 V,將其輸出電壓作為第二片DAC的基準(zhǔn)電壓,由此調(diào)節(jié)第一片DAC的輸入數(shù)據(jù)控制其輸出電壓。對于第二片DAC,其基準(zhǔn)電壓是可調(diào)的,從而實現(xiàn)了調(diào)節(jié)輸出電壓幅度的功能。
通過相關(guān)軟件工具的仿真和試驗后,將設(shè)計的信號源制作成品并進(jìn)行測試。用型號為GDS-2202A的Gwin數(shù)字示波器測試,該信號源可以產(chǎn)生正弦波、三角波、方波、矩形波等波形,信號的頻率、初始相位、幅度、占空比可通過按鍵控制,輸出信號的頻率穩(wěn)定,達(dá)到了設(shè)計目的,測試結(jié)果如表1~3所示。
表1 產(chǎn)生信號的頻率測試Tab.1 Test of the generated signal frequency
表2 產(chǎn)生信號的幅度測試Tab.2 Test of the generated signal amplitude
表3 產(chǎn)生信號的占空比測試Tab.3 Test of the generated signal phase
根據(jù)測試結(jié)果,頻率實測值精確度較高,誤差不超過理論值的0.3%,幅度調(diào)節(jié)誤差在理論值的1.0%以內(nèi),并且鋸齒波和矩形波的占空比可調(diào)。
本設(shè)計基于FPGA和直接數(shù)字合成(DDS)技術(shù)設(shè)計的信號源,通過人機(jī)交互使得產(chǎn)生的波形信號多樣化,實現(xiàn)了對產(chǎn)生信號的實時頻率調(diào)節(jié)、相位調(diào)節(jié)、幅度調(diào)節(jié)和占空比調(diào)節(jié)。
目前,在地磁探測、地震勘探、油氣探測等多個領(lǐng)域,都需要野外實測獲取數(shù)據(jù),因而存在數(shù)據(jù)的采集、保存、處理等問題,甚至需要在實驗室條件下對野外采集到的數(shù)據(jù)進(jìn)行復(fù)原,本設(shè)計對于野外采集數(shù)據(jù)在實驗室條件下的模擬有著實際的作用,并可以控制非周期信號的周期性發(fā)出以及周期性信號的單次發(fā)出[3]。
[1]林占江,林放.電子測量技術(shù)[M].北京:電子工業(yè)出版社,2012.
[2]漢澤西,張海飛,王文渤.基于DDS技術(shù)正弦波信號發(fā)生器的設(shè)計[J].電子測試,2009(8):65,66.
[3]王偉,趙吉祥.基于FPGA+DDS的控制設(shè)計[J].測控技術(shù),2008(6):13-15,19.
[4]章宇杰,支敏.基于FPGA的DDS實現(xiàn)[J].電子與封裝,2013,13(10):31-32.
[5]蔣濤,唐宗熙,張彪.一種基于DDS+PLL結(jié)構(gòu)的頻率合成器的設(shè)計[J].電子測量與儀器學(xué)報,2009,23(10):91-95.
[6]趙新雨,徐忠仁,付貴增.基于FPGA與單片機(jī)的SPI接口的實現(xiàn)[J].工業(yè)儀表與自動化裝置,2010(2):32,33.
[7]張凱琳,蘇淑靖,劉利生.基于FPGA的DDS多路信號源設(shè)計[J].電測與儀表,2011,48(543):63-65.
[8]鄭黃婷,賴萬昌,毛偉.基于FPGA的DDS波形信號發(fā)生器的設(shè)計[J].電子設(shè)計工程,2012,20(24):153-154.158.
[9]秦健.一種基于PWM的電壓輸出DAC電路設(shè)計[J].現(xiàn)代電子技術(shù),2004(14?):81-83.
[10]唐大偉,吳瓊之,孫寧霄.基于高速D/A AD9739 2.5GSPS的寬帶信號源[J].電子設(shè)計工程,2013(20):45-47.
[11]王倩,李燕,王虹現(xiàn).基于高速數(shù)模轉(zhuǎn)換器的通用雷達(dá)信號模擬器的設(shè)計[J].電子科技,2008(1):21-24.
ZHANG Lin-hang,SHANG Xiao-hu,ZHAO Mei-cong,LIU Yang
(College of Instrument Science and Electrical Engineering,Jilin University,Changchun 130021,China)
Based on the third generation electronic design automation(EDA)tools that is characterized by a high-level language description,system level simulation and synthesis technology,to provide a better signal to the circuit under test,a direct digital synthesis(DDS)signal source based on field programmable gate array(FPGA)is proposed.Used with DDS technology,frequency synthesis starts from the concept of"phase".Adopt CycloneII EP2C5T144C8N as the master chip to control the whole circuit.Realize the happening of the waveform with the method of look-up table.External input data and chip internal control word converse through the parallel communication with single-chip microcomputer.Use D/A converter as the core of waveform reconstruction circuit.The frequency,phase and amplitude of the signal are adjustable.Phase locked loop
(PLL)is used to make the output signal frequency stability.Compared with the traditional signal source,the design is of flexible control,signal diversity and high reliability etc.
signal generator;DDS;FPGA;HCI;serial/parallel communication;PLL
TN791
A
1674-6236(2016)01-0172-03
2015-04-01稿件編號:201504002
2013年度創(chuàng)新訓(xùn)練國家級項目(2013A65238)
張林行(1977—),男,山東壽光人,博士,副教授。研究方向:地震勘探方法與儀器研究。