基于PCI總線的數(shù)據(jù)采集卡的設計與實現(xiàn)
2 數(shù)據(jù)采集過程的實現(xiàn)
2.1 動態(tài)鏈接庫的設計
LabVIEW軟件本身提供了對端口的操作函數(shù),可以對外設的端口進行讀寫,而其他對外設的實時控制則需要通過DLL技術(shù)來實現(xiàn)。
在本系統(tǒng)中,自行應用硬件芯片設計了數(shù)據(jù)采集卡,要實現(xiàn)系統(tǒng)中的各個硬件與計算機之間的通信,必須設計相應的動態(tài)鏈接庫。DLL庫的設計在這里主要包括:設備初始化;確定設備名;創(chuàng)建設備句柄;獲取通道信息;等待客戶軟件信息。
2.2 數(shù)據(jù)采集過程
先對數(shù)據(jù)采集卡有關(guān)的采樣參數(shù)設置;采樣開始,多路開關(guān)對采樣通道進行一次掃描,每個通道采樣一個點;接著開始A/D轉(zhuǎn)換,轉(zhuǎn)換后的數(shù)字信號存到數(shù)據(jù)緩存區(qū)中。重復上述過程直到采集到了所需的采樣次數(shù),全部數(shù)據(jù)順序存儲到緩存區(qū)中,需要時從數(shù)據(jù)采集卡的緩存中讀取數(shù)據(jù)到計算機的內(nèi)存中進行處理。采集流程如圖5所示。本文引用地址:http://cafeforensic.com/article/192773.htm
2.3 LabviEW中的動態(tài)鏈接庫調(diào)用
在LabVIEW的編程狀態(tài)下,打開Function Palette工具箱中“調(diào)用動態(tài)鏈接庫功能”,將數(shù)據(jù)采集卡驅(qū)動程序轉(zhuǎn)化為一個圖標/連接器,然后在框圖程序中就可以調(diào)用該模塊,通過在其輸入端設置相應的參數(shù),在程序運行時,驅(qū)動模塊啟動數(shù)據(jù)采集卡的工作,并將采集數(shù)據(jù)返回。圖6為動態(tài)鏈接庫調(diào)用的一個例子。
圖6中CLF節(jié)點I/O數(shù)據(jù)類型決定于外輸入,采集通道數(shù)輸入控件“channel”、采集次數(shù)輸入控件“times”均為32位無符號長整形,對0~5V電壓經(jīng)采集后的輸出為雙精度浮點型離散的數(shù)值,先送入緩存器中存儲待用。
4 結(jié)論
本文采用硬件芯片設計的數(shù)據(jù)采集系統(tǒng),在本地總線的晶振頻率為20MHz時,能穩(wěn)定地達到160Mb/s的采集速率;晶振頻率為40MHz時,能穩(wěn)定的達到200Mb/s的采集速率。
將虛擬儀器技術(shù)與各種物理信號的采集、分析及結(jié)果顯示結(jié)合起來為新型儀器的開發(fā)提供了一個很好的方向。將先進的儀器開發(fā)軟件LabVIEW與普通數(shù)據(jù)采集系統(tǒng)很好地結(jié)合起來又將使虛擬儀器技術(shù)在各個領域得到更廣泛的應用。
評論