LabVIEW與USB的直接數(shù)據(jù)通信_第1頁
LabVIEW與USB的直接數(shù)據(jù)通信_第2頁
LabVIEW與USB的直接數(shù)據(jù)通信_第3頁
免費(fèi)預(yù)覽已結(jié)束,剩余1頁可下載查看

下載本文檔

版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進(jìn)行舉報(bào)或認(rèn)領(lǐng)

文檔簡介

LabVIEWUSB的直接數(shù)據(jù)通信廖傳書,黃道斌,孫旦均,李素芬(武漢理工大學(xué)信息工程學(xué)院湖北武漢430070)引言LabVIEW儀器控制、數(shù)字信號分析、工廠自動(dòng)化等領(lǐng)域獲得了廣泛的應(yīng)用。LabVIEW程LabVIEW對數(shù)據(jù)的采集和處理,傳統(tǒng)的是采用數(shù)據(jù)采集卡,但是這些數(shù)據(jù)LabVIEWUSB總線,可以同樣實(shí)現(xiàn)數(shù)據(jù)采集,并且彌補(bǔ)了采集卡的不足。LabVIEW讀寫USBVC++Delphi編寫動(dòng)態(tài)鏈DLLDLL中通過調(diào)用WINAPIUSB設(shè)備的數(shù)據(jù),并存LabVIEW中通過對DLLLabVIEW下,通過調(diào)用NI-VISA子程序控件,實(shí)現(xiàn)與USB設(shè)備的直接通信,避免了二次編程的麻煩和數(shù)據(jù)的中轉(zhuǎn)。USB底層驅(qū)動(dòng)程序設(shè)計(jì)USB底層驅(qū)動(dòng)開發(fā)工具有WindowsDDKDriverstudioWindriverLabVIEW的NI-VISA子程序控件作為USB的底層驅(qū)動(dòng)。VISA(VirtualInstrumentSoftwareArchitecture,ni.corn/visa)是一個(gè)用來與各種儀器總線進(jìn)行通訊的高級應(yīng)用編程接口(API)。他不受平臺、總線和環(huán)境的限制。通用串行總線(USB)PCUSB制數(shù)據(jù)的形式發(fā)送的。每個(gè)USB設(shè)備都有各自的指令集??梢允褂肗I-VISA讀寫功能向儀器發(fā)送這些指令,并讀取儀器的反饋。NI-VISA30版開始支持USB2種VISA類函數(shù)(Resource2USBINSTR設(shè)備與USBRAWUSB測試和測量類(USBTMC)USBUSBINSTR類函數(shù)控制,488.2標(biāo)準(zhǔn)通訊。對于這些設(shè)備,只需以與GPIB儀器通訊同樣的方式,使用"VISAOpen","VISAClose","VISARead"和"VISAWrite"功能。USBTMCVISAUSBINSTR類函數(shù)能夠理解的協(xié)議。USBTMC設(shè)備相WindowsNI-VI-SA用。在WindowsINF文檔做到這一點(diǎn)。INF文件是系統(tǒng)硬件設(shè)備配置文件,USBINFPID(產(chǎn)品識別號)VID(廠商識別號)USB設(shè)備。NI-VISA3.0中包含的VISADriverDevelopmentWizard(DDW)USBINFINF的過程:NI-VISAVISADriverDevel-opmentWizardPXI/PCIUSBINFUSBVI-SADDW基本設(shè)備信息窗口。USBPIDVIDUSB設(shè)1616進(jìn)制數(shù)字,并應(yīng)該由設(shè)備制造商提供。例如在后面介紹基于USB的虛擬示波器用到USB接口芯片PDIUSBD12的PID和VID0x04710x0666;這一步設(shè)置完成后,點(diǎn)擊NEXT,進(jìn)行最后一步的設(shè)置。USBInstrumentPrefix(USB儀器前綴)USBInstrumentPrefix"outputdirectory"FinishINF存至指定的位置。INF文件夾到系統(tǒng)盤Win-dowsINF點(diǎn)擊右鍵,安裝即可。這時(shí),插上USB系統(tǒng)就能探測到,并根INFNI-VISA作為底層驅(qū)動(dòng)程序。在Lab-VIEW中,只需NI-VISA的相關(guān)控件,即可實(shí)現(xiàn)對USB設(shè)備的讀寫操作。LabVIEW驅(qū)動(dòng)程序編寫LabVIEW區(qū)別于其他編程語言的主要特點(diǎn)。LabVIEW不僅提供數(shù)百種不同接口測試儀器的驅(qū)動(dòng)程序,而且還支持VISA,SCPIIVI等最新的程控軟件標(biāo)準(zhǔn),為用戶設(shè)計(jì)開發(fā)先進(jìn)的測試系統(tǒng)提供了軟VISA是用于儀器編程的標(biāo)準(zhǔn)I/OVISAVISAAPI(應(yīng)用程序接口),通過調(diào)用底層的驅(qū)動(dòng)程序來控制儀器設(shè)備。NI-VISA支持3種類型的USB管道:控制、批量和中斷。NI-VISA探測到USB儀器時(shí),他會對儀器進(jìn)行自動(dòng)掃描,尋找各種類型的最低可用端點(diǎn)。如使用NI-VI-SAVISAUSBControlIn和VISAUSBControlOutVISARead和VISAWrite來通過批量型管道傳輸數(shù)據(jù)。I/O函數(shù)庫,VISAI/O設(shè)備I/OLabVIEWVISA節(jié)點(diǎn)均在Function模板→AllFunctions子模板→InstrumentI/O子模板→VISAVISAWrite和VISARead四個(gè)節(jié)點(diǎn)即可實(shí)現(xiàn)和USB設(shè)備的雙向通信。當(dāng)完成對USBINFVISAOpen節(jié)點(diǎn)打開該資源,建立計(jì)算機(jī)與這些VISA資源的通信管道;與VISAOpen節(jié)點(diǎn)相反,VISAClose節(jié)點(diǎn)用于將打VISAVISAWrite節(jié)點(diǎn)的功能是將writebuffer端口輸入字符串?dāng)?shù)據(jù)發(fā)送到儀器中;VISARead節(jié)點(diǎn)的功能是從儀器中讀出數(shù)據(jù);44LabVIEWUSB批量數(shù)1所示。當(dāng)然,這需要前述INFUSB1VISAresourcenameVISAINFVISAUSB發(fā)送字符串“connecttest”USB接口芯片LabVIEWreadbuffer“connecttest”字符串。IJSB的虛擬示波器的實(shí)現(xiàn)LabVIEWUSB示波器調(diào)理電路96k(多檔可調(diào))AD采樣,并將采樣到的數(shù)據(jù)通過USBPCLabVIEW,LabVlEWUSB口傳來的數(shù)據(jù)進(jìn)行處理、測2kHz的正弦波信號,在軟件中顯示的波形以及測量結(jié)果與實(shí)際Lab-VIEW的相關(guān)移測量等操作。PhilipPDIUSBD12USBADUSB接口完成采樣數(shù)據(jù)的傳輸。單片機(jī)的電路設(shè)計(jì)和軟件構(gòu)成在這里就不做詳細(xì)介紹。USBPDIUSBD12,他支持批量數(shù)據(jù)的長度為64B64B為一幀進(jìn)行數(shù)據(jù)和命令的收發(fā)。在系統(tǒng)啟動(dòng)即檢測USB總線上的數(shù)據(jù)的傳輸過程遵循以下步驟:LabVIEW向USB64B,其他部分進(jìn)行比特填充。USB8k高速采樣命令,則進(jìn)行連續(xù)采樣,將采樣的數(shù)據(jù)存貯在數(shù)據(jù)緩沖區(qū)中,采60B60B數(shù)據(jù)的前面4USB總線將這些數(shù)據(jù)幀批量傳輸LabVIEW。8k60B60個(gè)USBL

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
  • 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負(fù)責(zé)。
  • 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

評論

0/150

提交評論