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