龍 芬
(咸寧職業(yè)技術(shù)學(xué)院機(jī)電工程系,湖北 咸寧 437100)
直接數(shù)字頻率合成技術(shù)(DDS)是近年來迅速發(fā)展的一種新型頻率合成方法,它將先進(jìn)的數(shù)字處理理論與方法引入信號合成領(lǐng)域,通過控制相位變化的速度來直接產(chǎn)生各種不同頻率的信號。DDS的基本原理如圖1所示,把一個單位振幅的正弦函數(shù)的相位在2π弧度內(nèi)分成2N個點(diǎn),求出相應(yīng)各點(diǎn)的正弦函數(shù)值,并用D位二進(jìn)制數(shù)表示,寫入ROM中構(gòu)成一個所謂的正弦表。在高速穩(wěn)定的參考時鐘控制下依次讀出每個相位對應(yīng)的正弦函數(shù)值,即得到采樣的正弦離散信號,經(jīng)D/A轉(zhuǎn)換得到需要的模擬信號,改變輸入時鐘頻率即可控制輸出信號的頻率[1-2]。
圖1 DDS的基本原理
根據(jù)DDS的原理分析可知,DDS輸出波形頻率為fo=Kfc/2N。最低輸出頻率(K=1)fmin=fc/2N,最高輸出頻率為fmax=fc/4,其中,fc為累加時鐘頻率;K為頻率控制字;N為累加器位數(shù)。
系統(tǒng)設(shè)計主要由主控制器模塊、FPGA模塊、D/A轉(zhuǎn)換模塊、濾波模塊、調(diào)幅模塊、按鍵輸入模塊、功率放大模塊及液晶顯示模塊構(gòu)成。系統(tǒng)框圖如圖2所示。采用STC89C51單片機(jī)作為系統(tǒng)的主控制器;FPGA模塊實(shí)現(xiàn)波形數(shù)據(jù)的存儲與輸出;D/A轉(zhuǎn)換模塊將波形數(shù)據(jù)轉(zhuǎn)換為模擬量。液晶顯示器用于顯示波形、幅度、頻率等。
圖2 系統(tǒng)方框圖
主控制器采用AT89C51單片機(jī),系統(tǒng)采用總線技術(shù),這樣僅占用了單片機(jī)的少量接口和IO資源就可以組建起整個系統(tǒng),使得硬件和軟件設(shè)計更方便,也利于擴(kuò)展,具體電路如圖3所示[3]。
圖3 主控制器電路
DDS系統(tǒng)包括相位增量寄存器、相位累加器、地址寄存器、波形存儲器、時鐘倍頻器及地址發(fā)生部分等模塊,內(nèi)部所有模塊用Verilog語言編寫或調(diào)用Quartus II中的已有l(wèi)pm庫文件。系統(tǒng)頂層設(shè)計用原理圖的方式進(jìn)行模塊間的連接,具體電路如圖4所示。當(dāng)改變波形存儲器中波形數(shù)據(jù)時,也就改變了輸出波形,可以通過波形選擇按鈕分別輸出正弦波、方波、三角波3種波形。
圖4 DDS波形產(chǎn)生電路
如圖5所示,將波形存儲ROM的輸出通過D/A轉(zhuǎn)換電路轉(zhuǎn)換為模擬信號,通過算法實(shí)現(xiàn)幅度控制并設(shè)置獨(dú)立按鍵執(zhí)行微調(diào),再通過濾波電路濾波,即可得到所需的波形。
由于輸出信號的功率較小,輸出有負(fù)載時,會有較大失真,帶負(fù)載能力差,要考慮到功率放大,對輸出的信號進(jìn)行放大。設(shè)計中功率放大采用功率放大芯片TDA2030A實(shí)現(xiàn),TDA2030A是意法半導(dǎo)體公司生產(chǎn)的單聲道功放IC,該IC體積小巧、輸出功率大、靜態(tài)電流小、動態(tài)電流大、負(fù)載能力強(qiáng),既可帶動4~16 Ω的負(fù)載,某些場合又可帶動2 Ω甚至1.6 Ω的低阻負(fù)載,且性價比高,具體電路如圖6所示。
軟件設(shè)計采用C語言編寫。軟件主要由主程序、液晶子程序和按鍵子程序等組成。軟件主流程如圖7所示。系統(tǒng)加電后,主程序的功能主要是完成系統(tǒng)初始化,包括液晶、頻率幅度等參數(shù)的初始化,更新顯示數(shù)字,循環(huán)掃描按鍵,根據(jù)按鍵輸入分別進(jìn)行頻率幅度的設(shè)定,通過幅度控制字的設(shè)定向DAC輸出幅度控制字,通過頻率控制字的輸入向FPGA寫頻率控制字,從而達(dá)到改變輸出波形頻率和幅值的目的,并在液晶顯示器上顯示出來。顯示效果如圖8所示[4]。
系統(tǒng)采用FPGA實(shí)現(xiàn)DDS電路,以AT89C51為主控制器,實(shí)現(xiàn)了輸出頻率范圍為1 Hz~10 MHz的正弦波、方波、三角波的信號發(fā)生器,并且幅值和頻率均可調(diào)節(jié),其最小步進(jìn)頻率可達(dá)1 Hz。測試結(jié)果表明,該設(shè)計具有頻帶寬、精度高、性能穩(wěn)定、成本低和操作界面友好等特點(diǎn)。用這種方法設(shè)計的波形發(fā)生器只要改變FPGA中ROM的數(shù)據(jù),DDS就可以產(chǎn)生任意波形,提高了設(shè)計的靈活性,降低了電路的復(fù)雜度,減少了電路設(shè)計時間和可能發(fā)生的錯誤,具有較高的性價比。
[1]田華,袁振東.電子測量技術(shù)[M].西安:西安電子科技大學(xué)出版社,2005.
[2]李博,馬娟娟.基于FPGA的DDS信號發(fā)生器的設(shè)計[J].伺服控制,2011(2):46-50.
[3]李建忠.單片機(jī)原理及應(yīng)用[M].西安:西安電子科技大學(xué)出版社,2001.
[4]潘志安,李學(xué)鋒.C語言程序設(shè)計基礎(chǔ)教程[M].武漢:華中師范大學(xué)出版社,2004.