劉景峰,岳鳳英*,馮曉斌,張登山
(1.中北大學(xué)計(jì)算機(jī)與控制工程學(xué)院,太原030051; 2.神華神東煤炭集團(tuán)大柳塔煤礦,陜西榆林719315)
?
基于LabVIEW的多種通訊方式數(shù)采系統(tǒng)*
劉景峰1,岳鳳英1*,馮曉斌2,張登山2
(1.中北大學(xué)計(jì)算機(jī)與控制工程學(xué)院,太原030051; 2.神華神東煤炭集團(tuán)大柳塔煤礦,陜西榆林719315)
摘要:在數(shù)據(jù)采集過(guò)程中,采集系統(tǒng)的穩(wěn)定、高速和遠(yuǎn)距離可控制等性能是非常重要的。針對(duì)該多功能性的要求,對(duì)以LabVIEW為軟件開(kāi)發(fā)平臺(tái)的數(shù)據(jù)采集系統(tǒng)進(jìn)行了研究。通過(guò)以太網(wǎng)和無(wú)線兩種通訊方式完成了上位機(jī)與多路采集系統(tǒng)的數(shù)據(jù)傳輸和對(duì)采集系統(tǒng)的遠(yuǎn)程控制,并且系統(tǒng)能夠?qū)?shù)據(jù)進(jìn)行預(yù)覽、存儲(chǔ)、回放、預(yù)處理等操作。系統(tǒng)還具有自檢、復(fù)位、存儲(chǔ)體擦除等功能。實(shí)際應(yīng)用證明系統(tǒng)可以準(zhǔn)確的完成各項(xiàng)功能。
關(guān)鍵詞:數(shù)據(jù)采集系統(tǒng); LabVIEW;以太網(wǎng)通訊;無(wú)線通訊
項(xiàng)目來(lái)源:山西省青年基金項(xiàng)目(2012021013-6)
隨著測(cè)控技術(shù)的不斷發(fā)展,數(shù)采系統(tǒng)也在逐漸地發(fā)生著變化。傳統(tǒng)的數(shù)據(jù)采集系統(tǒng)由于通訊方式單一、數(shù)據(jù)傳輸速度慢、存儲(chǔ)體容量小、可控性差、測(cè)量精度低以及軟件串行通訊編程等缺點(diǎn)已經(jīng)無(wú)法滿足現(xiàn)代測(cè)控系統(tǒng)的要求[1]。本系統(tǒng)以LabVIEW為上位機(jī)開(kāi)發(fā)平臺(tái),以FPGA為下位機(jī)控制核心,通過(guò)上下位機(jī)合理的交互控制完成了一套多功能的數(shù)采系統(tǒng)[2]。此外,以LabVIEW為軟件開(kāi)發(fā)平臺(tái),其界面友好、功能豐富、可控性強(qiáng)等優(yōu)點(diǎn)提高了系統(tǒng)的可控性、可靠性及靈活性,從而增強(qiáng)了測(cè)控系統(tǒng)的實(shí)際可用性[3]。
本系統(tǒng)由基于LabVIEW為開(kāi)發(fā)平臺(tái)的上位機(jī)系統(tǒng)與基于FPGA為控制核心的下位機(jī)系統(tǒng)兩部分組成,系統(tǒng)總體結(jié)構(gòu)如圖1所示。由示意圖可以看出下位機(jī)主要由主控模塊、采集模塊和存儲(chǔ)模塊組成,并且所有與上位機(jī)的通訊指令均通過(guò)主控模塊來(lái)完成。
圖1 系統(tǒng)總體結(jié)構(gòu)
下位機(jī)硬件系統(tǒng)采用型號(hào)為EP3C120F484I7 的FPGA芯片作為控制核心,與上位機(jī)配合完成整個(gè)系統(tǒng)的操作控制。此型號(hào)的FPGA具有高性能、低功耗的特點(diǎn),有助于本系統(tǒng)完成對(duì)大數(shù)據(jù)量的采集。下位機(jī)的存儲(chǔ)模塊采用了8塊型號(hào)為MT29F128G的FLASH芯片通過(guò)和FPGA的配合完成存儲(chǔ)體的操作,此芯片單片16 Gbyte的大存儲(chǔ)空間也符合系統(tǒng)對(duì)大數(shù)據(jù)量采集的要求。
采集模塊各通道根據(jù)所測(cè)信號(hào)的不同通過(guò)上位機(jī)的配置選擇對(duì)應(yīng)的調(diào)理電路,然后經(jīng)過(guò)MAX295芯片進(jìn)行濾波,利用A/D轉(zhuǎn)換器ADS8330完成模數(shù)轉(zhuǎn)換,將轉(zhuǎn)換后數(shù)據(jù)傳輸至控制器進(jìn)行數(shù)據(jù)處理。通訊模塊分為以太網(wǎng)通訊和無(wú)線通訊兩個(gè)模塊[4-5],以太網(wǎng)通訊模塊采用型號(hào)為88E1111的芯片實(shí)現(xiàn)數(shù)據(jù)的高速傳輸。無(wú)線通訊模塊通過(guò)型號(hào)為SI4432的射頻收發(fā)芯片和型號(hào)為MAX485的串口芯片完成了射頻通訊與串口通訊的轉(zhuǎn)換,無(wú)線模塊傳輸?shù)挠行Ь嚯x為500 m,且傳輸穩(wěn)定,達(dá)到了系統(tǒng)的要求,保證了系統(tǒng)的遠(yuǎn)程操控。系統(tǒng)下位機(jī)的整體結(jié)構(gòu)如圖2所示。
圖2 硬件結(jié)構(gòu)圖
上位機(jī)是采用圖形化編程語(yǔ)言LabVIEW開(kāi)發(fā)的系統(tǒng),主要由通訊方式設(shè)置模塊、系統(tǒng)標(biāo)定、數(shù)據(jù)采集、存儲(chǔ)體數(shù)據(jù)讀取、文件格式轉(zhuǎn)換、系統(tǒng)功能操作和數(shù)據(jù)回放與分析7個(gè)功能模塊組成,上位機(jī)系統(tǒng)設(shè)計(jì)流程如圖3所示。
3.1通訊方式選擇模塊
當(dāng)啟動(dòng)系統(tǒng)后首先需要根據(jù)整個(gè)系統(tǒng)工作環(huán)境的具體需要進(jìn)行通訊方式設(shè)置,本系統(tǒng)包括以太網(wǎng)通訊和無(wú)線通訊兩種通訊方式。
圖3 軟件設(shè)計(jì)流程圖
3.1.1以太網(wǎng)通訊設(shè)計(jì)
系統(tǒng)應(yīng)用的以太網(wǎng)通訊只能是基于底層網(wǎng)絡(luò)的通訊,但是LabVIEW提供的網(wǎng)絡(luò)化通訊函數(shù)都是經(jīng)過(guò)高度封裝化的,所以無(wú)法直接對(duì)底層網(wǎng)絡(luò)獲取的數(shù)據(jù)進(jìn)行解析,也無(wú)法監(jiān)控設(shè)備間的數(shù)據(jù)傳輸。由于WinPcap作為集成于Windows操作系統(tǒng)的設(shè)備驅(qū)動(dòng)程序,可以對(duì)從底層網(wǎng)絡(luò)捕獲數(shù)據(jù)和發(fā)送底層數(shù)據(jù),所以采用LabVIEW提供的CLF功能通過(guò)對(duì)WinPcap生成的動(dòng)態(tài)鏈接庫(kù)的調(diào)用實(shí)現(xiàn)了對(duì)網(wǎng)絡(luò)底層的數(shù)據(jù)通訊。LabVIEW對(duì)WinPcap驅(qū)動(dòng)調(diào)用的接口函數(shù)主要包括以下幾種: pcap_findalldevs,用于監(jiān)聽(tīng)調(diào)用函數(shù)查找本機(jī)可用的網(wǎng)絡(luò)接口,當(dāng)不需要時(shí)用pcap_freealldevs函數(shù)釋放空間; pcap_open_ live,用于打開(kāi)設(shè)備進(jìn)行監(jiān)聽(tīng); pcap_next_ex,用于數(shù)據(jù)包的捕獲; pcap_sendpacket,用于數(shù)據(jù)包的發(fā)送。獲取以太網(wǎng)端口、以太網(wǎng)數(shù)據(jù)的發(fā)送與接收程序分別如圖4~圖6所示。此外在網(wǎng)口打開(kāi)時(shí),通過(guò)對(duì)pcap_setfilter函數(shù)的設(shè)置實(shí)現(xiàn)了數(shù)據(jù)過(guò)濾功能,使上位機(jī)系統(tǒng)只接受符合本系統(tǒng)特定幀格式的數(shù)據(jù),這樣不但可以提高數(shù)據(jù)傳輸?shù)臏?zhǔn)確性而且也大大提升了上位機(jī)處理數(shù)據(jù)的速度。
圖4 獲取以太網(wǎng)端口
圖5 以太網(wǎng)數(shù)據(jù)發(fā)送
圖6 以太網(wǎng)數(shù)據(jù)接收
3.1.2系統(tǒng)的無(wú)線通訊設(shè)計(jì)
由于下位機(jī)的無(wú)線通訊模塊經(jīng)過(guò)轉(zhuǎn)換以RS485的方式與上位機(jī)進(jìn)行通訊,所以上位機(jī)采用LabVIEW自帶的串口通訊函數(shù)便可完成與無(wú)線模塊的數(shù)據(jù)傳輸[6]。
圖7 標(biāo)定界面
3.2系統(tǒng)標(biāo)定與數(shù)據(jù)采集
3.2.1系統(tǒng)標(biāo)定
系統(tǒng)在對(duì)信號(hào)進(jìn)行采集時(shí),由于期間的離散性、電器噪聲的影響,難免會(huì)引入誤差,因此,需要對(duì)各通道的實(shí)際特性進(jìn)行標(biāo)定,然后通過(guò)標(biāo)定系數(shù)對(duì)采集數(shù)據(jù)進(jìn)行補(bǔ)償來(lái)確保采集數(shù)據(jù)的準(zhǔn)確性。但是由于本系統(tǒng)的數(shù)據(jù)通路很多,所以用傳統(tǒng)的標(biāo)定方法往往耗時(shí)很大,為解決此問(wèn)題,本系統(tǒng)提供了軟件標(biāo)定方法,標(biāo)定軟件界面如圖7所示。進(jìn)行標(biāo)定時(shí),首先啟動(dòng)程序,對(duì)應(yīng)配置好標(biāo)定信息,然后將采集模塊的輸入值對(duì)應(yīng)的輸入到軟件界面的第一行,然后雙擊界面,系統(tǒng)會(huì)自動(dòng)的對(duì)所有標(biāo)定通道采集5 ms的數(shù)據(jù),然后取平均值顯示在輸入值下對(duì)應(yīng)的各通道上,同理便可完成所有點(diǎn)的標(biāo)定,標(biāo)定完成后通過(guò)軟件操作自動(dòng)地計(jì)算出各通道的標(biāo)定系數(shù)并將其保存在文件中。實(shí)際應(yīng)用證明此方法不但提高了標(biāo)定效率,而且保證了標(biāo)定的準(zhǔn)確性。
3.2.2數(shù)據(jù)采集
在進(jìn)行數(shù)據(jù)采集時(shí)首先需要對(duì)各通道進(jìn)行配置,配置主要包括對(duì)傳感器類(lèi)型、激勵(lì)源、采樣時(shí)鐘、采樣模式、觸發(fā)方式等進(jìn)行設(shè)置,并且每次配置后下位機(jī)可以將配置狀態(tài)返回給上位機(jī)系統(tǒng)并顯示在配置界面上[7],從而實(shí)現(xiàn)了整個(gè)系統(tǒng)的檢測(cè),配置完成后便可進(jìn)行數(shù)據(jù)采集,采集后的數(shù)據(jù)根據(jù)采樣模式存儲(chǔ)到FLASH中或是進(jìn)行上位機(jī)預(yù)覽。
3.3數(shù)據(jù)讀取和文件轉(zhuǎn)換
由于系統(tǒng)是對(duì)大數(shù)據(jù)量數(shù)據(jù)進(jìn)行高速傳輸,所以數(shù)據(jù)傳輸?shù)姆€(wěn)定性至關(guān)重要,其直接決定了系統(tǒng)工作的穩(wěn)定性。為了滿足數(shù)據(jù)的高速傳輸,系統(tǒng)采用了多線程的編程方式,即數(shù)據(jù)的讀取和保存分別在兩個(gè)線程中完成,然后由事件結(jié)構(gòu)對(duì)其進(jìn)行控制。在進(jìn)行數(shù)據(jù)保存時(shí),系統(tǒng)采用了TDMS格式文件,由于此文件兼顧了高速和易管理的特性[8-9],所以既保證了數(shù)據(jù)讀取的速度也便于對(duì)文件的管理,數(shù)據(jù)讀取的主要程序框圖如圖8所示。在數(shù)據(jù)讀取過(guò)程中,為了保證數(shù)據(jù)讀取的速度和穩(wěn)定性,未對(duì)數(shù)據(jù)幀進(jìn)行解析和補(bǔ)償,所以在數(shù)據(jù)讀取完畢后,可以根據(jù)需要對(duì)原始數(shù)據(jù)進(jìn)行解析和補(bǔ)償并將其保存成TDMS文件。此外,為了使本系統(tǒng)保存的數(shù)據(jù)文件與其他軟件系統(tǒng)可以通用,還提供了文件格式轉(zhuǎn)換功能,通過(guò)轉(zhuǎn)換界面可以將TDMS文件轉(zhuǎn)換成文本文件或二進(jìn)制文件,并且在轉(zhuǎn)換界面上可以根據(jù)需要對(duì)通道號(hào)和各通道轉(zhuǎn)換時(shí)間段進(jìn)行選擇性設(shè)置。
圖8 數(shù)據(jù)讀取程序框圖
3.4系統(tǒng)功能操作
為了在采集過(guò)程中有效完成對(duì)下位機(jī)的控制和上下位機(jī)可靠的交互性,系統(tǒng)提供了對(duì)下位機(jī)進(jìn)行系統(tǒng)自檢、軟件復(fù)位、存儲(chǔ)體擦除等操作功能,從而提高了系統(tǒng)的可靠性與靈活性。
3.5數(shù)據(jù)回放與分析
3.5.1數(shù)據(jù)回放
系統(tǒng)可以對(duì)TDMS、TXT和DAT 3種格式的數(shù)據(jù)文件進(jìn)行回放,通過(guò)拖曳的方式可以將需要回放的文件顯示在回放界面上。此外,可以根據(jù)需要對(duì)回放的文件范圍、回放速度進(jìn)行設(shè)定,回放過(guò)程中可以暫停和停止。若需要對(duì)某段數(shù)據(jù)進(jìn)行詳細(xì)查看[10],系統(tǒng)也提供了放大、縮小、平移和將此段數(shù)據(jù)保存成文件的功能。
3.5.2數(shù)據(jù)分析
在進(jìn)行數(shù)據(jù)分析時(shí),系統(tǒng)提供了加窗、滑動(dòng)平均、濾波、重采樣、去趨勢(shì)、擬合、積分和微分等數(shù)據(jù)預(yù)處理方法,根據(jù)信號(hào)的不同特性采用合適的預(yù)處理方法,然后再進(jìn)行時(shí)頻域分析,從而保證數(shù)據(jù)分析的準(zhǔn)確性[11]。
圖9為原始數(shù)據(jù)經(jīng)過(guò)滑動(dòng)平均和加窗預(yù)處理后的幅頻譜。
圖9 數(shù)據(jù)分析
由于是對(duì)多種信號(hào)進(jìn)行測(cè)試,所以在對(duì)系統(tǒng)計(jì)量時(shí),需要對(duì)電壓、溫度和應(yīng)變3種信號(hào)進(jìn)行測(cè)試。測(cè)試的輸入值采用計(jì)量單位提供的多種高精度裝置作為系統(tǒng)的輸入真值,測(cè)試的數(shù)據(jù)通過(guò)上位機(jī)利用系統(tǒng)標(biāo)定系數(shù)對(duì)其進(jìn)行補(bǔ)償,將補(bǔ)償后的值作為系統(tǒng)最終的輸出值[12]。表1~表3為一個(gè)通道對(duì)3種信號(hào)測(cè)試的計(jì)量結(jié)果。
表1 電壓測(cè)試數(shù)據(jù)
表2 溫度測(cè)試數(shù)據(jù)
表3 應(yīng)變測(cè)試數(shù)據(jù)
通過(guò)測(cè)試結(jié)果可以看出,所有信號(hào)的測(cè)試誤差都遠(yuǎn)在5‰以下,并且用相同的方法對(duì)所有通道進(jìn)行測(cè)試,結(jié)果均達(dá)到了本系統(tǒng)的精度要求。
本系統(tǒng)以LabVIEW為軟件開(kāi)發(fā)平臺(tái),設(shè)計(jì)并完成了一套可以同時(shí)對(duì)多路多種大數(shù)據(jù)量信號(hào)進(jìn)行采集的數(shù)采系統(tǒng)。通過(guò)實(shí)際應(yīng)用證明,本系統(tǒng)工作穩(wěn)定,可以準(zhǔn)確地完成對(duì)多種信號(hào)的采集、存儲(chǔ)、分析等功能。此外,本系統(tǒng)采用的兩種通訊方式也保證了系統(tǒng)可以實(shí)現(xiàn)數(shù)據(jù)的高速傳輸和遠(yuǎn)程控制。
參考文獻(xiàn):
[1]張宇,黃偉志,郝巖.基于LabVIEW的多功能數(shù)據(jù)采集系統(tǒng)的設(shè)計(jì)與實(shí)現(xiàn)[J].自動(dòng)化儀表,2013,34(8) : 24-26.
[2]徐菲,梁志劍,裴東興,等.基于LabVIEW的多通道數(shù)據(jù)采集系統(tǒng)[J].電子測(cè)試,2012,(8) : 56-58.
[3]周松,曲興華,張福民,等.斷路器機(jī)械磨合試驗(yàn)臺(tái)測(cè)試方法及軟件設(shè)計(jì)[J].傳感技術(shù)學(xué)報(bào),2007,20(4) : 949-952.
[4]劉龍啟,李銀.基于LabVIEW的以太網(wǎng)數(shù)據(jù)監(jiān)聽(tīng)與通信[J].國(guó)外電子測(cè)量技術(shù),2012,31(7) : 62-65.
[5]劉湖平,麥云飛,王靜悅.基于LabVIEW和MSP430的CO氣體無(wú)線監(jiān)測(cè)系統(tǒng)設(shè)計(jì)[J].計(jì)算機(jī)測(cè)量與控制,2010,18(9) : 1999-2004.
[6]朱文發(fā),柴曉東,鄭樹(shù)彬,等.基于LabVIEW的慣性測(cè)量單元信號(hào)采集及處理系統(tǒng)設(shè)計(jì)[J].計(jì)算機(jī)測(cè)量與控制,2012,20(6) : 1697-1698.
[7]王恒升,張西偉,胡軍科.基于LabVIEW的減振器試驗(yàn)臺(tái)測(cè)控系統(tǒng)設(shè)計(jì)[J].電子器件,2006,29(3) : 926-929.
[8]徐航,羅巍.基于嵌入式的多通道高速數(shù)據(jù)采集系統(tǒng)[J].自動(dòng)化與儀器儀表,2013,(1) : 148-150,56-58.
[9]陳樹(shù)學(xué),劉萱.LabVIEW寶典[M].北京:電子工業(yè)出版社,2011: 162-165.
[10]王力.基于LabVIEW的高速數(shù)據(jù)采集系統(tǒng)的軟硬件設(shè)計(jì)[D].南京:南京理工大學(xué),2013.
[11]張宇.基于LabVIEW數(shù)據(jù)采集與多功能分析系統(tǒng)研究[D].天津:天津工業(yè)大學(xué),2013.
[12]張華,鄭賓,武曉棟.基于LabVIEW的溫度測(cè)試系統(tǒng)[J].電子器件,2013,36(2) : 243-246.
劉景峰(1988-),男,滿族,遼寧鞍山市人,中北大學(xué)碩士研究生,主要研究方向?yàn)閯?dòng)態(tài)測(cè)試與智能儀器,liujingfeng1988@ 126.com;
岳鳳英(1977-),女,漢族,山西省太原市人,中北大學(xué)副教授,博士,主要研究方向?yàn)闇y(cè)試計(jì)量技術(shù)及儀器、傳感器與微機(jī)電技術(shù)(MEMS)、慣性導(dǎo)航,yuefy_2008@ 163.com。
Design and Implementation of Storage System Based on FPGA*
LI Jiachao,MENG Lingjun*,ZHOU Zhili,HAN Zhaohui
(North University of China,National Key Laboratory for Electronic Measurement Technology,Taiyuan 030051,China)
Abstract:In order to solve the technical problems about NAND Flash in telemetry field,the design of Interleave Two-Plane page program and the feature of the three common methods of the remaining capacity measurement were explicated in detail.A method of the remaining capacity measurement based on the dichotomy was introduced.And then a data storage system with the function of continuous recording when power is resumed was presented.The design method with the feasibility,high efficiency and precision up to 10-4must have a good promotional value.
Key words:NAND Flash; Interleave Two-Plane; Page Program; dichotomy; storage system
中圖分類(lèi)號(hào):TP274
文獻(xiàn)標(biāo)識(shí)碼:A
文章編號(hào):1005-9490(2015) 03-0582-06
收稿日期:2014-07-11修改日期: 2014-08-07
doi:EEACC: 128510.3969/j.issn.1005-9490.2015.03.022