基于SOPC的任意波形發(fā)生器設計
如果波形可以數(shù)學描述,就可以采用公式波這種方法。在GUI界面中,設置了公式波的公式輸入文本編輯框,只需要在文本編輯框中輸入公式,根據(jù)它已有的條件就可以產(chǎn)生信號波形。在本設計中,由于輸入的公式是用戶自定義的,用戶可以使用多種算法或者運用MATLAB自帶的函數(shù)庫。在MATLAB的界面設計中,文本編輯框里輸入文本后,MATLAB會把輸入的文本默認成字符串,當想對這些輸入在文本編輯框里的公式進行計算時,MATLAB無法識別,在這里使用eval函數(shù)對字符串進行處理。eval函數(shù)將符號表達式轉(zhuǎn)化為數(shù)值表達式,這樣就能使MATLAB執(zhí)行該公式,公式法產(chǎn)生的波形更精確。
使用繪圖法編輯波形,只需點擊“任意波形”按鈕,然后按照提示在坐標軸內(nèi)點擊鼠標右鍵取點畫出所要波形的大概形狀,再點擊鼠標左鍵就可以產(chǎn)生用戶想要的波形;當使用公式法編輯波形,只需按提示在編輯框中寫入所要產(chǎn)生的波形公式,點擊“公式波”按鈕,系統(tǒng)就會立刻對輸入公式進行計算,并向硬件傳送改變波形類型的字符,然后再把數(shù)據(jù)發(fā)送到硬件上。
4 實驗結(jié)果
該系統(tǒng)所有實驗結(jié)果均由RIGOL 公司DS5022M 數(shù)字存儲示波器采樣所得。
圖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)生的任意波形
從上面的實驗結(jié)果可以看到,該系統(tǒng)不僅可以產(chǎn)生方波、正弦波、三角波、鋸齒波等常見波形,還可以實現(xiàn)真正意義上的任意波形。系統(tǒng)頻率誤差小于1%,且具有很高的頻率調(diào)制精度,實驗結(jié)果符合各項設計指標。
5 總 結(jié)
該系統(tǒng)采用DDS 技術,通過基于NIOS Ⅱ的SOPC 系統(tǒng)實現(xiàn)了任意波形發(fā)生器。DDS技術在相對帶寬、頻率轉(zhuǎn)換時間、相位連續(xù)性、正交輸出、高分辨率及集成化等一系列性能指標方面遠遠超過了傳統(tǒng)頻率合成技術所能達到的水平,為系統(tǒng)提供了優(yōu)于模擬信號源的性能;而基于NIOS Ⅱ的SOPC 系統(tǒng)可以根據(jù)用戶需要自由定制CPU 及其外設,其靈活性和通用性使其成為未來系統(tǒng)設計的一大趨勢。
該設計完成了任意波形發(fā)生器的軟硬件設計和調(diào)試,實驗結(jié)果表明,該波形發(fā)生器基本達到了設計要求。
評論