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