基于IJSB的虛擬示波器的實現 - LabVIEW與USB的數據通信方案實現
本系統為在LabVIEW中實現示波器的功能。單片機對向USB示波器調理電路輸出的信號進行96 k(多檔可調)的高速連續AD采樣,并將采樣到的數據通過USB口傳給PC機的LabVIEW,LabVlEW對USB口傳來的數據進行處理、測量、波形還原和顯示等相關操作。虛擬示波器的程序運行界面如圖2所示,當前輸入的是2.001 kHz的正弦波信號,在軟件中顯示的波形以及測量結果與實際示波器上 得到的結果基本無異。在該程序模塊中,通過調用Lab-VIEW的相關控件,實現了對輸入的模擬信號的波形還原顯示、頻率測量、峰值測量、直流漂移測量等操作。
系統采用單片機和Philip公司生產的PDIUSBD12芯片構成USB設備。由單片機實現AD采樣,經USB接口完成采樣數據的傳輸。單片機的電路設計和軟件構成在這里就不做詳細介紹。
此系統硬件部分USB接口芯片采用的PDIUSBD12,他支持批量數據的長度為64B,所以就以64B為一幀進行數據和命令的收發。在系統啟動即檢測USB設備是否連接正常,正常才啟動檢測,否則提示連接不正常。當啟動檢測時,USB總線上的數據的傳輸過程遵循以下步驟:
(1)LabVIEW向USB設備發送啟動控制命令幀,其中包含采樣頻率、存貯深度、持續時間等相關內容。由于控制命令字不滿64B,其他部分進行比特填充。
(2)單片機通過USB接口芯片接收到控制命令,即按要求開始啟動采樣。若為大于8k高速采樣命令,則進行連續采樣,將采樣的數據存貯在數據緩沖區中,采樣結束后,將數據緩沖區中的數據進行60B每幀的拆分,并在60B數據的前面加上4個字節的數據幀編號等相關內容,通過USB總線將這些數據幀批量傳輸給LabVIEW。
(3)若為小于8k的低速采樣命令,則進行中斷采樣,將采樣的數據存儲在一個隊列中,在采樣過程中,若采樣的數據多于60B,即在主程序中取出隊列中60個字節數據并封裝成數據幀,啟動USB數據的傳輸過程。采樣過程直至LabVIEW向USB設備發送停止命令幀。
(4)在一次數據采樣結束后,LabVIEW向USB設備發送啟動控制命令幀即可馬上進行再次采樣。
5 結語
用戶可以根據不同的環境和要求選擇不同的通信方式,在低速的情況下可以采用串口,并口等方式,高速數據采集可以采用USB口,專用數據采集卡等,使用USB2.0協議的芯片支持的批量的數據幀長度可以達到512B,并且有更高的數據傳輸速度。介紹了在LabVIEW中實現USB通信的設計方法,并給出具體的設計步驟和方框圖程序。該方法具有硬件接口簡單、軟件編程方便、實用的特點,在實際數據采集過程中具有一定參考價值。
- 第 1 頁:LabVIEW與USB的數據通信方案實現
- 第 2 頁:基于IJSB的虛擬示波器的實現
本文導航
非常好我支持^.^
(36) 97.3%
不好我反對
(1) 2.7%
相關閱讀:
- [電子說] USB Type-C 240W知識科普 2023-10-24
- [電子說] 基于USB快充(USB-PD)浪涌保護的設計案例 2023-10-24
- [電子說] 力特推出新型電子保險絲保護集成電路LS05006VPQ33 2023-10-24
- [接口/總線/驅動] USB-C速度、充電、優缺點你都知道嗎? 2023-10-24
- [電子說] LabVIEW中PID控制的的高級功能 2023-10-24
- [電子說] 小體積也有大乾坤!高效又緊湊的的5W USB電源適配器方案 2023-10-24
- [電子說] 小體積也有大乾坤!高效又緊湊的的5W USB電源適配器方案 2023-10-24
- [電子說] 拔掉你的硬盤,吵到我的藍牙了! 2023-10-24
( 發表人:辰光 )