基于SOPC的任意波形發(fā)生器設計

發(fā)布時(shí)間:2010-8-19 17:31    發(fā)布者:lavida
關(guān)鍵詞: SoPC , 波形發(fā)生器
目前波形合成技術(shù)主要有兩種通用的方法,一種是使用專(zhuān)用的DDS 芯片,一種是基于CPLD/FPGA的解決方案。雖然專(zhuān)用DDS芯片的功能也比較多,但控制方式卻是固定的,控制不靈活,而利用FPGA 則可以根據需要利用Verilog/VHDL 語(yǔ)言來(lái)實(shí)現各種比較復雜的調頻、調相和調幅功能,具有良好的實(shí)用性。  

1 DDS技術(shù)及其原理  

任意波形發(fā)生器目前主要有兩種實(shí)現方法:一種是傳統的任意波形發(fā)生器,但是由于采用的是模擬和模數混合的方法,限制了其頻率穩定度,并且系統比較復雜;另一種是基于直接數字頻率合成(DDS)技術(shù)的任意波形發(fā)生器,采用這種技術(shù)的AWG具有很高的頻率分辨率和快速的輸出頻率轉換能力,并且輸出頻率范圍寬。  

DDS技術(shù)是一種先進(jìn)的頻率合成技術(shù),其優(yōu)點(diǎn)是易于程控、相位連續、輸出頻率穩定度高、分辨率高等。DDS 技術(shù)的實(shí)現依賴(lài)于高速、高性能的數字器件,可編程邏輯器件以其速度高、規模大、可編程以及有強大EDA軟件支持等特性,十分適合實(shí)現DDS技術(shù);谝陨系脑,該系統采用第2種實(shí)現方法。DDS原理框圖如圖1所示。  


  
圖1 DDS原理框圖  

2 系統總體設計  

該系統實(shí)現的主要功能是:輸出頻率相同,幅值相同,具有可調相位差的兩路任意波形,同時(shí)可實(shí)現輸出波形過(guò)零切換(當波形參數發(fā)生改變時(shí),系統總是在零相位時(shí)改變輸出波形,這樣可得到平滑的波形輸出),該系統還可以通過(guò)PC 端軟件產(chǎn)生數據,并通過(guò)USB接口下載到FPGA中從而生成任意波形。同時(shí),波形的頻率和幅度均可調節,輸出頻率范圍為0.1Hz~1MHz,頻率分辨率為0.1Hz,輸出電壓范圍為0~10V。系統的整體設計如圖2所示。  


  
圖2 系統原理框圖  

3 PC端軟件軟件設計  

該系統可以根據用戶(hù)的需要設定不同的波形,為了使用戶(hù)更容易的得到自己想要的信號波形,在這里設計了兩個(gè)可以產(chǎn)生任意波形的方法。一種方法是繪圖法,用戶(hù)可以自己畫(huà)出想得到的波形的圖形,但是用這種方法產(chǎn)生出來(lái)的信號精度不高,適用于對產(chǎn)生的信號要求不高的用戶(hù),其優(yōu)點(diǎn)是簡(jiǎn)單方便。另一種方法是公式法,根據用戶(hù)輸入的公式或者函數語(yǔ)句產(chǎn)生波形信號,這種方法比較科學(xué),精度較高。由于MATLAB軟件具有強大的數據計算、仿真、繪圖等功能,所以該用戶(hù)界面是用MATLAB軟件編程。用戶(hù)的軟件界面如圖3所示。  


  
圖3 用戶(hù)軟件界面  

在繪圖法中,主要用到MATLAB中的兩個(gè)函數:ginput(鼠標輸入圖形)和spline(三次樣條多項式擬合)。結合這兩個(gè)函數,交互式創(chuàng )建二維曲線(xiàn)。首先,利用ginput函數在figure圖上選擇一系列點(diǎn)[x,y],這樣就可得到一些分散的數據點(diǎn),為了從這些分散的數據點(diǎn)中找到其內在的規律性,然后通過(guò)這些點(diǎn)進(jìn)行樣條平滑,就要運用到spline函數來(lái)產(chǎn)生一系列點(diǎn)來(lái)逼近這些已知點(diǎn)。結合ginput和spline函數設計程序,用戶(hù)就可以根據自己的需要在圖上任意畫(huà)出波形,描述的點(diǎn)越多,則輸出的波形越接近真實(shí)波形;如果描述的數據點(diǎn)少,則有可能改變波形形狀及趨勢。繪圖法中使用鼠標取點(diǎn)的方法主要是避免用鼠標直接畫(huà)波形時(shí)的不靈活性和不好控制性。  

