<dfn id="yhprb"><s id="yhprb"></s></dfn><dfn id="yhprb"><delect id="yhprb"></delect></dfn><dfn id="yhprb"></dfn><dfn id="yhprb"><delect id="yhprb"></delect></dfn><dfn id="yhprb"></dfn><dfn id="yhprb"><s id="yhprb"><strike id="yhprb"></strike></s></dfn><small id="yhprb"></small><dfn id="yhprb"></dfn><small id="yhprb"><delect id="yhprb"></delect></small><small id="yhprb"></small><small id="yhprb"></small> <delect id="yhprb"><strike id="yhprb"></strike></delect><dfn id="yhprb"></dfn><dfn id="yhprb"></dfn><s id="yhprb"><noframes id="yhprb"><small id="yhprb"><dfn id="yhprb"></dfn></small><dfn id="yhprb"><delect id="yhprb"></delect></dfn><small id="yhprb"></small><dfn id="yhprb"><delect id="yhprb"></delect></dfn><dfn id="yhprb"><s id="yhprb"></s></dfn> <small id="yhprb"></small><delect id="yhprb"><strike id="yhprb"></strike></delect><dfn id="yhprb"><s id="yhprb"></s></dfn><dfn id="yhprb"></dfn><dfn id="yhprb"><s id="yhprb"></s></dfn><dfn id="yhprb"><s id="yhprb"><strike id="yhprb"></strike></s></dfn><dfn id="yhprb"><s id="yhprb"></s></dfn>

新聞中心

EEPW首頁(yè) > 模擬技術(shù) > 設計應用 > 基于LABVIEW平臺的數據采集卡軟件設計

基于LABVIEW平臺的數據采集卡軟件設計

作者: 時(shí)間:2010-01-08 來(lái)源:網(wǎng)絡(luò ) 收藏
引言

作為專(zhuān)業(yè)測控領(lǐng)域的軟件開(kāi)發(fā)平臺,內含豐富的數據采集、數據信號分析以及功能強大的DAQ助手,搭建數據采集系統更為輕松,便于硬件設計人員直接對硬件的操控展開(kāi)設計。此外,它可通過(guò)DLL、CIN節點(diǎn)、ActiveX、.NET或MATLAB腳本節點(diǎn)等技術(shù),實(shí)現與其它編程語(yǔ)言混合編程,通過(guò)調用外部驅動(dòng)代碼使它與設備的連接變得非常容易。由于采用數據流模型,可以自動(dòng)規劃多線(xiàn)程任務(wù),可充分利用PC系統處理器的處理能力,從而提高模塊的采集效率。本文基于開(kāi)發(fā)環(huán)境,以庫函數節點(diǎn)的調用方式及結構,實(shí)現了一種中頻數據采集與處理卡軟件的設計。

軟件結構

采集卡軟件是基于PC的數據采集系統重要組成部分,它與硬件形成一個(gè)完整的數據采集、分析和顯示系統,軟件分為上層應用程序和驅動(dòng)程序。上層應用程序用以完成數據的分析、存儲和顯示等。驅動(dòng)程序則可直接對數據采集硬件的寄存器編程,管理數據采集硬件的操作并把它和處理器中斷、DMA和內存這些計算機資源結合在一起。

驅動(dòng)程序隱藏了復雜的硬件底層編程細節,為用戶(hù)提供容易理解的接口。NI公司為基于NI數據采集設備的數據采集系統提供了相應的接口驅動(dòng)及VI函數 (VI,Virtual Instrument)。對于一些不常見(jiàn)的硬件設備或用戶(hù)研發(fā)的硬件設備,NI沒(méi)有提供合適的驅動(dòng)。但是,如前所述,LABVIEW還提供了很多其它的通信接口,包括調用庫函數節點(diǎn)(Call Library Function Node, CLF)、代碼接口節點(diǎn)(Code Interface Node, CIN)、TCP/IP、Data Socket、OPC、共享變量、DDE和.NET等。通過(guò)這些通信接口,LABVIEW能夠實(shí)現與任何設備的通信。值得留意的是LABVIEW具有調用庫函數節點(diǎn)和代碼接口節點(diǎn)兩種方法,可以結合C語(yǔ)言的編程靈活性和LABVIEW G語(yǔ)言的直觀(guān)便捷特點(diǎn),大幅提高LABVIEW對用戶(hù)支持??蛇M(jìn)一步利用LABVIEW豐富的數據分析資源,節約系統開(kāi)發(fā)成本。

