周鈞 陳林輝
【摘 要】本設計是將現(xiàn)場可編程邏輯器件FPGA 與DDS 技術(shù)相結(jié)合,以Xilinx的FPGA Basys3開發(fā)板為平臺,Vivado集成開發(fā)軟件為環(huán)境,利用Verilog HDL語言設計出的組合波形發(fā)生器。將各波形的幅值轉(zhuǎn)化為相位并將其數(shù)字化后的數(shù)據(jù)存儲在ROM內(nèi),按照設定頻率,以相應頻率控制字Fre_control為步進,對相位進行累加,將累加相位值作為地址,通過該地址讀取存放在存儲器內(nèi)的波形數(shù)據(jù),經(jīng)數(shù)模轉(zhuǎn)換等外圍電路得到所需波形。
【關鍵詞】FPGA 組合波形發(fā)生器 Vivado
隨著可編程邏輯元器件的越發(fā)普及,F(xiàn)PGA在教學、生產(chǎn)等方面的用途日益增加。全球最老牌的PLD公司之一的賽靈思公司在2012年發(fā)布了Vivado集成開發(fā)環(huán)境加之近年Basys3開發(fā)設計板的問世,使得Verilog硬件描述語言越發(fā)受到開發(fā)者的青睞,也使得數(shù)字信號處理等變得越發(fā)高速和高效。本作品可以產(chǎn)生正弦波,方波,三角波等基本波形及其組合波形,通過添加波形數(shù)據(jù),可實現(xiàn)任意波形。且本作品波形質(zhì)量好,精度高,指標可媲美市場上出售的發(fā)生器。
1 總體的結(jié)構(gòu)
圖1所示為作品的總體結(jié)構(gòu)圖,具體表現(xiàn)為:將FPGA綜合而成的數(shù)字量輸出給外圍電路,通過DA轉(zhuǎn)換和低通濾波,使得數(shù)字信號變?yōu)槠交哪M信號,后經(jīng)由前級差分放大電路和幅度調(diào)節(jié)電路,產(chǎn)生標準的輸出信號。
2 系統(tǒng)的構(gòu)成
在Vivado上利用Verilog語言變成實現(xiàn)下面的數(shù)字電路(圖2)。其中系統(tǒng)時鐘f為100MHz,通過鎖相環(huán)PLL倍頻后提供給系統(tǒng)的時鐘fs為200MHz,相位累加器N為28位,這樣步進值step就是 ,為了使一個周期的采樣點數(shù)不少于8個,我們?nèi)藶樵O定頻率控制字Fre_control為25位。設K為頻率控制字的值,則輸出頻率fo= 。圖中的wave是三位變量,那么就有=8種波形,如需添加波形,wave的位數(shù)也需要相應增加。
我們的ROM查找表的深度為4096個點,寬度為12位,滿足采樣精度和DA轉(zhuǎn)換精度,圖3所示為我們其中一種波形(正弦波)的仿真波形。
3 組合波形及其他波形的實現(xiàn)
組合波形的實現(xiàn)主要是由基本波形疊加而來,兩兩疊加波形就是將三種基本波形幅值除以二后進行數(shù)字累加,三種波形的疊加則除以三,這樣得到的組合波形和原來的三種基本波形是同頻同幅的。
另外要想實現(xiàn)其他波形,我們只需將波形對應的4096個點添加進ROM,在Vavido中添加選擇該波形的程序,然后綜合、實現(xiàn)、生成bit文件再下載就可以實現(xiàn)了。
4 步進值的設計
步進值的設計是本作品的核心和亮點。我們巧妙利用Basys 3開發(fā)板上的5個按鍵:將其中之一作為復位按鍵,兩個作為加和減的控制鍵,另外兩個一個能夠使步進值以十倍的速率遞增,另一個以十倍的速率遞減。最小步進值是0.75,然后就是7.5,75,這樣可以使頻率的調(diào)節(jié)更加方便和快捷。
5 結(jié)語
該組合波形發(fā)生器基于Xilinx的Basys 3開發(fā)板,性能穩(wěn)定。具有波形可調(diào),幅值可調(diào),頻率可調(diào),步進值可調(diào)以及添加任意波形的功能。另外,我們還增加了掃頻的功能。該作品是一款功能多樣化,結(jié)構(gòu)簡單,設計方便,精度準確,價格低廉的作品。
參考文獻:
[1]陳學英.李穎.FPGA應用實驗教程.北京:國防工業(yè)出版社,2013.
[2]何賓.Xilinx FPGA權(quán)威設計指南.北京:電子工業(yè)出版社,2015.
[3]夏宇聞.Verilog數(shù)字系統(tǒng)設計教程.北京:北京航空航天大學出版社,2013.