如果波形可以數學(xué)描述,就可以采用公式波這種方法。在GUI界面中,設置了公式波的公式輸入文本編輯框,只需要在文本編輯框中輸入公式,根據它已有的條件就可以產(chǎn)生信號波形。在本設計中,由于輸入的公式是用戶(hù)自定義的,用戶(hù)可以使用多種算法或者運用MATLAB自帶的函數庫。在MATLAB的界面設計中,文本編輯框里輸入文本后,MATLAB會(huì )把輸入的文本默認成字符串,當想對這些輸入在文本編輯框里的公式進(jìn)行計算時(shí),MATLAB無(wú)法識別,在這里使用eval函數對字符串進(jìn)行處理。eval函數將符號表達式轉化為數值表達式,這樣就能使MATLAB執行該公式,公式法產(chǎn)生的波形更精確。  

使用繪圖法編輯波形,只需點(diǎn)擊“任意波形”按鈕,然后按照提示在坐標軸內點(diǎn)擊鼠標右鍵取點(diǎn)畫(huà)出所要波形的大概形狀,再點(diǎn)擊鼠標左鍵就可以產(chǎn)生用戶(hù)想要的波形;當使用公式法編輯波形,只需按提示在編輯框中寫(xiě)入所要產(chǎn)生的波形公式,點(diǎn)擊“公式波”按鈕,系統就會(huì )立刻對輸入公式進(jìn)行計算,并向硬件傳送改變波形類(lèi)型的字符,然后再把數據發(fā)送到硬件上。  

4 實(shí)驗結果  

該系統所有實(shí)驗結果均由RIGOL 公司DS5022M 數字存儲示波器采樣所得。  

圖4所示為采用公式法輸入的GUI 界面和產(chǎn)生的相應1kHz 任意波形,輸入公式為Sin(2*pi*x)+sin(4*pi*x),其中變量x的范圍為0到1。  


  
圖4 公式法輸入的GUI 界面和產(chǎn)生的任意波形  

圖5所示為采用繪圖法輸入的GUI界面和產(chǎn)生的相應50kHz任意波形。  


  
圖5 繪圖法輸入的GUI界面和產(chǎn)生的任意波形  

從上面的實(shí)驗結果可以看到,該系統不僅可以產(chǎn)生方波、正弦波、三角波、鋸齒波等常見(jiàn)波形,還可以實(shí)現真正意義上的任意波形。系統頻率誤差小于1%,且具有很高的頻率調制精度,實(shí)驗結果符合各項設計指標。  

5 總 結  

該系統采用DDS 技術(shù),通過(guò)基于NIOS Ⅱ的SOPC 系統實(shí)現了任意波形發(fā)生器。DDS技術(shù)在相對帶寬、頻率轉換時(shí)間、相位連續性、正交輸出、高分辨率及集成化等一系列性能指標方面遠遠超過(guò)了傳統頻率合成技術(shù)所能達到的水平,為系統提供了優(yōu)于模擬信號源的性能;而基于NIOS Ⅱ的SOPC 系統可以根據用戶(hù)需要自由定制CPU 及其外設,其靈活性和通用性使其成為未來(lái)系統設計的一大趨勢。  

該設計完成了任意波形發(fā)生器的軟硬件設計和調試,實(shí)驗結果表明,該波形發(fā)生器基本達到了設計要求。
本文地址:http://selenalain.com/thread-22572-1-1.html     【打印本頁(yè)】

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

相關(guān)視頻

關(guān)于我們  -  服務(wù)條款  -  使用指南  -  站點(diǎn)地圖  -  友情鏈接  -  聯(lián)系我們
電子工程網(wǎng) © 版權所有   京ICP備16069177號 | 京公網(wǎng)安備11010502021702
快速回復 返回頂部 返回列表
午夜高清国产拍精品福利|亚洲色精品88色婷婷七月丁香|91久久精品无码一区|99久久国语露脸精品|动漫卡通亚洲综合专区48页