基于A(yíng)RM的高速數據采集卡
主任務(wù)不斷的讀取端點(diǎn)1,當接收到PC機發(fā)來(lái)的讀命令時(shí),就激活高優(yōu)先級讀任務(wù)的準備就緒信號量。讀任務(wù)被喚醒進(jìn)入讀中斷服務(wù)程序,將緩存器的數據通過(guò)USB總線(xiàn)發(fā)送給PC機,發(fā)送完畢后就關(guān)閉讀任務(wù)的就緒信號量,返回到主任務(wù)的循環(huán)中,等待PC機發(fā)來(lái)的下一個(gè)命令。寫(xiě)任務(wù)與此相似,不再敘述。
4.2 基于LabWindow/CVI的主機軟件編程
4.2.1 LabWindows/CVI簡(jiǎn)介
作為虛擬測量?jì)x器,關(guān)鍵是要具有易于生成良好操作界面和強大數據處理能力的工具軟件。本系統的程序設計是用LabVIEW開(kāi)發(fā)的。LabVIEW是美國NI公司開(kāi)發(fā)的基于C/C++的專(zhuān)門(mén)用于虛擬儀表及過(guò)程控制的可視化編程語(yǔ)言,采用LabVIEW提供的控制件庫(包括開(kāi)關(guān)、旋鈕、圖表等)很容易地設計出符合實(shí)際要求、新穎美觀(guān)的操作界面。此外LabVIEW具有很強的數據處理功能,它提供了豐富的庫函數用于數據輸入接口、數據處理(FFT等)和圖形顯示等功能,為開(kāi)發(fā)應用軟件帶來(lái)極大方便。圖5為L(cháng)abVIEW開(kāi)發(fā)的系統操作界面。
4.2.2 程序設計
整個(gè)設計程序包括四個(gè)部分:面板設計、初始化、數據采集、數據處理和結果顯示,通過(guò)精心設計程序,基本完成了預定的各項測量功能。并保證了系統的運行速度。各部分功能介紹如下。
(1) 面板設計:提供友好的操作界面,符合常規測量?jì)x器的操作習慣。
(2) 初始化:完成系統初始化功能,包括復位、送工作方式字、設置程序運行參數等。
(3) 數據采集:LabVIEW不能直接訪(fǎng)問(wèn)用戶(hù)自己設計的硬件,作為一個(gè)開(kāi)放式開(kāi)發(fā)平臺,LabVIEW提供了DLL接口,使用戶(hù)在LabVIEW平臺上能調用其他軟件平臺編譯的模塊。并提供對象連接和嵌入技術(shù)(簡(jiǎn)稱(chēng)OLE)的支持。筆者利用VC++6.0編寫(xiě)了DLL文件,并在LabVIEW環(huán)境下調用該文件,實(shí)現了LabVIEW程序與數據采集卡的數據通信。
評論