資源描述:
《基于ni-visa與labview的 usb接口應用設(shè)計new》由會員上傳分享,免費在線閱讀,更多相關(guān)內(nèi)容在教育資源-天天文庫。
1、基于NI-VISA與LabVIEW的USB接口應用設(shè)計上海交通大學余志榮楊莉言USB(UniversalSerialBus)接口是近年來應用在PC領(lǐng)域的新型接口技術(shù)。它基于單一的總線接口技術(shù)來滿足多種應用領(lǐng)域的需求;它的即插即用、支持熱插拔、易于擴展等特性極大地方便了用戶的使用,已逐漸成為現(xiàn)代數(shù)據(jù)傳輸?shù)陌l(fā)展趨勢。傳統(tǒng)的開發(fā)USB應用系統(tǒng)的步驟是,先用windowsDDK(設(shè)備驅(qū)動程序開發(fā)包)或第三方開發(fā)工具(如DriverStLJdic))開發(fā)LJSB驅(qū)動程序,然后用VisualC++編寫DLL(動態(tài)連接庫),最后再調(diào)有DLL來開發(fā)應用程序。顯然,這對windows編程不熟悉的人來
2、說有一定的難度,何況USB驅(qū)動程序的開發(fā)難度很大。本文介紹一種簡單、快速開發(fā)USB接口應用系統(tǒng)的方法。它直接在LabVIEW環(huán)境下通過NI-VISA開發(fā)能驅(qū)動用戶USB系統(tǒng)的應用程序,完全避開了以前開發(fā)USB驅(qū)動程序的復雜性,大大縮短了開發(fā)周期。1N1-VISA簡介VISA(VirtualInstrumentSoftwareArchitecture,以下簡稱為"VISA")是美國國家儀器NI(National1nstrLlrnent)公司開發(fā)的一種用來與各種儀器總線進行通信的高級應用編程接口。VISA總線1/()軟件是一個綜合軟件包,不受平臺、總線和環(huán)境的限制,可用來對、GPIB、
3、串口、VXI、PXI和以太網(wǎng)系統(tǒng)進行配置、編程和調(diào)試。VISA是虛擬儀器系統(tǒng)I/O接口軟件。基于自底向上結(jié)構(gòu)模型的VISA創(chuàng)造了一個統(tǒng)一形式的I/O控制函數(shù)集。一方面,對初學者或是簡單任務的設(shè)計者來說,VISA提供了簡單易用的控制函,在應用形式上相當簡單;另一方面,對復雜系統(tǒng)的組建者來說,VISA提供了非常強大的儀器控制功能與資源管理。2LabVIEW及其調(diào)用VISA的條件LabVIEW(LaboratoryVirtualInstrumentEngineeringWorkbench)是NI公司開發(fā)的一種基于圖形程序的編程語言。用戶利用創(chuàng)建和調(diào)用子程序的方法編寫程序,使創(chuàng)建的程序模塊
4、化,而且程序編制簡單、直觀。一個LabVIEW程序分為3部分:前面板、框圖程序和圖標/接線端口。前面板用于模擬真實儀器的前面板;框圖程序是利用圖形語言對前面板上的控件對象(分為控制量和指示量兩種)進行控制;圖標/接線端口用于把LabVlEW程序定義成一個子程序,從而實現(xiàn)模塊化編程。當進行USB通信時,VISA提供了兩類函數(shù)供LabVIEW調(diào)用,USBINSTR設(shè)備與USBRAW設(shè)備。USBINSTR設(shè)備是符合USBTMC協(xié)議的USB設(shè)備,可以通過使用USBINSTR類函數(shù)控制,通信時無需配置NI-VISA;而USBRAW設(shè)備是指除了明確符合USBTMC規(guī)格的儀器之外的任何USB設(shè)備
5、,通信時要配置NI-VISA。配置NI-VISA的步驟用DriverDevelopmentwizard(驅(qū)動程序開發(fā)向?qū)?創(chuàng)建INF文檔;PDF文件使用"pdfFactoryPro"試用版本創(chuàng)建www.fineprint.cn安裝INF文檔,并安裝使用INF文檔的USB設(shè)備使用NI-VISAInteractiveControl(NI-VISA互動控制工具)對設(shè)備進行測試,以證實USB設(shè)備已正確安裝,并獲得USB設(shè)備的各屬。詳細過程可參考NI官方網(wǎng)站上免費提供的文檔《使用NI-VISA控制USB設(shè)備》。與Nl-VISA相配合的LabVIEW模板中VI子節(jié)點ViOpen,打開并指定VI
6、SAresourcename的設(shè)備的連接。ViProperty,VISA設(shè)備的屬性子節(jié)點,可以設(shè)置端點或傳輸方式。ViWrite,向VISAresourcename指定的設(shè)備寫入數(shù)據(jù)。ViRead,從VISAresourcename指定的設(shè)備讀出數(shù)據(jù)。ViClose,結(jié)束設(shè)備讀寫并關(guān)閉與指定設(shè)備的連接。(3)USBRAW設(shè)備讀寫的操作次序USBRAW設(shè)備的讀寫次序如圖1所示。下面以一個USB接口的溫度采集系統(tǒng)為例,說明基于NI-VISA驅(qū)動的USB接口應用系統(tǒng)的設(shè)計與實現(xiàn)。系統(tǒng)硬件結(jié)構(gòu)系統(tǒng)以Philips公司的增強型80C51單片機為核心,如圖2所示。這是一個多點溫度采集系統(tǒng),核心
7、器件是含有8KB非易失Flash程序存儲器的P89C52,與標準80C51完全兼容。USB通信控制芯片采用Philips公司的PDIUSBDl2芯片(簡稱"D12")。它是一款較新型的專用USB通信控制芯片,符合通用串行總線USBl.1版規(guī)范,內(nèi)部集成有串行接口引擎SIE、320字節(jié)FIFO存儲器、收發(fā)PDF文件使用"pdfFactoryPro"試用版本創(chuàng)建www.fineprint.cn器和電壓調(diào)節(jié)器。前端溫度傳感器采用Dallas公司生產(chǎn)的DSl8B20。它是一線