陳 俊 , 熊蔚明
(1.中國科學院大學 北京 100190;2.中國科學院空間科學與應用研究中心 北京 100190)
在空間探測任務中,從主控星釋放出多個從星,形成一主多從的分布式航天器。主星作為主要的處理單元,接收、處理從星返回的探測數據,并完成與地面接收站之間的通信任務,接收地面控制數據和指令[2]。地面和主星之間是常規的空間鏈路,遵循空間數據咨詢委員會(CCSDS)建議的常規在軌協議(COS)和高級在軌協議(AOS)進行通信,而主星與從星之間的鏈路存在著新的特點和要求,需要建立附加鏈路,探索新的鏈路協議[3]。
近距鏈路協議 (proximity-1)最初是JPL為火星(Mars)探測試驗制定的,包括物理層及鏈路層協議,是CCSDS的COS和AOS協議在近距鏈路上的延伸,更能適應中等信號強度、短時延、通信過程短和獨立等近距星間鏈路的特點。
采用這種協議,可設計出如下方案:地面站只與星體結構中的一個主航天器之間建立常規的空間鏈路,而在主星與從星之間建立附加的空間鏈路,稱為近距空間鏈路,采用proximity-1協議。上行鏈路的途徑是:地面站-主星-近距空間鏈路-從星。主星產生的控制命令直接通過近距空間鏈路傳送給從星。下行鏈路發送的信息按照相反的方向傳送,從星可以利用主星AOS系統的路徑業務,把測量信息送回地球[4]。本文著重從數據鏈路層對proximity-1協議進行拆分,最后提出一種模擬該協議的方案和實現平臺。
Proximity-1協議是應用于空間“會話”的雙向數據鏈路層協議,數據鏈路層中有5個子層:編碼與同步(C&S)子層、幀(Frame)子層、介質訪問控制(MAC)子層 、數據服務(Data Service)子層、輸入輸出(I/O)子層[5]。
采用Proximity-1協議通信的數據鏈路層整體方案基本結構如圖1所示。
Proximity-1規定其協議數據單元PDU為Version-3傳輸幀[5],傳輸幀的結構如圖2所示,必須包含以下字段:
1)24 位(3 字節)粘貼同步標志(ASM),為 FAF320(十六進制);
2)變長V-3傳輸幀(最大2048字節);
3)32 位(4 字節)的循環冗余編碼(CRC-32)。

圖1 數據鏈路層基本結構圖Fig.1 Structure diagram of the data link layer
以用戶數據的操作流程為例作簡要介紹:發送過程中,用戶數據單元(SDU)經過I/O子層的接口,在I/O子層內按照協議規定的幀結構標準,組成傳輸幀進入數據服務子層,在數據服務子層遵循Proximity-1協議的幀發送操作步驟(FOP-P)將幀發送至幀子層,幀子層根據協議中規定的優先級排序方法將幀排序輸出到C&S子層,C&S子層在幀前端加上附加同步標記(ASM),尾部加32位CRC校驗碼組成近距鏈路傳輸單元PLTU,最后傳輸給物理層。
接收過程中,C&S子層從物理層傳送的碼流中劃分找出PLTU,然后從PLTU中提取出幀傳送給幀子層,幀子層根據幀的類型將收到的幀發給不同的地方,其中,用戶數據幀傳送至數據服務子層,并在數據服務子層中按照近距鏈路的幀接受和報告機制(FARM-P)發送到I/O子層,最后,I/O子層提取和重建出用戶數據。

圖2 proximity-1傳輸幀結構圖Fig.2 Structure diagram of the proximity-1
整個過程中,MAC子層控制各子層的操作狀態,接收和處理監督協議數據單元(SPDUs),存儲分配MIB參數和狀態變量,提供多種支配操作狀態的控制信號等[6]。
Proximity-1協議各層之間的接口關系如圖3所示[7]。
分離載荷的編隊組網示意圖如圖4所示,組網由一個主星和多個從星構成,主星到從星的前向通道為廣播式發送,主星發射機向從星廣播發送碼流,通過不同的航天器標識符區分不同的從星地址,從星檢測出與自身相一致的標識符地址時,接收信息。返向通道上,不同的從星發射回主星的不同數據鏈路以時分或者頻分的方式來劃分。地面站與主星之間采取常規空間鏈路協議,本文不作涉及。

圖4 分離載荷組網圖Fig.4 The network diagram of the Fractionated Payload
對Proximity-1協議在分離載荷組網中的通信流程模擬中,本文使用moxa多串口卡作為硬件模擬平臺。分離載荷組網中的不同航天器載荷采用moxa平臺上不同的串口來代表,分離載荷在空間中的無線鏈路鏈接這里用直接的物理鏈路鏈接代替,在代表主星的串口和代表從星的所有串口之間用串口線連接起來。
軟件開發平臺選用了visual studio環境,使用C#語言的串口函數對moxa卡的各個串口進行調用,在此基礎之上根據proximity-1協議的規定,實現協議數據鏈路層的各項操作流程。
1)通信鏈接建立

