摘 要:為了解決接收機自動測試系統(tǒng)中由于系統(tǒng)時延與數(shù)據(jù)緩沖給測試過程中的時間同步與數(shù)據(jù)對齊帶來的一系列難題,,提高測試系統(tǒng)的精度,,本文對傳統(tǒng)的自動測試系統(tǒng)進(jìn)行了優(yōu)化。以LabVIEW為平臺開發(fā)了獨立于主工控機的數(shù)據(jù)采集系統(tǒng),,并對數(shù)據(jù)緩沖問題提出了解決方案,。試驗結(jié)果表明,該系統(tǒng)較好地解決了時延與數(shù)據(jù)對齊問題,達(dá)到了預(yù)期目標(biāo),。
關(guān)鍵詞: 接收機測試; LabVIEW RT; 數(shù)據(jù)采集
隨著全球經(jīng)濟的蓬勃發(fā)展,,導(dǎo)航被廣泛應(yīng)用在運輸車輛監(jiān)控、服務(wù)示范系統(tǒng)工程,、石油探測,、航天測試系統(tǒng)等方面,用于接收,、跟蹤、變換和測量導(dǎo)航信號的接收設(shè)備——導(dǎo)航接收機也被應(yīng)用在各種服務(wù),、追蹤,、測試等系統(tǒng)中。
在一些對精度及可靠性要求比較高的系統(tǒng)中,,一方面接收機的精度和不確定度評估直接影響了測試驗證的可信度,;另一方面隨著使用時間及機械損耗,接收機的精度會受到一定的影響,,為此需要對接收機進(jìn)行定期標(biāo)校,。
一般的接收機自動測試系統(tǒng)[1]大都把原始數(shù)據(jù)與接收機接收數(shù)據(jù)進(jìn)行對比,在此過程中往往忽略了由于操作系統(tǒng)的非實時性帶來的時延以及數(shù)據(jù)緩沖處理給發(fā)送數(shù)據(jù)與接收數(shù)據(jù)的對齊造成的誤差,。
本文在對接收機自動測試系統(tǒng)的構(gòu)架進(jìn)行簡單介紹的基礎(chǔ)上,,著重研究如何采用LabVIEW RT 實時系統(tǒng)解決上述問題。
1 測試系統(tǒng)架構(gòu)
傳統(tǒng)導(dǎo)航接收機自動測試系統(tǒng)[2]如圖1所示,。
工控機記錄并通過GPIB總線控制信號源的輸出[3],;通過天線或射頻信號,信號源將產(chǎn)生的信號發(fā)送給接收機,;接收機接收信號源生成的各類信號并通過429總線將接收的信號傳遞給工控機,;工控機最終將接收機接收到的信號與信號源發(fā)射信號進(jìn)行對比,給出接收機誤差補償,。
這一方法在理論上成立,,在設(shè)計和實現(xiàn)的過程中卻會因操作系統(tǒng)的非實時性和接收數(shù)據(jù)過程中的數(shù)據(jù)緩沖,給最終數(shù)據(jù)對比時的時間同步和數(shù)據(jù)對齊帶來問題,,進(jìn)一步影響系統(tǒng)精度,。
為了解決這一問題,本文對傳統(tǒng)接收機自動測試系統(tǒng)進(jìn)行了優(yōu)化,,如圖2所示。
本系統(tǒng)采用IFR International Ltd.生產(chǎn)的專用航空信號發(fā)生器IFR2030作為信號源,,Collins的GNLU-930,、DME-442以及Honey Well的RNA-34BF作為接收機;通過PCI-GPIB板卡實現(xiàn)工控機與信號源控制單元的通信,;此外,,新增了Agilent公司的DS07104B型示波器以及E4440A型頻譜分析儀,以實時顯示跟蹤信號的變化情況。
與傳統(tǒng)自動測試系統(tǒng)相比,,本系統(tǒng)最大的特色是以LabVIEW為平臺開發(fā)了獨立的數(shù)據(jù)采集系統(tǒng),其設(shè)計方案將在下一節(jié)中進(jìn)行介紹,。
2 數(shù)據(jù)采集
LabVIEW(Laboratory Virtual Instrument Engineering Workbench)是一種圖形化編程語言的開發(fā)環(huán)境。它最大的特點是能夠保證應(yīng)用程序的實時響應(yīng)[4]只運行在物理內(nèi)存中,;另一特點是并行特性,,多線程數(shù)據(jù)采集任務(wù)的編寫和執(zhí)行更加容易和有效[5],。
本系統(tǒng)設(shè)計過程中,以LabVIEW為開發(fā)平臺將數(shù)據(jù)采集設(shè)計為獨立的系統(tǒng)就是考慮到了LabVIEW的以上特性,這些特性使系統(tǒng)在運行過程中由于操作系統(tǒng)的非實時性而帶來的時延大大減少[6],。此外,,在傳統(tǒng)的接收機自動測試系統(tǒng)中,工控機承擔(dān)了包括信號源控制,、數(shù)據(jù)采集,、解析與分析處理,以及數(shù)據(jù)存儲的任務(wù),,這些多線程操作也給工控機的響應(yīng)時間帶來一定的影響,, 本系統(tǒng)中數(shù)據(jù)采集系統(tǒng)作為一個獨立的單元承擔(dān)了數(shù)據(jù)采集與解析的任務(wù), 降低了主工控機的負(fù)荷,。
數(shù)據(jù)采集系統(tǒng)作為中間過程是用戶不可見的,,上位機采用TCP/IP協(xié)議實現(xiàn)對采集單元的控制及通信。為了使數(shù)據(jù)采集適應(yīng)于ETS實時操作系統(tǒng),,采集系統(tǒng)采用了ALTA data公司的CPCI采集卡,系統(tǒng)結(jié)構(gòu)如圖3所示,。
數(shù)據(jù)采集流程[7]分為初始化、讀取數(shù)據(jù),、結(jié)束采集三大步,,其示意圖如圖4所示。
在初始化分支中要分別對板卡及采集通道進(jìn)行初始化設(shè)置,,確立板卡ID號,、發(fā)送和接收通道編號、總線速率,;在讀取通道數(shù)據(jù)分支中調(diào)用獲取緩存中數(shù)據(jù)函數(shù),,獲得接收機數(shù)據(jù);在結(jié)束采集分支中按照初始化的逆序退出相應(yīng)的數(shù)據(jù)采集函數(shù),,配置要停止工作的通道編號,,調(diào)用函數(shù)關(guān)閉通道[8], 最后再關(guān)閉板卡,。設(shè)計如圖5所示,。
為了不斷接收來自接收機的數(shù)據(jù),并對采集到的數(shù)據(jù)進(jìn)行解析和顯示,,在程序編寫過程中采用了一個While循環(huán)[9],,如圖6所示。
對于數(shù)據(jù)解析部分[10],,需要根據(jù)數(shù)據(jù)Label,,對每個參數(shù)單獨地進(jìn)行封裝,然后在主程序中進(jìn)行調(diào)用,。
工控機與數(shù)據(jù)采集單元間的通信采用網(wǎng)絡(luò)TCP協(xié)議[11],。通信模塊程序框圖如圖7所示,,上部分循環(huán)實現(xiàn)向數(shù)據(jù)采集系統(tǒng)發(fā)命令字的功能,下部分循環(huán)接收數(shù)據(jù)采集系統(tǒng)解析后的數(shù)據(jù),并顯示在工控機面板上,。
3 數(shù)據(jù)緩沖方案
除了系統(tǒng)時延之外,,另一個影響系統(tǒng)性能的因素是數(shù)據(jù)處理與緩沖。
在很多數(shù)據(jù)采集過程中,,對數(shù)據(jù)的處理是一個順序過程,,即對某一數(shù)據(jù)包依次進(jìn)行數(shù)據(jù)采集、數(shù)據(jù)解析,、數(shù)據(jù)打包或存儲等過程后再進(jìn)入下一次的采集,。這樣在數(shù)據(jù)及數(shù)據(jù)處理量較小的情況下是可行的,但當(dāng)數(shù)據(jù)達(dá)到一定的閾值,,在每一步上耗費的時間將顯著提高,,這時就會出現(xiàn)后續(xù)處理流程長時間空閑等待前續(xù)流程,或者前續(xù)流程長時間空閑等待后續(xù)流程處理完畢以進(jìn)入下一個采集過程,。這種處理方式容易帶來數(shù)據(jù)丟失或波形失真等問題,,更難以保證實時性的要求。
鑒于以上缺陷,,本系統(tǒng)對數(shù)據(jù)采集流程進(jìn)行了優(yōu)化,,改進(jìn)的數(shù)據(jù)采集流程如圖8所示。
改進(jìn)后,,各個流程既相對獨立,,又能夠通過緩存實現(xiàn)模塊間的交互,使數(shù)據(jù)處理量在時間維中均勻分布,。同時減少了系統(tǒng)在數(shù)據(jù)量很大卻存在進(jìn)程循環(huán)等待這一問題,,極大地提高了數(shù)據(jù)采集系統(tǒng)的性能。
對于數(shù)據(jù)采集系統(tǒng)內(nèi)部模塊間的交互需要考慮到進(jìn)程間同步,、數(shù)據(jù)緩存等問題,。對于數(shù)據(jù)采集模塊與數(shù)據(jù)解析處理模塊,數(shù)據(jù)采集系統(tǒng)采用了主從設(shè)計模式來實現(xiàn),。主/從設(shè)計模式主要用來解決兩個或多于兩個的同時發(fā)生的并且擁有不同運行速率的線程間通信間題,。其示意圖如圖9所示。
數(shù)據(jù)采集模塊作為主循環(huán),數(shù)據(jù)處理模塊作為從循環(huán),,它們引用相同的通知器句柄。從循環(huán)在程序運行之初處于等待通知器狀態(tài),,只有當(dāng)從循環(huán)收到主循環(huán)完成采集通知才開始進(jìn)行數(shù)據(jù)處理,,處理完成后將進(jìn)入下一次等待通知狀態(tài)。
數(shù)據(jù)解析處理模塊與網(wǎng)絡(luò)發(fā)送模塊間的交互采用生產(chǎn)者消費者設(shè)計模式,。與主從設(shè)計模式不同,生產(chǎn)者/消費者設(shè)計模式采用了隊列的數(shù)據(jù)存儲方式(FIFO),。網(wǎng)絡(luò)發(fā)送模塊設(shè)置了一個數(shù)據(jù)存儲隊列,,從數(shù)據(jù)解析處理模塊發(fā)送來的數(shù)據(jù)按照先進(jìn)先出的方式被存入這一隊列。程序運行時,,數(shù)據(jù)解析處理模塊與網(wǎng)絡(luò)發(fā)送模塊同時運行,,前者只負(fù)責(zé)將數(shù)據(jù)處理后寫入到緩存隊列,后者只負(fù)責(zé)將隊列中的數(shù)據(jù)讀取出來并進(jìn)行下一步操作,。
這樣的處理過程緩和了在數(shù)據(jù)量過大時的種種矛盾,,在實際處理過程中也達(dá)到了預(yù)期目標(biāo)。然而,仍有一些問題需要進(jìn)一步考慮,,主從模式在數(shù)據(jù)采集速率大于數(shù)據(jù)處理速率的情況下,,容易造成數(shù)據(jù)的丟失;生產(chǎn)者/消費者模式能夠很好地克服上述問題,,但是當(dāng)網(wǎng)絡(luò)發(fā)送速率低于數(shù)據(jù)處理速率時,,隊列將會溢出,在LabVIEW中數(shù)據(jù)發(fā)送將被強行停止,。因此合理設(shè)計各模塊間的關(guān)系,匹配模塊間處理率是系統(tǒng)精益求精的一個設(shè)計方向,。
4 實驗
為了測試對數(shù)據(jù)采集單元進(jìn)行優(yōu)化后的系統(tǒng)性能,除了常規(guī)的測試,,還進(jìn)行了一次對比試驗:將信號源設(shè)定為正弦信號,,分別記錄下傳統(tǒng)自動測試系統(tǒng)與本系統(tǒng)的接收數(shù)據(jù),將它們繪制在同一幅圖像中,。實驗結(jié)果顯示,,與未經(jīng)優(yōu)化的系統(tǒng)相比,本系統(tǒng)能更好地進(jìn)行時間同步與數(shù)據(jù)對齊,。同時,采用LabVIEW RT圖形化開發(fā)環(huán)境,,應(yīng)用模塊化設(shè)計方式,把流程中的各個部分模塊化,,也有利于程序的修改和維護,。本設(shè)計系統(tǒng)達(dá)到了優(yōu)化接收機自動測試系統(tǒng)的預(yù)期目標(biāo)。
參考文獻(xiàn)
[1] 鄭敬華,劉晨,高超. 一種基于GPIB的自動測試系統(tǒng)實現(xiàn)方法研究[J].信息通信,2012,21(01):90-92.
[2] 楊文,黃文濤.通用自動測試系統(tǒng)的軟件設(shè)計與實現(xiàn)[J].工業(yè)控制計算機,2012,12(01):79-83.
[3] 莫畏.一種基于GPIB的自動測試系統(tǒng)的研究與實現(xiàn)[J].電腦開發(fā)與應(yīng)用,2008,08(09):5-8.
[4] 何銀菊,夏夢芝,黃運生. 基于Labview的控制器自動測試平臺的設(shè)計[J].計算機測量與控制,2011,28(12):2928-2930.
[5] 歐陽三泰,周琴,譚梅.基于LabVIEW平臺和GPIB接口的在線測控系統(tǒng)[J].湖南工程學(xué)院學(xué)報(自然科學(xué)版),,
2006,07(02):4-6.
[6] 李雯,肖凱. 應(yīng)用LabVIEW RT開發(fā)實時測試系統(tǒng)[J].微計算機信息,2003,06(08):42-60.
[7] 宜萬兵,秦紅磊, 路輝.基于LabView RT的實時采集系統(tǒng)[C].第十七屆全國測控計量儀器儀表學(xué)術(shù)年會,2007,
10(10):276-279.
[8] 趙梅,胡天亮,張倩,等.基于LabVIEW的AMT數(shù)據(jù)采集系統(tǒng)設(shè)計與研究[J]. 山東大學(xué)學(xué)報(工學(xué)版), 2011,25
(06):70-79.
[9] LOVELL T J,, JEREMY P. Irish flight validation data gathering and evaluation capabilities[C]. 16th International Flight Inspection Symposium. Beijing, 2010,7:21-25.
[10] Zhang Yiyang, Zhou Shaolei. Signal decoding realization of air data dynamics test System[J]. Electronic Measurement and Instruments, 2007,20(54):156-159.
[11] 劉太陽, 王仕成, 劉志國.基于LabVIEW RT的數(shù)據(jù)實時傳輸系統(tǒng)[J]. 計算機測量與控制, 2008,23(02):270-
272.
[12] 郭躍云,鄭賓, 吳柯銳. 基于LabVIEW的429總線收發(fā)系統(tǒng)的設(shè)計[J]. 國外電子測量技術(shù),2009,28(6):36-39.