基于SOPC的任意波形發生器設計
如果波形可以數學描述,就可以采用公式波這種方法。在GUI界面中,設置了公式波的公式輸入文本編輯框,只需要在文本編輯框中輸入公式,根據它已有的條件就可以產生信號波形。在本設計中,由于輸入的公式是用戶自定義的,用戶可以使用多種算法或者運用MATLAB自帶的函數庫。在MATLAB的界面設計中,文本編輯框里輸入文本后,MATLAB會把輸入的文本默認成字符串,當想對這些輸入在文本編輯框里的公式進行計算時,MATLAB無法識別,在這里使用eval函數對字符串進行處理。eval函數將符號表達式轉化為數值表達式,這樣就能使MATLAB執行該公式,公式法產生的波形更精確。
使用繪圖法編輯波形,只需點擊“任意波形”按鈕,然后按照提示在坐標軸內點擊鼠標右鍵取點畫出所要波形的大概形狀,再點擊鼠標左鍵就可以產生用戶想要的波形;當使用公式法編輯波形,只需按提示在編輯框中寫入所要產生的波形公式,點擊“公式波”按鈕,系統就會立刻對輸入公式進行計算,并向硬件傳送改變波形類型的字符,然后再把數據發送到硬件上。
4 實驗結果
該系統所有實驗結果均由RIGOL 公司DS5022M 數字存儲示波器采樣所得。
圖4所示為采用公式法輸入的GUI 界面和產生的相應1kHz 任意波形,輸入公式為Sin(2*pi*x)+sin(4*pi*x),其中變量x的范圍為0到1。

圖4 公式法輸入的GUI 界面和產生的任意波形
圖5所示為采用繪圖法輸入的GUI界面和產生的相應50kHz任意波形。

圖5 繪圖法輸入的GUI界面和產生的任意波形
從上面的實驗結果可以看到,該系統不僅可以產生方波、正弦波、三角波、鋸齒波等常見波形,還可以實現真正意義上的任意波形。系統頻率誤差小于1%,且具有很高的頻率調制精度,實驗結果符合各項設計指標。
5 總 結
該系統采用DDS 技術,通過基于NIOS Ⅱ的SOPC 系統實現了任意波形發生器。DDS技術在相對帶寬、頻率轉換時間、相位連續性、正交輸出、高分辨率及集成化等一系列性能指標方面遠遠超過了傳統頻率合成技術所能達到的水平,為系統提供了優于模擬信號源的性能;而基于NIOS Ⅱ的SOPC 系統可以根據用戶需要自由定制CPU 及其外設,其靈活性和通用性使其成為未來系統設計的一大趨勢。
該設計完成了任意波形發生器的軟硬件設計和調試,實驗結果表明,該波形發生器基本達到了設計要求。
評論