徐 茜,宮海波
(中國(guó)飛行試驗(yàn)研究院,陜西 西安710089)
飛行試驗(yàn)是鑒定飛機(jī)及航電設(shè)備等是否滿足設(shè)計(jì)要求的關(guān)鍵環(huán)節(jié),飛行試驗(yàn)過程中通過機(jī)載測(cè)試系統(tǒng)獲取飛行試驗(yàn)數(shù)據(jù),實(shí)時(shí)及事后對(duì)飛行數(shù)據(jù)進(jìn)行分析,從而完成鑒定設(shè)計(jì)的過程[1-3]。隨著航電系統(tǒng)的不斷發(fā)展,飛行試驗(yàn)的模式也在不斷進(jìn)步,新一代飛機(jī)的試飛具有試飛周期短、試飛科目多、測(cè)試參數(shù)種類多、參數(shù)數(shù)量大等特點(diǎn),隨著測(cè)試需求以及試飛模式的不斷發(fā)展,試飛數(shù)據(jù)的處理模式必須隨之轉(zhuǎn)變,這就要求從數(shù)據(jù)預(yù)處理的時(shí)間以及數(shù)據(jù)預(yù)處理的效率方面進(jìn)行突破[4-8]。
傳統(tǒng)試飛模式是飛行結(jié)束后檢查分析飛行過程中的記錄數(shù)據(jù),從而判斷某科目試飛數(shù)據(jù)及飛行平臺(tái)等參數(shù)是否滿足試飛要求。這樣的模式已經(jīng)越來越不能滿足高效的試飛進(jìn)度,尤其是一些關(guān)鍵試飛參數(shù),等待飛機(jī)結(jié)束再判斷會(huì)嚴(yán)重耽誤試飛進(jìn)度[9-12]。
針對(duì)傳統(tǒng)事后分析數(shù)據(jù)的弊端,提出一種將事后數(shù)據(jù)分析轉(zhuǎn)移到實(shí)時(shí)數(shù)據(jù)分析的模式,可以實(shí)現(xiàn)將部分?jǐn)?shù)據(jù)的處理在機(jī)載測(cè)試系統(tǒng)中實(shí)時(shí)進(jìn)行解算,將處理結(jié)果實(shí)時(shí)遙測(cè)到地面,以及完成一些參數(shù)的實(shí)時(shí)初級(jí)計(jì)算,減少了記錄數(shù)據(jù)事后解算的時(shí)間,從而提高試飛效率。
系統(tǒng)采用嵌入式系統(tǒng)硬件平臺(tái),選用實(shí)時(shí)操作系統(tǒng)運(yùn)行平臺(tái),實(shí)時(shí)處理基于網(wǎng)絡(luò)數(shù)據(jù)流格式的機(jī)載網(wǎng)絡(luò)數(shù)據(jù)包,可連續(xù)不斷地完成機(jī)載網(wǎng)絡(luò)數(shù)據(jù)的采集和數(shù)據(jù)解包。系統(tǒng)具有對(duì)機(jī)載網(wǎng)絡(luò)數(shù)據(jù)采集、解析、計(jì)算以及記錄等多通道數(shù)據(jù)的實(shí)時(shí)處理能力,實(shí)時(shí)處理系統(tǒng)通過網(wǎng)絡(luò)接口可以完成系統(tǒng)配置工作,進(jìn)而實(shí)現(xiàn)不同任務(wù)所需參數(shù)的處理。
機(jī)載關(guān)鍵參數(shù)實(shí)時(shí)處理系統(tǒng)接通電源后,自動(dòng)進(jìn)入嵌入式實(shí)時(shí)系統(tǒng),系統(tǒng)完成自檢后運(yùn)行應(yīng)用程序,進(jìn)而建立與機(jī)載網(wǎng)絡(luò)數(shù)據(jù)鏈路鏈接,系統(tǒng)具有自檢能力,可以提供系統(tǒng)的狀態(tài)顯示。系統(tǒng)采集機(jī)載網(wǎng)絡(luò)系統(tǒng)傳來的數(shù)據(jù)、進(jìn)行網(wǎng)絡(luò)數(shù)據(jù)的解包操作、關(guān)鍵參數(shù)實(shí)時(shí)挑選、數(shù)據(jù)的工程量轉(zhuǎn)換以及連續(xù)不間斷流盤存儲(chǔ)等工作;斷電后,機(jī)載關(guān)鍵參數(shù)實(shí)時(shí)處理系統(tǒng)停止運(yùn)行。機(jī)載關(guān)鍵參數(shù)實(shí)時(shí)處理系統(tǒng)接通電源運(yùn)行后,自動(dòng)調(diào)用上次的系統(tǒng)參數(shù)配置,同時(shí),在試飛任務(wù)所需測(cè)試參數(shù)有變化的情況下,通過調(diào)整并加載系統(tǒng)配置程序就可以修改本次測(cè)試參數(shù)采集工作。
實(shí)時(shí)處理系統(tǒng)是基于嵌入式計(jì)算機(jī),系統(tǒng)具有雙處理器芯片以及千兆以太網(wǎng)接口,實(shí)時(shí)處理系統(tǒng)主要實(shí)現(xiàn)對(duì)機(jī)載加裝通用采集子系統(tǒng)輸出的符合IENA標(biāo)準(zhǔn)的網(wǎng)絡(luò)數(shù)據(jù)進(jìn)行采集,同時(shí)實(shí)時(shí)進(jìn)行網(wǎng)絡(luò)數(shù)據(jù)的結(jié)算以及分組與存儲(chǔ)等工作。系統(tǒng)的配置可以靈活更改,通過系統(tǒng)的網(wǎng)絡(luò)接口利用便攜式電腦即可完成系統(tǒng)配置文件的上傳,同時(shí)也可利用同樣方式實(shí)現(xiàn)系統(tǒng)配置文件及數(shù)據(jù)的下載。關(guān)鍵參數(shù)實(shí)時(shí)處理系統(tǒng)采用直流20~33 V供電,電路設(shè)計(jì)過程中在設(shè)備的前面板設(shè)計(jì)有正常工作指示狀態(tài)顯示。機(jī)載關(guān)鍵參數(shù)實(shí)時(shí)處理系統(tǒng)上電開機(jī)后,系統(tǒng)會(huì)自動(dòng)加載自檢軟件,系統(tǒng)正常的情況下指示燈會(huì)閃爍,如果出現(xiàn)系統(tǒng)故障,系統(tǒng)正常指示燈停止閃爍。實(shí)時(shí)處理系統(tǒng)的硬件組成及數(shù)據(jù)處理流程如圖1所示。
圖1 系統(tǒng)硬件組成示意
經(jīng)千兆以太網(wǎng)接口輸入的機(jī)載網(wǎng)絡(luò)數(shù)據(jù),由實(shí)時(shí)處理系統(tǒng)首先完成網(wǎng)絡(luò)數(shù)據(jù)格式的解析,完成數(shù)據(jù)流的數(shù)據(jù)解析,利用DMA方式將解析后的數(shù)據(jù)進(jìn)行處理器內(nèi)核間的數(shù)據(jù)傳輸,最終完成網(wǎng)絡(luò)數(shù)據(jù)解析后的數(shù)據(jù)分析及數(shù)據(jù)處理。根據(jù)測(cè)試參數(shù)的測(cè)試要求,利用加載的配置文件完成數(shù)據(jù)的取位、拼位等數(shù)據(jù)處理工作,由嵌入式計(jì)算機(jī)系統(tǒng)完成數(shù)據(jù)的實(shí)時(shí)解析、分組記錄、直接傳輸?shù)裙ぷ?,根?jù)需要可將數(shù)據(jù)記錄到記錄盤中。機(jī)載關(guān)鍵參數(shù)實(shí)時(shí)處理系統(tǒng)的硬件核心包括千兆以太網(wǎng)接口芯片、串行通訊芯片和雙核處理器芯片。機(jī)載關(guān)鍵參數(shù)實(shí)時(shí)處理系統(tǒng)硬件邏輯結(jié)構(gòu)如圖2所示。
圖2 系統(tǒng)硬件邏輯結(jié)構(gòu)
系統(tǒng)軟件部分采用Visual C++、LabVIEW進(jìn)行開發(fā)。為了實(shí)現(xiàn)數(shù)據(jù)處理的可靠性以及實(shí)時(shí)性,實(shí)時(shí)數(shù)據(jù)處理模塊采用了嵌入式實(shí)時(shí)技術(shù)來實(shí)現(xiàn),系統(tǒng)運(yùn)行平臺(tái)采用在航空航天等領(lǐng)域應(yīng)用廣泛的Pharlap ETS嵌入式實(shí)時(shí)操作系統(tǒng)[13-15]。機(jī)載關(guān)鍵參數(shù)實(shí)時(shí)處理系統(tǒng)上電后,系統(tǒng)配置軟件會(huì)自動(dòng)上電運(yùn)行并完成系統(tǒng)自檢工作,系統(tǒng)自檢工作正常后,實(shí)時(shí)處理系統(tǒng)將處于等待系統(tǒng)配置軟件建立鏈接狀態(tài),通過千兆以太網(wǎng)接口,使用配置電腦等地面配置裝置可以完成機(jī)載關(guān)鍵參數(shù)實(shí)時(shí)處理系統(tǒng)各模塊單元的詳細(xì)配置工作,隨后實(shí)時(shí)處理系統(tǒng)完成試驗(yàn)數(shù)據(jù)的采集記錄與數(shù)據(jù)分析處理等工作。系統(tǒng)配置軟件基于方便、快捷、有效的實(shí)現(xiàn)思路,界面采用圖形化的人機(jī)操作界面。根據(jù)軟件工作流程及功能不同的分工,系統(tǒng)的軟件設(shè)計(jì)采用模塊化設(shè)計(jì)思想。
1.2.1 實(shí)時(shí)處理系統(tǒng)事先準(zhǔn)備軟件
機(jī)載關(guān)鍵參數(shù)實(shí)時(shí)處理系統(tǒng)事先準(zhǔn)備軟件,讀取并解析系統(tǒng)前端的機(jī)載通用數(shù)據(jù)采集器配置程序的格柵信息,完成采集參數(shù)信息的輸入,用于生成地面實(shí)時(shí)監(jiān)控系統(tǒng)、機(jī)載實(shí)時(shí)處理系統(tǒng)、數(shù)據(jù)預(yù)處理及數(shù)據(jù)二次處理系統(tǒng)的文件信息。實(shí)時(shí)處理系統(tǒng)事先準(zhǔn)備軟件采用模塊化設(shè)計(jì)思路,各模塊分別完成導(dǎo)入測(cè)試參數(shù)、測(cè)試參數(shù)輸入、參數(shù)編輯及提取以及生成帶頭文件等功能。機(jī)載關(guān)鍵參數(shù)實(shí)時(shí)處理系統(tǒng)的事先準(zhǔn)備軟件模塊流程如圖3所示。
1.2.2 系統(tǒng)配置模塊軟件
通過地面配置裝置的網(wǎng)絡(luò)接口,系統(tǒng)配置模塊軟件可實(shí)現(xiàn)實(shí)時(shí)處理系統(tǒng)的系統(tǒng)配置工作。系統(tǒng)配置軟件模塊的輸入是快速處理器的IP地址,端口號(hào),TIMEOUT時(shí)間(ms)及飛行參數(shù)備份記錄。輸出結(jié)果是加載配置信息是否成功以及程序運(yùn)行過程中的錯(cuò)誤代碼。
圖3 事先準(zhǔn)備軟件模塊流程
1.2.3 實(shí)時(shí)網(wǎng)絡(luò)數(shù)據(jù)采集及解析模塊軟件
機(jī)載關(guān)鍵參數(shù)實(shí)時(shí)處理系統(tǒng)的實(shí)時(shí)網(wǎng)絡(luò)數(shù)據(jù)采集模塊針對(duì)實(shí)時(shí)處理系統(tǒng)中的網(wǎng)絡(luò)數(shù)據(jù)進(jìn)行數(shù)據(jù)采集和數(shù)據(jù)解析,完成數(shù)據(jù)的發(fā)送和接收,模塊的輸入是IENA數(shù)據(jù)流組播地址,端口號(hào),TIMEOUT時(shí)間(ms)。
系統(tǒng)的采集模塊發(fā)送給機(jī)載測(cè)試網(wǎng)絡(luò)的數(shù)據(jù)是符合UDP協(xié)議的標(biāo)準(zhǔn)IENA格式的網(wǎng)絡(luò)數(shù)據(jù),模塊輸出結(jié)果是原始數(shù)據(jù)流、網(wǎng)絡(luò)數(shù)據(jù)鏈接全程標(biāo)識(shí)句柄和程序運(yùn)行過程中的錯(cuò)誤代碼。
多通道網(wǎng)絡(luò)數(shù)據(jù)接收和解調(diào)方面,根據(jù)系統(tǒng)配置情況的不同,系統(tǒng)具有同時(shí)完成上千動(dòng)態(tài)通道的數(shù)據(jù)處理的能力,IENA格式數(shù)據(jù)流解包模塊流邏輯如圖4所示。
圖4 IENA數(shù)據(jù)流解包模塊流程
系統(tǒng)中的實(shí)時(shí)網(wǎng)絡(luò)數(shù)據(jù)解析模塊負(fù)責(zé)完成緩沖區(qū)數(shù)據(jù)讀取、數(shù)據(jù)通道挑選、關(guān)鍵參數(shù)挑選以及數(shù)據(jù)工程量轉(zhuǎn)換等數(shù)據(jù)的處理工作。實(shí)時(shí)數(shù)據(jù)處理模塊流程如圖5所示。
圖5 實(shí)時(shí)數(shù)據(jù)處理模塊流程
1.2.4 實(shí)時(shí)數(shù)據(jù)存儲(chǔ)模塊設(shè)計(jì)
飛行試驗(yàn)過程中試驗(yàn)數(shù)據(jù)的記錄是在關(guān)鍵參數(shù)快速實(shí)時(shí)處理單元中的實(shí)時(shí)數(shù)據(jù)存儲(chǔ)模塊中完成的。系統(tǒng)運(yùn)行過程中,首先進(jìn)行磁盤空間的判定,檢測(cè)結(jié)果顯示容量不足時(shí),會(huì)提示進(jìn)行記錄介質(zhì)格式化,檢測(cè)結(jié)果顯示容量滿足要求時(shí),系統(tǒng)會(huì)新建一個(gè)數(shù)據(jù)文件并對(duì)文件的文件頭信息進(jìn)行初始化,接下來完成緩沖區(qū)數(shù)據(jù)的讀取和數(shù)據(jù)的存盤寫入操作。數(shù)據(jù)存儲(chǔ)介質(zhì)采用大容量固態(tài)盤,系統(tǒng)可實(shí)時(shí)不間斷連續(xù)存儲(chǔ)記錄。
1.2.5 數(shù)據(jù)快速導(dǎo)出模塊軟件
機(jī)載關(guān)鍵參數(shù)實(shí)時(shí)處理系統(tǒng)中的數(shù)據(jù)快速導(dǎo)出模塊設(shè)計(jì)主要完成飛行試驗(yàn)所需關(guān)鍵參數(shù)的數(shù)據(jù)快速輸出功能,根據(jù)快速處理單元所記錄的試驗(yàn)數(shù)據(jù),參照系統(tǒng)加載的關(guān)鍵參數(shù)列表進(jìn)行數(shù)據(jù)的工程量值轉(zhuǎn)換以及數(shù)據(jù)輸出工作。系統(tǒng)采用多線程并行工作模式,為了完成所需數(shù)據(jù)的快速有效處理,每個(gè)線程對(duì)應(yīng)一個(gè)數(shù)據(jù)文件來進(jìn)行操作。
飛行試驗(yàn)對(duì)數(shù)據(jù)的準(zhǔn)確性和實(shí)時(shí)性要求很高,因此如何從海量飛行試驗(yàn)數(shù)據(jù)中快速有效地獲取所需關(guān)鍵參數(shù)數(shù)據(jù)的信息是十分重要的一項(xiàng)工作。數(shù)據(jù)快速導(dǎo)出模塊根據(jù)所記錄數(shù)據(jù)的數(shù)據(jù)包信息以及預(yù)先配置的通道列表生成一個(gè)結(jié)構(gòu)體數(shù)組,結(jié)構(gòu)體數(shù)組包含解析后詳細(xì)的數(shù)據(jù)包信息。數(shù)據(jù)文件的讀取采取循環(huán)查詢的方式,利用選取數(shù)據(jù)的包號(hào)與請(qǐng)求數(shù)據(jù)列表信息進(jìn)行比對(duì),數(shù)據(jù)包號(hào)不在數(shù)據(jù)選取列表中時(shí),順序讀取數(shù)據(jù)直到最后結(jié)束。符合請(qǐng)求數(shù)據(jù)列表信息時(shí),利用數(shù)據(jù)包號(hào)、通道在包中序號(hào)索引實(shí)際的數(shù)據(jù)連同實(shí)際采樣率、時(shí)間等信息存入到結(jié)構(gòu)體數(shù)組中。隨后判斷各通道數(shù)據(jù)點(diǎn)數(shù)是否滿足采樣率抽點(diǎn)或插值要求等條件是否滿足,不符合要求的情況下會(huì)繼續(xù)讀取數(shù)據(jù)和插入數(shù)據(jù)到結(jié)構(gòu)體數(shù)組中,直到滿足要求。隨后索引當(dāng)前結(jié)構(gòu)體數(shù)組中的數(shù)據(jù),通過數(shù)據(jù)的實(shí)時(shí)解析,判斷并得到最先到達(dá)的包數(shù)據(jù)時(shí)間,依據(jù)新的采樣率和新的數(shù)據(jù)點(diǎn)生成新的時(shí)間序列連同變采樣率后的數(shù)據(jù)一同寫入到TXT文件中。在提取的同時(shí)發(fā)送當(dāng)前進(jìn)度給上層調(diào)用線程,以顯示當(dāng)前進(jìn)度。數(shù)據(jù)讀取完成后,退出線程。
機(jī)載關(guān)鍵參數(shù)實(shí)時(shí)處理系統(tǒng)工作流程的首要目的是要進(jìn)行機(jī)載網(wǎng)絡(luò)架構(gòu)數(shù)據(jù)的采集和接收處理,因此,機(jī)載關(guān)鍵參數(shù)實(shí)時(shí)處理系統(tǒng)通過建立與機(jī)載測(cè)試網(wǎng)絡(luò)的鏈接,進(jìn)而完成機(jī)載通用采集器的機(jī)載網(wǎng)絡(luò)IENA數(shù)據(jù)包的采集與解包;其次完成實(shí)時(shí)關(guān)鍵數(shù)據(jù)的處理與存儲(chǔ),在飛行試驗(yàn)過程中,機(jī)載關(guān)鍵參數(shù)實(shí)時(shí)處理系統(tǒng)可根據(jù)預(yù)先加載的系統(tǒng)參數(shù)配置文件以及參數(shù)組文件,進(jìn)而完成對(duì)實(shí)時(shí)接收的機(jī)載網(wǎng)絡(luò)數(shù)據(jù)包進(jìn)行解包、參數(shù)挑選、校準(zhǔn)、計(jì)算和無間斷存盤任務(wù)。實(shí)現(xiàn)了多種工程量轉(zhuǎn)換算法,其中包括雙曲線、拋物線、線性、點(diǎn)對(duì)分段、多項(xiàng)式等。
基于嵌入式多核處理架構(gòu)硬件平臺(tái)構(gòu)建的機(jī)載關(guān)鍵參數(shù)實(shí)時(shí)處理系統(tǒng),已成功應(yīng)用于多個(gè)型號(hào)的試飛工作中。目前大型飛機(jī)的試飛參數(shù)超過20 000個(gè),每架次的試飛時(shí)間可達(dá)幾小時(shí),試飛測(cè)試的數(shù)據(jù)量是巨大的,同時(shí)由于測(cè)試參數(shù)的種類繁多,傳統(tǒng)試飛數(shù)據(jù)處理模式下,飛行結(jié)束后需要飛行時(shí)間的近2倍時(shí)間才能把一個(gè)架次的試飛數(shù)據(jù)處理完畢。目前采用機(jī)載關(guān)鍵參數(shù)實(shí)時(shí)處理系統(tǒng),可以在飛行結(jié)束后半小時(shí)內(nèi)將關(guān)鍵參數(shù)呈現(xiàn)在課題人員面前,系統(tǒng)的實(shí)時(shí)計(jì)算功能、并行處理模式以及數(shù)據(jù)分組記錄模式,大大提高了試飛效率。
系統(tǒng)采用多核并行處理模式,采用模塊化的設(shè)計(jì)思路,保證了數(shù)據(jù)處理結(jié)果的實(shí)時(shí)性,機(jī)載關(guān)鍵參數(shù)的實(shí)時(shí)處理數(shù)據(jù)的時(shí)延保持在百納秒級(jí)別,滿足了試飛測(cè)試需求。
為了提高飛行試驗(yàn)數(shù)據(jù)處理效率,基于嵌入式多核處理架構(gòu)硬件平臺(tái)構(gòu)建了機(jī)載關(guān)鍵參數(shù)實(shí)時(shí)處理系統(tǒng),在系統(tǒng)總體架構(gòu)方面采用了模塊化的設(shè)計(jì)思路,工程應(yīng)用方面系統(tǒng)具有配置簡(jiǎn)單、通用且靈活的特點(diǎn)。系統(tǒng)在機(jī)載測(cè)試端完成部分關(guān)鍵參數(shù)的實(shí)時(shí)計(jì)算,解決了傳統(tǒng)試飛數(shù)據(jù)處理模式所帶來的試飛效率低下的問題,實(shí)現(xiàn)了關(guān)鍵參數(shù)的機(jī)載實(shí)時(shí)處理功能,極大提高了試飛數(shù)據(jù)的處理效率。該系統(tǒng)已成功應(yīng)用于多個(gè)型號(hào)的試飛工作中,系統(tǒng)配置靈活且具有較強(qiáng)的通用性,對(duì)其他領(lǐng)域的實(shí)時(shí)處理數(shù)據(jù)工作具有一定的借鑒意義。