基于FPGA的任意波形發(fā)生器設計與研究
摘要:在此基于DDS技術進行任意波形發(fā)生器的研制。以單片機為控制核心,采用FPGA芯片EP1C3T144C8,通過使用相位累加器和波形ROM等模塊實現(xiàn)DDS功能,可產生正弦波、方波、三角渡與鋸齒波等常規(guī)波形,而且能夠產生任意波形,并通過鍵盤一一對應波形,從而滿足研究的需要。最后給出系統(tǒng)產生的測試數(shù)據(jù),并對影響頻譜純度的雜散與噪聲產生的原因進行分析。
關鍵詞:FPGA;DDS;任意波形發(fā)生器;雜散
0 引言
任意波形發(fā)生器(Arbitrary Waveform Generator,AWG)是一種多波型的信號發(fā)生器,它不僅能產生正弦波、指數(shù)波等常規(guī)波形,也可以表現(xiàn)出載波調制的多樣化,如:產生調頻、調幅、調相和脈沖調制等。更可以通過計算機軟件實現(xiàn)波形的編輯,從而生成用戶所需要的各種任意波形。任意波形發(fā)生器的實現(xiàn)方案主要有程序控制輸出、DMA輸出、可變時鐘計數(shù)器尋址和直接數(shù)字頻率合成(DDS)等多種方式。目前任意波形發(fā)生器的研制主要基于DDS技術,與傳統(tǒng)的頻率合成器相比,DDS具有低成本、低功耗、高分辨率和快速轉換時間等優(yōu)點,廣泛使用在通信、測量與電子儀器領域,是設備全數(shù)字化的一個關鍵技術。
1 任意波形發(fā)生器的理論分析
1.1 DDS技術簡介
DDS(Direct Digital Synthesis)的概念由美國學者J.Tierncy、C.M.Rader和B.Gold在1971年提出。該技術是從相位的概念進行頻率合成,主要優(yōu)點是輸出相位連續(xù)、相對帶寬較大、頻率分辨率很高、可編程、準確度和穩(wěn)定度都比較高。DDS技術是利用查表法來產生波形,而通過修改存儲在ROM里的數(shù)據(jù),就可以產生任意波形。
1.2 DDS基本結構
DDS主要有相位累加器、ROM波形查詢表、數(shù)模轉換器組成。其基本框圖如圖1所示。
線性數(shù)字信號通過相位累加器逐級實現(xiàn),波形函數(shù)存儲在ROM中,根據(jù)累加器輸出的相位值作為地址,尋找存儲在ROM中的波形函數(shù)的幅度量化值,完成相位到幅值的轉換,輸出相對應的序列。
2 硬件電路設計
2.1 設計方案
基于FPGA實現(xiàn)DDS功能,通過單片機實現(xiàn)控制。此方案的核心在于FPGA的設計實現(xiàn)邏輯功能,通過對存儲器查表后輸出信號,由相連接的數(shù)模轉換器轉換為要求的波形。單片機作為控制器,易于控制與調試。系統(tǒng)框圖如圖2所示。
2.2 D/A轉換器的使用
本案采用德州儀器的TLC7528。它是雙路、8位D/A轉換器,本案設計為:A路的數(shù)字量控制B路的電壓輸出,B路則控制輸出的幅度。電路圖可以顯示,VA1(VOB1)處輸入的A(B)路電壓范圍為-5~0 V,VA2(VOB2)處為A(B)路的電壓為-5~5 V。DA電路連接圖如圖3所示。
其中因為轉換方法的問題,產生的零點誤差可以通過調整放大器的零點來校準;而因為溫度變化產生的溫漂誤差在技術上就比較難消除。關于單極性DAC的增益誤差可以通過調整放大器的閉環(huán)增益來消除。
2.3 濾波器的設計
一般情況下,橢圓濾波器的參數(shù)靈敏度最高,在使用用相同階數(shù)時,橢圓濾波器能夠得到最好的矩形系數(shù),7階橢圓濾波器在通帶附近的頻點可得到40 dB的帶外抑制,很適合將雜散信號濾除。DDS輸出的另一類波形是頻譜復雜的任意波形,頻率比較低,頻譜結構豐富,具有較高的諧波分量,選用等波紋誤差線性相位濾波器來濾波,它在很大范圍內具有固定的延遲,在遠離截止頻率處,其幅度響應也比較好。
2.4 單片機的設計
單片機采用傳統(tǒng)8051單片機,晶振為12 MHz,采用內部振蕩方式;復位輸入引腳為高電平有效,保持2個機器周期以上的的高電平便可以實現(xiàn)對單片機的復位;采用MAX232芯片作為串口芯片,單片機通過異步通信串行接口與其他計算機或者外圍設備進行信息傳遞。
3 基于FPGA的DDS實現(xiàn)
FPGA芯片采用ALTERA公司的CYCLONE系列EP1C3T144C8。設計采用Altera公司的QuartusⅡ,使用AS方式與JTAG配置方式。
3.1 固定波形輸出
本案使用幾個8 b的ROM,存儲深度為1 024點,用來存儲正弦波等波形數(shù)據(jù)。每個波形數(shù)據(jù)存儲在一個固定的ROM里,如圖4Sine_ROM,Square_ROM等分別對應正弦、方波等存儲模塊。通過一個使能模塊控制,采取低電平有效的方式,選擇性讀取任意模塊的波形。輸出波形時,僅有單獨一個ROM工作,其他模塊為高電平,保證輸出所需固定波形。使能模塊的輸入端為行列式鍵盤,設定為:單鍵控制某一波形輸出。
3.2 任意波形輸出
任意波形是由上位機下傳的波形數(shù)據(jù),由單片機控制,必須設計一個能隨時接受數(shù)據(jù)更新的RAM。如圖5所示。
選用的D/A轉換器為8位,所以RAM的字長也為8位,因此波形RAM的地址線的位數(shù)取10位。為了實現(xiàn)任意波形數(shù)據(jù)的更新,波形RAM設計成為雙口RAM。
4 性能與誤差分析
4.1 測試結果
輸出波形如圖6所示。本系統(tǒng)測試所用到的儀器為:
示波器 Tektronix公司 型號:TDS1012
計數(shù)器 創(chuàng)瑞科技有限公司 型號:SP-F40
4.2 頻率測量
通過設定預定值,用計數(shù)器測量出實際值,基于此數(shù)據(jù)計算出誤差如下表(只選取10組數(shù)據(jù))。
由表1可看出,1~100 Hz區(qū)間誤差較為明顯,1 kHz~1 MHz區(qū)間輸出頻率較為穩(wěn)定(該表為測試正弦波數(shù)據(jù))。
4.3 誤差與雜散分析
除了工作環(huán)境與電源噪聲等問題是影響到頻譜純凈度的因素外,還有以下主要原因:
(1)相位截斷產生雜散信號。硬件上無法滿足20位的數(shù)據(jù)儲存,設計中均采用了高位截斷的方法,只取用累加器輸出的高幾位用于查表,低位舍去。必然會造成誤差從而影響最終的輸出信號頻譜。正弦信號上引入了余弦分量,造成時域上的疊加,必然表現(xiàn)為頻域上的雜散。
(2)D/A轉換器非線性引起的雜散分量。理想DAC對DDS的影響只表現(xiàn)在對信號頻譜的幅度和相位產生改變,輸出上體現(xiàn)出滾降特性,并不引入其它的頻率成分,而非理想的DAC的非線性、瞬間毛刺等非理想的轉換特性在輸出頻譜中產生了雜散。
(3)幅度量化產生的雜散。正弦查表內存儲的波形碼事一個模擬信號被均勻量化后的值。存儲器的容量有限,不可能以無限二進制數(shù)來記錄正弦值,因此出現(xiàn)幅度量化誤差。
減小DDS輸出電壓中的雜散及噪聲的方法,除了選用性能優(yōu)良、工藝精湛的D/A轉換器,提高位數(shù)與幅度量化字長外,還可以通過設計良好的低通濾波器,以濾除各種雜散及帶外噪聲,也可選用DDS+PLL頻率合成技術,以及數(shù)據(jù)壓縮法,最高壓縮比可達128:1。另外可以在產生的相位字序列上加入高頻抖動(Dither),因為相位截位誤差成周期分布,這將導致在某些頻率處產生較大的毛刺,使DDS產生的頻譜無雜波動態(tài)范圍減小。通過在相位上加入抖動,能夠破壞相位誤差中較明顯的周期性分布,從而使得毛刺的幅值得到減小,增大了輸出正余弦波的無雜波動態(tài)范圍。還可以采用相位誤差反饋結構,在SCMF(相位累加器和正余弦函數(shù)生成器)前加入一個二階FIR濾波器(Finite Impulse Respo-nse,有限沖擊響應)來濾除輸出頻率附近的相位誤差。
5 結語
任意波形發(fā)生器的設計是全國電子設計大賽中經(jīng)典的選題之一,任意波形發(fā)生器的設計不僅有廣泛的實踐應用空間,并且對于電子科的學生動手能力的提高及學科知識的融會貫通同樣具有極大的指導價值。本文尋求功能強大、操作便捷、輸出參數(shù)穩(wěn)定的設計效果,并主要偏重基礎,使之更符合教科書的典型教學條件,并對相關參數(shù)進行測量,分析原因。關于波形發(fā)生器的設計,仍有許多可以設計擴展的功能,雜散的削弱仍有較多的方法值得探究。