將虛擬儀器技術(shù)同FPGA技術(shù)結(jié)合,設(shè)計了一個頻率可控的DDS任意波形信號發(fā)生器。在闡述直接數(shù)字頻率合成技術(shù)的工作原理、電路構(gòu)成的基礎(chǔ)上,分別介紹了上位機虛擬儀器監(jiān)控面板的功能和結(jié)構(gòu),以及實現(xiàn)DDS功能的下位機FPGA器件各模塊化電路的作用。經(jīng)過設(shè)計和電路測試,輸出波形達到了技術(shù)要求,工作穩(wěn)定可靠。
信號發(fā)生器是一種常用的信號源,廣泛應(yīng)用于通信、測量、科研等現(xiàn)代電子技術(shù)領(lǐng)域。信號發(fā)生器的核心技術(shù)是頻率合成技術(shù),主要方法有:直接模擬頻率合成、鎖相環(huán)頻率合成(PLL)、直接數(shù)字合成技術(shù)(DDS)。DDS是開環(huán)系統(tǒng),無反饋環(huán)節(jié),輸出響應(yīng)速度快,頻率穩(wěn)定度高。因此直接數(shù)字頻率合成技術(shù)是目前頻率合成的主要技術(shù)之一。文中的主要內(nèi)容是采用FPGA結(jié)合虛擬儀器技術(shù),進行DDS信號發(fā)生器的開發(fā)。
1 DDS工作原理
圖1是DDS基本結(jié)構(gòu)框圖。以正弦波信號發(fā)生器為例,利用DDS技術(shù)可以根據(jù)要求產(chǎn)生不同頻率的正弦波。
DDS電路主要由相位累加器、相位調(diào)制器、正弦ROM查找表、DAC和低通濾波器構(gòu)成。其中,相位累加器是整個DDS的核心,完成相位累加的功能。下面對相位累加器的輸入即相位增量進行分析。
對于正弦信號發(fā)生器,它的輸出可以用下式來描述:Sout=Asinωt=Asin(2πfoutt) (1)
其中Sout是指該信號發(fā)生器的輸出信號波形,fout指輸出信號對應(yīng)的頻率。正弦信號的相位:θ=2πfoutt.在一個clk周期Tclk,相位θ的變化量為:
為了用數(shù)字化邏輯實現(xiàn)電路,必須對△θ進行數(shù)字量化,把2π切割成2N份,由此每個clk周期的相位增量△θ用量化值B△θ來表述:
其中θk-1指前一個clk周期的相位值。
由上面的推導(dǎo)可以看出,只要對相位的量化值進行簡單的累加運算,就可以得到正弦信號的當(dāng)前相位值,而用于累加的相位增量量化值B△θ(也叫頻率控制字)決定了信號的輸出頻率fout,并呈現(xiàn)簡單的線性關(guān)系。直接數(shù)字合成器DDS就是根據(jù)上述原理而設(shè)計的數(shù)字控制頻率合成器。
從本質(zhì)上看,DDS是一個恒定高頻率運行的多位計數(shù)器。在溢出時,通過利用一個多位控制字來設(shè)置計數(shù)器步進的尺寸,允許計數(shù)器過零。計數(shù)器的高階位用來尋址存儲設(shè)備,該設(shè)備保持生成的一個波形周期的數(shù)字記錄。高頻時鐘每前進一單位,計數(shù)器便步進一次,存儲器也將生成一個新的地址字,而新的波形數(shù)據(jù)值將會發(fā)送到DAC.DDS主要有3個優(yōu)點:1)輸出信號的頻率精度可以達到作為發(fā)生器參考信號使用的晶體控制振蕩器的水平;2)DDS發(fā)生器可以生成非常高的頻率精度;3)如果有RAM波形存儲器,那么DDS函數(shù)發(fā)生器可以重現(xiàn)幾乎任何波形。
2系統(tǒng)設(shè)計
該系統(tǒng)采用LabVIEW軟件完成上位機虛擬儀器的開發(fā),生成正弦波、方波、三角波、手工繪制波形和公式波形等波形數(shù)據(jù),實時顯示于前面板并通過VISA串口將波形數(shù)據(jù)傳送至FPGA存儲器。下位機采用Alter公司的FPGA芯片EP1C3T144C8開發(fā),通過VHDL語言軟件式的硬件設(shè)計方法完成DDS模塊開發(fā),根據(jù)頻率控制字數(shù)值讀取ROM中的波形數(shù)據(jù)送入D/A轉(zhuǎn)換器,最后通過低通濾波器完成平滑濾波輸出。
2.1虛擬儀器上位機面板開發(fā)
通過圖形化的虛擬儀器開發(fā)工具LabVIEW完成上位機的設(shè)計,主要功能有波形預(yù)覽、參數(shù)設(shè)置、數(shù)據(jù)傳送及數(shù)據(jù)保存。
圖2為虛擬儀器上位機主面板,通過串口設(shè)置窗口選擇通信端口,采用cluster捆綁各操作類型并通過case結(jié)構(gòu)判斷所選操作,選擇常規(guī)波形、公式波形及手繪波形會分別彈出對應(yīng)的編輯窗口顯示波形數(shù)據(jù)。如圖3和圖4所示,為選擇常規(guī)波形和手繪波形彈出的波形參數(shù)設(shè)置對話框,設(shè)置完相應(yīng)的波形后,單擊done按鈕確認。設(shè)置完波形后,可以點擊保存波形數(shù)據(jù),把繪制好的波形以二進制文本形式進行保存。