LABVIEW提供的的常用驅動(dòng)方式有兩種,調用C語(yǔ)言源代碼方式(CIN方式),以及調用動(dòng)態(tài)鏈接庫方式(CLF方式)。

CIN方式是實(shí)現LABVIEW與C語(yǔ)言混合編程的一種媒介,CIN通過(guò)輸入、輸出端口實(shí)現兩種語(yǔ)言之間的數據傳遞。輸入、輸出端口的個(gè)數可由設計者根據實(shí)際需要確定,當LABVIEW的程序運行到CIN節點(diǎn)時(shí),數據由CIN的輸入端口傳遞給C源代碼圖標,程序轉去執行C源代碼,代碼執行完后,執行的數據結果由CIN輸出端口返回至LABVIEW。

CLF是一種動(dòng)態(tài)鏈接庫(DLL)的調用方式。DLL是一種應用程序在運行時(shí)與庫文件連接起來(lái)的技術(shù),在WINDOWS的管理下,應用程序與對應DLL之間建立鏈接關(guān)系,根據鏈接產(chǎn)生的重定位信息,轉去執行DLL中相應的代碼。LABVIEW中,可通過(guò)CLF(調用路徑為Function>>Advanced>>Call Library Function)功能模塊實(shí)現調用。

調用CIN節點(diǎn)需要有C語(yǔ)言編程的支持,它能夠將代碼集成在VI中作為單獨的一個(gè)VI發(fā)布,CIN 支持的參數類(lèi)型比DLL 函數多,可使用LABVIEW 定義的任何參數類(lèi)型,但制作CIN的過(guò)程復雜得多。使用這種方法的缺點(diǎn)是在數據采集過(guò)程中不能實(shí)時(shí)地進(jìn)行數據的顯示,只能在數據全部采集結束后再一起顯示所采集的全部數據,這樣在需要較高執行效率的場(chǎng)合就不適用。其次由于CIN節點(diǎn)在制作數據采集卡的驅動(dòng)時(shí),需要提供采集卡的硬件參數,需編制對硬件設備進(jìn)行底層操作的庫函數,對于不清楚函數內核的程序員不適用。相比CIN方式,CLF方式更加簡(jiǎn)單易學(xué),開(kāi)發(fā)者只需要熟悉DLL中的各個(gè)函數功能以及函數的參數及類(lèi)型,在本文設計中,擬采用CLF方式實(shí)現驅動(dòng)程序的調用。

基于CLF方式的采集卡

本文所涉及的軟件控制對象是一款中頻數據采集與處理卡,具有14位A/D精度,最高采樣頻率為105MHz,4路模擬量輸入,提供高精度中頻信號數字化、多通道、多模式數字下變頻(DDC)等數字處理,軟件結構詳見(jiàn)圖1。



圖1 采集卡的軟件結構


圖2 VI的層級結構

LABVIEW應用程序分為用戶(hù)界面和圖標代碼,通過(guò)搭建和調用子VI編寫(xiě)主體程序,各VI利用LABVIEW的CLF技術(shù)調用動(dòng)態(tài)鏈接庫中的驅動(dòng)函數,實(shí)現與硬件設備的數據交換。子VI將基本的驅動(dòng)函數進(jìn)行功能封裝。一個(gè)完整的LABVIEW應用程序通常由若干個(gè)子VI及其外部編程連線(xiàn)構成,VI的層級結構設計是設計虛擬儀器驅動(dòng)程序的核心,各VI分別為組成驅動(dòng)程序的模塊化子程序。設計中,動(dòng)態(tài)鏈接庫由VC編寫(xiě),調用底層的驅動(dòng)函數與設備通信。軟件包括兩類(lèi)子VI函數集合,一類(lèi)是低層組件VI集合,分為若干個(gè)獨立的軟件功能模塊,每個(gè)模塊負責控制儀器的某項特殊功能,這類(lèi)VI是儀器驅動(dòng)程序的基礎;另一類(lèi)為高層應用VI集合,應用VI通過(guò)調用合適的組件VI以實(shí)現最通常的儀器設置和測量任務(wù)。顯然,就驅動(dòng)程序開(kāi)發(fā)而言,能否根據硬件特性成功構建組件VI集合是關(guān)鍵所在。VI層次結構如圖2所示。

