摘 要 現今波形發生器的品種繁多,本文通過對這些波形發生器的借鑒,在設計波形發生器的過程中借用FPGA與單片機,采用直接數字頻率合成技術作為其核心。本文通過對直接數字頻率合成技術與系統設計各部分進行介紹,從中發現三角波、正弦波與鋸齒波等在該波形發生器都能產生,且在控制方面顯得非常的靈活,擁有很好的輸出波形能力,希望本人的設計方法能夠對以后的波形發生器方面的設計起到一定的幫助。
【關鍵詞】單片機 FPGA 波形發生器
現今設計電子系統的過程中將EDA技術與可編程邏輯器件大量應用于其中。相比于其他的可編輯邏輯器件,剛出現的FPGA有著密度更大、編程靈活性更高與工作速度更快的特點,這是它的優勢所在。而且單片機以其特殊的優勢在各領域得到普遍的應用,其齊全的功能、小體積與低價格等優勢是其他器件無法替代的。在設計波形發生器的過程中運用可現場編輯與高速度高密度功能的FPGA和數據處理能力強的的單片機,通過對他們的運用將使得該波形發生器擁有很好的輸出波形能力。
1 對直接數字頻率合成技術的介紹
直接數字頻率合成技術就是通過合成得來的,將全數字技術運用其中,DAC將所有的屬于數字形式的信號轉換成屬于模擬形式的信號。其基于采樣定理先要采樣出現的波形,然后數字化采樣值,再進行存儲,用表格的形式制定出來,讀出數據就可以通過對表進行查詢來進行。再對這些讀出的數據轉化成模擬量,這個過程中的轉換用D/A轉換器來進行轉換。進而重新合成先前存進存儲器中的數據。頻率控制字N與K比特在每一個時鐘周期內通過相位累加器增加一次累加,在這個過程中通過取摸運算2N,從而使相位值得出,進而以二進制代碼的形式使得相位值尋址存儲器中相關的RAM,將對應于相位值的幅度值進行輸出,隨后離散信號轉變為連續信號需要DAC數模進行轉換幫助,最終信號輸出還需要低通濾波器進行幫助才可以得出來。
2 系統設計
單片機與上位機部分、模擬電路與FPGA部分一起成為這個系統的總體。單片機作為波形發生器的中心控制單元,波形發生器界面通過上位機來控制,而ROM中存儲所要求的波形數據需要借用直接數字頻率合成技術,ROM需要在FPGA 中進行構造。通過上位機的命令,單片機將查表地址等信息輸出給FPGA,相關的波形數據通過這些信息在FPGA中得出,當然,這些波形數據的輸出還需要D/A轉換器進行轉換。
2.1 單片機部分
在對波形發生器進行設計的過程中處理器需用MCS8031,FPGA的復位信號選用P1.2,波形選擇信號選用P1.0和P1.1,DAC0832的片選端選用P2.5,低8位地址與數據線選用P0。通過上位機的發出信息的獲取,向FPGA輸出相關波形方面的信息,同時對DAC0832的使能進行操控。
2.2 上位機部分
上位機部分與單片機通信運用MSComm來達到,也就是對Windows中的串行通信能力完整的ActiveX控件進行運用。編程容易實現與方便等作為MSComm控件的優勢僅僅使用于對話框中可是很浪費的,其完全能夠滿足波形發生器的要求和特點。通信空間和其他的控件都是通過用戶接口和各種屬性來達到其功能的運用,很多屬性由控件提供,而且與Modem相關的屬性在其中占有很大的比例。而且因10到20K的整型數據出現在C界面之中,因而,在送給單片機以前要將這個頻率數據轉換為頻率控制字,當然,這個頻率控制字是16位的。
2.3 FPGA部分與模擬電路部分
各種質量高的波形的產生對運用直接數字頻率合成技術的波形發生器來說是非常簡單的。直接數字頻率合成技術就是將全數字技術運用其中,通過DAC將全部信號的數字形式轉換成模擬形式。就像正弦波在ROM表中存儲的正弦波形信息需要以部分采樣點數作為依據,這個時間段為一個周期。其數字幅度信息存在于這個表中,而且這個信息所需的時間段也是相同的。這種波的360范圍內的相位點的幅度值都有與出現的地址相呼應的,其幅度的數字量信號通過輸入進來的地址相位信息的映射從而得出來,這個過程可以通過對表進行查找得出,從而對D/A轉換電路進行推動。直接數字頻率合成方法通過對表中輸出信號的頻率查找的得到可以通過以下公式進行:
Fout=(x*[Felk])/Y Y為2的N次
其中輸出信號頻率的更改可以借助對尋址步長的更改來實現,這主要是輸出信號的頻率正比于制字,對尋址位寬M和累加器的位寬N等進行明確后,在每次累加器循環的周期中增多步長X使得減少地址個數,同時也就縮減了輸出一個中期波形所需要的時間,于此同時也就增強了輸出信號的頻率。同時,縮減的輸出信號采樣點數以及提升的輸出頻率與步長會使得波形的平滑度與精度被壓低,從而無法達到要求,輸出信號的最高頻率也就因此受到了限制,同時所產生的信號頻率因采樣定理不足半數的時鐘頻率。在現實中信號輸出質量為了做到保障,輸出的頻率還達不到百分之三十三的時鐘頻率,這樣是為了防止有用輸出帶內進入諧波和混疊。為了將所產生的波形頻率進行提升,需要對頻率很高的FPGA進行選取。后級電路中的D/A轉換選用轉換速度快的DAC0832。ROM表的量在FPGA中的出現不可能是無限的,這需要我們將這個因素考慮到,而且地址與數據位數的提升也會擴大ROM表,而在對采樣信號功能進行滿足的要求下對資源的使用量進行降低是我們需要面對的。所以,在對波形發生器進行設計的過程中要對資源的消耗量進行考慮,這可以通過對正弦波信號周期內的對稱性與算數關系進行有效的利用來實現,畢竟整個波形周期的采樣值僅僅只用到四分之一的正弦表就可以達到,資源方面也就會因此減少了四分之三的消耗量。同時,累加器、分頻器與比較器相結合可以將PWM波展示出來,各個部位的實現可以通過模塊化設計進行,而且連接最上層的文件,這樣修改起來很是簡便。
3 結語
在對設計的中運用直接數字頻率合成技術作為其核心技術,測試過后可以發現設計的要求在輸出波形上完全可以完全滿足。相比于以前的發生器概念,運用了這種技術的波形發生器在對調整頻率方面可以說是非常的簡便,出現的波形在頻率分辨率方面也可以得到很好的滿足,其擁有很快的輸出頻率轉換速度,同時輸出波形在對頻率進行轉換的過程中也是連續的相位。希望本人在波形發生器方面的設計思路能夠對以后的波形發生器方面的設計起到一定的幫助。
參考文獻
[1]海泰電子.最新推出HTPXI3710 50MSPS任意波形發生器[J].國外電子測量技術,2013(08):93-94.
作者簡介
夏曉玲(1967-),女, 湖北省鄂州市人。華中科技大學碩士學位。現為鄂州職業大學副教授。主要研究領域為單片機技術、電子技術應用。
作者單位
鄂州職業大學 湖北省鄂州市 436000