国产精品免费无遮挡无码永久视频-国产高潮视频在线观看-精品久久国产字幕高潮-国产精品99精品无码视亚

基于模型的DDS芯片設計與實現

發布時間:2010-10-14 10:47    發布者:techshare
關鍵詞: DDS , 模型 , 芯片
1971 年,美國學者J.Tierncy.C.M.Rader 和B. Gold 應用全數字技術,從相位概念出 發給出了直接合成波形的一種新的頻率合成原理, 這就是DDS ( Direct DIGITAL Synthesizer),直接數字合成技術。近幾年超高速數字電路的發展尤其是大規模超高速FPGA 技術日漸成熟,以及對DDS 的深入研究,使得DDS 的最高工作頻率以及噪聲性能已接近并達 到與鎖相頻率合成器相當的水平。與其它頻率合成方法相比,DDS 具有頻率轉換時間短、 頻率分辨率高、輸出相位連續、可編程、全數字化、易于集成等突出優點。本文提出的方法 基于Xilinx 公司和它的合作者聯合提出的XtremeDSP 解決方案,從系統結構設計直接映射 到基于FPGA 的DSP 系統硬件實現。在這種基于模型的設計技術中,利用Simulink 的圖形化界面由系統的技術條件建立系統的數學模型,通過算法對模型進行仿真優化,再轉化成IP 核實現。System generator 同Simulink 模型工具結合,可以將算法參數化、最優化,并可 自動從行為級的系統模型轉換到FPGA 實現,不需手工重設,從而避免了繁瑣的編程工作,大大節省了開發時間并降低了出錯的概率。

1 DDS 的基本原理





2 在MATLAB 中建立的DDS 模型并在ISE 中實現

2.1 建立DDS 模型

Simulink 是一個可用于多領域動態系統仿真的平臺,為動態系統提供建模和分析的方法,提供交互的圖形化方框圖環境帶有為信號處理、通信和控制等可定制的模塊集。System Generator 就是Xilinx 公司的一個專有模塊集(Blockset),它是Simulink 的一個插件, 包括基本DSP 函數和邏輯算符,其中包含的預先定義好的模塊可以保證FPGA 實現時位和周 期的正確。用它可以自動生成VHDL 語言、測試向量等文件,還可以自動將特定的設計模塊 映射成高度優化的IP 核模型。在本文介紹的設計中,最后生成的工程文件中就自動映射出一個累加器核和一個單口塊ROM 核。



根據DDS 控制原理在MATLAB 環境中建立如下的模型(圖1):其中在存儲正弦數據的RO中設定Depth 為:4096,Initial Value Vector 為:2047*sin(pi*(0:4095)/2048)+2047, 即讓System Generator 在編譯過程中自動產生一個存儲4096 個正弦數據的ROM。為了配合 使用開發板上的D/A 模塊,ROM 中的每個值設置成12 位無符號數。Accumulator 模塊用來進 行相位的累加,AddSub 模塊將相位偏移量與相位累加值相加,作為ROM2 的地址輸入。在仿真前,設置相位控制字為PWord=512,由公式算出移相后的波形應該較基準正弦波偏移

;設置頻率控制字FWord=4,將仿真時間設置為2048,這樣 從理論上我們應該可以看到兩個周期的完整波形輸出。運行仿真,可以在Scope 中觀察到如圖2.1 中波形。改變控制字的值,就可以得到不同頻率、不同相位的波形(圖2.2)。




2.2 在ISE 中實現并仿真

點擊System Generator 圖標中的generate 按鈕,生成可綜合的VHDL 代碼,并在ISE 中打開。先對代碼使用Synthesize-XST 進行綜合,通過之后可以觀察到系統RTL 級視圖。 然后創建一個.tbw 文件對綜合后的設計進行仿真,能夠得到和MATLAB 環境下一樣的仿真結果(按照正弦規律變化的離散數值序列)。為了能夠在實驗板上實現設計,在ISE 環境中建立 頂層文件,將System Generator 產生的文件與PicoBlaze 的控制程序文件結合,再進行對 應的功能仿真,正確后加載約束文件,生成比特流文件。

3 設計的硬件實現

選擇在Xilinx 公司的Spartan-3E Starter Kit 開發板上實現整個設計。在該開發板 上,有一片LTC2* D/A 芯片,通過一個SPI 接口與FPGA 管腳相接,能夠提供4 路獨立的模擬量輸出。為了便于對D/A 芯片以及各種控制接口的控制,在實現過程中使用了一個 PicoBlaze 軟核。

