<pre id="bbfd9"><del id="bbfd9"><dfn id="bbfd9"></dfn></del></pre>

          <ruby id="bbfd9"></ruby><p id="bbfd9"><mark id="bbfd9"></mark></p>

          <p id="bbfd9"></p>

          <p id="bbfd9"><cite id="bbfd9"></cite></p>

            <th id="bbfd9"><form id="bbfd9"><dl id="bbfd9"></dl></form></th>

            <p id="bbfd9"><cite id="bbfd9"></cite></p><p id="bbfd9"></p>
            <p id="bbfd9"><cite id="bbfd9"><progress id="bbfd9"></progress></cite></p>

            基于FPGA的DDS信號發生器的設計

            時間:2024-09-12 12:08:56 碩士畢業論文 我要投稿
            • 相關推薦

            基于FPGA的DDS信號發生器的設計

            引言
              
              直接數字頻率合成(Direct Digital Frequency Synthesis)是一種以奈奎斯特采樣定理及數字信號處理為基礎,從相位概念出發的全數字頻率合成方法。實現DDS 功能可用專用的DDS芯片,也可利用高性能的現場可編程門陣列(Field Programmable Gate Array)。與前者相比,后者具有設計簡單,開發靈活,應用成本低等優點。本文以FPGA 為基礎,設計DDS 信號發生器。設計目標:輸出頻率范圍1Hz~1MHz,頻率可調,輸出頻率精度大于0.1%,輸出頻率峰峰值為5V。
              
              1 DDS 基本原理
              
              由奈奎斯特采樣定理可知,當采樣頻率大于被采樣信號最高頻率的2 倍時,通過采樣得到的數字信號可完整的還原被采樣信號。基于奈奎斯特采樣定理,系統首先對需要產生的信號進行采樣,量化后存入數據存儲器。在參考時鐘作用下,相位累加器按照預先設定的頻率控制器進行地址累加,此地址即為信號在數據表中對應地址。根據地址從數據表中依次讀取數據,產生數字化的信號,此信號通過D/A 轉換和低通濾波等處理即可變成所需模擬信號[3]。  
              下面以正弦波信號的產生為例說明DDS 的工作原理。假設某一頻率的正弦信號可表示為
              v(t) = Asin(wt +θ )
              式中,A 為正弦波幅值,w 為正弦信號角頻率,θ 為初始相位。由于A 和θ 不變,則令A=1,θ =0,得到歸一化表達式
              v(t) = Asin(wt)
              對于連續的正弦波信號,其相位與時間呈線性關系[2]。由這一關系可知,在一定頻率的時鐘信號作用下,通過一個線性的相位累加器對相應的波形存儲器掃描,即可周期性地讀取波形存儲器中的數據,從而合成相應的正弦波信號。如果提高時鐘信號頻率,則數據的掃描頻率加快,數據讀取速度加快,讀取一個正弦波數據的時間就會縮短,輸出信號的頻率增大,反之亦然[5]。
              
              2 DDS 的實現方案
              
              DDS 系統主要由FPGA 核心電路、D/A 轉換電路、低通濾波電路、鍵盤電路和顯示電路組成。系統具體實現框所示。
              系統分別以Altera Cyclone II 系列FPGA EP2C8 和VerilogHDL語言為硬件及軟件平臺,在此基礎上構建DDS 核以及相關模塊。FPGA 核心電路產生的階梯數字信號通過D/A 轉換電路轉換為對應的模擬信號。綜合考慮,采用TLC5620 為D/A 轉換芯片。該芯片為8 位串行輸入D/A 轉換器,選擇其參考電壓為5V,輸出電壓控制位選擇為1 倍輸出。由于轉換后的數字信號是階梯形的模擬信號,在D/A 轉化后利用低通濾波對信號進行平滑處理。低通濾波電路以OP07 為核心,設計為壓控壓源的二階低通濾波。為方便用戶操作,在系統中引入鍵盤電路和數碼管顯示電路,用戶可自由調節輸出頻率,并通過數碼管觀察實時輸出頻率。
              
              3 設計優化
              
              3.1 相位累加器的優化
              相位累加器是決定DDS 性能的關鍵部分。在系統的參考時鐘一定時,相位累加器的位數決定了輸出頻率的分辨率[7]。但是,相位累加器的位數越大,整個系統的速度就越慢。為此,在相位累加器中引入流水線技術。即把一個時鐘周期內要完成的邏輯操作分成幾步小的操作,并在各個操作中插入時鐘周期,以此提高數據的吞吐速率。相位累加器優化結構圖如所示。
              圖中32 位的相位累加器采用4 級流水線結構。每條流水線完成8 位數據的運算,流水線之間進行級聯。流水線最后的數據通過一級寄存器輸出。輸出寄存器同時提取相位累加器的高8 位作為波形存儲器的查找地址,與波形存儲器相連。實驗表明,運用流水線技術可以成倍提高相位累加器的運算速度,但是這也大大消耗了FPGA 的邏輯資源。
              
              3.2 波形存儲器的優化
              波形存儲器中存儲著完整的波形采樣數據。如果正弦波采樣深度為N 位,那么M 位相位累加器就決定了波形存儲器所需存儲空間為N*2M 位。當M=32,N=8 時,則需要4096M的存儲空間,可見,必須對波形存儲器進行優化,提高其利用率。在相位累加器的優化中,已經利用最后一級寄存器對輸出地址進行了截位處理,但這還遠遠不夠。因此,還必須利用正弦波的對稱性對波形存儲器進行進一步優化[4]。其優化結構圖如所示。
              圖中,相位累加器的輸出地址的最高位連接到相位轉換器,相位轉換器根據輸出地址最高位值判斷波形處于前半個周期(0~π)還是后半個周期(π~2π)。而地址轉換器通過輸出地址的次高位值判斷波形是上升(0~π/2)還是下降(π/2~π)。從優化方式可知,經過優化后的波形存儲器所需空間僅為以前的1/4。
              
              3.3 按鍵模塊的優化
              在頻率調整的過程中,鍵盤是必不可少的。但是,鍵盤的動作極有可能產生毛刺,由于DDS 系統的頻率較高,毛刺可能帶來系統的誤操作。因此,在按鍵操作時需要加入按鍵去抖模塊,以提高按鍵輸入的靈敏度。按鍵去抖模塊部分程序如下:
              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 系統測試
              
              在系統構建完成后,用示波器觀察輸出波形。經測量,信號發生器輸出頻率峰峰值穩定在5V 左右,輸出頻率范圍滿足設計要求。現測量7 組數據,每組數據測量5 次,測試數據如下所示。
              測試結果表明,系統基本滿足預先設計要求,但在低頻時系統精度不甚理想。分析其原因,有可能是在相位累加器地址截位處理時截取位數過多所致。在系統完善過程中可通過減少截位位數,也可提高信號的采樣深度進一步提高系統的精度。
              
              5 結束語
              
              本文介紹了直接數字頻率合成器的基本工作原理,并在此基礎上利用FPGA 平臺實現了直接數字頻率合成器的設計。系統中除了D/A 轉換器和低通濾波器外,其他電路都集成在FPGA 中。該方案簡化了系統的設計難度,用戶可根據自身信號需要更改FPGA 中的程序,更加靈活的設計直接數字頻率合成器。

            中國碩士論文網提供大量免費碩士畢業論文,如有業務需求請咨詢網站客服人員!
              
              參考文獻
              [1] 夏宇聞. Verilog 數字設計教程[M]. 北京:北京航空航天大學出版社,2003.
              [2] 白居憲.直接數字頻率合成[M]. 西安:西安交通大學出版社,2007.
              [3] 羅杰漢,程光偉. 基于FPGA 的DDS 設計[J]. 電子設計工程,2012,18(1):66~70.
              [4] 李康順,呂小巧. 基于改進DDS 技術的FPGA 數字調制器研究與實現[J]. 壓電與聲光,2012,31(6) :852-855.
              [5] 羅杰. Verilog HDL 與數字ASIC 設計基礎[M]. 武漢:華中科技大學出版社,2005.
              [6] 吳繼華,王誠. 設計與驗證Verilog HDL[M]. 北京:人民郵電出版社,2006.
              [7] 吳曙榮,楊銀堂. 用FPGA 實現DDS 設計[J]. 航空計算技術,2006,36(1):40~45.

            【基于FPGA的DDS信號發生器的設計】相關文章:

            基于FPGA的多功能波形信號發生器11-22

            基于DDR SDRAM的信號發生器設計與實現03-30

            基于DDS技術的聲納信號模擬器03-21

            基于DDS技術的正弦衰減信號源03-07

            基于VHDL的DDS的設計與分析03-07

            基于EDA技術的FPGA設計03-18

            基于軟件無線電的多制式信號發生器的設計與實現03-19

            基于FPGA的TS over lP的設計與實現03-21

            基于FPGA的毫米波多目標信號形成技術的研究03-19

                    <pre id="bbfd9"><del id="bbfd9"><dfn id="bbfd9"></dfn></del></pre>

                    <ruby id="bbfd9"></ruby><p id="bbfd9"><mark id="bbfd9"></mark></p>

                    <p id="bbfd9"></p>

                    <p id="bbfd9"><cite id="bbfd9"></cite></p>

                      <th id="bbfd9"><form id="bbfd9"><dl id="bbfd9"></dl></form></th>

                      <p id="bbfd9"><cite id="bbfd9"></cite></p><p id="bbfd9"></p>
                      <p id="bbfd9"><cite id="bbfd9"><progress id="bbfd9"></progress></cite></p>
                      飘沙影院