基于數(shù)據(jù)包的航天器數(shù)管模擬器軟件設計
摘要:隨著空間技術的快速發(fā)展,使用數(shù)管模擬器模擬數(shù)管分系統(tǒng)進行測試已成為趨勢。為了使數(shù)管模擬器軟件能夠適應航天器數(shù)據(jù)管理新的變化,降低軟件實現(xiàn)難度,根據(jù)用戶需求和已有硬件平臺,提出了一種軟件設計。本設計采用數(shù)據(jù)處理分層體制協(xié)議來降低軟件實現(xiàn)的復雜性,使用數(shù)據(jù)包進行數(shù)據(jù)處理,并利用數(shù)據(jù)幀來完成數(shù)據(jù)的傳輸。該模擬器進行了100 h的各項功能老練試驗,結(jié)果表明,該設計可靠、穩(wěn)定、能滿足設計要求。
關鍵詞:數(shù)管模擬器;空間技術;數(shù)據(jù)包;軟件設計
數(shù)管分系統(tǒng)作為航天器平臺的重要支柱。實現(xiàn)航天器數(shù)據(jù)的采集、傳輸、處理和利用,是航天器的信息中心,也是提高航天器利用效率的關鍵。數(shù)管模擬器全面模擬航天器數(shù)管分系統(tǒng)功能,實現(xiàn)與電源、姿軌控、熱控以及有效載荷的對接,完成對平臺及有效載荷的遙控、遙測、統(tǒng)一時間勤務等管理。隨著航天器產(chǎn)品數(shù)量的不斷增加和復雜度的不斷提高,在航天器研制過程中使用數(shù)管模擬器模擬數(shù)管分系統(tǒng)對航天器平臺及有效載荷進行測試能有效縮短航天器試驗研制周期,降低航天器的研制成本。某航天器數(shù)管模擬器是航天器平臺服務設備,需要對不同信源、不同速率、不同性質(zhì)的多種信息統(tǒng)一管理,形成綜合數(shù)據(jù)流,以滿足多種信息傳輸?shù)男枰?,使得上下行信道可以為航天器平臺和有效載荷的各個不同應用過程所共有:在信息傳輸過程中,要求能夠根據(jù)當前實際需要改變上下行通道傳輸?shù)臄?shù)據(jù)類型和數(shù)據(jù)量,從而提高數(shù)管系統(tǒng)的效率和效益;在模擬器協(xié)議實現(xiàn)中要求采用分層結(jié)構,系統(tǒng)軟件和應用過程任務軟件分別設計,在系統(tǒng)軟件上通過添加/刪除應用過程任務軟件可以實現(xiàn)不同功能的組合。
1 軟硬件體系
數(shù)管模擬器硬件平臺由中央處理器模塊、遙測采集模塊、開關指令等模塊組成,設備組成及與外部設備接口如圖1所示。
中央處理模塊主要完成與地面總控計算機的通訊,接收地面總控發(fā)出的控制命令來完成器上時間校準、間接指令的發(fā)送、內(nèi)存下卸以及總線數(shù)據(jù)的注入等功能,這個模塊主要模擬航天器數(shù)管計算機功能。中心處理模塊通過1553B總線和星上其他設備進行通信,在這個總線系統(tǒng)中,中央處理模塊作為總線BC端,其他設備作為總線RT端。
遙測采集模塊模擬航天器遠置單元的數(shù)據(jù)采集功能,它將采集到的各種離散的遙測量組包后通過串口發(fā)送給中央處理模塊。
開關指令模塊接收從中央處理模塊來的命令和數(shù)據(jù),完成遙控指令的分配、輸出功能。開關指令模塊模擬遠置單元間接指令功能,即開關指令的驅(qū)動輸出。
數(shù)管模擬器軟件包括有遙測采集模塊軟件與中央處理單元系統(tǒng)軟件,數(shù)管模擬器正常工作時,兩者同時運行,兩軟件及外部設備數(shù)據(jù)流關系如圖2所示。遙測采集模塊軟件負責采集驗證器上各種模擬量與溫度量,并且以150 ms為周期,定時被中央控制單元系統(tǒng)軟件采集;中央控制單元系統(tǒng)軟件還通過1553B總線采集星上設備數(shù)據(jù),經(jīng)過組幀后通過RS422總線傳送給地面總控軟件。中央控制單元系統(tǒng)軟件同時也接收并執(zhí)行地面總控軟件發(fā)送的時間校準指令、直接指令、指令組指令、內(nèi)存下卸指令、總控數(shù)據(jù)注入等指令。
2 軟件機制
2.1 數(shù)據(jù)包
隨著航天技術的發(fā)展,航天器上下行數(shù)據(jù)的信息量急劇增大,種類繁多復雜,各種信息的特點和對傳輸?shù)囊蟛町惔?,信源已?jīng)不是單點信息字,而是經(jīng)過處理的信息集合,同時多用戶信源的信息需要通過同一物理信道傳輸。傳統(tǒng)的PCM測控傳輸幀已很難適應這些變化。
數(shù)據(jù)包是由星上信源(分系統(tǒng)或設備)的一個應用過程產(chǎn)生的數(shù)據(jù)包,它包含了一組觀測數(shù)據(jù)及相應的輔助數(shù)據(jù)。數(shù)據(jù)包概念的本質(zhì)是航天器內(nèi)運行的多個應用系統(tǒng)創(chuàng)建各自的單元數(shù)據(jù),允許航天器上各數(shù)據(jù)系統(tǒng)通過空地通信信道傳輸這些數(shù)據(jù)。
數(shù)據(jù)包由航天器內(nèi)的應用系統(tǒng)根據(jù)數(shù)據(jù)處理需要產(chǎn)生,間隔和長度固定或者可變,數(shù)據(jù)包允許各個應用系統(tǒng)優(yōu)化它的數(shù)據(jù)結(jié)構和長度,這樣每個數(shù)據(jù)源就可以獨立于其他數(shù)據(jù)源定義與自身相適應數(shù)據(jù)結(jié)構。除了標識數(shù)據(jù)源和包特征的包頭外,數(shù)據(jù)內(nèi)容完全由航天器上各個應用系統(tǒng)決定。
同傳統(tǒng)的傳輸幀格式比較,基于數(shù)據(jù)包的傳輸幀包含有應用系統(tǒng)及數(shù)據(jù)路由信息,數(shù)據(jù)裝配能力強,數(shù)據(jù)傳輸靈活,采樣時間間隔可以不固定。這樣就對航天器和地面設備之間的數(shù)據(jù)通信帶來了很大的方便。
2.2 數(shù)據(jù)處理分層體制
現(xiàn)代數(shù)據(jù)系統(tǒng)主要面向數(shù)據(jù)包信源信宿,用戶可以按照“需求驅(qū)動”的原則自主轉(zhuǎn)換數(shù)據(jù)包格式和內(nèi)容,使用分層數(shù)據(jù)處理的方法,為用戶提供更高的靈活性。
數(shù)管模擬器使用分層數(shù)據(jù)處理體制可以利用數(shù)據(jù)包,將復雜的航天器控制過程簡化為由各層一系列簡單的標準操作同等實現(xiàn),層與層之間按照一定的協(xié)議有標準的數(shù)據(jù)格式接口,其層次模型可以用圖3說明。
應用過程層主要完成星上設備數(shù)據(jù)的管理和分發(fā)功能,這個層中不同應用過程構成一個系統(tǒng),分別對應管理星上某一個任務,對應于與模擬器對接的各個星上設備數(shù)據(jù)的產(chǎn)生與接收。
分包層的業(yè)務是提供星上設備和數(shù)管模擬器之間端對端的用戶應用數(shù)據(jù)傳輸。數(shù)據(jù)下傳時,分包層接收應用過程層經(jīng)過格式轉(zhuǎn)換后的具體數(shù)據(jù)流,將它封裝在標準的交換數(shù)據(jù)格式中,依靠分段層支持,完成數(shù)據(jù)下傳功能。數(shù)據(jù)上傳時,分包層將分段層發(fā)送過來的數(shù)據(jù)解析,并以數(shù)據(jù)包的形式發(fā)送給應用過程層。
分段層完成數(shù)管模擬器與地面總控設備的數(shù)據(jù)傳輸。數(shù)據(jù)下傳時,提供的業(yè)務是單向的。數(shù)據(jù)上傳時,分段層接收地面總控設備信息,并將數(shù)據(jù)解析后以數(shù)據(jù)包發(fā)送給不同的星上設備。
信道業(yè)務層是數(shù)管模擬器和地面總控設備通信的物理鏈路,本模擬器使用RS422總線通信,通信速率為115.2kb/s。
3 軟件實現(xiàn)
3.1 上下行通道數(shù)據(jù)幀
在新一代航天器應用中不同的應用程序產(chǎn)生的數(shù)據(jù)源包可能是不同的發(fā)生率和包長度,這些源包是自主發(fā)生的,源包之間是異步的。數(shù)管模擬器需要接收組織這些數(shù)據(jù)包,并在分段層內(nèi)完成下行數(shù)據(jù)幀的組織發(fā)送,參見CCSDS遙測數(shù)據(jù)鏈路協(xié)議建議,設計下行數(shù)據(jù)幀格式如圖4所示。
下行數(shù)據(jù)幀長度固定,共有768個字節(jié)。頭兩個字節(jié)為數(shù)據(jù)幀的幀同步字,占用兩個字節(jié),用于完成相鄰幀的區(qū)分;星上時間共占用了6個字節(jié)的長度:第768個字節(jié)為幀計數(shù),大小為0~255:第9個字節(jié)到第767個字節(jié)存放源包數(shù)據(jù),如果源包數(shù)據(jù)小于767個字節(jié),將下行數(shù)據(jù)幀中的多余部分填充為0。數(shù)據(jù)域中的數(shù)據(jù)包可以是遙測采集數(shù)據(jù)包、GNC數(shù)字量遙測數(shù)據(jù)包、下卸內(nèi)存包等。
上行通道是數(shù)管模擬器接收地面總控設備發(fā)送數(shù)據(jù)幀的鏈路。如果使用傳統(tǒng)的脈沖編碼調(diào)制上行數(shù)據(jù),航天器需要做二次設計,這樣分系統(tǒng)間遙控接口不統(tǒng)一,軟件通用化很低,這和軟件產(chǎn)品化思想背道而馳。數(shù)管模擬器與地面總控設備的上行通道協(xié)議,采用數(shù)據(jù)幀的方式進行,所有數(shù)據(jù)要求遵循表1的格式。上行數(shù)據(jù)幀根據(jù)數(shù)據(jù)幀的指令碼,共分為器上時間校準數(shù)據(jù)幀(指令碼8e55),間接指令數(shù)據(jù)幀(指令碼d1d1),指令組發(fā)送數(shù)據(jù)幀(指令碼5a5a),內(nèi)存下卸數(shù)據(jù)幀(指令碼b2b2)以及1553B總線數(shù)據(jù)注入數(shù)據(jù)幀(指令碼b1b1)等。
數(shù)據(jù)幀的幀頭為EB90,用于完成幀同步,長度字占用了兩個字節(jié),表示指令碼和數(shù)據(jù)域總長度,因為每條協(xié)議都要有指令碼,因此長度字最小值為0002H。指令碼用于區(qū)分數(shù)據(jù)域中數(shù)據(jù)的用途,數(shù)據(jù)域用來保存有效數(shù)據(jù)。數(shù)管模擬器系統(tǒng)軟件接收到地面總控設備發(fā)送的數(shù)據(jù)幀后解析指令碼,并根據(jù)不同指令碼完成特定的操作。
3.2 數(shù)管模擬器系統(tǒng)軟件
系統(tǒng)軟件每個任務執(zhí)行周期為150 ms,執(zhí)行周期定時器通過FPGA硬件實現(xiàn),單個執(zhí)行周期誤差小于5 ms,時間零點為2010年01月01日00時00分00秒00毫秒。系統(tǒng)軟件通過基于時間片的輪轉(zhuǎn)調(diào)度分配處理器模塊的處理資源,做到對多種任務的準實時處理。
地面總控通過RS422給數(shù)管模擬器發(fā)出遙控指令,CPU響應RS422總線中斷,置串口中斷有效標志,在主程序中,判斷中斷標志,在處理函數(shù)中執(zhí)行相應的指令動作,通過不同的命令字執(zhí)行相應的操作。
系統(tǒng)軟件流程圖如圖5所示,軟件開始執(zhí)行時首先初始化系統(tǒng)的各種資源及寄存器,清看門狗后等待地面總控設備發(fā)送的數(shù)據(jù)幀;如果地面總控設備發(fā)送了數(shù)據(jù)幀,系統(tǒng)軟件首先解析數(shù)據(jù)幀的指令碼并根據(jù)指令碼內(nèi)容決定本周期執(zhí)行的任務。系統(tǒng)軟件只負責多任務的調(diào)度和固定時間片的分配,具體任務由應用過程任務軟件來完成。
3.3 遙測采集模塊軟件
遙測采集模塊軟件主要完成接收遙測板發(fā)送的傳統(tǒng)遙測量,共計164個字節(jié)的遙測數(shù)據(jù)。遙測采集模塊組織這些數(shù)據(jù)并將這些數(shù)據(jù)以數(shù)據(jù)包的形式發(fā)送給中央處理單元。
系統(tǒng)軟件每150 ms向遙測采集模塊發(fā)送要數(shù)命令,接收到系統(tǒng)軟件發(fā)送的要數(shù)命令后遙測采集模塊開始傳統(tǒng)遙測量的采集,組包后將數(shù)據(jù)通過串口發(fā)送給數(shù)據(jù)處理模塊。系統(tǒng)軟件進入串口中斷后,將數(shù)據(jù)包放入到下行數(shù)據(jù)幀中,并等待下行數(shù)據(jù)發(fā)送任務執(zhí)行時,將下行數(shù)據(jù)幀發(fā)送出去。
4 實現(xiàn)與驗證
數(shù)管模擬器的CPU模塊由TI的DSP器件TMS320F2812和512 kbit的RAM組成,與FPGA一起對各種接口進行控制。
本文中的軟件設計使用C語言來實現(xiàn),使用CCS3.3軟件開發(fā)環(huán)境開發(fā),調(diào)試計算機使用Windows XP操作系統(tǒng)。模擬器進行了100個小時的老練試驗,期間進行了遙控指令發(fā)送、姿軌控內(nèi)存數(shù)據(jù)下載、星上時間校準、模擬量遙測數(shù)據(jù)采集等功能測試。測試結(jié)果表明使用該軟件設計的數(shù)管模擬器能夠可靠、穩(wěn)定地完成模擬數(shù)據(jù)管理分系統(tǒng)的任務。相比傳統(tǒng)數(shù)管模擬器,基于數(shù)據(jù)包的航天器模擬器能夠適應不同的應用程序產(chǎn)生的不同發(fā)生率和包長度的數(shù)據(jù)源包,簡化軟件的開發(fā)過程,提高有效數(shù)據(jù)利用率。
5 結(jié)束語
在綜合分析了模擬器的需求后,實現(xiàn)了數(shù)管模擬器的軟件設計,其功能和性能在系統(tǒng)試驗中得到了充分驗證。軟件設計體現(xiàn)了模塊化設計的思想,使用靜態(tài)周期輪轉(zhuǎn)的方式實現(xiàn)任務的調(diào)度,實現(xiàn)起來比較簡單,有助于軟件任務正常執(zhí)行,使用分層設計的思想,實現(xiàn)不同信源信宿數(shù)據(jù)的統(tǒng)一管理,有利于軟件的標準化和組件化。