PicoBlaze 是一個緊湊型、資源占用極少、完全嵌入式的8 位精簡指令集 微控制器軟核。我們可以在文本編輯環境下根據PicoBlaze 的指令系統編寫自己的控制代 碼,然后保存為.psm 格式的文件,再用Xilinx 的KCPSM3 assembler 對文件進行編譯,編譯通過后自動生成一個儲存用戶程序的ROM(VHDL 文件)。將生成的ROM 文件和KCPSM3 軟核加載到工程中,并建立上層文件對各輸入、輸出口及中斷進行配置,這樣,一個PicoBlaze 軟核就設計成功了。 在PicoBlaze 的控制程序中采用軟件中斷方式控制D/A 芯片以20KHZ 的頻率對數字量采 樣。在每個采樣過程中,由PicoBlaze 軟核控制向D/A 芯片發送32 位控制字,其中有12 位待轉換的數字量、4 位通道選擇控制字、4 位模式控制字,其余各位為0。在ISE 中對主時鐘進行軟件分頻,將開發板上原本50MHZ 的時鐘降低到100KHZ 之后再接到DDS 產生電路 的輸入時鐘端口。這樣, 在FWord = 4的情況下, DDS 的輸出頻率輸入時鐘可以直接接入50MHZ 的晶振,這樣,在同樣頻率控制字的情況下輸出頻率也會相應 提高。這里分頻只是為了配合相對低速的D/A 芯片,以使得輸出波形每個周期的采樣數相對 多一些,以便于用示波器進行觀察。




將生成的比特流代碼下載到目標板,板上的開關信號作為用戶接口控制FWord 的值,控制不同開關的關閉和開啟,模擬不同頻率控制字的情況,得到不同頻率的波形,用示波器 觀察開發板上J5 連接器的A 通道,得到如圖3 的波形:觀察波形,與由公式計算出的理論值吻合,證明了本文所介紹的方法的有效性、可行性。在ISE 的設計使用摘要窗口中,我們可以清楚的看到該系統所占用的芯片資源極少,由此可見,如果我們加大ROM 的深度,并且 通過DCM 時鐘管理提高主時鐘頻率的話,能夠很容易的實現更高頻率、更高精度的DDS 芯片。

4 結語

該設計過程演示了在 MATLAB/Simulink 環境下使用Xilinx 公司的System Generator 模塊集對DDS 建模,并在ISE 中進行編譯、仿真,最終在開發板上實現DDS 功能芯片的過程。 雖然在ISE 集成環境中已經提供了DDS 的IP 核供編程者使用,但是只能產生正弦或者余弦 波形,在需要產生其它波形(如方波、三角波等)的場合難以發揮作用,而且根據DDS 原理使用軟件編程方法產生其它波形具有一定的復雜性,容易出錯且效率不高。本文介紹的方法 具有數字頻率合成的普遍性,設計者通過修改ROM 中存儲的初始值向量,可以用類似的方法 達到產生任意波形的目的。這是一種在Xtreme 系統中實現DSP 設計的普遍方法,使用這樣的設計流程,可以避免編寫煩瑣的HDL 程序,更可以實現其它更加復雜的DSP 算法。該方法 充分發揮了使用FPGA 實現DSP 系統所具有的高度并行性、重構靈活性以及低性價比的優勢, 在無線基站、復雜網絡系統、視頻服務和醫療圖象等DSP 領域將得到更加廣泛的應用。

本文的創新點:不僅提出了一種先進的基于模型的DDS 芯片的設計新方法,而且通過實 際實驗在硬件開發板上實現了整個設計構想,實驗結果符合設計要求,驗證了該設計方法的 正確性、可行性。
本文地址:http://m.4huy16.com/thread-32230-1-1.html     【打印本頁】

本站部分文章為轉載或網友發布,目的在于傳遞和分享信息,并不代表本網贊同其觀點和對其真實性負責;文章版權歸原作者及原出處所有,如涉及作品內容、版權和其它問題,我們將根據著作權人的要求,第一時間更正或刪除。
您需要登錄后才可以發表評論 登錄 | 立即注冊

廠商推薦

  • Microchip視頻專區
  • 技術熱潮席卷三城,2025 Microchip中國技術精英年會圓滿收官!
  • “芯”光璀璨,鵬城共賞——2025 Microchip中國技術精英年會深圳站回顧
  • Microchip第22屆中國技術精英年會——采訪篇
  • 常見深度學習模型介紹及應用培訓教程
  • 貿澤電子(Mouser)專區

相關在線工具

相關視頻

關于我們  -  服務條款  -  使用指南  -  站點地圖  -  友情鏈接  -  聯系我們
電子工程網 © 版權所有   京ICP備16069177號 | 京公網安備11010502021702
快速回復 返回頂部 返回列表