高精度DDFS信號(hào)源FPGA實(shí)現(xiàn)
近年來(lái)電子信息技術(shù)飛速發(fā)展,使得各領(lǐng)域?qū)?a class="contentlabel" href="http://m.butianyuan.cn/news/listbylabel/label/信號(hào)源">信號(hào)源的要求不斷提高,不但要求其頻率穩(wěn)定度和準(zhǔn)確度高,頻率改變方便,而且還要求可以產(chǎn)生任意波形,輸出不同幅度的信號(hào)等。DDFS技術(shù)是自上世紀(jì)70年代出現(xiàn)的一種新型的直接頻率合成技術(shù)。DDFS技術(shù)是在信號(hào)的采樣定理的基礎(chǔ)上提出來(lái)的,從“相位”的概念出發(fā),進(jìn)行頻率合成,不但可利用晶體振蕩的高頻率穩(wěn)定度、高準(zhǔn)確度,且頻率改變方便,轉(zhuǎn)換速度快,便于產(chǎn)生任意波形等,因此,DDFS技術(shù)是目前高精密度信號(hào)源的核心技術(shù)。
1 DDFS技術(shù)原理及相關(guān)參數(shù)計(jì)算
DDFS技術(shù)的原理:將對(duì)正弦信號(hào)(或其他信號(hào))的采樣量化數(shù)據(jù)存入ROM存儲(chǔ)器中,在時(shí)鐘的控制下,依次或隔一定步進(jìn)讀取ROM中的數(shù)據(jù),再通過(guò)D/A轉(zhuǎn)換芯片轉(zhuǎn)換成模擬信號(hào),進(jìn)一步經(jīng)后級(jí)的低通濾波器、功率放大電路等來(lái)實(shí)現(xiàn)頻率合成。其主要的組成部分包括相位累加器、數(shù)據(jù)存儲(chǔ)ROM表、D/A轉(zhuǎn)換、低通濾波器及功率放大電路等。
根據(jù)DDFS原理,DDFS主要參數(shù)包括正弦信號(hào)的采樣點(diǎn)數(shù)N,最高輸出頻率fomax,最低輸出頻率fomin及頻率分辨率△fo等。本設(shè)計(jì)要產(chǎn)生1 Hz~10 MHz范圍內(nèi),步進(jìn)為1 Hz的正弦信號(hào),參數(shù)計(jì)算如下:
1)輸出頻率通式fo ,N為采樣點(diǎn)個(gè)數(shù),S為步進(jìn)長(zhǎng)度。
2)輸出最高頻率fomax ;根據(jù)奈奎斯特采樣定理,1個(gè)周期至少采樣兩個(gè)點(diǎn)才能保證原信號(hào)的頻率信息。而實(shí)現(xiàn)工程應(yīng)用中一個(gè)周期至少采樣16個(gè)點(diǎn)或更多點(diǎn),以保證輸出信號(hào)的質(zhì)量。輸出最高頻率要達(dá)10 MHz,所需的系統(tǒng)時(shí)鐘信號(hào)頻率fc為160 MHz。由于本文使用的外接晶振為50 MHz,則必須使用CycloneII系列FPGA自帶的數(shù)字鎖相環(huán)(PLL)對(duì)輸入時(shí)鐘進(jìn)行倍頻,以達(dá)到所需的時(shí)鐘頻率160 MHz??扇?倍頻到150 MHz。此時(shí)系統(tǒng)輸出的最高頻率為:fomax=150 MHz/16=9.375 MHz。雖然通過(guò)提高鎖相環(huán)的倍頻數(shù),可進(jìn)一步提高工作頻率,從而可以產(chǎn)生更高的輸出信號(hào)頻率,但由于在進(jìn)行DDFS模塊設(shè)計(jì)時(shí),其所能工作的最高頻率將制約著倍頻數(shù)。
3)輸出最低頻率fomin ;要做到fc/N=1 Hz,則N=2n=150M,n=log2(150 M)=[27.16]=28。即ROM中的采樣數(shù)據(jù)為150M點(diǎn),對(duì)應(yīng)的尋址ROM的地址位數(shù)據(jù)長(zhǎng)度為28位。
4)頻率分辨率△fo △fo=fc/2n,已知ROM的地址位至少為28位,本設(shè)計(jì)中取32位,這樣所得的fomin及△fo為150M/232=0.03492 Hz。
5)ROM數(shù)據(jù)1/4周期壓縮 ROM的尋址地址位長(zhǎng)度為32位,即所需的ROM單元數(shù)將為232個(gè)。但ROM中并不需要存儲(chǔ)這么多數(shù)據(jù)點(diǎn),因?yàn)閿?shù)據(jù)重復(fù)量非常大,只需存入一定量的點(diǎn)即可。本設(shè)計(jì)中,根據(jù)正弦信號(hào)周期內(nèi)的數(shù)據(jù)特點(diǎn),對(duì)周期正弦信號(hào)的(0,π/2)區(qū)間進(jìn)行1 024點(diǎn)的采樣,進(jìn)行12位的量化并存入ROM。這相當(dāng)于對(duì)(0,2π)區(qū)間進(jìn)行了4 096個(gè)點(diǎn)的采樣,ROM數(shù)據(jù)量壓縮為1/4。此時(shí),相位累加器輸出地址位相應(yīng)修改為30位。這樣以來(lái),在進(jìn)行數(shù)據(jù)輸出時(shí),對(duì)(π,2π)區(qū)間的數(shù)據(jù)要做取補(bǔ)的運(yùn)算。因?yàn)樵谶@個(gè)區(qū)間上正弦信號(hào)數(shù)據(jù)為負(fù)值。
6)ROM地址位長(zhǎng)度 通過(guò)數(shù)據(jù)壓縮,ROM的地址只需10位,此時(shí),只需要對(duì)相位累加器的30位地址位輸出值,取高10位用于ROM尋址即可。
7)步進(jìn)位長(zhǎng)度 步進(jìn)最大應(yīng)為232/24=228,即為28位的二進(jìn)制數(shù)。
2 DDFS的FPGA實(shí)現(xiàn)
本設(shè)計(jì)中DDFS模塊的設(shè)計(jì)原理圖如圖1所示。主要包括地址發(fā)生單元(相位累加器)、ROM存儲(chǔ)單元、補(bǔ)碼轉(zhuǎn)換電路及一些數(shù)據(jù)延時(shí)單元組成。工作每一個(gè)部分均采用VHDL語(yǔ)言進(jìn)行描述并生成模塊以便在頂層文件中進(jìn)行調(diào)用。
評(píng)論