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