簡述DDS原理及其基于FPGA的實現
FPGA(Field-Programmable Gate Array),即現場可編程門陣列,它是在PAL、GAL、CPLD等可編程器件的基礎上進一步發展的產物。它是作為專用集成電路(ASIC)領域中的一種半定制電路而出現的,既解決了定制電路的不足,又克服了原有可編程器件門電路數有限的缺點。FPGA一般來說比ASIC(專用集成芯片)的速度要慢,無法完成復雜的設計,而且消耗更多的電能。但是他們也有很多的優點比如可以快速成品,可以被修改來改正程序中的錯誤和更便宜的造價。廠商也可能會提供便宜的但是編輯能力差的FPGA.因為這些芯片有比較差的可編輯能力,所以這些設計的開發是在普通的FPGA上完成的,然后將設計轉移到一個類似于ASIC的芯片上。另外一種方法是用CPLD(復雜可編程邏輯器件備)。
用FPGA實現DDS的基本工作過程為:通過VXI接口電路將生成的數據存入固定數據RAM中,然后用FPGA設計的相位累加器來計算并選擇RAM中的數據存放地址,最后將數據給定的頻率控制字輸出,經DAC轉換即實現了任意波形輸出。原理圖如圖2所示。虛線部分可用FPGA來實現。
圖2中參考時鐘由高穩定的晶體振蕩器產生,主要用于控制DDS中各器件同步工作。虛線部分相當于相位累加器,它由N位加法器與N位相位寄存器構成,它實際上是一個計數器。每來一個時鐘脈沖,加法器將相位增量數據與相位寄存器輸出的累積相位數據相加,把相加后的結果送至相位寄存器的數據輸入端。相位寄存器將加法器在上一個時鐘作用后所產生的新相位數據反饋到加法器的輸入端,以使加法器在下一個時鐘的作用下繼續與頻率控制字相加。由此看來,相位累加器在每一個時鐘脈沖輸入時,把頻率控制字累加一次,相位累加器輸出的數據就是合成信號的相位,相位累加器的溢出頻率就是DDS輸出的信號頻率。
3 結束語
采用FPGA設計DDS電路,充分發揮了FPGA在系統可編程的優點,可以通過軟件靈活改變相關參數,給設計帶來很多方便。用FPGA設計DDS電路較采用專用DDS芯片更為靈活,只要改變FPGA中的ROM數據,DDS就可以產生所需波形數據,并且FPGA的功能完全取決于設計需要,因而具有相當大的靈活性,將DDS設計嵌入到FPGA芯片所構成的系統中,其系統成本并不會增加多少,因此,采用FPGA來設計DDS系統具有很高的性價比。
fpga相關文章:fpga是什么
評論