基于USB 2.0的高速數(shù)據(jù)采集卡在虛擬儀器中的應(yīng)用
USB控制器
數(shù)據(jù)采集接口卡是硬件部分的核心,選擇合適的能適用于USB協(xié)議的芯片是關(guān)鍵。EZ-USB FX2(即CY7C68013)是世界上首批USB2.0集成微控制器。其內(nèi)部集成了USB2.0的收發(fā)器、串行接口引擎(SIE)、增強(qiáng)的8051微控制器和一個(gè)可編程的串行接口。
在外設(shè)未通過USB接口接到PC機(jī)之前,外設(shè)上的固件存儲(chǔ)在PC上;一旦外設(shè)連接到PC機(jī)上,PC先確認(rèn)外設(shè)身份(即讀設(shè)備描述符),然后將該外設(shè)的固件下載到芯片的RAM中,這樣在開發(fā)過程中當(dāng)固件需要修改時(shí),可以在PC機(jī)上修改好后,下載到芯片中。
固件開發(fā)
設(shè)備固件是設(shè)備運(yùn)行的核心,它控制整個(gè)硬件系統(tǒng)的運(yùn)行,并負(fù)責(zé)處理PC機(jī)發(fā)來的各種USB請(qǐng)求,以完成它們之間的數(shù)據(jù)傳輸。其主要功能包括控制放大模塊,實(shí)現(xiàn)通道選擇;控制A/D模塊的數(shù)據(jù)采集;通過FX2實(shí)時(shí)上傳采集數(shù)據(jù)給PC;控制FX2芯片接收并處理USB設(shè)備驅(qū)動(dòng)程序的請(qǐng)求(如設(shè)置USB接口狀態(tài)等多種USB協(xié)議標(biāo)準(zhǔn)請(qǐng)求)等。
由于固件的開發(fā)流程比較復(fù)雜,故本設(shè)計(jì)中采用C語言進(jìn)行開發(fā),這樣比較容易實(shí)現(xiàn)模塊化和分層結(jié)構(gòu)化的程序設(shè)計(jì)。
EZ-USB FX2固件庫為用戶提供了底層Keil C函數(shù)庫。EZ-USB FX2軟件開發(fā)包提供了該庫的目標(biāo)文件,同時(shí)還提供了該函數(shù)庫的源代碼,用戶可以利用Keil C來重新編寫該函數(shù)庫。
EZ-USB FX2固件是使用EZ-USB FX2程序框架或直接使用EZ-USB FX2固件庫開發(fā)的程序,這是開發(fā)USB外設(shè)的重要部分。EZ-USB FX2在其固件程序中把自己定義為USB大存儲(chǔ)類、塊傳輸子類,操作系統(tǒng)中(Win98以上)有相應(yīng)的USB類設(shè)備驅(qū)動(dòng)程序來支持這種USB類外設(shè)。在FX2的固件程序中寫入U(xiǎn)SB通信模塊,就可以實(shí)現(xiàn)主機(jī)和USB設(shè)備的通信。
固件程序必須包括DSCR.A51(A51宏匯編器)、USBJmpTb.OBJ(目標(biāo)文件轉(zhuǎn)換器)和Ezusb.lib(Ezusb C編譯器庫文件和啟動(dòng)代碼)。在固件程序框架中,定義了基本的USB設(shè)備的功能,一般不許修改。本設(shè)計(jì)要實(shí)現(xiàn)的具體功能則在應(yīng)用層中的固件程序中完成。
應(yīng)用程序開發(fā)
根據(jù)實(shí)際要求,本系統(tǒng)需要通過軟件下載固件程序,以及對(duì)ADC、放大模塊、采集模塊進(jìn)行控制,同時(shí)還要接收或者發(fā)送數(shù)據(jù)。在采集開始前,可以先將命令發(fā)送出去,實(shí)現(xiàn)在固件程序中定義的相應(yīng)功能,如通過EZ-USB FX2口線控制前置放大模塊等。然后可以讀取傳送到主機(jī)的數(shù)據(jù),或者向設(shè)備發(fā)送數(shù)據(jù)等。
Visual C++作為一種面向?qū)ο蟮募砷_發(fā)軟件,它最突出的特性就是封裝性、繼承性和多態(tài)性。所以,我們選用Visual C++來設(shè)計(jì)應(yīng)用程序。
最后將用Visual C++編寫好的USB應(yīng)用程序封裝成DLL,即可在用Labview編寫的虛擬儀器最上層應(yīng)用程序中直接調(diào)用。
結(jié)語
本文就基于USB2.0的高速數(shù)據(jù)采集卡在虛擬儀器中的應(yīng)用做了具體的闡述,將該系統(tǒng)應(yīng)用于虛擬儀器中可實(shí)現(xiàn)熱插拔,克服了傳統(tǒng)數(shù)據(jù)采集卡插拔麻煩且擴(kuò)展槽有限的缺點(diǎn)。USB2.0傳輸率達(dá)到480Mbps,可充分滿足高速采集的需求。所以,本文給出的基于USB2.0的高速數(shù)據(jù)采集卡在虛擬儀器的研制開發(fā)中有著很強(qiáng)的實(shí)用性和廣闊的應(yīng)用前景。
參考文獻(xiàn):
[1].AD9059datasheethttp://www.dzsc.com/datasheet/AD9059_122633.html.
[2].CPLDdatasheethttp://www.dzsc.com/datasheet/CPLD_1136600.html.
[3].AD8321datasheethttp://www.dzsc.com/datasheet/AD8321_1055558.html.
評(píng)論