新聞中心

        EEPW首頁 > 模擬技術 > 設計應用 > 基于FPGA的DDS信號發生器設計

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

        作者: 時間:2009-09-18 來源:網絡 收藏
        0 引 言
        又稱信號源或振蕩器,在生產實踐和科技領域中有著廣泛的應用。能夠產生多種波形,如三角波、鋸齒波、矩形波(含方波)、正弦波的電路被稱為函數。函數的實現方法通常是采用分立元件或單片專用集成芯片,但其頻率不高,穩定性較差,且不易調試,開發和使用上都受到較大限制。隨著可編程邏輯器件()的不斷發展,直接頻率合成()技術應用的愈加成熟,利用原理在FP-GA平臺上開發高性能的多種波形信號發生器與基于芯片的信號發生器相比,成本更低,操作更加靈活,而且還能根據要求在線更新配置,系統開發趨于軟件化、自定義化。本文研究了基于的DDS信號發生器設計,實現了滿足預定指標的多波形輸出。


        1 DDS基本原理

        DDS建立在采樣定理基礎上,首先對需要產生的波形進行采樣,將采樣值數字化后存入存儲器作為查找表,然后通過查表讀取數據,再經D/A轉換器轉換為模擬量,將保存的波形重新合成出來。DDS基本原理框圖如圖1所示。

        本文引用地址:http://www.104case.com/article/188619.htm

        除了濾波器(LPF)之外,DDS系統都是通過數字集成電路實現的,易于集成和小型化。系統的參考時鐘源通常是一個具有高穩定性的晶體振蕩器,為各組成部分提供同步時鐘。頻率控制字(FSW)實際上是相位增量值(二進制編碼)作為相位累加器的累加值。相位累加器在每一個參考時鐘脈沖輸入時,累加一次頻率字,其輸出相應增加一個步長的相位增量。由于相位累加器的輸出連接在波形存儲器(ROM)的地址線上,因此其輸出的改變就相當于查表。這樣就可以通過查表把存儲在波形存儲器內的波形抽樣值(二進制編碼)查找出來。ROM的輸出送到D/A轉換器,經D/A轉換器轉換成模擬量輸出。

        2 系統總體方案設計
        該設計以開發平臺為核心,將各波形的幅值/相位量化數據存儲在ROM內,按照設定頻率,以相應頻率控制字k為步進,對相位進行累加,以累加相位值作為地址碼讀取存放在存儲器內的波形數據,經D/A轉換和幅度控制、濾波即可得到所需波形。波形發生器采取全數字化結構,用硬件描述語言Verilog設計實現其頻率可調可顯示。經開發平臺的D/A轉化和外加濾波整形處理波形數據,理論上能夠實現任意頻率的各種波形。系統總體設計方框圖如圖2所示。

        系統按工作原理和控制對象的先后分為三個功能單元:波形數據產生單元、D/A轉化單元和濾波整形處理單元。波形數據產生單元除具有波形數據輸出功能外,還有頻率設置和輸出顯示功能。波形信號頻率可設置范圍為0~99 999 999 Hz,系統時鐘采用外接晶體振蕩器40 MHz時鐘脈沖,頻率穩定度優于10-4輸出采用8位LED數碼循環動態顯示。D/A轉換單元負責對從ROM表里讀取的波形數據進行D/A轉換,對D/A轉換器件的選用從建立時間、位數、轉化誤差和轉換時間等四個方面考慮。濾波整形處理單元完成對D/A轉換的模擬波進行平滑,濾除雜波和高頻干擾,補償頻帶損耗和幅度損失,最終輸出低誤差、高質量、滿足題設要求的波形。

        3 系統功能單元實現
        3.1 波形數據產生單元

        波形數據產生單元是信號發生器設計的主體。在此,采用DDS原理設計的信號發生器能完成三種波形(正弦、三角和方波)數據的產生,而且根據控制信號還可完成選定波形指定頻率的輸出。波形數據產生單元按功能實現上的相互聯系可劃分為頻率控制字生成模塊、相位累加器模塊和波形數據ROM表模塊,如圖3所示。其中,頻率控制字生成模塊可根據輸入產生指定頻率字,同時顯示輸入頻率數字。相位累加器模塊負責對所選波形的相位尋址,以頻率控制字作為步長反復進行累加運算。波形數據ROM表模塊存放三種波形的幅值/相位量化值,通過地址選擇相應波形的數據。

        系統輸入控制使用4×4鍵盤.鍵盤主要按鍵功能介紹如下:
        “0~9”:數字鍵,設定信號頻率;
        “確定”:用于對波形信號設置的確認,波形信號的設置必須“確定”后才有效;

        p2p機相關文章:p2p原理



        上一頁 1 2 下一頁

        關鍵詞: FPGA DDS 信號發生器

        評論


        相關推薦

        技術專區

        關閉
        主站蜘蛛池模板: 滦平县| 柳河县| 澄迈县| 荃湾区| 吴江市| 南华县| 大丰市| 华蓥市| 吴川市| 聂荣县| 拜泉县| 湖口县| 珠海市| 安多县| 海晏县| 三河市| 右玉县| 开鲁县| 张北县| 逊克县| 无极县| 澎湖县| 习水县| 古蔺县| 苍南县| 哈密市| 三门峡市| 福安市| 淄博市| 行唐县| 襄樊市| 平乡县| 开封市| 荃湾区| 济南市| 贵州省| 区。| 盐山县| 霍邱县| 临朐县| 云浮市|