李 陽,王 華,張得華
(中國衛(wèi)星海上測控部 技術(shù)部,江陰 214431)
航天系統(tǒng)測控數(shù)據(jù)包含各航天單位之間的通信數(shù)據(jù)、測量船和陸上測站測控設(shè)備的設(shè)備數(shù)據(jù)和飛行器遙測數(shù)據(jù)等.他們采用相同的數(shù)據(jù)協(xié)議封裝,但是其數(shù)據(jù)域的組成格式卻靈活多變,多達上百種數(shù)據(jù)組成格式.不同類型數(shù)據(jù)格式需要不同的處理方法進行解算,因此影響了整體的處理效率.為了實現(xiàn)高效快速處理各類測控數(shù)據(jù)的目的,需要指顯數(shù)據(jù)處理系統(tǒng)能夠針對不同數(shù)據(jù)格式采用通用的處理模型進行處理,從而保證數(shù)據(jù)處理的正確、可靠[1]和高效.
航天系統(tǒng)測控數(shù)據(jù)為了方便傳輸、處理和解析,采用了固定的PDXP數(shù)據(jù)協(xié)議,該協(xié)議是基于TCP/IP協(xié)議模型分層結(jié)構(gòu)定義的應(yīng)用層數(shù)據(jù)交換協(xié)議,通信雙方以結(jié)構(gòu)化數(shù)據(jù)包的形式采用數(shù)據(jù)主動推送方式進行數(shù)據(jù)交換.該協(xié)議數(shù)據(jù)由固定字節(jié)的包頭數(shù)據(jù)和不定長度的數(shù)據(jù)域組成,其中包頭數(shù)據(jù)包含該類數(shù)據(jù)的版本、數(shù)據(jù)標(biāo)識、時標(biāo)和數(shù)據(jù)域長度等信息,而數(shù)據(jù)域則承擔(dān)需要傳輸?shù)母黝愑行?shù)據(jù).
PDXP協(xié)議的數(shù)據(jù)域由各種類型參數(shù)字段組成,不同參數(shù)字段有特定的數(shù)據(jù)長度和數(shù)據(jù)類型,描述了不同的狀態(tài)含義,PDXP協(xié)議對字段內(nèi)容進行編碼組成完整的PDXP包,傳輸接收端獲取到數(shù)據(jù)字段的源碼之后進行解算得到其代表的狀態(tài)含義,實現(xiàn)對航天器的測量監(jiān)控.通常情況下,不同的數(shù)據(jù)字段采用順序串聯(lián)方式合并組成PDXP包,但是也存在某些數(shù)據(jù)格式采用比較復(fù)雜的組合模式,增加了解算的復(fù)雜度.
模塊化字節(jié)流模型適用于PDXP包中的常規(guī)格式數(shù)據(jù),即采用順序串聯(lián)方式按一定規(guī)則對數(shù)據(jù)字段進行組合,解算時使用字節(jié)流對數(shù)據(jù)字段進行定義,然后根據(jù)設(shè)計好的模塊組合進行套用解析.
模塊化字節(jié)流模型的靜態(tài)結(jié)構(gòu)類似樹形結(jié)構(gòu),具有層次定義、逐層派生的特點[2].最頂層是模型的抽象類,作為各個子字節(jié)流模塊的基類,子字節(jié)流模塊由此直接或間接派生.子字節(jié)流模塊分為兩大類: 字段模塊和組合模塊.字段模塊描述一個基本字節(jié)序列,可直接完成處理.組合模塊描述一個組合字節(jié)序列,無法直接處理,需進一步分解成多個字段模塊進行處理,然后將處理結(jié)果進行組合.
對航天測控數(shù)據(jù)進行描述時,首先使用組合模塊搭建框架,繼而根據(jù)數(shù)據(jù)特點,嵌套加入合適的字段模塊或組合模塊,如圖1,如果加入的是組合模塊則該模塊仍由特定的字段模塊組成.這種靈活可擴展的嵌套方式[3]使得模型具有強大的描述處理能力.
軟件系統(tǒng)運行時,首先根據(jù)PDXP協(xié)議格式獲取數(shù)據(jù)域,然后由模塊化字節(jié)流模型搭建框架對數(shù)據(jù)域進行分解,組合模塊定義了所屬子模塊的處理順序,根據(jù)該順序可調(diào)用其子模塊依次完成處理.各個子模塊根據(jù)地址屬性從數(shù)據(jù)域中獲取對應(yīng)數(shù)據(jù)源碼,若子模塊仍然是組合模塊,則繼續(xù)對其進行分解,調(diào)用所屬子模塊進行解析;若子模塊為字段模塊,則調(diào)用其字段方法屬性完成解算,獲取字段數(shù)據(jù)所代表的值、狀態(tài)等含義.由此可見,上述子模塊的處理過程均可遞歸進行.
航天系統(tǒng)測控數(shù)據(jù)中的飛行器遙測數(shù)據(jù)的結(jié)構(gòu)不同于常規(guī)PDXP數(shù)據(jù),可針對不同任務(wù)需求靈活選擇組成.其整體結(jié)構(gòu)由遙測幀-遙測信道-遙測源包-遙測參數(shù)的組織方式構(gòu)成.目前常見的遙測數(shù)據(jù)格式分為以下幾類:
圖1 模塊化字節(jié)流模型類圖
(1)主副幀遙測.這類遙測數(shù)據(jù)的特點是采用固定主交換子+分頻副交換子方式下傳參數(shù),不同方式定義了不同的傳輸頻率,同時采用雙計數(shù)格式,即同時使用幀計數(shù)和格式計數(shù)兩種計數(shù)[4].這種遙測數(shù)據(jù)的參數(shù)處理需要使用關(guān)鍵字依賴,即以幀計數(shù)和格式計數(shù)作為依賴參數(shù),其他遙測參數(shù)依賴它們的解算結(jié)果作為判斷條件進行解算.
(2)分包遙測.這類遙測數(shù)據(jù)的特點是以分包的方式對數(shù)據(jù)進行分層動態(tài)管理[5].要處理該類遙測數(shù)據(jù),需要定義遙測信道,并綁定分包協(xié)議,在處理該信道中遙測參數(shù)時,先解復(fù)用還原出遙測源包,遙測參數(shù)根據(jù)源包號匹配,再對源包字節(jié)流進行尋址即可.其中遙測信道支持虛擬信道模式,即信道需設(shè)計一個虛擬信道表,可以支持多個不同分包協(xié)議,并定義虛擬信道號字節(jié)比特偏移量.不同虛擬信道根據(jù)虛擬信道號進行識別匹配.
(3)混合幀遙測.該類星遙的特點是存在兩種幀格式定義,實時幀定義與數(shù)據(jù)段幀定義,每種幀定義又分為幾種格式[6].這種星遙的格式通過組合依賴一些關(guān)鍵參數(shù)來區(qū)別不同格式下的具體參數(shù),同時可能利用被依賴參數(shù)的解算結(jié)果進行再處理來解算其他遙測參數(shù).
為了建立適應(yīng)不同結(jié)構(gòu)的遙測數(shù)據(jù)處理模型,我們分別定義了遙測幀框架、遙測信道、遙測處理環(huán)境、遙測協(xié)議、遙測源包、遙測參數(shù)、遙測關(guān)鍵字和遙測參數(shù)處理方法等元素對遙測數(shù)據(jù)格式進行描述.遙測數(shù)據(jù)處理模型結(jié)構(gòu)如圖2所示.其中遙測幀對傳輸?shù)膶嶋H遙測數(shù)據(jù)字節(jié)序列進行描述,為多種平臺不同格式遙測數(shù)據(jù)搭建了解算的整體框架.框架包含遙測信道、遙測參數(shù)、遙測關(guān)鍵字等遙測元素和遙測環(huán)境,其中遙測信道和遙測參數(shù)共同構(gòu)成分包遙測格式,遙測參數(shù)和遙測關(guān)鍵字共同構(gòu)成主副幀和混合幀遙測格式,遙測環(huán)境則保存了遙測數(shù)據(jù)處理全過程中的所有動態(tài)數(shù)據(jù)信息.
圖2 遙測數(shù)據(jù)處理模型類圖
遙測信道描述了遙測數(shù)據(jù)幀中一些特殊的字節(jié)部分,這些字節(jié)作為一個整體構(gòu)成信道,處理時必須把信道中傳輸?shù)臄?shù)據(jù)收完整了之后才可進行.信道支持虛擬傳輸模式,即把一個信道從邏輯上復(fù)用為N個“虛擬信道”,每次給一個“虛擬信道”使用,各個虛擬信道是完全相同的,只是可以用來傳輸不同分包協(xié)議的源包[7].信道內(nèi)遙測參數(shù)的尋址是相對于源包的,參數(shù)地址中的PacketTag屬性保存了該地址對應(yīng)所屬的分包號,繼而可從該分包中進行尋址獲取字節(jié)源碼.遙測參數(shù)處理方法用于對遙測參數(shù)源碼進行處理[8],實現(xiàn)從二進制源碼到數(shù)字量、模擬量、溫度量和電壓電平量的轉(zhuǎn)換.遙測參數(shù)可有多個處理方法,順序執(zhí)行,后面的處理方法可以使用前面方法的處理結(jié)果,每一個處理方法的處理結(jié)果都可以作為遙測參數(shù)結(jié)果返回,從而可適應(yīng)靈活復(fù)雜的參數(shù)特性.
4.3.1 遙測信道處理
根據(jù)遙測數(shù)據(jù)處理模型結(jié)構(gòu)對接收到的實時遙測幀進行分層處理,每個遙測信道依據(jù)對應(yīng)遙測協(xié)議對數(shù)據(jù)域進行分解復(fù)用,還原出待處理源包或子幀字節(jié)流,保存在對應(yīng)的遙測處理環(huán)境中,等待下一步遙測參數(shù)提取對應(yīng)源碼.遙測信道動態(tài)處理流程如圖3所示.
圖3 遙測信道處理流程
4.3.2 遙測參數(shù)處理
對配置的遙測參數(shù)列表進行靜態(tài)編譯,根據(jù)參數(shù)依賴關(guān)系調(diào)整列表中的參數(shù)順序[9],根據(jù)順序順次調(diào)用遙測參數(shù)處理方法進行處理,對于處理成功的參數(shù),將值加入遙測處理環(huán)境中,對于處理失敗的參數(shù)加入待掃描列表,等待下次循環(huán)掃描處理.對于每個參數(shù)的處理,首先進行關(guān)鍵字依賴條件判斷,如滿足條件則獲取該遙測參數(shù)對應(yīng)的源包或子幀字節(jié)流,接著根據(jù)地址完成尋址、方法處理等后續(xù)工作.遙測參數(shù)動態(tài)處理流程如圖4所示.
圖4 遙測參數(shù)處理流程
在實踐應(yīng)用中,通常使用幀處理速度和時間延遲來測試數(shù)據(jù)處理的性能.測試采用某次重要航天試驗任務(wù)數(shù)據(jù)作為測試對象,在相同硬件環(huán)境中分別使用應(yīng)用了模塊化字節(jié)流模型和遙測數(shù)據(jù)處理模型的數(shù)據(jù)處理軟件系統(tǒng)和未使用上述模型的舊版處理軟件系統(tǒng)進行處理解算,測試過程模擬任務(wù)場景發(fā)送任務(wù)數(shù)據(jù),記錄數(shù)據(jù)處理解算的最大幀處理速度和每幀數(shù)據(jù)平均時延.試驗結(jié)果如表1所示.
表1 測試驗證結(jié)果
根據(jù)測試結(jié)果可知,采用了模塊化字節(jié)流模型和遙測數(shù)據(jù)處理模型以后,最大幀處理速度有所提升,而每幀數(shù)據(jù)平均時間延遲則有所降低,說明上述模型在任務(wù)過程中提高了數(shù)據(jù)處理的性能和效率.此外,上述模型能夠適應(yīng)數(shù)據(jù)格式靈活多變的特點,避免了舊版軟件系統(tǒng)針對不同任務(wù)數(shù)據(jù)格式變化而花費大量維護準(zhǔn)備時間的情況.
針對航天測控數(shù)據(jù)格式靈活多變、層次嵌套的特點,本文論述了設(shè)計的模塊化字節(jié)流模型和遙測數(shù)據(jù)處理模型,經(jīng)實驗表明,該設(shè)計模型表述能力及通用性較好,具有一定程度的靈活性及擴展性;能較好地適應(yīng)各類任務(wù)的數(shù)據(jù)格式處理需求;可提升指顯數(shù)據(jù)處理軟件系統(tǒng)中的復(fù)雜數(shù)據(jù)格式能力和效率.