新聞中心

EEPW首頁 > 測試測量 > 設(shè)計(jì)應(yīng)用 > 基于SOPC系統(tǒng)的虛擬示波器設(shè)計(jì)

基于SOPC系統(tǒng)的虛擬示波器設(shè)計(jì)

作者: 時間:2017-01-12 來源:網(wǎng)絡(luò) 收藏

  2.3 嵌入式USB協(xié)議棧開發(fā)

  USB協(xié)議復(fù)雜,虛擬示波器系統(tǒng)開發(fā)的USB協(xié)議?;趍icroc/os-Ⅱ,并采用了如圖7的分層結(jié)構(gòu),以減少開發(fā)調(diào)試的難度。

  硬件抽象層和命令接口層都與硬件相關(guān),硬件抽象層負(fù)責(zé)對SX2的寄存器進(jìn)行讀寫操作,而命令接口則實(shí)現(xiàn)與SX2的工作方式有關(guān)的操作;協(xié)議層與平臺無關(guān),其主要完成USB的枚舉及各端口數(shù)據(jù)處理;應(yīng)用層完成對提供調(diào)用的函數(shù)進(jìn)行封裝,應(yīng)用層提供了簡單的API接口,其利用senddata函數(shù)發(fā)送數(shù)據(jù)到主機(jī),同時利用recdata函數(shù)從主機(jī)接收數(shù)據(jù)以及廠商請求的函數(shù),上層程序只要簡單地調(diào)試這3個函數(shù)而無需關(guān)注USB協(xié)議,即可完成虛擬示波器的USB通信。

  3 虛擬示波器上位機(jī)軟件設(shè)計(jì)

  3.1 虛擬示波器USB通信的封裝

  虛擬示波器上位機(jī)程序采用LabWindows/CVI開發(fā),其本身并不支持USB通信,因此采用了調(diào)用外部模塊的方法。采用VC++編寫程序,將USB通信底層函數(shù)進(jìn)行封裝,編譯成DLL,再供LabWindows/CVI進(jìn)行調(diào)用。為此,將動態(tài)鏈接庫的頭文件和DLL文件導(dǎo)入進(jìn)工程,生成1個FP的驅(qū)動器,這時虛擬示波器系統(tǒng)就可以直接調(diào)用DLL里面提供的函數(shù)。

  3.3 虛擬示波器面板程序的開發(fā)

  圖8中,用戶對虛擬示波器面板上的垂直幅度調(diào)節(jié)、水平寬度調(diào)節(jié)等按鈕操作時,系統(tǒng)會將相應(yīng)的操作命令傳送給下位機(jī),并由下位機(jī)調(diào)節(jié)垂直幅度和水平時基等,從而實(shí)現(xiàn)用戶對虛擬示波器系統(tǒng)的操作。

  4 測試結(jié)果

  采用FPGA處理器和ALTERA公司的NiosⅡ軟核完成虛擬示波器系統(tǒng)設(shè)計(jì)后,進(jìn)行了多次測試,其性能指標(biāo)如表1所示。

  由表1可知,該虛擬示波器達(dá)到了一般模擬示波器的指標(biāo)。然而由于本系統(tǒng)采用虛擬儀器技術(shù),在功能上增加單次采樣、波形保存等功能,因此與普通示波器相比,其成本低廉,操作界面更友好、簡便。

  5 結(jié)論

  本文以LabWindows/CVI為開發(fā)平臺,設(shè)計(jì)了1種雙通道虛擬示波器,該示波器利用FPGA 中嵌入的NiosⅡ軟核構(gòu)成的SOPC系統(tǒng),完成虛擬示波器各模塊的管理;利用嵌入式USB協(xié)議,配合片外的模擬信號處理模塊,通過USB總線,完成各種波形數(shù)據(jù)的采集,經(jīng)上位機(jī)軟件完成了波形顯示和數(shù)據(jù)分析,并實(shí)現(xiàn)了儀器的各種操作功能。實(shí)際測試結(jié)果表明,該虛擬示波器達(dá)到了或優(yōu)于一般模擬示波器的性能指標(biāo)。
參考文獻(xiàn):

[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.


上一頁 1 2 3 下一頁

關(guān)鍵詞: SOPC系統(tǒng)虛擬示波

評論


技術(shù)專區(qū)

關(guān)閉