基于DDS的高精度函數(shù)信號(hào)發(fā)生器的研制
掃描二維碼
隨時(shí)隨地手機(jī)看文章
摘要:基于直接數(shù)字頻率合成技術(shù)(DDS),采用單片機(jī)實(shí)現(xiàn)對(duì)DDS芯片AD9852的控制,提出一種高精度函數(shù)信號(hào)發(fā)生器的實(shí)現(xiàn)方案。重點(diǎn)介紹了單片機(jī)與AD9852的硬件接口電路、整個(gè)系統(tǒng)的軟件設(shè)計(jì)以及單片機(jī)中對(duì)48 b頻率控制字的處理方法。此方法在單片機(jī)程序設(shè)計(jì)中處理多于32 b的整型數(shù)據(jù)時(shí)具有借鑒意義。此系統(tǒng)具有高頻率、高精度的主要特
點(diǎn),且控制靈活方便,具有廣闊的應(yīng)用前景。
關(guān)鍵詞:DDS;AD9852;頻率控制字;信號(hào)發(fā)生器
直接數(shù)字頻率合成技術(shù)(Direct Digital Frequency Synthesis,DDS)是從相位概念出發(fā)直接合成所需波形的一種新的頻率合成技術(shù)。DDS技術(shù)具有相對(duì)帶寬寬、頻率轉(zhuǎn)換時(shí)間短、頻率分辨率高等優(yōu)點(diǎn),廣泛用于高精度頻率合成和任意信號(hào)發(fā)生。本文采用單片機(jī)控制DDS芯片,設(shè)計(jì)實(shí)現(xiàn)了一種高精度多波形的信號(hào)源。
1 DDS原理
DDS的基本結(jié)構(gòu)包括:相位累加器、正弦查詢表、數(shù)模轉(zhuǎn)換器(DAC)及低通濾波器等。DDS原理如圖1所示。
圖1中信號(hào)輸出頻率和參考時(shí)鐘頻率的關(guān)系表達(dá)式為:
其中:fo為輸出頻率,fosc為參考時(shí)鐘頻率,F(xiàn)TW為頻率控制字,N為頻率控制字的位數(shù)。由于N是一個(gè)固定值,那么只要改變FTW的大小就能得到所需要的頻率值,而且頻率的分辨率由N值決定,當(dāng)N值越大則分辨率越高。由Nyquist取樣定理可知,要恢復(fù)理想波形,在理想低通濾波器的條件下,輸出頻率必須小于時(shí)鐘參考頻率的用50%,即fo<1/2fosc,若超過(guò)這個(gè)范圍,則一階鏡像頻率就會(huì)落在Nyquist帶寬內(nèi)。而實(shí)際的LPF都有一個(gè)過(guò)渡帶的問(wèn)題,所以為了更好地去除一階鏡像帶來(lái)的雜散,一般將DDS的輸出頻率限制在O.4fosc內(nèi)??梢?jiàn)當(dāng)AD9852參考時(shí)鐘頻率為300 MHz時(shí),完全可以滿足輸出頻率為50 MHz的設(shè)計(jì)要求。
2 系統(tǒng)設(shè)計(jì)
2.1 硬件設(shè)計(jì)
系統(tǒng)設(shè)計(jì)原理如圖2所示。該設(shè)計(jì)選用單片機(jī)AT89C55作為控制核心,其與DDS芯片AD9852之間采用并口通信方式。單片機(jī)P1口作為L(zhǎng)CD液晶顯示的數(shù)據(jù)總線,P0口用于AD9852地址總線和并口傳輸?shù)臄?shù)據(jù)總線,使用鎖存器74ALS573實(shí)現(xiàn)P0口復(fù)用,74ALS573鎖存輸出的六位數(shù)值為AD9852內(nèi)部寄存器的地址。P2和P3口作為控制口用于鍵盤芯片HD7279和AD9852的控制。
由于AD9852使用CMOS工藝,供電電壓是3.3V,而單片機(jī)使用的是TLL電平,所以要在TLL電路與CMOS電路之間進(jìn)行電平轉(zhuǎn)換。該系統(tǒng)選擇了74LVTl6245作為5 V邏輯電平到3.3V邏輯電平的轉(zhuǎn)換器件。所需要輸出的頻率可通過(guò)按鍵設(shè)定得到,進(jìn)行的操作同時(shí)在液晶上進(jìn)行顯示。AD9852內(nèi)部系統(tǒng)時(shí)鐘頻率由外部有源晶振倍頻得到。
由于AD9852的內(nèi)部沒(méi)有低通濾波器,因此經(jīng)過(guò)內(nèi)部余弦DAC輸出的掃頻信號(hào)不可避免地含有高頻噪聲,所以信號(hào)輸出端口需外接低通濾波器抑制高頻干擾。該設(shè)計(jì)采用七階橢園函數(shù)濾波器。七階橢圓濾波器電路圖如圖3所示。
2.2 軟件設(shè)計(jì)
軟件設(shè)計(jì)主要分為菜單操作和頻率控制值計(jì)算兩部分。不同的按鍵代表著不同的數(shù)字和功能,除了正常的10個(gè)數(shù)字鍵0~9外,為了方便頻率值輸入,還設(shè)計(jì)了左右移動(dòng)鍵、刪除鍵、Output確認(rèn)輸出鍵等功能鍵。相應(yīng)的數(shù)值如頻率、相位、幅度輸入完成后按Output輸出鍵,即產(chǎn)生相應(yīng)的信號(hào)輸出。整體軟件設(shè)計(jì)流程圖如圖4所示。
2.3 48 b頻率控制字的處理
由于單片機(jī)C語(yǔ)言中數(shù)據(jù)運(yùn)算最多為32 b,如單精度Float型、Long長(zhǎng)整型,而Double雖是64 b但Keil C編譯時(shí)出錯(cuò),故將介紹一種在單片機(jī)中計(jì)算48 b頻率控制字的方法。
在該設(shè)計(jì)中取參考時(shí)鐘頻率fosc為300 MHz,在DDS的原理中介紹了輸出頻率的計(jì)算方法為:
那么根據(jù)式(1)就能推導(dǎo)出計(jì)算頻率控制字的表達(dá)式:
當(dāng)fo≤fL1時(shí),頻率控制字計(jì)算公式為:
FTW=(248*fo)/300 000 000△938 249.922 369*fo
當(dāng)fo>fL1時(shí),通過(guò)把48 b頻率控制字分成8 b+32 b+8 b,令最前面的8 b和最后面的8 b等于O,引入臨界頻率fL2,可由算式(1)計(jì)算得到:
fL2=300000000*2 40/2 48△1.17172MHz
當(dāng)fL1<fo≤fL2時(shí),得到頻率控制字計(jì)算公式為:FTW=(240*fo)/300 000 000△3 665.038 759*fo最后當(dāng)fo大于fL2,即把后16 b定為0,這時(shí)式(1)中N=32,則頻率控制字計(jì)算公式為:
此時(shí)頻率分辨率為(300 000 000*216)/248△0.07 Hz。同理可得當(dāng)輸出頻率小于fL1、大于fL1小于fL2時(shí)分辨率分別為1.07e一6 Hz和2.73e一4 Hz,本方案設(shè)計(jì)為輸出頻率低于1 MHz時(shí)分辨率為O.001 Hz,高于1 MHz時(shí)分辨率為O.1 Hz。由上可見(jiàn)此方法合理有效,解決了單片機(jī)48 b頻率控制字算法,同時(shí)也達(dá)到了很高的頻率分辨率和精確度。
3 結(jié) 語(yǔ)
針對(duì)目前市場(chǎng)上的函數(shù)發(fā)生器存在的頻帶范圍窄、精度不高、準(zhǔn)確度低、頻譜純度差等缺點(diǎn),設(shè)計(jì)了一款高精度高頻數(shù)控函數(shù)信號(hào)發(fā)生器,該函數(shù)發(fā)生器具有頻帶范圍寬、精度高、頻譜純度好、頻率輸出穩(wěn)定等優(yōu)點(diǎn)。經(jīng)測(cè)試頻率范圍可以達(dá)到50 MHz,頻率分辨率為0.001 Hz,并可以產(chǎn)生正弦波、FSK與BPSK波形??蓱?yīng)用于日常教學(xué)與科研工作中,在晶體濾波器測(cè)試、復(fù)雜通信系統(tǒng)測(cè)試、音頻系統(tǒng)測(cè)試、高性能視頻測(cè)試等領(lǐng)域有廣泛的應(yīng)用前景。