摘 要:在對AOS系統(tǒng)進(jìn)行功能模塊劃分的基礎(chǔ)上,介紹了系統(tǒng)中一個非常關(guān)鍵的組成部分下行
鏈路控制器。該方案采用我國自主知識產(chǎn)權(quán)的核心器件——方舟系列CPU芯片,在Linux操作系統(tǒng)下設(shè)計與實(shí)現(xiàn)下行鏈路控制器,并給出了其主要的工作流程。試驗(yàn)結(jié)果表明該下行鏈路控制器較好地實(shí)現(xiàn)了多路數(shù)據(jù)的包裝與復(fù)用。
關(guān)鍵詞:AOS;下行鏈路控制器;方舟;
包裝;復(fù)用
1.引言
隨著航天技術(shù)的進(jìn)一步發(fā)展,于1982年成立的空間數(shù)據(jù)系統(tǒng)咨詢委員會(CCSDS)制定了以滿足復(fù)雜航天器的需要為目標(biāo)的高級在軌系(AOS)體制和標(biāo)準(zhǔn)。目前該標(biāo)準(zhǔn)仍在不斷修正補(bǔ)充與發(fā)展。它是航天測控與通信進(jìn)入國際合作時代的產(chǎn)物,也是航天測控與通信技術(shù)發(fā)展的必然。航天任務(wù)越來越具有強(qiáng)烈的國際性質(zhì),為合理開發(fā)與利用空間資源必須走國際合作的道路。我國的航天技術(shù)要走向世界,與AOS標(biāo)準(zhǔn)接軌是最好的選擇。
根據(jù)標(biāo)準(zhǔn)的相關(guān)要求,可以將AOS系統(tǒng)分成如下幾個主要部分:數(shù)據(jù)源、鏈路控制器、合路器/分路器信等。下行鏈路控制器在數(shù)據(jù)源端把待傳數(shù)據(jù)打包、復(fù)用成符合標(biāo)準(zhǔn)的包后發(fā)送給合路器后向下傳送。
由以上功能劃分來看下行鏈路控制器是整個系統(tǒng)中的關(guān)鍵設(shè)備,屬于空間鏈路層中的硬件實(shí)體,其作用相當(dāng)于虛擬信道鏈路控制子層數(shù)據(jù)存取過程。
2.控制器的設(shè)計
AOS體制主要用于復(fù)雜航天器的數(shù)據(jù)系統(tǒng)中。復(fù)雜航天器需要傳輸?shù)臄?shù)據(jù)種類很多,有圖像、話音、數(shù)據(jù)、文件、電子郵件等,數(shù)據(jù)的碼速率也相差很大,從幾個bit/s到幾百兆bit/s,總信息量很大。AOS體制的特點(diǎn)是能夠?qū)Σ煌愋偷臄?shù)據(jù)采用不同的業(yè)務(wù),而不同業(yè)務(wù)對數(shù)據(jù)的處理方法和格式是不同的。采用AOS體制的航天器數(shù)據(jù)系統(tǒng)最終將不同類型、不同速率的眾多數(shù)據(jù)匯合成統(tǒng)一的數(shù)據(jù)流,經(jīng)過組織后送到空間物理信道進(jìn)行傳輸。
采用AOS體制的航天器數(shù)據(jù)系統(tǒng)中,下行鏈路控制器存在于空間數(shù)據(jù)鏈路層的VCLC層中,其主要功能有:對數(shù)據(jù)系統(tǒng)產(chǎn)生的非CCSDS包(如非定界字符串,IPV6等)進(jìn)行包裝, 生成包裝協(xié)議數(shù)據(jù)單元(E_PDU),再進(jìn)行多路復(fù)用生成多路復(fù)用協(xié)議數(shù)據(jù)單元(M-PDU),并使用虛擬信道存取子層的VCA業(yè)務(wù),傳送其協(xié)議數(shù)據(jù)單元( M-PDU )給合路器。對用戶產(chǎn)生的數(shù)據(jù)(如CP_PDU,IPV4等),則直接被控制器復(fù)用生成多路復(fù)用協(xié)議數(shù)據(jù)單元(M-PDU),送給合路器。下行鏈路控制器的功能框圖如圖1所示。
[align=center]

