引言 近年來電子信息技術飛速發展,使得各領域對信號源的要求不斷提高,不但要求其頻率穩定度和準確度高,頻率改變方便,而且還要求可以產生任意波形,輸出不同幅度的信號等。DDFS技術是自上世紀70年代出現的一種新型的直接頻率合成技術。DDFS技術是在信號的采樣定理的基礎上提出來的,從“相位”的概念出發,進行頻率合成,不但可利用晶體振蕩的高頻率穩定度、高準確度,且頻率改變方便,轉換速度快,便于產生任意波形等,因此,DDFS技術是目前高精密度信號源的核心技術。 1 DDFS技術原理及相關參數計算 DDFS技術的原理:將對正弦信號(或其他信號)的采樣量化數據存入ROM存儲器中,在時鐘的控制下,依次或隔一定步進讀取ROM中的數據,再通過D/A轉換芯片轉換成模擬信號,進一步經后級的低通濾波器、功率放大電路等來實現頻率合成。其主要的組成部分包括相位累加器、數據存儲ROM表、D/A轉換、低通濾波器及功率放大電路等。 根據DDFS原理,DDFS主要參數包括正弦信號的采樣點數N,最高輸出頻率fomax,最低輸出頻率fomin及頻率分辨率△fo等。本設計要產生1 Hz~10 MHz范圍內,步進為1 Hz的正弦信號,參數計算如下: 1)輸出頻率通式fo ,N為采樣點個數,S為步進長度。 2)輸出最高頻率fomax ;根據奈奎斯特采樣定理,1個周期至少采樣兩個點才能保證原信號的頻率信息。而實現工程應用中一個周期至少采樣16個點或更多點,以保證輸出信號的質量。輸出最高頻率要達10 MHz,所需的系統時鐘信號頻率fc為160 MHz。由于本文使用的外接晶振為50 MHz,則必須使用CycloneII系列FPGA自帶的數字鎖相環(PLL)對輸入時鐘進行倍頻,以達到所需的時鐘頻率160 MHz。可取3倍頻到150 MHz。此時系統輸出的最高頻率為:fomax=150 MHz/16=9.375 MHz。雖然通過提高鎖相環的倍頻數,可進一步提高工作頻率,從而可以產生更高的輸出信號頻率,但由于在進行DDFS模塊設計時,其所能工作的最高頻率將制約著倍頻數。 3)輸出最低頻率fomin 要做到fc/N=1 Hz,則N=2n=150M,n=log2(150 M)=[27.16]=28。即ROM中的采樣數據為150M點,對應的尋址ROM的地址位數據長度為28位。 4)頻率分辨率△fo △fo=fc/2n,已知ROM的地址位至少為28位,本設計中取32位,這樣所得的fomin及△fo為150M/232=0.03492 Hz。 5)ROM數據1/4周期壓縮 ROM的尋址地址位長度為32位,即所需的ROM單元數將為232個。但ROM中并不需要存儲這么多數據點,因為數據重復量非常大,只需存入一定量的點即可。本設計中,根據正弦信號周期內的數據特點,對周期正弦信號的(0,π/2)區間進行1 024點的采樣,進行12位的量化并存入ROM。這相當于對(0,2π)區間進行了4 096個點的采樣,ROM數據量壓縮為1/4。此時,相位累加器輸出地址位相應修改為30位。這樣以來,在進行數據輸出時,對(π,2π)區間的數據要做取補的運算。因為在這個區間上正弦信號數據為負值。 6)ROM地址位長度 通過數據壓縮,ROM的地址只需10位,此時,只需要對相位累加器的30位地址位輸出值,取高10位用于ROM尋址即可。 7)步進位長度 步進最大應為232/24=228,即為28位的二進制數。 2 DDFS的FPGA實現 本設計中DDFS模塊的設計原理圖如圖1所示。主要包括地址發生單元(相位累加器)、ROM存儲單元、補碼轉換電路及一些數據延時單元組成。工作每一個部分均采用VHDL語言進行描述并生成模塊以便在頂層文件中進行調用。 圖1 DDFS的FPGA實現 1)相位累加器(地址發生單元) 設計思路為根據輸入的STep值,計算出1/4周期采樣的點數m,然后在時鐘作用下進行計數,當計數值達m個時,說明一個象限內已經取完點,此時象限控制字自加1,計數變量重新置零,此時依次產生了如下(0,Step,…,(m-1)Step)的30位二進制地址。截取此地址位的高10位即可用于對ROM空間的尋址。根據正弦信號的特點,下一象限產生的地址應該為:((m-1)Step,(m-2)Ste-p,…,0),依此類推。且象限控制字自加。 2)ROM存儲單元 ROM存儲單元的數據可以通過Matlab進行計算獲得,并將其存儲為dds_sin.mif。也可采用其他高級語言來獲得ROM存儲數據。 3)補碼轉換電路 (0,π)數據直接輸出,(π,2π)象限的數據應進補碼運算。對此補碼電路稍作修改,即可同時輸出相位正好相反的兩路正弦信號。 4)數據延時單元 為了使地址單元輸出的象限控制字等與異步ROM配合工作,應對相應的數據進行延時,以保證輸出數據的正確。本設計中對相位控制字延了一個時鐘周期。 3 DDFS設計模塊性能及所占資源分析 1)DDFS模塊時序分析 首先應當分析DDFS模塊的最大時鐘頻率fmax,因為它決定著系統能否工作在150 MHz或更高的時鐘頻率。通過Qu-artusII6.0自帶的Timing Analyzer Tools時序分析,本設計中的DDFS模塊的fmax=179.18 MHz,高于150 MHz。故本設計理論上可輸出的正弦信號的最高頻率可達11.198 MHz。 2)DDFS模塊資源分析 本設計使用的是FPGA為Ahem公司的CycloneⅡ系列芯片EP2C5Q208C8,所設計的DDFS模塊所占片上資源邏輯單元僅為2%,所占的數據存儲空間為12 288 bits,約占總的數據存儲空間119 808 bits的10%。可見,通過對ROM存儲表進行數據后,DDFS模塊所占片存儲資源較少。因此,FPGA上ROM資源允許調用若干DDFS模塊來完成各種功能模塊,如2-PSK、2-FSK、2-ASK等數字調制。 4 系統性能仿真與測試 以DDFS模塊為基礎,本設計實現了兩組反相的正弦信號、余弦信號、三角波信號、鋸齒波、2-PSK、2-FSK、2-ASK等數字調制信號、掃頻及任意次波形輸出等功能。 在本設計中,仿真主要通過QuartusII6.0自帶的Simulator Tool來進行數據仿真。從仿真圖上可驗證該設計的正確性。同時,通過Qu-artusII6.0自帶的Signal TapⅡ邏輯分析儀來進行邏輯功能的硬件驗證。 1)基本正弦信號輸出 在本設計中同時產生兩組信號,一組為正弦信號,另一組與之反相。圖2是步進長度設定為(50 000 000)10時的正弦信號Signal Tap II采樣圖,其頻率分別為fo=582.076 6 kHz。此時輸出信號為可產生的最高頻率。從所獲得的輸出信號的波形上看,頻率較低時,曲線穩定且光滑;頻率較高時,波形失真也并不大,可以通過后級濾波網絡進行波形的進一步平滑。且頻率穩定度相當高。 圖2 S= (50 000 000)10時的正弦信號Signal Tap II采樣圖 在外部時鐘50 MHz的頻率下,可以獲得的最高頻率約為3.125 MHz,最低頻率及頻率步進可以低至11.64 MHz。當對外部時鐘信號倍頻至150 MHz后,最高輸出頻率可以達到9.375 MHz,最低頻率及頻率步進可以低至34.925 MHz。進一步提高頻率及模塊性能,能獲得更大頻率范圍的信號。 另外,從圖中可以看出,實際上地址輸出信號是一組頻率為正弦信號頻率兩倍的三角波信號。可見,在產生正弦信號輸出的同時,還可以產生一組2倍頻的三角波輸出信號,只需取地址位的高12位作為輸出即可。 2)2-ASK、2-FSK、2-PSK數字調制信號 要產生2-ASK、2-FSK、2-PSK等數字調制信號比較容易。只需將數字基帶信號在其傳輸時鐘信號的作用下,逐位輸入模塊,用基帶數字信號的‘1’和‘0’來選擇不同幅度、頻率或相位的正弦信號輸出即可。 2-ASK信號:用3.125 MHz的信號表示數字信號的‘1’,用輸出幅度為0表示數字信號的‘0’。 2-FSK信號:用3.125 MHz的信號表示數字信號的‘0’,用582.077 kHz的信號表示數字信號的‘1’,如圖3所示。 圖3 2-FSK信號字調制信號 2-PSK信號:用初始相位為0的正弦信號的‘1’,用初始相位為180°的信號表示數字信號的‘0’。如圖4所示。 圖4 2-PSK信號字調制信號 3)掃頻功能 掃頻功能的實現是通過改變步進來實現的。每產生一個周期的正弦信號以后,將步進遞加,為便于觀測,設計中設置S初始值為(50 000 000)10,步進遞增幅度為(10000000)10,實現了掃頻功能,掃頻起始頻率為582.077 kHz。掃頻步進約11*15 kHz,掃頻信號如圖5所示,同時可以提供各頻率信號的同步信息。只要改變步進初始值及遞增幅度即可完成更寬掃頻范圍及掃頻步進更佳的掃頻信號。事實上,FM信號也可以通過對輸出信號的步進的控制來加以實現。 圖5 掃頻信號 5 硬件電路的實現 設計的最終目的是為了用硬件實現電路,因此,還要設計輸入步進設置及模式選擇的鍵盤模塊、頻率設置數據顯示模塊等VHDL程序模塊;后級的低通濾波網絡,功率放大電路等等。完成這些工作,即可完成一個完整的DDFS信號源的設計與制作。 6 結束語 本文的創新點為對DDFS設計進行優化,充分利用Cyclone II系列FPGA的片上資源,產生了最高頻率可達9.312 5 MHz.最低頻率分量及頻率分辨率低至MHz量級的正弦信號。通過進一步優化DDFS各模塊的性能,如減少相位累加器、數據取補碼等模塊的運算時間,進一步提高系統工作的最高頻率;進一步優化后級濾波網絡的特性等,就可以獲得性能曲線更平滑,輸出頻率更高,帶負載能力更強的優質的信號源。同時還可以增加FFT算法模塊,對信號進行頻譜分析等其他功能。 |