《電子技術應用》
您所在的位置:首頁 > EDA與制造 > 設計應用 > 基于Matlab/DSP Builder任意波形信號發生器的兩種設計
基于Matlab/DSP Builder任意波形信號發生器的兩種設計
現代電子技術
王康佳 劉詩偉 孫番典
摘要: 基于Matlab/DSPBuilder任意波形信號發生器的兩種設計,根據傳統型任意波形信號發生器和基于DDS任意波形信號發生器的設計原理,采用Matlab/DSPBuilder的建模方法,在DSPBuilder平臺上完成兩種原理的系統建模和仿真,并用SignalCompiler工具對模型進行編譯,產生QuartusⅡ能夠識別的VHDL源程序,并通過FPGA芯片EP2C8Q208C來實現,最后用SignalTapⅡ進行硬件測試。經系統仿真和硬件測試,證明兩種設計方法的正確性。比較傳統的硬件描述語言建模,該方法設計簡單、修改方便、成本低、不涉及到任何編程,對硬件理論知識要求不高,實現起來容易。
Abstract:
Key words :

0 引言
    在當今的科技信息社會中,尤其是在電子設計和信號測試系統中,通常需要一些復雜、特定頻率的信號,通常的信號發生器難以滿足要求,市場上出售的一些任意信號發生器的價格昂貴,體積較大,不能滿足實際的需要。
    Altera DSP Builder是一款系統級的設計工具,依賴于Mathworks公司的數學分析工具Matlab/Simulink,可以在Sireulink中進行圖形化設計和仿真,同時又可以通過signalCompiler把Matlab/Simulink的模型文件(.mdl)轉換成相應的硬件描述語言VHDL,本文用兩種方法,即傳統型的任意信號發生器和基于直接數字頻率合成(DDS)的任意信號發生器,在DSPBuilder的開發工具下實現任意信號發生器的設計,不涉及到編程,操作簡單。

1 傳統型任意信號發生器的設計
1.1 設計原理
   
傳統型任意信號發生器原理比較簡單,將時鐘源作為地址發生器(計數器)的輸入時鐘,通過改變時鐘源的頻率,可以實現調整地址發生器(計數器)產生地址的變化速率,從而達到改變輸出波形與輸出頻率的目的。當地址發生器輸出值等于待生成波形數據存儲器中波形數據的地址時,待生成波形數據存儲器將輸出此數據到高速D/A轉換,將其變為模擬信號,經低通濾波器后輸出所需波形。D/A的輸出頻率fuot與待生成波形數據存儲器的波形數據點數N以及時鐘源的頻率fclk關系為:
   
    由式(1)可知,只要改變數據波形點數N就能控制輸出信號的頻率。
1.2 系統設計
  
根據圖1所示的原理框圖,在Matlab/DSP Builder平臺上,建立傳統型任意信號發生器的Simulink模型,如圖2所示。


   在圖2中,Increment Decrement模塊起到一個地址發生器的作用,隨著時鐘的輸入不斷累加輸出,ROM模塊存放待生成信號的波形數據,輸入模塊input通過produt模塊控制信號的輸出。
    利用Matlab強大的仿真功能,方便、快捷地生成給定頻率、周期、脈寬的任意波形數據,但生成的數據通常是浮點型的,要將其轉換為十六進制的Hexadecimal(Itel-Form)File(.hex)格式的文件,然后將*.hex文件添加到ROM存儲器中,設置系統模型的參數,就可以得到任意信號波形。

2 基于DDS的任意信號發生器的設計
2.1 設計原理

    基于DDS的任意信號發生器結構框圖如圖3所示。由圖3可以看出,相位累加器在系統時鐘的控制下以頻率控制字長的步長進行累加,輸出的線性相位序列和相位控制字相加后對待生成波形數據ROM查表尋址,待生成波形數據ROM查找表輸出相應波形的離散序列,再由DAC將其轉換為模擬量,把存入的數據重新整合起來。此過程實際完成了相位到幅度的轉換。


    設系統時鐘為fclk,頻率輸入字為Freword,相位輸入字為Phaseword,N是相位累加器的數據位寬(頻率輸入字的數據位寬),相位調制器的位寬為M,則DDS的輸出信號頻率為:
   
    輸出信號的相移為:
   
    由式(2)和式(3)可知,改變頻率輸入字和相位輸入字就可以分別控制輸出信號的頻率和相位。
2.2 系統設計
   
根據圖3所示的框圖,在Matlab/DSP Builder平臺上,建立基于DDS的任意信號發生器的Simulink模型,如圖4所示。


    該系統中,共有三個輸入:Freword為頻率字輸入、Phaseword為相位字輸入、input為信號輸入控制模塊。ROM模塊中裝載要輸出信號的波形數據。input模塊通過product模塊控制信號的輸,Delay模塊,Parallel Adder Subtractor模塊和Phasewordl模塊構成相位累加器,相位調制部分由Parallel Adder Subtractorl模塊和Bus Conversion構成,加法器使用了Pipeline,內部已含寄存器,因而加法器出來后就無需再加延時模塊。選擇頻率字為8 000 000,相位字輸入為100。
    同樣,利用Matlab將待生成波形的.hex文件添加到ROM存儲器中,設置各模塊的參數,即可得到所需的信號波形。

