基于NI-VISA的USB接口虛擬數(shù)據(jù)采集儀設(shè)計
本文給出的實例是當(dāng)單片機接收到上位機發(fā)送過來的“開始溫度采集”信號后,開始不斷啟動溫度的采集和往上位機發(fā)送溫度數(shù)據(jù),直到收到上位機發(fā)送過來的“停止溫度采集”信號。本實例單片機端的主程序偽代碼如下:
本文引用地址:http://m.butianyuan.cn/article/248194.htm
在“中斷服務(wù)模塊”代碼中的端點2的OUT事務(wù)部分,讀取上位機發(fā)送過來的數(shù)據(jù),從該數(shù)據(jù)中獲取信息,刷新“開始溫度采集”的標(biāo)志,然后退出中斷。在單片機主程序里面可以根據(jù)對該標(biāo)志的判斷來決定開始采集溫度還是暫停采集溫度。
3 上位機軟件設(shè)計
上位機的USB設(shè)備的驅(qū)動編寫采用的是NI-VISA圖形化的方法進行設(shè)置,詳細步驟見參考文獻。驅(qū)動編寫后,接下來就是采用LabVIEW 2012編寫上位機程序,上位機的運行界面如圖2所示。
其關(guān)鍵程序代碼如下:
①打開USB資源。該部分代碼如圖3所示。其中關(guān)鍵函數(shù)是圖3中所示的“VISA打開”函數(shù)。
②點擊運行界面上的“開始采集溫度”按鈕。實現(xiàn)上位機往CH372設(shè)備發(fā)送一個字符“1”。CH372設(shè)備接收后,觸發(fā)單片機中斷服務(wù)讀取該字符。讀取該字符后,刷新“開始采集溫度”的標(biāo)志。在單片機的主程序中,根據(jù)該標(biāo)志啟動溫度采集和往上位機發(fā)送溫度數(shù)據(jù)。因此,上位機程序中必須含有往CH372設(shè)備寫發(fā)送數(shù)據(jù)的操作和讀來自CH372設(shè)備數(shù)據(jù)的操作,該部分代碼如圖4所示。其中的關(guān)鍵函數(shù)是圖4所示的“VISA寫入”函數(shù)和“VISA讀取”函數(shù)。
結(jié)語
該模板采用CH372芯片的內(nèi)置同件模式,屏蔽了USB通信的底層細節(jié),大大降低了USB通信的復(fù)雜度。同時對CH372的操作細節(jié)進行了封裝,提供相應(yīng)接口給應(yīng)用層,開發(fā)者的設(shè)計只局限在應(yīng)用層,大大降低了開發(fā)時間和難度。采用NI-VISA的圖形化配置的方法快速開發(fā)了USB設(shè)備的驅(qū)動,采用LabVIEW里面提供的函數(shù)方便實現(xiàn)USB設(shè)備打開和讀寫操作。因此,該模板能實現(xiàn)USB接口的虛擬數(shù)據(jù)采集儀的快速設(shè)計。
pid控制相關(guān)文章:pid控制原理
模擬信號相關(guān)文章:什么是模擬信號
晶振相關(guān)文章:晶振原理
評論