基于SOPC系統的虛擬示波器設計
2.3 嵌入式USB協議棧開發
USB協議復雜,虛擬示波器系統開發的USB協議棧基于microc/os-Ⅱ,并采用了如圖7的分層結構,以減少開發調試的難度。
硬件抽象層和命令接口層都與硬件相關,硬件抽象層負責對SX2的寄存器進行讀寫操作,而命令接口則實現與SX2的工作方式有關的操作;協議層與平臺無關,其主要完成USB的枚舉及各端口數據處理;應用層完成對提供調用的函數進行封裝,應用層提供了簡單的API接口,其利用senddata函數發送數據到主機,同時利用recdata函數從主機接收數據以及廠商請求的函數,上層程序只要簡單地調試這3個函數而無需關注USB協議,即可完成虛擬示波器的USB通信。
3 虛擬示波器上位機軟件設計
3.1 虛擬示波器USB通信的封裝
虛擬示波器上位機程序采用LabWindows/CVI開發,其本身并不支持USB通信,因此采用了調用外部模塊的方法。采用VC++編寫程序,將USB通信底層函數進行封裝,編譯成DLL,再供LabWindows/CVI進行調用。為此,將動態鏈接庫的頭文件和DLL文件導入進工程,生成1個FP的驅動器,這時虛擬示波器系統就可以直接調用DLL里面提供的函數。
3.3 虛擬示波器面板程序的開發
圖8中,用戶對虛擬示波器面板上的垂直幅度調節、水平寬度調節等按鈕操作時,系統會將相應的操作命令傳送給下位機,并由下位機調節垂直幅度和水平時基等,從而實現用戶對虛擬示波器系統的操作。
4 測試結果
采用FPGA處理器和ALTERA公司的NiosⅡ軟核完成虛擬示波器系統設計后,進行了多次測試,其性能指標如表1所示。
由表1可知,該虛擬示波器達到了一般模擬示波器的指標。然而由于本系統采用虛擬儀器技術,在功能上增加單次采樣、波形保存等功能,因此與普通示波器相比,其成本低廉,操作界面更友好、簡便。
5 結論
本文以LabWindows/CVI為開發平臺,設計了1種雙通道虛擬示波器,該示波器利用FPGA 中嵌入的NiosⅡ軟核構成的SOPC系統,完成虛擬示波器各模塊的管理;利用嵌入式USB協議,配合片外的模擬信號處理模塊,通過USB總線,完成各種波形數據的采集,經上位機軟件完成了波形顯示和數據分析,并實現了儀器的各種操作功能。實際測試結果表明,該虛擬示波器達到了或優于一般模擬示波器的性能指標。
參考文獻:
[1].C1 datasheethttp://www.dzsc.com/datasheet/C1+_2455447.html.
[2].LTC2289datasheethttp://www.dzsc.com/datasheet/LTC2289_1104294.html.
[3].CY7C68001datasheethttp://www.dzsc.com/datasheet/CY7C68001_1097509.html.
[4].RISCdatasheethttp://www.dzsc.com/datasheet/RISC_1189725.html.
評論