目前波形合成技術主要有兩種通用的方法,一種是使用專用的DDS 芯片,一種是基于CPLD/FPGA的解決方案。雖然專用DDS芯片的功能也比較多,但控制方式卻是固定的,控制不靈活,而利用FPGA 則可以根據需要利用Verilog/VHDL 語言來實現各種比較復雜的調頻、調相和調幅功能,具有良好的實用性。 1 DDS技術及其原理 任意波形發生器目前主要有兩種實現方法:一種是傳統的任意波形發生器,但是由于采用的是模擬和模數混合的方法,限制了其頻率穩定度,并且系統比較復雜;另一種是基于直接數字頻率合成(DDS)技術的任意波形發生器,采用這種技術的AWG具有很高的頻率分辨率和快速的輸出頻率轉換能力,并且輸出頻率范圍寬。 DDS技術是一種先進的頻率合成技術,其優點是易于程控、相位連續、輸出頻率穩定度高、分辨率高等。DDS 技術的實現依賴于高速、高性能的數字器件,可編程邏輯器件以其速度高、規模大、可編程以及有強大EDA軟件支持等特性,十分適合實現DDS技術。基于以上的原因,該系統采用第2種實現方法。DDS原理框圖如圖1所示。 圖1 DDS原理框圖 2 系統總體設計 該系統實現的主要功能是:輸出頻率相同,幅值相同,具有可調相位差的兩路任意波形,同時可實現輸出波形過零切換(當波形參數發生改變時,系統總是在零相位時改變輸出波形,這樣可得到平滑的波形輸出),該系統還可以通過PC 端軟件產生數據,并通過USB接口下載到FPGA中從而生成任意波形。同時,波形的頻率和幅度均可調節,輸出頻率范圍為0.1Hz~1MHz,頻率分辨率為0.1Hz,輸出電壓范圍為0~10V。系統的整體設計如圖2所示。 圖2 系統原理框圖 3 PC端軟件軟件設計 該系統可以根據用戶的需要設定不同的波形,為了使用戶更容易的得到自己想要的信號波形,在這里設計了兩個可以產生任意波形的方法。一種方法是繪圖法,用戶可以自己畫出想得到的波形的圖形,但是用這種方法產生出來的信號精度不高,適用于對產生的信號要求不高的用戶,其優點是簡單方便。另一種方法是公式法,根據用戶輸入的公式或者函數語句產生波形信號,這種方法比較科學,精度較高。由于MATLAB軟件具有強大的數據計算、仿真、繪圖等功能,所以該用戶界面是用MATLAB軟件編程。用戶的軟件界面如圖3所示。 圖3 用戶軟件界面 在繪圖法中,主要用到MATLAB中的兩個函數:ginput(鼠標輸入圖形)和spline(三次樣條多項式擬合)。結合這兩個函數,交互式創建二維曲線。首先,利用ginput函數在figure圖上選擇一系列點[x,y],這樣就可得到一些分散的數據點,為了從這些分散的數據點中找到其內在的規律性,然后通過這些點進行樣條平滑,就要運用到spline函數來產生一系列點來逼近這些已知點。結合ginput和spline函數設計程序,用戶就可以根據自己的需要在圖上任意畫出波形,描述的點越多,則輸出的波形越接近真實波形;如果描述的數據點少,則有可能改變波形形狀及趨勢。繪圖法中使用鼠標取點的方法主要是避免用鼠標直接畫波形時的不靈活性和不好控制性。 如果波形可以數學描述,就可以采用公式波這種方法。在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 及其外設,其靈活性和通用性使其成為未來系統設計的一大趨勢。 該設計完成了任意波形發生器的軟硬件設計和調試,實驗結果表明,該波形發生器基本達到了設計要求。 |