基于LabVIEW的信號輸出與數(shù)據(jù)采集系統(tǒng)
掃描二維碼
隨時(shí)隨地手機(jī)看文章
摘要:本文利用LabVIEW軟件設(shè)計(jì)了一套信號輸出與數(shù)據(jù)采集系統(tǒng),能夠在仿真環(huán)境下驅(qū)動嵌入式計(jì)算機(jī)系統(tǒng)運(yùn)行并采集它的輸出信號,為嵌入式軟件的測試奠定了基礎(chǔ)。同時(shí)利用虛擬儀器實(shí)現(xiàn)了軟件代替硬件,節(jié)省了成本,提高了效率,達(dá)到了良好的效果。
關(guān)鍵詞:LabVIEW;信號輸出; 數(shù)據(jù)采集
1 引言
近年來,在國防、汽車、儀表等領(lǐng)域,嵌入式計(jì)算機(jī)系統(tǒng)的應(yīng)用越來越廣泛。由于目前硬件技術(shù)的迅猛發(fā)展以及容錯(cuò)技術(shù)的廣泛應(yīng)用,因硬件故障而導(dǎo)致的軟件失效越來越少,系統(tǒng)故障的主要原因已經(jīng)從硬件逐步轉(zhuǎn)向軟件。因此如何測試嵌入式計(jì)算機(jī)系統(tǒng)中的軟件性能就成為人們關(guān)注的焦點(diǎn),而這其中非常關(guān)鍵的就是如何在仿真環(huán)境下由仿真測試平臺輸出激勵信號驅(qū)動嵌入式計(jì)算機(jī)系統(tǒng)運(yùn)行并同時(shí)采集它的輸出信號。本文正是基于此設(shè)計(jì)了一套基于LabVIEW的信號輸出與數(shù)據(jù)采集系統(tǒng)。
2 LabVIEW簡介
LabVIEW(Laboratory Virtual Instrument Engineering Workbench)是目前最為成功、應(yīng)用最為廣泛的虛擬儀器軟件開發(fā)環(huán)境,是由美國國家儀器公司(National InstrumentsTM,簡稱NI)推出的一種基于圖形程序的虛擬儀器儀表開發(fā)平臺。它不僅提供了與遵從GPIB,VXI,RS-232和RS-485協(xié)議的硬件及數(shù)據(jù)采集卡通訊的全部功能,還內(nèi)置了支持TCP/IP,ActiveX等軟件標(biāo)準(zhǔn)的庫函數(shù)。
與傳統(tǒng)編程采取的文本語言相比,LabVIEW使用圖形語言 (各種圖標(biāo)、圖形符號、連線等)編程,編程簡單方便,界面形象直觀,都是人們熟悉的開關(guān)、旋鈕、波形圖等,是一種直覺式圖形程序語言。LabVIEW編程時(shí),基本不需要編寫程序代碼,而是“繪制”程序流程圖,這樣就可以使沒有豐富編程經(jīng)驗(yàn)的工程師從繁重的程序文字編碼中解脫出來,把更多的精力放在試驗(yàn)和測試上。LabVIEW程序運(yùn)行的方式不像傳統(tǒng)編程語言那樣一條一條語句地往下執(zhí)行,而是以數(shù)據(jù)流方式執(zhí)行程序。也就是說,一個(gè)程序節(jié)點(diǎn)要在所有數(shù)據(jù)流都到達(dá)時(shí),才開始運(yùn)行,處理后的數(shù)據(jù)流同時(shí)向后面的各個(gè)節(jié)點(diǎn)流動,因此可以設(shè)計(jì)出同時(shí)執(zhí)行多個(gè)程序的流程圖。
3 信號輸出與數(shù)據(jù)采集系統(tǒng)的設(shè)計(jì)
基于LabVIEW的信號輸出與數(shù)據(jù)采集系統(tǒng)由PC機(jī)(PC機(jī)沒有特殊的要求,常用的臺式機(jī)都可以滿足要求)、數(shù)據(jù)采集卡和信號輸出與數(shù)據(jù)采集程序構(gòu)成。
3.1 數(shù)據(jù)采集卡簡介
系統(tǒng)采用NI公司的PCI-MIO-16E-4型數(shù)據(jù)采集卡。它是NI公司的NI 6040E系列數(shù)據(jù)采集卡之一,是一種性能優(yōu)良、適合PC及兼容機(jī)的數(shù)據(jù)采集卡,能夠完成模擬信號輸入/輸出和數(shù)字信號輸入/輸出等功能。它有16個(gè)模擬輸入通道(對差分輸入是8對模擬輸入通道)、2個(gè)模擬輸出通道、8個(gè)數(shù)字量I/O、2個(gè)24位的計(jì)數(shù)器(用于計(jì)時(shí)/計(jì)數(shù)功能)。
在使用采集卡之前,首先要進(jìn)行采集卡的安裝,將采集卡插入PC機(jī)的PCI插槽。由于是NI公司的數(shù)據(jù)采集卡,因此不需要再編寫采集卡的驅(qū)動程序,只需重新啟動計(jì)算機(jī),放入采集卡的驅(qū)動光盤,按照提示就可以自動完成安裝。安裝完成后對設(shè)備號、模擬輸入極性、模擬輸入模式、模擬輸出極性等參數(shù)進(jìn)行設(shè)置。另外,選用CB-68LP連接塊和R6868帶狀電纜等附件來連接數(shù)據(jù)采集卡和嵌入式計(jì)算機(jī)系統(tǒng)。
3.2 硬件連接
系統(tǒng)通過數(shù)據(jù)采集卡把嵌入式計(jì)算機(jī)系統(tǒng)和PC機(jī)連接起來,由PC機(jī)輸出激勵信號驅(qū)動嵌入式計(jì)算機(jī)系統(tǒng)運(yùn)行,同時(shí)由PC機(jī)采集嵌入式計(jì)算機(jī)系統(tǒng)運(yùn)行的輸出信號。硬件連接框圖如圖1所示。
圖1 信號輸出與數(shù)據(jù)采集系統(tǒng)硬件連接框圖
3.3 信號輸出與數(shù)據(jù)采集系統(tǒng)的LabVIEW程序
系統(tǒng)能夠?qū)崿F(xiàn)同時(shí)輸出和采集模擬信號,它利用傳遞error信息的數(shù)據(jù)線安排并行的執(zhí)行順序。其工作流程如下:首先通過AO Config VI設(shè)置好輸出參數(shù),通過AI Config VI設(shè)置好輸入?yún)?shù);然后將準(zhǔn)備好的波形數(shù)據(jù)通過AO Write VI寫入輸出緩沖區(qū);接著由AO Start VI啟動模擬輸出,AI Start VI啟動模擬輸入(要將number of scans to acquire的參數(shù)設(shè)為0,這樣才能連續(xù)采集);在While循環(huán)中,AI Read VI連續(xù)從輸入緩沖區(qū)讀取數(shù)據(jù),輸出緩沖區(qū)中的數(shù)據(jù)經(jīng)AO Write VI被送到DAC輸入端,經(jīng)轉(zhuǎn)換后輸出,直到用戶按下了STOP按鈕或程序出錯(cuò)才結(jié)束。最后由AO Clear VI清除任務(wù)所占用的全部資源。在本程序中,輸出和采集并不是同步的,首先AI Start和AO Start沒有受同一時(shí)鐘源的控制,采集卡的模擬輸入和模擬輸出各有獨(dú)立的時(shí)鐘;其次它們并不是被同時(shí)啟動的,AI Start要稍晚于AO Start,不過兩者的啟動時(shí)間相差非常?。〞r(shí)間差在幾微秒內(nèi)),在要求不是特別嚴(yán)格的場合可以忽略不計(jì)。
參數(shù)設(shè)置:輸出通道指定從采集卡的那個(gè)模擬輸出通道輸出信號,輸入通道指定由采集卡的那個(gè)模擬輸入通道采集信號;輸出通道緩沖區(qū)的大小一般為更新速率的兩倍;輸入通道緩沖區(qū)的大小一般為掃描速率的兩倍,每次讀取的樣本數(shù)設(shè)置為一個(gè)小于輸入通道緩沖區(qū)大小的值,一般為輸入通道緩沖區(qū)大小的一半。圖形化程序如圖2所示(本程序輸出的是一個(gè)正弦波,可根據(jù)不同的場合替換成所需的信號)。
圖2 信號輸出與數(shù)據(jù)采集系統(tǒng)的圖形化程序
4 結(jié)束語
基于LabVIEW的信號輸出與數(shù)據(jù)采集系統(tǒng)方法簡單、可靠適用,能夠?qū)崿F(xiàn)在仿真環(huán)境下驅(qū)動嵌入式計(jì)算機(jī)系統(tǒng)運(yùn)行并采集它的輸出信號,為嵌入式軟件的測試奠定了基礎(chǔ)。同時(shí)利用虛擬儀器實(shí)現(xiàn)了軟件代替硬件,避免了大量專用測試設(shè)備的使用,節(jié)省了成本,提高了效率,達(dá)到了良好的效果。
本文作者創(chuàng)新點(diǎn):用LabVIEW實(shí)現(xiàn)了信號輸出與數(shù)據(jù)采集的同時(shí)進(jìn)行,可以在采集數(shù)據(jù)的同時(shí)由數(shù)據(jù)采集卡輸出信號,提高了效率。