利用單片機(jī)和CPLD實(shí)現(xiàn)直接數(shù)字頻率合成(DDS)
直接數(shù)字頻率合成(DDS)技術(shù)是美國學(xué)者J.Tierncy,C.M.Rader和B.Gold在1971年首次提出的。這是一種全數(shù)字技術(shù),該技術(shù)從相位概念出發(fā)直接合成所需要的波形。同傳統(tǒng)的頻率合成技術(shù)相比,DDS技術(shù)具有很多優(yōu)點(diǎn):頻率切換時間短、頻率分辨率高、相位變化連續(xù)、容易實(shí)現(xiàn)對輸出信號的多種調(diào)制等[5]。但是由于當(dāng)時的技術(shù)以及器件水平的限制,它的性能指標(biāo)還無法與已有的技術(shù)相比,因此該技術(shù)當(dāng)時并沒有引起足夠的重視。最近幾年來,隨著技術(shù)和器件水平的提高,國外一些公司先后推出各種各樣的DDS專用芯片,如 Qualcomm公司的Q2230、Q2334, AD公司的AD9955、AD9850等[3]。這些產(chǎn)品的問世,為電路設(shè)計者提供了良機(jī),滿足了工程實(shí)際的需要。然而,商用DDS專用電路芯片也有它的的局限性,并不能滿足所有要求。例如,在實(shí)現(xiàn)線性調(diào)頻(LFM)等復(fù)雜的調(diào)制功能時,利用現(xiàn)有的商用芯片就會遇到一些困難[8]。由于近幾年來可編程器件CPLD 、現(xiàn)場可編程門陣列FPGA技術(shù)的迅速發(fā)展和廣泛應(yīng)用,使用可編程器件實(shí)現(xiàn)DDS技術(shù)也越來越受到人們的關(guān)注。
本文引用地址:http://butianyuan.cn/article/172132.htm1 DDS工作原理
DDS工作原理框圖如圖1所示,其實(shí)質(zhì)是以參考頻率源(系統(tǒng)時鐘)對相位進(jìn)行等可控間隔的采樣。由圖1可見,DDS包括由相位累加器和ROM查詢表構(gòu)成的數(shù)控振蕩源(NCO)、DAC以及低通濾波器(LPF)3部分。在每一個時鐘周期,N位相位累加器與其反饋值進(jìn)行累加,其結(jié)果的高M(jìn)位作為ROM查詢表的地址,然后從ROM中讀出相應(yīng)的幅度值送到DAC。低通濾波器LPF用于濾除DAC輸出中的高次諧波。因此通過改變頻率控制字K就可以改變輸出頻率fout。容易得到輸出頻率fout與頻率控制字K的關(guān)系為:fout=Kfc/2N,其中fc為相位累加器的時鐘頻率,N為相位累加器的位數(shù)。定義當(dāng)K=1為系統(tǒng)頻率分辨率,即。
2 系統(tǒng)的總體設(shè)計
系統(tǒng)的原理框圖如圖2所示,本系統(tǒng)主要由單片機(jī)部分、DDS主通道部分、鍵盤及顯示部分以及輸出信號調(diào)理等部分組成。
單片機(jī)芯片采用的是比較常見的AT80C31芯片。同時片外還各擴(kuò)展了1片程序存儲器2764與數(shù)據(jù)存儲器6264,分別用來存放運(yùn)行中所需的程序與隨機(jī)數(shù)據(jù)。
DDS主通道部分是我們設(shè)計的關(guān)鍵所在,該部分主要由相位累加模塊、地址總線控制模塊、數(shù)據(jù)總線控制模塊與波形數(shù)據(jù)存儲器EPROM、SRAM等組成。其中相位累加模塊、地址總線控制模塊和數(shù)據(jù)總線控制模塊都是在CPLD上實(shí)現(xiàn),采用的芯片是ALTERA公司的FLEX10K系列器件。我們將所需要合成的波形采樣數(shù)據(jù)固化在EPROM 2764中,但是我們知道EPROM的讀周期比較長,很難滿足系統(tǒng)的訪問時間要求。因此設(shè)計中又使用了1片HSRAM,在DDS系統(tǒng)合成波形的過程中,代替ROM進(jìn)行波形數(shù)據(jù)的快速查詢。
鍵盤和顯示部分是系統(tǒng)和用戶進(jìn)行交互的重要手段。這一部分的邏輯功能,也是在CPLD上實(shí)現(xiàn)的。
輸出信號調(diào)理部分是把從HSRAM中讀出的波形的數(shù)字幅度值首先轉(zhuǎn)換成模擬信號,然后再進(jìn)行放大、濾波處理后輸出。這一部份包括D/A轉(zhuǎn)換器、幅度放大器和濾波器。DAC器件采用AD公司的12位AD9713B,該器件特點(diǎn)是具有較高的更新速率(100 MSPS)和較低的功耗(725 mW)[1],因此特別適合于DDS信號合成。幅度調(diào)節(jié)電路使用的是雙極性放大器AD708、AD9617和AD9713所組成的電路。
3 系統(tǒng)總體工作狀態(tài)說明
前面已經(jīng)提到過,由于EPROM的讀取時間比較長,很難滿足系統(tǒng)對時間的要求,因此在系統(tǒng)中又增加了1片高速SRAM,作為波形數(shù)據(jù)緩存器。這樣,系統(tǒng)就有兩個工作狀態(tài):首先,系統(tǒng)開始工作時,需要將波形數(shù)據(jù)從EPROM調(diào)到HSRAM中,即波形數(shù)據(jù)的加載狀態(tài);數(shù)據(jù)加載完畢后,按照DDS合成原理進(jìn)行信號合成,即信號的合成狀態(tài)。系統(tǒng)設(shè)計中使用單片機(jī)的P1口控制這兩種工作狀態(tài)之間的切換。
3.1 波形數(shù)據(jù)的加載
單片機(jī)系統(tǒng)上電自檢完畢后,開始進(jìn)行波形數(shù)據(jù)加載過程。此時,地址總線控制模塊和數(shù)據(jù)總線控制模塊,將總線的控制權(quán)交給單片機(jī)系統(tǒng)。在該過程中,EPROM處于讀狀態(tài),而SRAM為寫狀態(tài)。8031 按照EPROM、SRAM的時序要求,將8 k的波形數(shù)據(jù)從EPROM加載到HSRAM中。該過程大概需要幾毫秒時間。
由此我們知道,用這種方法不僅能夠合成標(biāo)準(zhǔn)波形(如:正弦波、方波、三角波等),而且還可以合成各種非標(biāo)準(zhǔn)波形。對此我們只要通過數(shù)據(jù)采集器或PC機(jī)獲得8 K的波形數(shù)據(jù),然后存入到EPROM中,就可以按所需要的頻率輸出相應(yīng)波形。
3.2 波形合成電路的設(shè)計
當(dāng)波形數(shù)據(jù)加載完畢后,系統(tǒng)就可以進(jìn)行信號合成。單片機(jī)將接收到的頻率值轉(zhuǎn)換成頻率控制字,送到相位累加器。相位累加器在每一個時鐘周期進(jìn)行相位累加,然后將每次的累加和作為地址去尋址SRAM,讀出與該地址所對應(yīng)的波形幅度值,然后送到D/A轉(zhuǎn)換器轉(zhuǎn)換成模擬信號,最后經(jīng)幅度放大、濾波輸出。
評論