基于FPGA和DDS技術(shù)的任意波形發(fā)生器設計
摘要:根據現代電子系統對信號源的頻率穩定度、準確度及分辨率越來(lái)越高的要求,結合直接數字式頻率合成器(DDS)的優(yōu)點(diǎn),利用FPGA芯片的可編程性和實(shí)現方案易改動(dòng)的特點(diǎn),提出了一種基于FPGA和DDS技術(shù)的任意波形發(fā)生器設計方案。采用VHDL和原理圖輸入方式,在Quar-tusⅡ平臺下實(shí)現該設計的綜合和仿真,用Matlab對仿真數據進(jìn)行處理及顯示,驗證了設計的正確性。通過(guò)設置參數可以靈活控制輸出頻率和分辨率。
關(guān)鍵詞:DDS;FPGA;波形發(fā)生器;VHDL
0 引言
隨著(zhù)現代電子技術(shù)的發(fā)展,在通訊、雷達、宇航、電視廣播、遙控遙測和電子測量等使用領(lǐng)域,對信號源的頻率穩定度、頻譜純度、范圍和輸出頻率提出了越來(lái)越高的要求。為了提高頻率穩定度,經(jīng)常采用晶體振蕩器等方法來(lái)解決,但已不能滿(mǎn)足眾多應用場(chǎng)合的要求。伴隨電子測量技能與計算機技能的緊密結合,一種新的信號發(fā)生器——任意波形發(fā)生器應運而生,它可產(chǎn)生由用戶(hù)定義的任意復雜的波形,因而具有廣闊的運用發(fā)展前景。目前設計波形發(fā)生器的要領(lǐng)通常有三種:
(1)傳統的直接頻率合成技能(DS)。該類(lèi)要領(lǐng)能實(shí)現高速頻率變換,具有低相位噪聲以及所有要領(lǐng)中最高的工作頻率。但由于采用大量的倍頻、分頻、混頻和濾波環(huán)節,導致其結構復雜、體積龐大、成本昂貴,而且容易產(chǎn)生過(guò)多的雜散分量。
(2)鎖相環(huán)式頻率合成器(PLL)。該類(lèi)技能具有良好窄帶跟蹤特征,可選擇所需頻率信號,抑制雜散分量,且省去大量濾波器,有利于集成化和小型化。但由于鎖相環(huán)本身是個(gè)惰性環(huán)節,鎖定時(shí)間較長(cháng),因而頻率轉換時(shí)間較長(cháng),且由模擬要領(lǐng)合成的正弦波參數(如幅度、頻率和相位等)都難以定量控制。
(3)直接數字式頻率合成器(direct digital frequency,DDS)。該類(lèi)要領(lǐng)具有高頻率穩定度、高頻率分辨率以及極短的頻率轉換時(shí)間。此外,全數字化結構便于集成,輸出相位連續,頻率、相位和幅度均可實(shí)現程控,而且理論上能夠實(shí)現任意波形。
鑒于DDS技術(shù)的優(yōu)點(diǎn),本文利用FPGA芯片的可編程性和實(shí)現方案易改動(dòng)的特點(diǎn),提出一種基于FPGA和DDS技術(shù)的任意波形發(fā)生器設計新方法。
1 DDS的基本原理
DDS的基本原理是利用采樣定理,通過(guò)查表法產(chǎn)生波形。DDS的結構有很多種,其基本的電路原理可用圖1來(lái)表示。
DDS是從相位概念出發(fā),直接對參考正弦信號進(jìn)行抽樣,得到不同的相位,通過(guò)數字計算技術(shù)產(chǎn)生對應的電壓幅度,最后濾波平滑輸出所需頻率。下面通過(guò)從相位出發(fā)的正弦函數產(chǎn)生描述DDS的概念。
圖1中,K為頻率控制字;N為相位累加器的字長(cháng);M為ROM地址線(xiàn)位數;m為ROM數據線(xiàn)位數,即DAC的位數;fc為DDS系統的參考時(shí)鐘源,通常是一個(gè)具有高穩定性的晶體振蕩器,為整個(gè)系統的各個(gè)組成部分提供同步時(shí)鐘。
DDS的數學(xué)模型可歸結為:在每一個(gè)時(shí)鐘周期T內,頻率控制字K與N比特相位累加器累加1次,同時(shí)對2N取模運算,得到的和(以N位二進(jìn)制數表示)作為相位值,以二進(jìn)制代碼的形式查詢(xún)正弦函數表ROM,再將相位信息轉變成相應的數字量化正弦幅度值。ROM輸出的數字正弦波序列經(jīng)數/模轉換器轉變?yōu)殡A梯模擬信號,最后通過(guò)低通濾波器平滑后得到一個(gè)純凈的正弦模擬信號,其頻率為:
相位累加器由N位加法器與N位累加寄存器級聯(lián)構成。每來(lái)一個(gè)時(shí)鐘脈沖fc,加法器將頻率控制字K與累加寄存器輸出的累加相位數據相加,把相加后的結果送至累加寄存器的數據輸入端。累加寄存器將加法器在上一個(gè)時(shí)鐘脈沖作用后所產(chǎn)生的新相位數據反饋到加法器的輸入端,以使加法器在下一個(gè)時(shí)鐘脈沖的作用下繼續與頻率控制字相加。這樣,相位累加器在時(shí)鐘作用下,不斷對頻率控制字進(jìn)行線(xiàn)性相位累加。由此可以看出,相位累加器在每一個(gè)時(shí)鐘脈沖輸入時(shí),把頻率控制字累加1次,相位累加器輸出的數據就是合成信號的相位,相位累加器的溢出頻率就是DDS輸出的信號頻率。用相位累加器輸出的數據作為波形存儲器(ROM)的相位取樣地址,這樣就可把存儲在波形存儲器內的波形抽樣值(二進(jìn)制編碼)經(jīng)查找表查出,完成相位到幅值轉換。波形存儲器的輸出送到D/A轉換器,D/A轉換器將數字量形式的波形幅值轉換成所要求合成頻率的模擬量形式信號。低通濾波器用于濾除不需要的取樣分量,以便輸出頻譜純凈的正弦波信號。
評論