如圖所示,按功能有兩個(gè)高層應用子VI集合:Config.vi,Config DDC.vi,這兩個(gè)子VI又分別調用低層組件子VI來(lái)完成特定的設置、配置任務(wù)。Config.vi完成采集卡的常規配置,例如對采集卡單次采集數量、FIFO滿(mǎn)深度、寄存器(硬件通道、時(shí)鐘、觸發(fā)、采集方式、采集模式等的控制)設置、采集卡的狀態(tài)查詢(xún)等;Config DDC.vi完成DDC的所有配置工作,包括對DDC的模式、抽取率、輸出格式、本振頻率、本振相位、增益、CFIR濾波參數、PFIR濾波參數等的設置,從而實(shí)現DDC的數字IQ分離、抽取、數字濾波、重采樣、多級增益調節、多種調制方式的解調等功能。其余低層組件VI實(shí)現設備的打開(kāi)關(guān)閉、數據從數據采集卡到主機內存的傳送、數據保存等。無(wú)論應用子VI或組件子VI均為獨立可執行程序,實(shí)現特定功能,各VI函數作為提供給用戶(hù)進(jìn)行系統應用開(kāi)發(fā)所需的各類(lèi)操作。采用該結構,能夠使用戶(hù)在運行時(shí)修改虛擬儀器系統的運行邏輯與人機界面,可立即執行,因此在用戶(hù)需要改變需求的情況下能迅速適配,數據采集卡具有可重構的特點(diǎn),用戶(hù)也不必去關(guān)心硬件的實(shí)現細節。

上一頁(yè) 1 2 下一頁(yè)

關(guān)鍵詞: LABVIEW 數據采集卡 軟件設計

評論


相關(guān)推薦

技術(shù)專(zhuān)區

關(guān)閉
国产精品自在自线亚洲|国产精品无圣光一区二区|国产日产欧洲无码视频|久久久一本精品99久久K精品66|欧美人与动牲交片免费播放
<dfn id="yhprb"><s id="yhprb"></s></dfn><dfn id="yhprb"><delect id="yhprb"></delect></dfn><dfn id="yhprb"></dfn><dfn id="yhprb"><delect id="yhprb"></delect></dfn><dfn id="yhprb"></dfn><dfn id="yhprb"><s id="yhprb"><strike id="yhprb"></strike></s></dfn><small id="yhprb"></small><dfn id="yhprb"></dfn><small id="yhprb"><delect id="yhprb"></delect></small><small id="yhprb"></small><small id="yhprb"></small> <delect id="yhprb"><strike id="yhprb"></strike></delect><dfn id="yhprb"></dfn><dfn id="yhprb"></dfn><s id="yhprb"><noframes id="yhprb"><small id="yhprb"><dfn id="yhprb"></dfn></small><dfn id="yhprb"><delect id="yhprb"></delect></dfn><small id="yhprb"></small><dfn id="yhprb"><delect id="yhprb"></delect></dfn><dfn id="yhprb"><s id="yhprb"></s></dfn> <small id="yhprb"></small><delect id="yhprb"><strike id="yhprb"></strike></delect><dfn id="yhprb"><s id="yhprb"></s></dfn><dfn id="yhprb"></dfn><dfn id="yhprb"><s id="yhprb"></s></dfn><dfn id="yhprb"><s id="yhprb"><strike id="yhprb"></strike></s></dfn><dfn id="yhprb"><s id="yhprb"></s></dfn>