在現(xiàn)代電子產(chǎn)品的故障維修或檢測中,需要的是穩(wěn)定的頻率和幅度來滿足自動調(diào)節(jié)的正弦信號源,并且要求轉(zhuǎn)換速度快,具有調(diào)頻、調(diào)幅、調(diào)相的功能。本文原理與實際相結(jié)合,提出一種基于單片機和FPGA的直接頻率數(shù)字合成器的設(shè)計方案,產(chǎn)生兩路頻率和相位調(diào)節(jié)的正弦波信號,并達到預(yù)期效果。
1.系統(tǒng)方案設(shè)計
1.1 系統(tǒng)的性能分析
系統(tǒng)主要由單片機最小系統(tǒng)、存儲器電路、FPGA模塊、鍵盤與顯示接口電路、D/A轉(zhuǎn)換電路、低通濾波電路組成,其硬件框圖如圖1所示。通過鍵盤輸入頻率控制字、相位控制字和幅值控制字,單片機最小系統(tǒng)控制FPGA模塊產(chǎn)生用戶需要的正弦波信號,再經(jīng)過DA轉(zhuǎn)換,最后通過低通濾波器生成平滑的正弦波信號。
系統(tǒng)的性能要求:頻率范圍20Hz~20KHZ,步進20Hz;差0o~359o,步進1o;兩路輸出正弦波信號,峰峰值分別在0.3V~5V變化;數(shù)字顯示頻率、相位差。
1.2 系統(tǒng)實現(xiàn)的原理
1.1.1 DDS的基本原理
直接數(shù)字頻率合成器(DDFS)的基本原理:
DDS是利用采樣定理,根據(jù)相位間隔對正弦信號進行取樣、量化、編碼,然后儲存在EPROM中構(gòu)成一個正弦查詢表,通過查表法產(chǎn)生波形。
它是由參考時鐘、相位累加器、正弦查詢表和D/A轉(zhuǎn)換器組成,如圖2所示。
相位累加器由N位加法器與N位累加寄存器級聯(lián)構(gòu)成,其原理框圖如圖3所示。每來一個時鐘脈沖Fc,N位加法器將頻率控制數(shù)據(jù)K與累加寄存器輸出的累加相位數(shù)據(jù)相加,把相加后的結(jié)果Y送至累加寄存器的輸入端。累加寄存器一方面將在上一時鐘周期作用后所產(chǎn)生的新的相位數(shù)據(jù)反饋到加法器的輸入端,以使加法器在下一時鐘的作用下繼續(xù)與頻率控制數(shù)據(jù)K相加;另一方面以相加后的結(jié)果形成正弦查詢表的地址,取出表中與該相位對應(yīng)的單元中的幅度量化正弦函數(shù)值,作為取樣地址值送入幅度/相位轉(zhuǎn)換電路。這樣就可把存儲在波形存儲器內(nèi)的波形抽樣值(二進制編碼)經(jīng)查找表查出,完成相位到幅值轉(zhuǎn)換。波形存儲器的輸出送到D/A轉(zhuǎn)換器,D/A轉(zhuǎn)換器將數(shù)字量形式的波形幅值轉(zhuǎn)換成所要求合成頻率的模擬量形式信號。
相位累加器的最大計數(shù)長度與正弦查詢表中所存儲的相位分隔點數(shù)相同,在取樣頻率(由參考時鐘頻率決定)不變的情況下,由于相位累加器的相位增量不同,將導(dǎo)致一周期內(nèi)的取樣點數(shù)不同,輸出信號的頻率也相應(yīng)變化。
如果設(shè)定累加器的初始相位,則可以對輸出信號進行相位控制。由采樣原理可知,如果使用兩個相同的頻率合成器,并使其參考時鐘相同,同時設(shè)定相同的頻率控制字、不同的初始相位,那么在原理上就可以實現(xiàn)輸出兩路具有一定相位差的同頻信號。