- 相關推薦
基于FPGA的DDS信號發(fā)生器的設計
引言
直接數(shù)字頻率合成(Direct Digital Frequency Synthesis)是一種以奈奎斯特采樣定理及數(shù)字信號處理為基礎,從相位概念出發(fā)的全數(shù)字頻率合成方法。實現(xiàn)DDS 功能可用專用的DDS芯片,也可利用高性能的現(xiàn)場可編程門陣列(Field Programmable Gate Array)。與前者相比,后者具有設計簡單,開發(fā)靈活,應用成本低等優(yōu)點。本文以FPGA 為基礎,設計DDS 信號發(fā)生器。設計目標:輸出頻率范圍1Hz~1MHz,頻率可調(diào),輸出頻率精度大于0.1%,輸出頻率峰峰值為5V。
1 DDS 基本原理
由奈奎斯特采樣定理可知,當采樣頻率大于被采樣信號最高頻率的2 倍時,通過采樣得到的數(shù)字信號可完整的還原被采樣信號。基于奈奎斯特采樣定理,系統(tǒng)首先對需要產(chǎn)生的信號進行采樣,量化后存入數(shù)據(jù)存儲器。在參考時鐘作用下,相位累加器按照預先設定的頻率控制器進行地址累加,此地址即為信號在數(shù)據(jù)表中對應地址。根據(jù)地址從數(shù)據(jù)表中依次讀取數(shù)據(jù),產(chǎn)生數(shù)字化的信號,此信號通過D/A 轉(zhuǎn)換和低通濾波等處理即可變成所需模擬信號[3]!
下面以正弦波信號的產(chǎn)生為例說明DDS 的工作原理。假設某一頻率的正弦信號可表示為
v(t) = Asin(wt +θ )
式中,A 為正弦波幅值,w 為正弦信號角頻率,θ 為初始相位。由于A 和θ 不變,則令A=1,θ =0,得到歸一化表達式
v(t) = Asin(wt)
對于連續(xù)的正弦波信號,其相位與時間呈線性關系[2]。由這一關系可知,在一定頻率的時鐘信號作用下,通過一個線性的相位累加器對相應的波形存儲器掃描,即可周期性地讀取波形存儲器中的數(shù)據(jù),從而合成相應的正弦波信號。如果提高時鐘信號頻率,則數(shù)據(jù)的掃描頻率加快,數(shù)據(jù)讀取速度加快,讀取一個正弦波數(shù)據(jù)的時間就會縮短,輸出信號的頻率增大,反之亦然[5]。
2 DDS 的實現(xiàn)方案
DDS 系統(tǒng)主要由FPGA 核心電路、D/A 轉(zhuǎn)換電路、低通濾波電路、鍵盤電路和顯示電路組成。系統(tǒng)具體實現(xiàn)框所示。
系統(tǒng)分別以Altera Cyclone II 系列FPGA EP2C8 和VerilogHDL語言為硬件及軟件平臺,在此基礎上構建DDS 核以及相關模塊。FPGA 核心電路產(chǎn)生的階梯數(shù)字信號通過D/A 轉(zhuǎn)換電路轉(zhuǎn)換為對應的模擬信號。綜合考慮,采用TLC5620 為D/A 轉(zhuǎn)換芯片。該芯片為8 位串行輸入D/A 轉(zhuǎn)換器,選擇其參考電壓為5V,輸出電壓控制位選擇為1 倍輸出。由于轉(zhuǎn)換后的數(shù)字信號是階梯形的模擬信號,在D/A 轉(zhuǎn)化后利用低通濾波對信號進行平滑處理。低通濾波電路以OP07 為核心,設計為壓控壓源的二階低通濾波。為方便用戶操作,在系統(tǒng)中引入鍵盤電路和數(shù)碼管顯示電路,用戶可自由調(diào)節(jié)輸出頻率,并通過數(shù)碼管觀察實時輸出頻率。
3 設計優(yōu)化
3.1 相位累加器的優(yōu)化
相位累加器是決定DDS 性能的關鍵部分。在系統(tǒng)的參考時鐘一定時,相位累加器的位數(shù)決定了輸出頻率的分辨率[7]。但是,相位累加器的位數(shù)越大,整個系統(tǒng)的速度就越慢。為此,在相位累加器中引入流水線技術。即把一個時鐘周期內(nèi)要完成的邏輯操作分成幾步小的操作,并在各個操作中插入時鐘周期,以此提高數(shù)據(jù)的吞吐速率。相位累加器優(yōu)化結構圖如所示。
圖中32 位的相位累加器采用4 級流水線結構。每條流水線完成8 位數(shù)據(jù)的運算,流水線之間進行級聯(lián)。流水線最后的數(shù)據(jù)通過一級寄存器輸出。輸出寄存器同時提取相位累加器的高8 位作為波形存儲器的查找地址,與波形存儲器相連。實驗表明,運用流水線技術可以成倍提高相位累加器的運算速度,但是這也大大消耗了FPGA 的邏輯資源。
3.2 波形存儲器的優(yōu)化
波形存儲器中存儲著完整的波形采樣數(shù)據(jù)。如果正弦波采樣深度為N 位,那么M 位相位累加器就決定了波形存儲器所需存儲空間為N*2M 位。當M=32,N=8 時,則需要4096M的存儲空間,可見,必須對波形存儲器進行優(yōu)化,提高其利用率。在相位累加器的優(yōu)化中,已經(jīng)利用最后一級寄存器對輸出地址進行了截位處理,但這還遠遠不夠。因此,還必須利用正弦波的對稱性對波形存儲器進行進一步優(yōu)化[4]。其優(yōu)化結構圖如所示。
圖中,相位累加器的輸出地址的最高位連接到相位轉(zhuǎn)換器,相位轉(zhuǎn)換器根據(jù)輸出地址最高位值判斷波形處于前半個周期(0~π)還是后半個周期(π~2π)。而地址轉(zhuǎn)換器通過輸出地址的次高位值判斷波形是上升(0~π/2)還是下降(π/2~π)。從優(yōu)化方式可知,經(jīng)過優(yōu)化后的波形存儲器所需空間僅為以前的1/4。
3.3 按鍵模塊的優(yōu)化
在頻率調(diào)整的過程中,鍵盤是必不可少的。但是,鍵盤的動作極有可能產(chǎn)生毛刺,由于DDS 系統(tǒng)的頻率較高,毛刺可能帶來系統(tǒng)的誤操作。因此,在按鍵操作時需要加入按鍵去抖模塊,以提高按鍵輸入的靈敏度。按鍵去抖模塊部分程序如下:
parameter TIME=10;// 設置去抖時間為10ms
clk)
if(key_in ! = 4’hf)if(scan = = TIME) // 有鍵按下10ms 后讀健
begin key_en <= 1’b1; scan <= 1’b0; end
else
begin key_en <= 1’b0; scan <= scan + 1’b1; end
else
begin
if(scan != 0) scan <= scan – 1’b1;
else begin scan <= scan;
key_en <= 1’b0;
endend
4 系統(tǒng)測試
在系統(tǒng)構建完成后,用示波器觀察輸出波形。經(jīng)測量,信號發(fā)生器輸出頻率峰峰值穩(wěn)定在5V 左右,輸出頻率范圍滿足設計要求。現(xiàn)測量7 組數(shù)據(jù),每組數(shù)據(jù)測量5 次,測試數(shù)據(jù)如下所示。
測試結果表明,系統(tǒng)基本滿足預先設計要求,但在低頻時系統(tǒng)精度不甚理想。分析其原因,有可能是在相位累加器地址截位處理時截取位數(shù)過多所致。在系統(tǒng)完善過程中可通過減少截位位數(shù),也可提高信號的采樣深度進一步提高系統(tǒng)的精度。
5 結束語
本文介紹了直接數(shù)字頻率合成器的基本工作原理,并在此基礎上利用FPGA 平臺實現(xiàn)了直接數(shù)字頻率合成器的設計。系統(tǒng)中除了D/A 轉(zhuǎn)換器和低通濾波器外,其他電路都集成在FPGA 中。該方案簡化了系統(tǒng)的設計難度,用戶可根據(jù)自身信號需要更改FPGA 中的程序,更加靈活的設計直接數(shù)字頻率合成器。
中國碩士論文網(wǎng)提供大量免費碩士畢業(yè)論文,如有業(yè)務需求請咨詢網(wǎng)站客服人員!
參考文獻
[1] 夏宇聞. Verilog 數(shù)字設計教程[M]. 北京:北京航空航天大學出版社,2003.
[2] 白居憲.直接數(shù)字頻率合成[M]. 西安:西安交通大學出版社,2007.
[3] 羅杰漢,程光偉. 基于FPGA 的DDS 設計[J]. 電子設計工程,2012,18(1):66~70.
[4] 李康順,呂小巧. 基于改進DDS 技術的FPGA 數(shù)字調(diào)制器研究與實現(xiàn)[J]. 壓電與聲光,2012,31(6) :852-855.
[5] 羅杰. Verilog HDL 與數(shù)字ASIC 設計基礎[M]. 武漢:華中科技大學出版社,2005.
[6] 吳繼華,王誠. 設計與驗證Verilog HDL[M]. 北京:人民郵電出版社,2006.
[7] 吳曙榮,楊銀堂. 用FPGA 實現(xiàn)DDS 設計[J]. 航空計算技術,2006,36(1):40~45.
【基于FPGA的DDS信號發(fā)生器的設計】相關文章:
基于DDR SDRAM的信號發(fā)生器設計與實現(xiàn)03-30
基于DDS技術的聲納信號模擬器03-21
基于DDS技術的正弦衰減信號源03-07
基于VHDL的DDS的設計與分析03-07
基于EDA技術的FPGA設計03-18
基于軟件無線電的多制式信號發(fā)生器的設計與實現(xiàn)03-19