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