范月圓
(江蘇航空職業(yè)技術(shù)學(xué)院,江蘇 鎮(zhèn)江 212134)
虛擬儀器就是一種基于計(jì)算機(jī)的儀器,當(dāng)前儀器發(fā)展的重要方向就是計(jì)算機(jī)和儀器的結(jié)合,一般來說,這種結(jié)合可以有兩種方式,其主要方式是指以通用的計(jì)算機(jī)硬件及操作系統(tǒng)為依托,實(shí)現(xiàn)各種儀器的功能。FPGA相對(duì)于傳統(tǒng)的數(shù)據(jù)采集系統(tǒng)中運(yùn)用單片機(jī)作為主要控制模塊工作的方式具有極大的優(yōu)勢(shì),實(shí)現(xiàn)了數(shù)據(jù)快速、高效的采集。在高速數(shù)據(jù)采集系統(tǒng)中采用LabView語言,能夠?qū)崿F(xiàn)數(shù)據(jù)的采集、保存以及公眾波形現(xiàn)實(shí),對(duì)數(shù)據(jù)進(jìn)行監(jiān)測(cè)等功能,極大地滿足了數(shù)據(jù)采集中數(shù)據(jù)精準(zhǔn)、存儲(chǔ)量大、采集過程穩(wěn)定可靠等方面的要求。
LabView是一種計(jì)算機(jī)語言,它是由美國(guó)NI公司研制開發(fā)的,類似于C和BASIC,都屬于一種程序開發(fā)環(huán)境。但是,LabView與其他的計(jì)算機(jī)語言不同的是,其他的計(jì)算機(jī)語言都是通過文本語言產(chǎn)生的計(jì)算機(jī)代碼,而LabView是采用基于圖形的編輯語言G進(jìn)行程序的編寫,所產(chǎn)生的程序呈現(xiàn)出的是一種框圖的形式??傮w來說,LabView就是一種圖形化的編程語言,它是將文本用圖標(biāo)來代替,從而創(chuàng)建應(yīng)用程序。這種圖形化的編程語言采用的是數(shù)據(jù)流編程方式,程序框圖中節(jié)點(diǎn)間的數(shù)據(jù)流向決定了虛擬儀器以及函數(shù)的執(zhí)行順序。當(dāng)前LabView作為一種圖形化編程語言的開發(fā)環(huán)境,已經(jīng)大范圍的應(yīng)用于工業(yè)生產(chǎn)以及學(xué)術(shù)研究等領(lǐng)域,它不僅能夠滿足不同的最終用戶使用自己所熟悉的程序語言,還能夠幫助用戶構(gòu)建自己的工程或者科學(xué)系統(tǒng),使得在儀器編程進(jìn)行數(shù)據(jù)采集更加便捷,從而極大地提高了工作效率。
FPGA(Field-Programmable Gate Array)即現(xiàn)場(chǎng)可編程邏輯門陣列,它是專用集成電路(ASIC)領(lǐng)域中的一種半定制電路。FPGA的出現(xiàn)一方面彌補(bǔ)了定制電路的不足,另一方面也解決了原有的可編程器件門電路數(shù)有限的問題。系統(tǒng)設(shè)計(jì)師將FPGA內(nèi)部的邏輯塊根據(jù)需要連接起來,好比將一個(gè)電路實(shí)驗(yàn)板放在一個(gè)芯片當(dāng)中,因此,成品的FPGA的邏輯塊和連接能夠依照設(shè)計(jì)者的想法而變化,從而完成設(shè)計(jì)者需要的邏輯功能。
通常來說,原始信號(hào)、信號(hào)調(diào)理設(shè)備、數(shù)據(jù)采集設(shè)備以及計(jì)算機(jī)測(cè)量采集軟件是組成數(shù)據(jù)采集系統(tǒng)的主要幾部分。但在很多情況下,因?yàn)橐恍┰夹盘?hào)并不是能夠直接測(cè)量的電信號(hào)。在這種情況下,這些原始的物理信號(hào)能夠通過傳感器的轉(zhuǎn)換,變成數(shù)據(jù)采集設(shè)備能夠識(shí)別的電信號(hào),從而采集到系統(tǒng)當(dāng)中。然而,還因?yàn)橐恍┹斎胄盘?hào)的測(cè)量不能夠被直接的進(jìn)行,就需要信號(hào)調(diào)理設(shè)備對(duì)這一類的信號(hào)進(jìn)行調(diào)理,從而達(dá)到數(shù)據(jù)采集設(shè)備能夠?qū)@些信號(hào)精確測(cè)量的目的。由此可見,數(shù)據(jù)采集設(shè)備就是用來將模擬的電信號(hào)轉(zhuǎn)換成計(jì)算機(jī)能夠識(shí)別并處理的數(shù)字信號(hào)輸入到計(jì)算機(jī)當(dāng)中。在計(jì)算機(jī)上建立LabView程序開發(fā)環(huán)境,極大地方便了與硬件的交互,順利完成數(shù)據(jù)采集的任務(wù),還可以對(duì)數(shù)據(jù)進(jìn)行后續(xù)的分析處理。數(shù)據(jù)采集存儲(chǔ)系統(tǒng)的整體架構(gòu)以及控制狀態(tài)可以描述為將被測(cè)量的物理對(duì)象所發(fā)出的物理量信號(hào)傳入到傳感器當(dāng)中,再由傳感器將模擬的電信號(hào)傳遞到信號(hào)調(diào)理器當(dāng)中,由信號(hào)調(diào)理器將調(diào)理后的信號(hào)傳入FPGA數(shù)據(jù)采集系統(tǒng)中,再在計(jì)算機(jī)中進(jìn)行信號(hào)的調(diào)理、數(shù)據(jù)的存儲(chǔ)以及將數(shù)據(jù)呈現(xiàn)到交互界面與用戶完成交互。
數(shù)據(jù)采集卡主要是通過 USB、PXI、PCI、PCI Express、火線(IEEE1394)PCMCIA、ISA、485、232以及各種無線網(wǎng)絡(luò)等總線接入個(gè)人計(jì)算機(jī),是計(jì)算機(jī)與外界的主要接口。數(shù)據(jù)采集系統(tǒng)通過數(shù)據(jù)采集卡連接傳感器將采集到的數(shù)據(jù)輸入到計(jì)算機(jī)中,再通過虛擬儀器 LabView將采集到的數(shù)據(jù)設(shè)計(jì)合適的程序框圖,以TDMS(飛機(jī)技術(shù)資料數(shù)據(jù)化管理系統(tǒng))的格式將數(shù)據(jù)存儲(chǔ)到計(jì)算機(jī)的硬件當(dāng)中。然后,在利用MATLAB(矩陣實(shí)驗(yàn)室,一種先進(jìn)的科學(xué)計(jì)算軟件)編寫M文件,將數(shù)據(jù)由TDMS格式轉(zhuǎn)換成為MIF(是Mapinfo用來想歪交換數(shù)據(jù)的一種中間交換文件)格式,然后在通過Quartus II綜合性FPGA開發(fā)軟件里的ROM IP核設(shè)計(jì)一個(gè)數(shù)據(jù)信號(hào)的存儲(chǔ)模塊,再將MIF格式的數(shù)據(jù)存儲(chǔ)到ROM(只讀內(nèi)存鏡像)中,以便于FPGA軟件的其他模塊在進(jìn)行數(shù)據(jù)信號(hào)的時(shí)許仿真以及算法的驗(yàn)證時(shí)能夠調(diào)用。
采用基于圖形的編輯語言G進(jìn)行程序的編寫,所產(chǎn)生的程序呈現(xiàn)出的是一種框圖的形式。在虛擬儀器LabView中,包括了工具模板、函數(shù)模板設(shè)計(jì)、控件框圖各項(xiàng)功能模塊和參數(shù)配置模塊,將相應(yīng)的輸入控制對(duì)象以及輸出顯示隊(duì)形調(diào)價(jià)到控制模板當(dāng)中,程序框圖的對(duì)象集合需要在函數(shù)模板中進(jìn)行創(chuàng)建,最后在框圖窗口中完成對(duì)數(shù)據(jù)的調(diào)用。虛擬儀器LabView設(shè)計(jì)的數(shù)據(jù)采集存儲(chǔ)器的程序框圖主要包括了四個(gè)部分,一是為滿足不同的幅值范圍多個(gè)通道進(jìn)行的數(shù)據(jù)采集,將Channel settings設(shè)置為給多通道以及傳感器輸出信號(hào)電壓范圍的單元;二是根據(jù)傳感器的帶寬,設(shè)置合適的采樣頻率,將timing settings作為采樣時(shí)鐘單元;三是將實(shí)時(shí)采集的數(shù)據(jù),通過TDMS File Path(TDMS文件路徑)輸出對(duì)象以TDMS文件格式存儲(chǔ)到計(jì)算機(jī)硬盤當(dāng)中,以logging settings作為采集數(shù)據(jù)的存儲(chǔ)單元;四是將傳感器以及數(shù)據(jù)采集硬件電力中采集到的信號(hào)進(jìn)行實(shí)時(shí)的動(dòng)態(tài)現(xiàn)實(shí),以Acquire Data作為實(shí)時(shí)數(shù)據(jù)顯示單元。
在數(shù)據(jù)采集系統(tǒng)中,應(yīng)用了外置USB數(shù)據(jù)采集卡,這種采集卡具有隨插隨用的優(yōu)點(diǎn),配合著LabView軟件程序極大地方便了在現(xiàn)場(chǎng)的數(shù)據(jù)采集。而在外置USB數(shù)據(jù)采集卡中,選用美國(guó)NI公司的USB-6361數(shù)據(jù)采集卡,這種數(shù)據(jù)采集卡具有高性能的多功能數(shù)據(jù)采集(DAQ)模塊,ADC的分辨率為16位,輸入方式包括單端輸入和差分輸入兩種,PLL輸出時(shí)鐘基準(zhǔn)為100MHz,定時(shí)分辨率為10ns。這種數(shù)據(jù)采集卡能夠保持高度的采樣率以及采樣數(shù)據(jù)的精確程度。在LabView數(shù)據(jù)采集存儲(chǔ)顯示界面中,將通道依次設(shè)置在界面的左側(cè),采樣信號(hào)電壓的輸出范圍在-10V~10V,采樣率為2.00MS/s,最后將數(shù)據(jù)存儲(chǔ)路徑設(shè)置為計(jì)算機(jī)硬盤。LabView數(shù)據(jù)采集存儲(chǔ)顯示界面右側(cè)顯示的是采樣信號(hào)動(dòng)態(tài),能夠使用戶實(shí)時(shí)觀察到采樣信號(hào)的動(dòng)態(tài)變化,同時(shí),當(dāng)窗口顯示出采樣信號(hào)出現(xiàn)突然性的變動(dòng)時(shí),還可以隨時(shí)按下停止按鈕暫停,將突變的信號(hào)段進(jìn)行保存從而方便之后的分析,為信號(hào)的處理分析提供了便利。如圖1所示。
圖1 LabView數(shù)據(jù)采集存儲(chǔ)顯示界面
Quartus II軟件的megawizard plug-in manager本身具有參數(shù)可調(diào)宏功能模塊,ROM模塊需要與系統(tǒng)的時(shí)鐘模塊同步,以clock作為時(shí)鐘信號(hào),數(shù)據(jù)的精確度為16位,在LabView中采集到的信號(hào)可以將其部分截取放入ROM單元,從而能夠詩讀取仿真在FPGA中進(jìn)行,ROM 模塊設(shè)置。
FPGA數(shù)據(jù)采集系統(tǒng)開發(fā)中應(yīng)用的Verilog HDL硬件描述語言是直接針對(duì)于底層硬件的,系統(tǒng)相應(yīng)的速度非??欤咚俚南到y(tǒng)時(shí)鐘能夠滿足高速信號(hào)的實(shí)時(shí)處理。在ROM中讀取的原始數(shù)據(jù)信號(hào)需要經(jīng)過濾波后再進(jìn)行處理分析,因此需要設(shè)計(jì)數(shù)據(jù)采樣的控制模塊及信號(hào)濾波處理模塊。FPGA數(shù)據(jù)采集系統(tǒng)的時(shí)序仿真是通過Modelsim波形仿真軟件,以計(jì)算機(jī)的內(nèi)存單元為依托,將系統(tǒng)中的信號(hào)運(yùn)行狀態(tài)進(jìn)行實(shí)時(shí)監(jiān)測(cè),根據(jù)需要分析各信號(hào)段的參數(shù)值。
虛擬儀器LabView和數(shù)據(jù)采集卡USB-6361的結(jié)合具有強(qiáng)大的存儲(chǔ)優(yōu)勢(shì),并且有較強(qiáng)的可移植性,縮短了測(cè)控系統(tǒng)的開發(fā)周期,滿足了不同頻率和精度的信號(hào)的采樣要求。同時(shí),F(xiàn)PGA的信號(hào)處理具有高速實(shí)時(shí)的特點(diǎn),能夠?qū)abView采集的信號(hào)進(jìn)行算法分析的驗(yàn)證。因此,在FPGA數(shù)據(jù)采集系統(tǒng)中應(yīng)用虛擬儀器LabView,能夠推廣到各種控制半實(shí)物仿真系統(tǒng)。