基于NI-VISA的USB接口虛擬數據采集儀設計
本文給出的實例是當單片機接收到上位機發送過來的“開始溫度采集”信號后,開始不斷啟動溫度的采集和往上位機發送溫度數據,直到收到上位機發送過來的“停止溫度采集”信號。本實例單片機端的主程序偽代碼如下:
本文引用地址:http://www.104case.com/article/248194.htm


在“中斷服務模塊”代碼中的端點2的OUT事務部分,讀取上位機發送過來的數據,從該數據中獲取信息,刷新“開始溫度采集”的標志,然后退出中斷。在單片機主程序里面可以根據對該標志的判斷來決定開始采集溫度還是暫停采集溫度。
3 上位機軟件設計
上位機的USB設備的驅動編寫采用的是NI-VISA圖形化的方法進行設置,詳細步驟見參考文獻。驅動編寫后,接下來就是采用LabVIEW 2012編寫上位機程序,上位機的運行界面如圖2所示。

其關鍵程序代碼如下:
①打開USB資源。該部分代碼如圖3所示。其中關鍵函數是圖3中所示的“VISA打開”函數。

②點擊運行界面上的“開始采集溫度”按鈕。實現上位機往CH372設備發送一個字符“1”。CH372設備接收后,觸發單片機中斷服務讀取該字符。讀取該字符后,刷新“開始采集溫度”的標志。在單片機的主程序中,根據該標志啟動溫度采集和往上位機發送溫度數據。因此,上位機程序中必須含有往CH372設備寫發送數據的操作和讀來自CH372設備數據的操作,該部分代碼如圖4所示。其中的關鍵函數是圖4所示的“VISA寫入”函數和“VISA讀取”函數。

結語
該模板采用CH372芯片的內置同件模式,屏蔽了USB通信的底層細節,大大降低了USB通信的復雜度。同時對CH372的操作細節進行了封裝,提供相應接口給應用層,開發者的設計只局限在應用層,大大降低了開發時間和難度。采用NI-VISA的圖形化配置的方法快速開發了USB設備的驅動,采用LabVIEW里面提供的函數方便實現USB設備打開和讀寫操作。因此,該模板能實現USB接口的虛擬數據采集儀的快速設計。
pid控制相關文章:pid控制原理
模擬信號相關文章:什么是模擬信號
晶振相關文章:晶振原理
評論