梁 磊,易予生,陳春亮
(1.中國空間技術(shù)研究院 載人航天總體部,北京 100094;2.北京空間飛行器總體設(shè)計部,北京 100094)
隨著現(xiàn)代科技的飛躍進步,航天器的任務(wù)、種類日趨增多,與此同時,航天器上遙控遙測任務(wù)和功能也越來越復(fù)雜。針對大量在軌運行的常規(guī)航天器和地基航天測控網(wǎng),為增加天地之間通信鏈路的利用率,空間數(shù)據(jù)系統(tǒng)咨詢委員會(The Consultative Committee for Space Data System,CCSDS)提出了適用于無人航天器,以分包遙測為核心的常規(guī)在軌數(shù)據(jù)系統(tǒng)(Common Orbiting System,COS)建議書,提出將分層的方法引入遙測體制。另外,空間通信環(huán)境網(wǎng)絡(luò)具有傳輸時延大、信噪比低、突發(fā)噪聲強、多普勒頻移大、空間鏈路時斷時續(xù)等特點。在這樣的背景下,CCSDS制定了空間通信協(xié)議規(guī)范(Space Communication Protocol Specification,SCPS),它以TCP/IP為基礎(chǔ),進行適當(dāng)?shù)男薷暮蛿U充,在空間通信網(wǎng)絡(luò)和地面通信環(huán)境之間架起通信的橋梁[1]。
CCSDS分包遙測策略及空間通信協(xié)議已經(jīng)在國外航天任務(wù)中得到了廣泛的應(yīng)用,而在國內(nèi)航天任務(wù)中的應(yīng)用,僅涉及到載人航天和深空探測等領(lǐng)域,因此,探索CCSDS相關(guān)標(biāo)準在國內(nèi)航天通信環(huán)境下的普及應(yīng)用勢在必行。通過對CCSDS分包遙測策略進行分析和設(shè)計,實現(xiàn)在載人航天系列型號通信中的工程應(yīng)用,并為該策略在后續(xù)航天器各型號的推廣積累經(jīng)驗。
分包遙測是以分包的方式進行數(shù)據(jù)分層的動態(tài)管理,完成多信源多用戶遙測數(shù)據(jù)傳輸?shù)目删幊堂}沖編碼調(diào)制(Pulse Code Modulation,PCM)遙測體制。很多星上的應(yīng)用過程在工作過程中能夠產(chǎn)生數(shù)據(jù)包,不同的應(yīng)用過程的源包有不同的數(shù)據(jù)發(fā)生率和包長,并且有突發(fā)數(shù)據(jù)傳輸?shù)囊?,這就要求遙測系統(tǒng)具有動態(tài)組織這些數(shù)據(jù)包的能力。較之傳統(tǒng)PCM方式,分包遙測的優(yōu)勢主要表現(xiàn)在多信源多用戶的開放性、分層服務(wù)模型、分包分層動態(tài)管理上,更適用于數(shù)據(jù)類型復(fù)雜且需要較高的國際間交互支持的現(xiàn)代航天器上[2]。
源包中包含了待傳送到地面的星上應(yīng)用數(shù)據(jù)和為地面捕獲、存貯、分配這些數(shù)據(jù)所需的基本信息。CCSDS定義的源包格式主要由主導(dǎo)頭、副導(dǎo)頭(可選)、源數(shù)據(jù)、包差錯控制(可選)4個主要部分組成。如圖1所示。
圖1 源包格式
傳送幀提供的數(shù)據(jù)結(jié)構(gòu)用于傳輸源包、段、閑置數(shù)據(jù)和專門定義的數(shù)據(jù)。這種傳輸是通過把航天器連接
到地面的數(shù)據(jù)捕獲單元的下行信道上實現(xiàn)的。傳送幀格式如圖2所示。
圖2 傳送幀格式
SCPS相對于TCP更能夠適應(yīng)衛(wèi)星通信系統(tǒng)和空間通信,與TCP協(xié)議相比,它有如下特點:(1) SCPS在寬帶信道上的性能明顯優(yōu)于TCP,適應(yīng)于寬帶通信;(2) SCPS適應(yīng)于傳輸時延較大的通信環(huán)境,空間通信和衛(wèi)星通信系統(tǒng)采用SCPS將能獲得較大的性能改善;(3) SCPS采用了“鏈路惡化”選項,數(shù)據(jù)分組的丟失并不會造成發(fā)送數(shù)據(jù)速率下降;(4) SCPS中采用選擇性否定應(yīng)答(Selective Negative Acknowledgement, SNACK)選項實現(xiàn)相對積極的重傳策略對信道誤比特率較大時比TCP更有效;(5) SCPS采用窗口擴大機制,允許在接收應(yīng)答之前發(fā)送大量的字節(jié)。表1 給出了相對地面鏈路,空間鏈路的具體特點,以及SCPS的所采用的改進措施。
表1 SCPS的改進措施
軟件可以劃分為套接字數(shù)據(jù)接收、協(xié)議解析、數(shù)據(jù)拆包、頁面顯示、數(shù)據(jù)記錄和截屏等6個功能模塊。整套軟件還包括外部配置文件和日志記錄文件,如圖3所示。
圖3 軟件功能模塊圖
由于軟件存在外部輸入數(shù)據(jù),即通信網(wǎng)絡(luò)數(shù)據(jù)獲取,同時,軟件內(nèi)部需要對數(shù)據(jù)進行解包處理,因此采用多線程來實現(xiàn),數(shù)據(jù)接收、拆包解析和頁面顯示分別實現(xiàn)于3個獨立線程中。軟件的數(shù)據(jù)流圖如圖4所示,圖中箭頭部分為接口軟件的數(shù)據(jù)流向。
數(shù)據(jù)接收與拆包解析通過共享數(shù)據(jù)區(qū)來實現(xiàn)數(shù)據(jù)交互,數(shù)據(jù)接收模塊數(shù)據(jù)區(qū)訪問由網(wǎng)絡(luò)數(shù)據(jù)接收信號驅(qū)動,拆包解析模塊對于數(shù)據(jù)區(qū)的訪問頻率設(shè)置為100 ms,滿足型號中數(shù)據(jù)最小更新時間間隔500 ms的需求。共享區(qū)域采用互斥信號燈進行保護,以實現(xiàn)數(shù)據(jù)讀取的完整性,同時為了減少因互斥產(chǎn)生的丟幀現(xiàn)象,互斥信號量均采用3 ms延遲允許設(shè)計。
圖4 軟件數(shù)據(jù)流圖
天地通信鏈路回傳遙測數(shù)據(jù)采用傳送幀的格式,幀長度固定。數(shù)據(jù)包存儲于圖2中所示“航天器應(yīng)用數(shù)據(jù)”的位置,由于包長度不定,一個數(shù)據(jù)包可能分別通過多個傳送幀下傳至地面;同時,由于網(wǎng)絡(luò)套接字每次下傳的數(shù)據(jù)長度不定,下傳的傳送幀并不完整,軟件先將收到的所有傳送幀數(shù)據(jù)進行緩存,然后從緩存區(qū)的首地址開始檢索,分離出完整的數(shù)據(jù)幀,再將數(shù)據(jù)幀中“航天器應(yīng)用數(shù)據(jù)”進行拼接和緩存,最后,對緩存區(qū)中連續(xù)的數(shù)據(jù)包進行拆包處理。完整的拆包處理流程圖如圖5所示。
圖5 解包邏輯流程圖
通過對CCSDS傳輸協(xié)議的解析和分包遙測數(shù)據(jù)源包內(nèi)容定義的解讀,實現(xiàn)了天地通信CCSDS接口數(shù)據(jù)解析軟件的設(shè)計。軟件界面共分為3部分:通信狀態(tài)欄、源包信息欄和數(shù)據(jù)源碼欄。軟件啟動前需要對相關(guān)參數(shù)進行配置,如圖6所示。通過對網(wǎng)絡(luò)握手信息的配置,確定了數(shù)據(jù)的來源,采用的鏈路格式,發(fā)送數(shù)據(jù)的服務(wù)器以及數(shù)據(jù)的傳輸方向。軟件對這些信息進行了模塊化的設(shè)計,通過確定上述參數(shù),可以接收多個型號不同鏈路下傳的數(shù)據(jù),實現(xiàn)了設(shè)計的通用化。通過對傳送幀和數(shù)據(jù)包相關(guān)信息的設(shè)定,可以有選擇的接收感興趣的數(shù)據(jù)類型。
配置完成后啟動軟件,軟件根據(jù)CCSDS傳輸協(xié)議填充事先設(shè)置好的網(wǎng)絡(luò)握手信息,并向數(shù)據(jù)管理服務(wù)器發(fā)送信息,以發(fā)起鏈接請求。當(dāng)請求被允許后,數(shù)據(jù)管理服務(wù)器發(fā)送握手信息“AA AA AA AA AA AA”給解析軟件,解析軟件將通信建立的時間、狀態(tài)記錄以及握手信息記錄下來并完成鏈接,軟件開始接收訂閱服務(wù)器的數(shù)據(jù)。圖7中,軟件已經(jīng)啟動,并正確的收到了訂閱服務(wù)器發(fā)送的握手信息,并記錄下了時間信息,通信狀態(tài)為“鏈路已建立”。
源包信息反映了接收到源包的時間,所在幀序號,數(shù)據(jù)的包號,包內(nèi)數(shù)據(jù)長度,并給出數(shù)據(jù)幀的狀態(tài),是對數(shù)據(jù)包整體信息的采集。圖7中顯示已經(jīng)在2017年5月20日11∶34∶41正確收到了來自第2幀包號為51,長度為256 Byte的數(shù)據(jù)包,與發(fā)送的數(shù)據(jù)包信息內(nèi)容一致,表明數(shù)據(jù)解包邏輯設(shè)計正確。
解包后的數(shù)據(jù)源碼顯示于數(shù)據(jù)源碼欄,通過對比,顯示界面中的源包內(nèi)容“0x00~0xFF”與航天器下行的原始數(shù)據(jù)一致,表明航天器與地面的通信鏈路已成功連接并可正常通信。軟件的架構(gòu)設(shè)計合理,數(shù)據(jù)流設(shè)計正確,對數(shù)據(jù)包的解析邏輯設(shè)計正確,實現(xiàn)了采用CCSDS分包遙測策略的天地通信和數(shù)據(jù)的準確解析。
圖6 參數(shù)配置信息
圖7 軟件顯示界面
CCSDS分包遙測主要針對航天器和地面站之間的通信需求和鏈路環(huán)境,可以根據(jù)需要對數(shù)據(jù)動態(tài)調(diào)配,使信道得到高度有效和靈活的利用。通過文中的設(shè)計和應(yīng)用,成功實現(xiàn)了采用空間傳輸協(xié)議的分包遙測策略的設(shè)計,并通過天地通信CCSDS接口數(shù)據(jù)解析軟件的實例,及其模塊化的參數(shù)配置方法實現(xiàn)了載人飛船天地通信數(shù)據(jù)的獲取,數(shù)據(jù)包的解析,并提高了軟件的通用性。相關(guān)的研究工作為分包遙測體制在未來載人航天三期工程和深空探測等重大型號的推廣應(yīng)用積累了實踐經(jīng)驗。
[1]陳宇,孟新,張磊.空間信息網(wǎng)絡(luò)協(xié)議體系分析[J].計算機技術(shù)與發(fā)展,2012,22(6):1-5.
[2]范穎婷,朱振華,王軍旗.CCSDS分包遙測在某衛(wèi)星型號中的應(yīng)用[J].飛行器測控學(xué)報,2012,31(z1):77-80.
[3]張啟敏,孫劍波,權(quán)云濤.1553總線網(wǎng)絡(luò)中RT終端系統(tǒng)的軟件設(shè)計[J].電子科技,2014,27(3):38-40,45.
[4]柴霖,徐會忠.天地一體化飛行器測控通信網(wǎng)絡(luò)體系構(gòu)建[J].飛行器測控學(xué)報,2013,32(6):464-469.
[5]張慶順,周拴柱,劉贊,等.基于FPGA的IP over CCSDS協(xié)議中幀拆分的實現(xiàn)與仿真[J].河北大學(xué)學(xué)報:自然科學(xué)版,2015,35(2):204-209.
[6]鄭杰.CCSDS-TC協(xié)議的識別方法研究[D].哈爾濱:哈爾濱工業(yè)大學(xué),2015.
[7]侯重遠,焦皎,朱磊.面向CCSDS協(xié)議的未知協(xié)議逆向工程[J].計算機應(yīng)用,2014,34(1):23-26,53.
[8]涂寧,施展.無線中遠程通信系統(tǒng)設(shè)計[J].電子科技,2015,28(10):56-60.
[9]唐先成.CCSDS標(biāo)準下低密度奇偶校驗碼的研究與實現(xiàn)[D].重慶:重慶大學(xué),2013.
[10] 安建平,靳松,許軍,等.深空通信網(wǎng)絡(luò)協(xié)議的發(fā)展與展望[J].通信學(xué)報,2016,37(7):50-61.
[11] 李少賓,白海斌,張亞生.IP OVER CCSDS 協(xié)議適配高速并行實現(xiàn)技術(shù)[J].飛行器測控學(xué)報,2013,32(5):432-437.
[12] 李清凡.CCSDS AOS系統(tǒng)中虛擬信道復(fù)用技術(shù)的研究[D].沈陽:沈陽理工大學(xué),2014.
[13] 黎建春.信道化接收處理方法研究[J].電子科技,2015,28(9):86-88.
[14] 閻冬,程博文,何熊文.CCSDS子網(wǎng)包業(yè)務(wù)在航天器綜合電子系統(tǒng)中的應(yīng)用研究[J].航天器工程,2015,24(6):59-63.
[15] 黃薇.CCSDS空間網(wǎng)絡(luò)互聯(lián)協(xié)議發(fā)展及啟示[J].飛行器測控學(xué)報,2016,35(2):146-152.
[16] 萬鵬,彭利文,華中杰.基于CCSDS標(biāo)準的航天器上行遙控鏈路協(xié)議體系與可靠性技術(shù)[J].飛行器測控學(xué)報,2016,35(4):309-315.