基于FPGA的掃頻信號源的研究與設(shè)計(jì)
掃頻技術(shù)是電子測量中的一種重要技術(shù),廣泛用于調(diào)頻放大器、寬頻帶放大器、各種濾波器、鑒相器以及其他有源或無源網(wǎng)絡(luò)的頻率特性的測量。掃頻信號源是整個(gè)測量系統(tǒng)設(shè)計(jì)的關(guān)鍵環(huán)節(jié)之一,隨著被測量的頻率和精度要求的不斷提高,由傳統(tǒng)的晶體振蕩器設(shè)計(jì)的掃頻信號源已不能滿足要求。因此,近年來出現(xiàn)一種直接數(shù)字頻率合成技術(shù)(DDS),它采用數(shù)字電路合成所需波形,具有精度高、產(chǎn)生信號信噪性能好、頻率分辨率高、轉(zhuǎn)換速度快等優(yōu)點(diǎn)。本文設(shè)計(jì)的掃頻信號源是基于DDS技術(shù),并在Altera公司的EP2C20上實(shí)現(xiàn)邏輯綜合、布局布線、時(shí)序仿真及功能驗(yàn)證。DDS電路、掃頻信號的控制及顯示電路均集成在FPGA中實(shí)現(xiàn)了片內(nèi)集成,不僅減小了電路尺寸,而且還增強(qiáng)了抗干擾性,使可靠性得到了進(jìn)一步的提高。該掃頻信號源克服了傳統(tǒng)掃頻信號源電路復(fù)雜、價(jià)格昂貴、體積龐大等缺點(diǎn),具有掃頻和點(diǎn)頻兩種頻率輸出方式及測頻、掃速控制等功能。
1 掃頻技術(shù)的原理
將正弦信號加入線性時(shí)不變系統(tǒng),其穩(wěn)態(tài)響應(yīng)是與輸入信號相同頻率的正弦量,但它的幅值和相位則決定于具體系統(tǒng)的動態(tài)特性。為此,就需要分析在正弦信號作用下,一定頻率范圍內(nèi)系統(tǒng)的輸出量和輸入量的幅值比和相位的變化規(guī)律,即系統(tǒng)的頻率特性。一個(gè)系統(tǒng)輸出量與輸入量之比稱為頻率響應(yīng)函數(shù)。即:
其中,頻率響應(yīng)的模A(ω)=∣H(ω)∣是表征輸出與輸入的幅度之比,稱為系統(tǒng)的幅頻特性。頻率響應(yīng)的相位φ(ω)= ∠H(ω)是表征輸出與輸入的相位之差,稱為系統(tǒng)的相頻特性。
為了測量系統(tǒng)的頻率響應(yīng),可以對系統(tǒng)采用逐點(diǎn)掃描的方法,也可以采用掃頻的方法。采用掃頻的方法通常需要利用掃頻信號發(fā)生器產(chǎn)生一定頻率范圍的掃頻信號,并將這一信號加到被測系統(tǒng)的輸入端。同時(shí),測出該系統(tǒng)對應(yīng)的掃頻輸出。則測出的輸出信號與對應(yīng)的輸入信號幅度之比就是系統(tǒng)的幅頻特性。輸出信號與對應(yīng)的輸入信號的相位之差就是系統(tǒng)的相頻特性。
2 基于DDS技術(shù)掃頻信號源的設(shè)計(jì)與實(shí)現(xiàn)
2.1 DDS掃頻信號源系統(tǒng)組成原理
掃頻信號源是掃頻儀的重要組成部分,用于產(chǎn)生測試的正弦掃頻信號。其輸出的掃頻信號應(yīng)是等幅的,掃頻范圍應(yīng)是可調(diào)的,掃頻規(guī)律可以是線性掃頻或?qū)?shù)掃頻。本系統(tǒng)以FPGA為平臺,運(yùn)用DDS技術(shù)實(shí)現(xiàn)掃頻信號源。與傳統(tǒng)的頻率合成器相比,DDS是實(shí)現(xiàn)電子設(shè)備全數(shù)字化的一個(gè)關(guān)鍵技術(shù)。DDS中主要包括頻率控制寄存器、相位累加器和正弦計(jì)算器3部分。其中,頻率控制寄存器用來裝載并寄存用戶輸入的頻率控制字。相位累加器則根據(jù)頻率控制字在每個(gè)時(shí)鐘周期內(nèi)進(jìn)行相位累加,得到正弦波的相位值;正弦計(jì)算器則計(jì)算數(shù)字化正弦波的幅度。DDS輸出的一般是數(shù)字化的正弦波,因此還需經(jīng)過D/A轉(zhuǎn)換器和低通濾波器才能得到一個(gè)可用的模擬信號。
本文設(shè)計(jì)的以FPGA為實(shí)現(xiàn)平臺的DDS掃頻信號源原理圖如圖1所示,DDS所產(chǎn)生的是固定頻率的信號,其頻率控制字FSW與輸出信號,fout和參考頻率的fc之間的關(guān)系為:
掃頻信號源只需在DDS原理圖的基礎(chǔ)上增加頻率累加器,每來一個(gè)時(shí)鐘脈沖,頻率累加器根據(jù)起始頻率和頻率增量產(chǎn)生瞬時(shí)頻率,然后經(jīng)過相位累加器運(yùn)算輸出掃頻信號的瞬時(shí)相位,以此相位值尋址正弦值存儲表,通過查表得到與相位值對應(yīng)的幅度量化值;在下個(gè)周期來臨時(shí),頻率累加器一方面將在上一個(gè)時(shí)鐘周期作用后所產(chǎn)生的新的頻率數(shù)據(jù)反饋到頻率加法器的輸入端,以使頻率加法器繼續(xù)累加,頻率累加的瞬時(shí)值與上一個(gè)周期相位累加器反饋到相位加法器輸入端的數(shù)據(jù)累加,然后再依此周期累加的相位值重新尋址正弦值存儲表,得到對應(yīng)的幅度量化值。
掃頻信號源頻率分辨率fstep直接取決于DDS的頻率最小分辨率△fmin計(jì)算公式如下:
掃頻信號源需要給定起始頻率,fstart終止頻率fstop和每個(gè)周期的頻率增量△f,掃頻信號源的起始頻率控制字start_fsw、終止頻率控制字stop_fsw和頻率增量控制字inc_fsw分別為:
2.2 相位累加器的設(shè)計(jì)
相位累加器由加法器和寄存器構(gòu)成。加法器完成加法,寄存器將加法器的結(jié)果加以保存作為下一次相加用,周而復(fù)始直到加法器出現(xiàn)溢出。
在研究過程中,取相位累加器的輸出位數(shù)是32位,而對于“一次多位”的加法器來講,最長的延遲來自進(jìn)位的脈沖通過所有階段的時(shí)候。目前已經(jīng)采取了許多技術(shù)來縮短這一進(jìn)位延遲,由于在老一代FPGA中沒有提供內(nèi)部快速進(jìn)位邏輯,可以通過跳躍進(jìn)位、先行進(jìn)位和進(jìn)位選擇加法器來提高加法運(yùn)算的速度,但是在現(xiàn)代FPGA系列中都具有特別快的“脈沖進(jìn)位邏輯”,所以本設(shè)計(jì)采用進(jìn)位流水線技術(shù),這樣不但提高了累加器的運(yùn)算速度,而且降低了設(shè)計(jì)復(fù)雜度。流水線技術(shù)是將一個(gè)算術(shù)操作分解成一些基本操作以達(dá)到提高工作速度的一種技術(shù),因此流水線加法器可以作為提高加法器速度的首選。本設(shè)計(jì)將32位累加器分成4條流水線,每條流水線完成8位的加法運(yùn)算,流水線的進(jìn)位進(jìn)行級聯(lián)。采用流水線結(jié)構(gòu)可以提高器件的運(yùn)算速度。
由于頻率控制字只在頻率控制字更新后的前4個(gè)周期變化,以后各個(gè)周期不再變化。基于這種情況,可以對累加器進(jìn)行改進(jìn),從而節(jié)省部分存儲器。改進(jìn)的流水線的結(jié)構(gòu)圖及在FPGA中綜合結(jié)果如圖2所示。
當(dāng)頻率控制字開始變化時(shí),DDS控制器發(fā)送控制信號Start,開始輸出控制信號,第一個(gè)時(shí)鐘上升沿到來,將clk1置高,頻率控制字FSW的低8位寫入第一級流水線的寄存器,第二個(gè)時(shí)鐘上升沿到來,寫入FSW的次低8位,以此類推,第四個(gè)時(shí)鐘周期上升沿到來,完成數(shù)據(jù)輸入。在以后的周期內(nèi),這些數(shù)據(jù)將保持不變,直至下一次數(shù)據(jù)刷新。所以,此流水線設(shè)計(jì)不僅提高了速度,而且相對減少了寄存器的數(shù)量。在EP2C20中實(shí)現(xiàn)累加器,采用流水線累加器與傳統(tǒng)的累加器速度和資源比較如表1所示。
仿真結(jié)果表明,采用進(jìn)位級聯(lián)的流水線技術(shù),既能保證較高的資源利用率,又大幅度提高了系統(tǒng)性能和速度。
2.3 ROM壓縮算法
在設(shè)計(jì)中為節(jié)省ROM的空間,盡量節(jié)省芯片資源,通常累加器的寄存器輸出只有其高K位被用于頻率合成,其余的較低的N-K位則舍棄不用,這就是所謂的相位截?cái)?。在?shí)際應(yīng)用中,還希望進(jìn)一步節(jié)約ROM的占用,而ROM壓縮最簡單的方法是利用正弦信號的對稱性,利用一個(gè)象限的信號通過地址變換來表示全部的正弦信號。
sin(x)函數(shù)在0~2π區(qū)間內(nèi),它是關(guān)于x=π的奇函數(shù)。即:
所以只需將0~2π區(qū)間的相位編碼減去π,求出其幅度值后在加移負(fù)號,這樣的效果就相當(dāng)于直接對π~2π區(qū)間相位求sin值。這個(gè)負(fù)號要以數(shù)字編碼的形式表現(xiàn)出來,所以,π~2π區(qū)間的幅度序列是0~π區(qū)間幅度序列的補(bǔ)碼。在0~π區(qū)間,sin(x)函數(shù)是關(guān)于x=π/2的偶函數(shù)。所以:
可見,當(dāng)相位處于π/2~π區(qū)間時(shí),將此時(shí)的相位編碼減去π/2后,在以π/2為模對其求補(bǔ),這樣得到的相位值就是處于0~π/2區(qū)間并和原相位值有相同的函數(shù)值,在以這個(gè)相位碼對ROM尋址,得出的幅度就是π/2~π區(qū)間對應(yīng)幅值序列。即ROM中只存儲0~π/2的幅度序列,然后通過相位求補(bǔ),獲得0~π的幅度碼,通過幅度求補(bǔ)獲得π~2π的幅度碼。優(yōu)化后的相位碼到幅度碼的轉(zhuǎn)化框圖如圖3所示。
這樣就完成了整個(gè)波形的拼接,實(shí)現(xiàn)用ROM只存儲1/4周期波形而可以輸出整個(gè)周期,減少了ROM的2位地址,ROM表壓縮比達(dá)到了4:1,且硬件電路比較容易實(shí)現(xiàn)。
3 信號調(diào)理電路
信號調(diào)理電路包括低通濾波器和功率放大2部分。
經(jīng)過D/A轉(zhuǎn)化輸出信號含有高頻噪聲,故要對其進(jìn)行濾波處理,濾除不需要的頻率分量,以便輸出頻譜純凈的正弦信號。本系統(tǒng)選用7級橢圓低通濾波器,其截止頻率為9.8 MHz。功率放大部分是為了提高掃頻信號源驅(qū)動后級負(fù)載的能力。該放大電路選用高速寬帶運(yùn)放MAX 4117及三極管2N2905,2N2219,其帶寬可達(dá)到300 Mb/s,輸入輸出阻抗均為50 Ω。
4 系統(tǒng)性能及測試結(jié)果
本系統(tǒng)采用Altera公司的EP2C20F484C8為主控制器,D/A轉(zhuǎn)換器選用AD公司的AD9761,AD9761是一個(gè)雙通道,具有40 MSPS的精度為10位的高速CMOS DAC,并內(nèi)置2倍數(shù)插值FIR濾波器。
在QuartusⅡ中進(jìn)行時(shí)序仿真,系統(tǒng)的局部仿真結(jié)果如圖4所示。
通過QuartusⅡ中的嵌入式邏輯分析儀SignalTapⅡ分析結(jié)果如圖5所示。
測試結(jié)果表明,本系統(tǒng)設(shè)計(jì)的掃頻信號源在線性掃頻模式下,完全達(dá)到了預(yù)期的設(shè)計(jì)目的。
系統(tǒng)最終在硬件電路中測試結(jié)果如下:最大掃頻范圍:DC~10 MHz,掃頻寬度可在此范圍內(nèi)任意設(shè)定;最小掃頻步長:50 Hz;掃頻速度:100 Hz/s;輸出波形幅值范圍:0~5 V;幅值分辨率:50 mV。
5 結(jié)語
本掃頻信號源采用DDS技術(shù),完成對相位累加器和相位幅度轉(zhuǎn)化電路的優(yōu)化設(shè)計(jì),與相比利用FPGA芯片將掃頻信號源的硬件電路集成在一個(gè)片上系統(tǒng),提高整個(gè)系統(tǒng)的工作頻率,并減少了寄存器的占用數(shù)量。
所有電路模塊采用Verilog HDL語言進(jìn)行RTL級描述,并完成邏輯綜合、布局布線、時(shí)序仿真及硬件測試,最終在硬件電路上驗(yàn)證了整個(gè)系統(tǒng)設(shè)計(jì)的正確性。測試結(jié)果表明,該掃頻信號源的時(shí)鐘頻率可以穩(wěn)定的運(yùn)行于50 MHz,信號源的頻率分辨率可以達(dá)到0.1 Hz,掃頻范圍可以在0~10 MHz之間任意設(shè)定,完全滿足在中低端掃頻儀中應(yīng)用的要求。