新聞中心

        EEPW首頁 > 測試測量 > 設計應用 > 基于NI-VISA與LabVIEW的 USB接口應用設計

        基于NI-VISA與LabVIEW的 USB接口應用設計

        作者: 時間:2017-01-12 來源:網絡 收藏
        引 言

        USB(Universal Serial Bus)接口是近年來應用在PC領域的新型接口技術。它基于單一的總線接口技術來滿足多種應用領域的需求;它的即插即用、支持熱插拔、易于擴展等特性極大地方便了用戶的使用,已逐漸成為現代數據傳輸的發展趨勢。

        本文引用地址:http://www.104case.com/article/201701/337655.htm

        傳統的開發USB應用系統的步驟是,先用windowsDDK(設備驅動程序開發包)或第三方開發工具(如DriverSt LJdic))開發LJSB驅動程序,然后用Visual C++編寫DLL(動態連接庫),最后再調有DLL來開發應用程序。顯然,這對windows編程不熟悉的人來說有一定的難度,何況USB驅動程序的開發難度很大。本文介紹一種簡單、快速開發USB接口應用系統的方法。它直接在LabVIEW環境下通過NI-VISA開發能驅動用戶USB系統的應用程序,完全避開了以前開發USB驅動程序的復雜性,大大縮短了開發周期。

        1 N1-VISA簡介

        NI-VISA(VirtualInstrumentSoftwareArchitecture,以下簡稱為"VISA")是美國國家儀器NI(National1nstrLlrnent)公司開發的一種用來與各種儀器總線進行通信的高級應用編程接口。VISA總線1/()軟件是一個綜合軟件包,不受平臺、總線和環境的限制,可用來對USB、GPIB、串口、VXI、PXI和以太網系統進行配置、編程和調試。VISA是虛擬儀器系統I/O接口軟件。基于自底向上結構模型的VISA創造了一個統一形式的I/O控制函數集。一方面,對初學者或是簡單任務的設計者來說, VISA提供了簡單易用的控制函數集,在應用形式上相當簡單;另一方面,對復雜系統的組建者來說,VISA提供了非常強大的儀器控制功能與資源管理。

        2 LabVIEW及其調用VISA的條件

        LabVIEW(Laboratory Virtual InstrumentEngineeringWorkbench)是NI公司開發的一種基于圖形程序的編程語言。用戶利用創建和調用子程序的方法編寫程序,使創建的程序模塊化,而且程序編制簡單、直觀。一個LabVIEW程序分為3部分:前面板、框圖程序和圖標/接線端口。前面板用于模擬真實儀器的前面板;框圖程序是利用圖形語言對前面板上的控件對象(分為控制量和指示量兩種)進行控制;圖標/接線端口用于把LabVlEW程序定義成一個子程序,從而實現模塊化編程。

        當進行USB通信時,VISA提供了兩類函數供LabVIEW調用,USB INSTR設備與USB RAW設備。USB INSTR設備是符合USBTMC協議的USB設備,可以通過使用USB INSTR類函數控制,通信時無需配置NI-VISA;而USB RAW設備是指除了明確符合USBTMC規格的儀器之外的任何USB設備,通信時要配置NI-VISA。
        (1)配置NI-VISA的步驟

        ①使用Driver Development wizard(驅動程序開發向導)創建INF文檔;

        ②安裝INF文檔,并安裝使用INF文檔的USB設備

        ③使用NI-VISA InteractiveControl(NI-VISA互動控制工具)對設備進行測試,以證實USB設備已正確安裝,并獲得USB設備的各屬性值。

        詳細過程可參考NI官方網站上免費提供的文檔《使用NI-VISA控制USB設備》。

        (2)與Nl-VISA相配合的LabVIEW模板中VI子節點

        ViOpen,打開并指定VISA resource name的設備的連接。
        ViProperty,VISA設備的屬性子節點,可以設置端點或傳輸方式。
        ViWrite,向VISA resource name指定的設備寫入數據。
        ViRead,從VISA resource name指定的設備讀出數據。
        ViClose,結束設備讀寫并關閉與指定設備的連接。

        (3)USB RAW設備讀寫的操作次序

        USB RAW設備的讀寫次序如圖1所示。

        下面以一個USB接口的溫度采集系統為例,說明基于NI-VISA驅動的USB接口應用系統的設計與實現。

        3系統硬件結構

        系統以Philips公司的增強型80C51單片機為核心,如圖2所示。這是一個多點溫度采集系統,核心器件是含有8 KB非易失Flash程序存儲器的P89C52,與標準80C51完全兼容。USB通信控制芯片采用Philips公司的PDIUSBDl2芯片(簡稱"D12")。它是一款較新型的專用 USB通信控制芯片,符合通用串行總線USBl.1版規范,內部集成有串行接口引擎SIE、320字節FIFO存儲器、收發器和電壓調節器。前端溫度傳感器采用Dallas公司生產的DSl8B20。它是一線式數字溫度傳感器,直接以數字量輸出給微處理器,可節省大量的引線和信號調理電路。DSl8B20內部有一個光刻ROM。這個ROM中存有64位序列號。它可以看作是該DS18B20的地址序列碼,所以多路溫度傳感器可以掛在1條總線上,共同占用單片機的1條I/O線即可實現接口。在提升單片機I/O線驅動能力的前提下,理論上可以任意擴充檢測的溫度點數。

        D12與單片機的接口共有兩種方式:多路地址/數據總線方式和單地址/數據總線方式。這里選擇了單地址/數據總線方式,因此,D12的ALE接為低電平,而A0腳與P89C52X2的端口P3.3相連。該端口控制D12的命令和數據狀態:A0=1,表示數據總線上是命令;A0=O,表示數據總線上是數據。D12的數據總線直接與P0口相連,D12的中斷引腳INT_N與:P89C52X2的INTO相連。當D12的外部中斷有一位為1時,INT_N輸出低電平,觸發P89C52X2的外部中斷。因為系統未采用DMA,所以D12的DMACK_N引腳接高電平,EOT_N引腳通過電阻接到USB的+5V,以正確檢測到USB連接;INT_N引腳加一個上拉電阻。因為D12有片內上電復位電路,故引腳RESET_N直接與電源引腳VCC相連。溫度傳感器DSl8B20工作在外接電源工作方式,DQ引腳直接和P89C52X2的P1.O相連。


        上一頁 1 2 下一頁

        關鍵詞: NI-VISALabVIEWUSB接

        評論


        相關推薦

        技術專區

        關閉
        主站蜘蛛池模板: 巨野县| 陵水| 田东县| 桐庐县| 桂林市| 江城| 保山市| 松阳县| 磴口县| 调兵山市| 荔波县| 杭州市| 军事| 南投县| 中超| 丰台区| 吉林市| 贺兰县| 黑水县| 泸溪县| 潍坊市| 横峰县| 富民县| 岳西县| 海伦市| 应城市| 泗阳县| 望奎县| 罗江县| 翁牛特旗| 芦溪县| 元谋县| 桐城市| 蒙山县| 东丽区| 阜城县| 孟津县| 江川县| 丹凤县| 堆龙德庆县| 志丹县|