基于FPGA和DDS的信號源設(shè)計
4 DDS的FPGA實現(xiàn)
4.1 相位累加器與相位寄存器的設(shè)計
相位累加器與相位寄存器主要完成累加,實現(xiàn)輸出波形頻率可調(diào)功能。利用Quartus II可編程邏輯器件系統(tǒng)開發(fā)工具進行設(shè)計。首先,打開Quartus II軟件,新建一個工程管理文件,然后在此工程管理文件中新建一個Verilog HDL源程序文件,并用硬件描述語言Verilog HDL編寫程序?qū)崿F(xiàn)其功能。在設(shè)計過程中,可在一個模塊中描述。一個參考的Verilog HDL程序如下:本文引用地址:http://m.butianyuan.cn/article/152260.htm
4.2 基于1/4波形的存儲器設(shè)計
為了提高系統(tǒng)的分辨率和降低FPGA資源的利用率,采用基于1/4波形的存儲器設(shè)計技術(shù)。利用正弦波對稱性特點,只要存儲[O~π/2]幅值,通過地址和幅值數(shù)據(jù)變換,即可得到整個周期內(nèi)的正弦波,其設(shè)計原理如圖2所示。
用相位累加器輸出高2位,作為波形區(qū)間標志位。當最高位與次高位都為“0”時,表示輸出正弦波正處在[0~π/2]區(qū)間內(nèi),這時,地址與輸出數(shù)據(jù)都不需要變換;當最高位為“0”,次高位為“l(fā)”時,輸出正弦波正處在[π/2~π]區(qū)間內(nèi),這時,地址變換器對地址進行求補操作,而輸出數(shù)據(jù)不變;當最高位為“l(fā)”,次高位為“0”時,輸出正弦波正處在[π~3π/2]區(qū)間內(nèi),這時,地址不變,而輸出變換器對輸出數(shù)據(jù)進行求補操作;當最高位與次高位都為“l(fā)”時,輸出正弦波正處在[3π/2~2π]區(qū)間內(nèi),這時,地址和輸出數(shù)據(jù)都進行求補操作。
5 D/A轉(zhuǎn)換電路
數(shù)據(jù)轉(zhuǎn)換器輸出的數(shù)據(jù)是數(shù)字形式的電壓值,為實現(xiàn)數(shù)字電壓值與模擬電壓值之間的轉(zhuǎn)換,系統(tǒng)還專門設(shè)計D/A轉(zhuǎn)換電路,其D/A轉(zhuǎn)換電路原理圖如圖3所示。
為降低設(shè)計成本,采用8位廉價DAC0832作為轉(zhuǎn)換器。該器件是倒T型電阻網(wǎng)絡(luò)型D/A轉(zhuǎn)換器,因其內(nèi)部無運算放大器,輸出為電流,所以要外接運算放大器,本文采用LM324型運算放大器。DAC0832可根據(jù)實際情況接成雙緩沖、單緩沖和直沖3種形式,這里采用第3種連接形式,即引腳1、引腳2、引腳17、引腳18接低電平,引腳19接+5 V。引腳8為參考電壓輸入端口.接至+1O V的電源,當數(shù)字輸入端全為高電平時,模擬輸出端為+10 V。
評論