3 系統仿真
   
只要將待生成信號的波形數據添加到圖2或圖4的ROM模塊中,設置各模塊的參數,就可得到任意所需波形,本文只給出傳統方法下生成的正弦波信號和基于DDS生成的三角波信號的系統仿真。
3.1 傳統型正弦波信號的系統仿真
   
由QuartusⅡ生成的正弦波信號的.hex文件如表1所示。


    將正弦波的數據.hex文件添加到圖2的ROM模塊中,設置系統模型的參數,系統仿真結果如圖5所示。


3.2 基于DDS的三角波信號的系統仿真
   
由QuartusⅡ生成的三角波信號的.hex文件如表2所示。


    將三角波的數據.hex文件添加到圖4的ROM模塊中,設置系統模型的參數,系統仿真結果如圖6所示。



4 系統的硬件實現與測試
   
雙擊圖2或圖4中SignalCompiler,在彈出的對話框中點擊“Compile”,DSP Builder將會調用QuartusⅡ進行全程編譯,這個過程包括創建QuartusⅡ工程、綜合和適配。會自動將mdl文件轉換為QuartusⅡ能夠識別的VHDL源程序。
    打開QuartusⅡ9.O環境,打開DSP Builder自己建立好的工程,最后選擇cycloneⅡ系列的FPGA芯片EP2C8Q208C,鎖定好相關引腳,再將.sof文件下載到EP2C8Q208C芯片中。
    完成下載后,傳統的方法是用邏輯分析儀接到FPGA的管腳上進行硬件測試,該方法繁瑣且復雜,為解決此問題,可使用QuartusⅡ自帶的嵌入式邏輯分析儀SignalTapⅡ進行硬件測試。
    打開SignalTapⅡ,設置好所要觀測信號的觸發狀態、采樣時鐘和數據深度,之后將文件保存為.stp文件,并添加到系統工程里,然后啟動完整編譯。
    對傳統方法下生成的正弦波信號和基于DDS生成的三角波信號進行SignalTapⅡ硬件測試,結果如圖7所示。對比圖7,圖5和圖6,表明兩種設計方法的正確性。


    將硬件電路接入高速D/A轉換電路,用示波器檢測D/A輸出,會看到相應波形。

5 結語
   
基于Matlab/DSP Builder的系統實現方案形象直觀,本文采用兩種方法在DSP Builder下實現了任意信號發生器的設計,通過Simulink的系統仿真和SignalTapⅡ的硬件測試,證實了設計方法的正確性,取得了預期的效果。
    DSP Builder作為Matlab/Simulink中的一個工具箱,使得用FPGA設計DSP系統完全可以通過Simulink的圖形化界面進行,使用DSPBuil-der設計任意波形信號發生器的所有基本組件都已經存在,只需要對每個組件設置參數后逐一連接就可以,從而使得一個復雜電子系統設計變得相當容易而且直觀,利用SignalCompiler很容易將模型轉換為VHDL語言,不涉及到編程,操作更簡單,開發速度大大加快。

此內容為AET網站原創,未經授權禁止轉載。
主站蜘蛛池模板: 三级毛片黄色 | 欧美激情图区 | 999国内精品视频免费 | 18岁免费网站| 婷婷人人爽人人做人人添 | 国产欧美日韩不卡在线播放在线 | 一本大道香蕉视频在线观看 | 亚洲国产成人综合 | 国产日韩欧美一区二区 | 亚洲欧美精品一中文字幕 | 天天射影院 | 天天干妹子| 国产无遮挡色视频免费视频 | 日本乱人伦免费播放 | a级在线免费观看 | 国产午夜不卡在线观看视频666 | 国产欧美日韩另类 | 久久亚洲国产的中文 | 日韩中文字幕高清在线专区 | 日本污网站 | 毛片无码国产 | 日本中文字幕精品理论在线 | 欧美伦理一区二区三区 | 日韩欧美亚| 亚洲无限看 | 韩国伦理剧在线看 | 奇米成人网 | 波多野结衣一区二区三区四区 | 日本片免费观看一区二区 | 在线亚洲成人 | 国产成人永久免费视频 | 天天干天天拍天天射 | 一级毛片特级毛片国产 | aaaa欧美高清免费 | 无遮挡h纯内动漫在线观看 无遮挡1000部拍拍拍免费观看 | 亚洲国产乱| 中文国产成人精品久久久 | 亚洲美女高清aⅴ视频免费 亚洲美女福利 | 亚洲操| 国产精品日产三级在线观看 | 大尺度激烈叫床视频免费 |