圖1下行鏈路控制器的功能框圖[/align]
2.1幾種主要數(shù)據(jù)單元格式
3.控制器的實(shí)現(xiàn)
在控制器的實(shí)現(xiàn)平臺的選擇上我們使用了我國方舟(ARCA)科技公司GT2000嵌入式開發(fā)板,因?yàn)镚T2000是方舟科技的一款基于方舟二號為核心的嵌入式CPU產(chǎn)品,是我國第一個具有自主知識產(chǎn)權(quán)CPU,它在主頻400MHZ下運(yùn)行時最大功耗只有360毫瓦,具有高性能、低
-功耗的特點(diǎn),對于研究具有我國自主知識產(chǎn)權(quán)的AOS的底層接口器件、關(guān)鍵模塊和設(shè)備具有重要的意義。GT2000提供兩個串口,一個以太網(wǎng)口及其他外設(shè)接口。鏈路控制器就是利用其提供的以太網(wǎng)口進(jìn)行數(shù)據(jù)傳輸。同時由于GT2000內(nèi)嵌Linux操作系統(tǒng)使進(jìn)程間通信機(jī)制十分靈活,而且Linux 系統(tǒng)所提供的socket 通信接口和各種豐富的系統(tǒng)異步時間處理方式為我們在其上快速地處理數(shù)據(jù)提供了極大的方便。
根據(jù)前述控制器所完成的功能,我們在Linux 平臺上采用標(biāo)準(zhǔn)的C 語言進(jìn)行實(shí)現(xiàn)。下行鏈路控制器的整體工作流程如圖2所示。首先系統(tǒng)監(jiān)聽以太網(wǎng)端口,如果有用戶提出請求發(fā)送數(shù)據(jù),則打開端口進(jìn)行接收。然后判斷所接收的數(shù)據(jù)類型,如果數(shù)據(jù)類型為非CCSDSS格式的數(shù)據(jù),由控制器的包裝模塊把數(shù)據(jù)封裝成包裝協(xié)議數(shù)據(jù)單元(B_PDU),發(fā)送給復(fù)用模塊;如果其他數(shù)據(jù)如(CP_PDU 、IPV4等),則直接發(fā)送給復(fù)用模塊。發(fā)送到復(fù)用模塊的數(shù)據(jù)經(jīng)過復(fù)用,生成復(fù)用協(xié)議數(shù)據(jù)單元(M_PDU)發(fā)送給合路器。
[align=center]

圖2 控制器的整體工作流程[/align]
控制器工作過程中的包裝功能相對比較簡單,在此們不再贅述,而在復(fù)用模塊處理過程中為了必須設(shè)置M_PDU導(dǎo)頭域的首導(dǎo)頭指針來指示出M_PDU中第一個完整的包的位置,以便在接收端可方便的提取M_PDU包區(qū)的各個數(shù)據(jù)包。同時用戶數(shù)據(jù)被復(fù)用時,由于被復(fù)用數(shù)據(jù)是變長,生成的復(fù)用協(xié)議數(shù)據(jù)單元(M _PDU)為固定長。如果從用戶得不到足夠的數(shù)據(jù)單元,多路復(fù)用模塊需要產(chǎn)生適當(dāng)長度的填充包(格式為CCSDS協(xié)議標(biāo)準(zhǔn)數(shù)據(jù)單元),填入M_PDU中,最短的填充包長度為7字節(jié)(6字節(jié)導(dǎo)頭,1字節(jié)填充數(shù)據(jù)),如果一個M_PDU中所需的填充數(shù)據(jù)小于7字節(jié),則產(chǎn)生一個長為7字節(jié)的填充包,此包填滿這個M_PDU,然后溢出到下一下M_PDU中。首導(dǎo)頭指針賦值及填充工作流程如圖3所示。
[align=center]

圖3 首導(dǎo)頭指針賦值及填充工作流程圖[/align]
4.測試及驗(yàn)證
鏈路控制器可以支持多路數(shù)據(jù),首先在一臺PC機(jī)上模擬一些真實(shí)的數(shù)據(jù):非定界字符串,IPV6、IPV4、CP_PDU,把PC機(jī)和控制器通過以太網(wǎng)口相聯(lián),然后把PC機(jī)模擬的各種數(shù)據(jù)發(fā)送給控制器,控制器接收數(shù)據(jù)并進(jìn)行識別處理。測試結(jié)果表明此控制器可以較好地進(jìn)行多路數(shù)據(jù)的包裝與復(fù)用,無丟包現(xiàn)象,工作穩(wěn)定,可靠。
5.結(jié)束語
本文介紹了基于國產(chǎn)芯片設(shè)計的AOS系統(tǒng)的下行鏈路控制器,采用該控制器可以較好的處理模擬的航天器數(shù)據(jù),并且對數(shù)據(jù)傳輸中的一些關(guān)鍵技術(shù)進(jìn)行了驗(yàn)證,為今后進(jìn)一步的研究打下了基礎(chǔ)。
本文作者創(chuàng)新點(diǎn): 目前我國的AOS系統(tǒng)的應(yīng)用主要還是依賴購買發(fā)達(dá)國家的成套設(shè)備,或采用國外知識產(chǎn)權(quán)的關(guān)鍵核心部件。本文采用國產(chǎn)芯片開發(fā)具有自主知識產(chǎn)權(quán)的AOS核心器件對我國今后航天發(fā)展有重要的意義。
參考文獻(xiàn)
[1]高可,單家元.基于LINUX的通用實(shí)時控制軟件設(shè)計[J].微計算機(jī)信息,2006,7-2:61-63.
[2]CCSDS 701.0-B-3: Advanced Orbiting Systems, Networks arid Data Links: Architectural Specification. Blue Book. Issue 3. June 2001.
[3]CCSDS 732.0-B-1: AOS Space Data Link Protocal. Blue Book. Issue 1. September 2003.
[4]CCSDS 700.0-G-3: Advanced Orbiting Systems, Networks and Data Links: Summary of Concept, Rationale and Performance. Green Book. Issue 3. November 1992.
[5]鄒思軼. 嵌入式Linux的設(shè)計與應(yīng)用. 北京:清華大學(xué)出版社,2002.
[6]毛曙福. Linux C 高級程序員指南. 北京:國防工業(yè)出版社,2001.