LabVIEW與USB的直接數(shù)據(jù)通信
介紹完上面的4個節(jié)點,就可以用上面4個節(jié)點實現(xiàn)LabVIEW對USB批量數(shù)據(jù)收發(fā),如圖1所示。當然,這需要前述INF文件的支持和與USB接口的單片機程序的支持,在圖1中VISA resource name端口用于指定需要打開的VISA資源的名稱,實際上就是前面生成INF配置文件中的VISA資源儀器描述符。這里,向USB發(fā)送字符串“connect test”,連接測試,單片機通過USB接口芯片將發(fā)送過去的數(shù)據(jù)回傳給LabVIEW。在前面板的read buffer顯示框中能顯示出“connect test”字符串。
4 基于IJSB的虛擬示波器的實現(xiàn)
本系統(tǒng)為在LabVIEW中實現(xiàn)示波器的功能。單片機對向USB示波器調理電路輸出的信號進行96 k(多檔可調)的高速連續(xù)AD采樣,并將采樣到的數(shù)據(jù)通過USB口傳給PC機的LabVIEW,LabVlEW對USB口傳來的數(shù)據(jù)進行處理、測量、波形還原和顯示等相關操作。虛擬示波器的程序運行界面如圖2所示,當前輸入的是2.001 kHz的正弦波信號,在軟件中顯示的波形以及測量結果與實際示波器上 得到的結果基本無異。在該程序模塊中,通過調用Lab-VIEW的相關控件,實現(xiàn)了對輸入的模擬信號的波形還原顯示、頻率測量、峰值測量、直流漂移測量等操作。
系統(tǒng)采用單片機和Philip公司生產的PDIUSBD12芯片構成USB設備。由單片機實現(xiàn)AD采樣,經(jīng)USB接口完成采樣數(shù)據(jù)的傳輸。單片機的電路設計和軟件構成在這里就不做詳細介紹。
此系統(tǒng)硬件部分USB接口芯片采用的PDIUSBD12,他支持批量數(shù)據(jù)的長度為64B,所以就以64B為一幀進行數(shù)據(jù)和命令的收發(fā)。在系統(tǒng)啟動即檢測USB設備是否連接正常,正常才啟動檢測,否則提示連接不正常。當啟動檢測時,USB總線上的數(shù)據(jù)的傳輸過程遵循以下步驟:
(1)LabVIEW向USB設備發(fā)送啟動控制命令幀,其中包含采樣頻率、存貯深度、持續(xù)時間等相關內容。由于控制命令字不滿64B,其他部分進行比特填充。
(2)單片機通過USB接口芯片接收到控制命令,即按要求開始啟動采樣。若為大于8k高速采樣命令,則進行連續(xù)采樣,將采樣的數(shù)據(jù)存貯在數(shù)據(jù)緩沖區(qū)中,采樣結束后,將數(shù)據(jù)緩沖區(qū)中的數(shù)據(jù)進行60B每幀的拆分,并在60B數(shù)據(jù)的前面加上4個字節(jié)的數(shù)據(jù)幀編號等相關內容,通過USB總線將這些數(shù)據(jù)幀批量傳輸給LabVIEW。
(3)若為小于8k的低速采樣命令,則進行中斷采樣,將采樣的數(shù)據(jù)存儲在一個隊列中,在采樣過程中,若采樣的數(shù)據(jù)多于60B,即在主程序中取出隊列中60個字節(jié)數(shù)據(jù)并封裝成數(shù)據(jù)幀,啟動USB數(shù)據(jù)的傳輸過程。采樣過程直至LabVIEW向USB設備發(fā)送停止命令幀。
(4)在一次數(shù)據(jù)采樣結束后,LabVIEW向USB設備發(fā)送啟動控制命令幀即可馬上進行再次采樣。
5 結 語
用戶可以根據(jù)不同的環(huán)境和要求選擇不同的通信方式,在低速的情況下可以采用串口,并口等方式,高速數(shù)據(jù)采集可以采用USB口,專用數(shù)據(jù)采集卡等,使用USB2.0協(xié)議的芯片支持的批量的數(shù)據(jù)幀長度可以達到512B,并且有更高的數(shù)據(jù)傳輸速度。介紹了在LabVIEW中實現(xiàn)USB通信的設計方法,并給出具體的設計步驟和方框圖程序。該方法具有硬件接口簡單、軟件編程方便、實用的特點,在實際數(shù)據(jù)采集過程中具有一定參考價值。
數(shù)字通信相關文章:數(shù)字通信原理
通信相關文章:通信原理
評論