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