圖5 proximity-1通信鏈路建立流程Fig.5 The communication process established in proximity-1 protocol
鏈路建立部分通過握手過程實現,通信雙方由主機發起連接,通過發送載波空閑同步序列的方法,使雙方通信達到同步的目的,即建立通信鏈路,鏈路成功建立之后開始雙向的數據傳輸服務。proximity-1通信鏈路建立流程如圖5所示[7]。
2)幀發送優先級排序
通信會話中,當有多個幀需要發送時,為了保證能有序、可靠、高效地發送數據,不同的幀類別應規定不同的發送優先級,幀優先級的排序工作在幀子層中完成,幀子層必須以有效的策略選擇要發送的幀類別[8]。
不同的幀類別包括:來自MAC子層和數據服務子層提供的幀,由接收端數據服務子層返回的PLCW或狀態報告,來自I/O子層的迅速幀和序列控制幀。Proximity-1中規定了兩種服務質量(QOS):迅速幀服務和序列控制幀服務。
幀子層采用基于以下優先級的策略來選擇要發送的幀:
1)第一優先級必須給在MAC子層來自MAC隊列來的幀;
2)如果U_frame_last_sent參數值為真,第二優先級必須給PLCW或者狀態報告;
3)第三優先級必須給在輸入/輸出子層來自迅速幀隊列的迅速幀;
4)第四優先級必須給順序控制幀,如果有需要,先給來自于發送隊列的,然后是來自于輸入/輸出子層的順序控制幀隊列中的;
5)如果U_frame_last_sent參數值為假,第五優先級必須給PLCW或者狀態報告。
以上策略保證了發送完每一個迅速幀或序列控制幀之后可以盡快地發送來自接收端的PLCW或狀態報告,及時了解接收端是否對所發出的幀作出了響應。
主機發送軟件模擬結果如圖6所示,基于proximity-1協議流程,主機讀取用戶數據,將讀取到的數據按照規定的結構封裝成幀,按照go-back-n的機制連續發送數據幀到從機。從機接收到數據幀后,立刻返回一個近距鏈路控制字(PLCW),PLCW包含重傳標志位,主機根據該標志位判斷從機接收到的數據幀是否出錯,標志位為1時檢查該PLCW的報告值,依據該報告值退回到出錯幀重新發送。

圖6 proximity-1通信主機發送Fig.6 Send test for master machine of proximity-1 protocol
從機接收軟件模擬結果如圖7所示,從機接收主機發送過來的數據幀,檢查幀序號以及幀尾校驗值,將檢查結果寫入PLCW返回給主機處理,并把接收到的無差錯數據幀存入接收文件。

圖7 proximity-1通信從機接收Fig.7 Receive test for slave machine of proximity-1 protocol
在未來的空間探測任務中,proximity-1近距鏈路協議的使用無疑具有明顯優勢,因為可靠的底層協議是實現星間信息交互的關鍵,隨著我國探月的深入及將來探測火星和其他行星任務的開始,近距空間鏈路協議肯定會越來越受關注,對于近距鏈路協議進行深入地探索和全面研究是非常有必要的,本文對近距協議作出了一定的探討,對近距鏈路協議的功能層次模型作出了描述,分析研究了實現過程的幾個關鍵點,有利于今后對近距鏈路協議的進一步應用[9]。
[1]PROXIMITY-1 Space Link Protocol-Data Link Layer[P].CCSDS 211.0-B-4.2006.
[2]孫志穎.天地一體化網絡協議的研究與仿真 [D].西安:西安電子科技大學,2012.
[3]韓曉亞,劉麗華,曹江.一種小衛星編隊通信中proximity-1協議的接入控制機制 [C]//CCSDS建議在我國航天領域的研究與應用專題研討會論文集,2013年.
[4]王鵬宇.近距-1協議在星間測距中的應用[J].飛行器測控學報,2011(S1):45-49.
[5]付林罡.鄰近鏈路協議的設計[D].哈爾濱:哈爾濱工業大學,2006.
[6]饒啟龍.基于CCSDS的火星探測器測控通信系統鏈路分析與設計[D].上海:上海交通大學,2012.
[7]唐竹.小衛星星群自組網MAC協議研究[D].長沙:國防科學技術大學,2011.
[8]PROXIMITY-1SpaceLinkProtocol-Codingand Synchronization Sublayer.CCSDS 211.2-B-1.2003.
[9]任放,趙和平.CCSDS鄰近空間鏈路協議的初步探究[J].北華航天工業學院學報,2007(5):3-6.