王翠蓮,李 寅,李 珂,沈小虎
(1.北京空間飛行器總體設計部,北京 100094;2.航天東方紅衛星有限公司,北京 100094)
嫦娥四號探測器搭載的降落相機安裝在著陸器底部,與月表垂直,用于實時獲取探測器動力下降段月球表面的圖像數據,圖像幀頻不小于10幀/s,峰值圖像傳輸速率高于10 Mbps[1]。為了實現探測器著陸過程的可視化,需要將降落相機最新生成的圖像盡快下傳。深空通信具有通信距離遠、信號衰減嚴重的特點,同時深空航天器的天線增益和發射功率有限,到達地面站的信號十分微弱[2]。因此,為保證遠距離數據傳輸的可靠性,深空通信速率一般不會太高[3]。目前深空數傳對地通信速率一般在2 Mbps以下。在嫦娥四號任務中,探測器產生的遙測數據、探測數據和圖像數據通過統一的合路調度及編碼后由中繼星轉發至地面。圖像數據可用的通信速率不超過500 kbps。在這種情況下,圖像的生成速率和下行速率之間存在矛盾。因此,需設計一種可視化的圖像傳輸方案。同時,深空探測器是資源受限的系統,應盡可能降低方案工程化的復雜度。
嫦娥四號探測器數據管理分系統中設計復接存儲器,負責對探測數據、圖像數據和探測器遙測數據進行合路調度、存儲和下傳。針對不同應用場景下對數據傳輸的需求,復接存儲器可以實現靈活的數據流管理。在動力下降段,圖像數據的存儲和下傳需求為:(1)所有載荷(含降落相機)在動力下降段產生的數據都需要保存在大容量存儲器中。當探測器到達月面且對地通信信道可用時,可將存儲數據選擇性回放并下傳;(2)在探測器著陸過程中,實時下傳降落相機生成的最新圖像。
文獻[4-7]提出了一種星載數據復接存儲器設計方案,針對多類載荷數據的存儲和下傳需求,實現靈活的數據流向管理。載荷數據可以先存儲再回放,也可以不經存儲直接下行。載荷數據同時輸入至存儲通道和下傳通道。在存儲通道的數據流設計中,需要保證存儲芯片編程速率高于載荷數據的峰值輸入速率。在下傳通道的數據流設計中,為保證下傳圖像的完整性,需要對整幅圖像進行緩存,之后判斷下行信道是否空閑,當信道空閑時從緩存中讀取數據下傳。該方案的優點是:實現簡單,可以與復接存儲器整體的數據流兼容。缺點是:(1)由于需要緩存一幅完整的圖像,當圖像較大時,需要的硬件資源開銷隨之增長;(2)在一幅圖像緩存滿后,才開始讀取下傳,實時性較差。
除此之外,目前星載大容量存儲器廣泛采用“記錄-回放”的設計模式[8-11],將載荷數據輸入存儲通道,采用邊記邊放的方式存儲并下傳。回放模式可選擇按時間回放或按地址回放。上述兩種回放方式需要地面提前獲得載荷數據的存儲時間或存儲地址,并將包含回放時間或回放地址在內的回放指令注入探測器。此方案的缺點在于:(1)應用較復雜,不利于實現自主化的存儲及回放管理;(2)僅在圖像輸入速率不變的前提下才能準確估計最新圖像的存儲時間或存儲地址,無法實現速率自適應的可視化傳輸。
因此,本文在傳統星載大容量存儲器的設計基礎上,提出一種特殊的回放模式,在該模式下圖像在存儲的同時打上特殊標記,在回放時采用抽幀回放[12]的方式將最新的有特殊標記的圖像讀取并下傳。該方案與探測器復接存儲器設計狀態兼容,需要增加的硬件開銷僅為一個附加信息寄存器,以及一組最新圖像存儲地址寄存器。本文重點對該方案的整體設計和關鍵技術進行討論。
降落相機通過LVDS(Low-voltage differential signaling)接口與復接存儲器相連,數據內容包括高壓縮比圖像數據和低壓縮比圖像數據。兩種數據以幅為單位間隔出現,傳輸比例可變。由于高壓縮比圖像壓縮率高,數據幀長較短,為了提高信道利用率,應盡可能多下傳高壓縮比圖像。兩種圖像格式如圖1所示。

圖1 降落相機圖像格式(上:低壓縮比;下:高壓縮比)
為實現降落相機圖像的可視化傳輸,需要在存儲所有圖像數據的同時,將高壓縮比圖像實時下傳。考慮探測器軟硬件資源的設計開銷,對降落相機圖像的處理應與復接存儲器整體的設計兼容。圖2為復接存儲器的設計框圖,在此基礎上實現降落相機圖像可視化傳輸的方案具體如下:

圖2 復接存儲器設計框圖
(1)降落相機發送至復接存儲器的圖像數據首先經過圖像格式識別及組幀模塊,將高壓縮比圖像和低壓縮比圖像分離、切分并分配虛擬信道標識。
(2)每一幅高壓縮比圖像為16394 B,按空間數據系統咨詢委員會(Consultative committee for space data system,CCSDS)組織定義的高級在軌系統(Advanced orbiting system,AOS)幀格式對圖像數據進行虛擬信道數據單元(Virtual channel data unit,VCDU)組幀,可組成19幀,包括1幀頭VCDU,1幀尾VCDU和17幀中間VCDU。
(3)存儲合路模塊將高壓縮比圖像VCDU與其他載荷產生的VCDU進行合路調度,競爭存儲信道后存入存儲載體。
(4)存儲載體中的回放控制模塊在動力下降段采用一種抽幀回放方法,將高壓縮比圖像VCDU幀從存儲載體中回放出來,具體工作流程為:①存儲載體加載最新圖像的存儲地址,從此地址開始順序回放;②當回放至一幅高壓縮比圖像的末尾時,完成一幅圖像的抽幀回放;③重復以上步驟,抽取回放下一幅圖像。
(5)經篩選、過濾后的高壓縮比圖像VCDU幀與其他實時下傳幀經過下行合路及編碼之后發送至數傳應答機。
由以上處理流程可知,該方案中涉及的關鍵技術包括抽幀回放算法、幀格式識別方法、合路調度算法等。
抽幀回放算法主要在存儲控制和回放控制兩個模塊內實現,圖3為抽幀回放算法原理框圖。為了準確識別一幅完整的高壓縮比圖像,經過AOS組幀后數據幀需要設計附加信息區分高壓縮比圖像的VCDU頭幀、VCDU尾幀和VCDU中間幀,在存儲時需要把附加信息同時保存。

圖3 抽幀回放算法原理框圖
復接存儲器選用NandFlash作為存儲載體,每頁大小為2 KByte,可存儲兩個VCDU幀。在按頁存儲時,除了保存VCDU幀的數據內容外,還需要保存附加信息和編碼校驗位。由于NandFlash采用合路調度機制訪問,所以保存在同一頁數據可能包括多種載荷產生的不同VCDU幀。附加信息需要對NandFlash頁內存儲的數據內容予以區分。附加信息格式設計如表1所示。

表1 附加信息格式
同時,存儲控制模塊需要將高壓縮比圖像頭幀存儲地址和尾幀存儲地址實時傳遞到回放控制模塊,保證回放控制模塊在加載回放地址時能夠立即獲得最新一幅圖像的存儲地址。
在動力下降段需要將回放控制模塊設置為抽幀回放模式,該模式區別于傳統的順序回放或選址回放,是一種可以自主運行的回放模式,通過回放地址加載、回放開始、回放停止的自主管理,實現高壓縮比圖像幀的抽取下傳。當下行數傳信道可用時,回放控制模塊加載最新的圖像頭幀存儲地址并從該地址開始順序回放。在回放過程中,首先讀取該頁NandFlash內存儲的附加信息,根據附加信息的內容過濾掉非高壓縮比圖像的VCDU幀,僅將高壓縮比圖像VCDU幀傳輸至下行合路模塊。當回放地址等于最新的圖像尾幀存儲地址時,停止回放。之后重新加載圖像頭幀存儲地址,若與上一次的頭幀地址一致,認為當前沒有新的圖像存儲。回放模塊在停止狀態下繼續等待,當新加載的頭幀地址發生變化時,啟動新一輪的抽取回放流程。
在圖像格式識別及組幀模塊對降落相機的兩種圖像數據加以區分,處理流程如圖4所示。(1)LVDS信號經過串并轉換將單比特信號轉為字節信號;(2)對字節信號進行滑動匹配;(3)當幀頭匹配后,啟動對后續數據塊長度和個數的統計;(4)當數據塊長度和個數與圖1所示的幀結構一致時,將數據進行緩存和組幀,否則重新檢測幀頭。兩個接收模塊采用完全相同的處理結構,只是數據塊長度、數據塊個數兩個參數設計不同。在進行FPGA工程化時,可通過例化兩個相同模塊,設置不同參數的方法實現。

圖4 圖像格式識別和組幀模塊處理流程
本方案中涉及兩個部分的合路處理:(1)所有載荷(含降落相機)數據在存儲前需要經過統一的合路調度;(2)遙測數據、回放數據和其他實時數據在下行前的合路調度。在多個虛擬信道合路設計時,需采用合理的調度算法和優先級控制策略,以保證合路前后的數據速率匹配,提高傳輸效率。CCSDS推薦的合路調度算法包括[5]固定優先級調度算法、輪詢優先級調度算法、剩余量優先級調度算法等,上述算法的優缺點在不同的應用場景和調度需求下有所不同。本文根據探測器在動力下降段、可見弧段和不可見弧段的存儲和下傳需求,設計了一種基于工作模式的優先級調度算法,在不同模式下采用不同的調度機制,將采用固定優先級和輪詢優先級相結合,具體設計如表2所示。

表2 不同工作模式的優先級調度策略
本方案中采用的抽幀回放算法,在收到一幅完整的高壓縮比圖像數據后更新圖像頭幀及尾幀存儲地址。考慮最惡劣的情況,最新一幅高壓縮比圖像接收完畢時前一幅的抽幀回放剛剛開始,此時的處理時延為圖像接收時間與兩幅圖像的輸入時間間隔之和。降落相機LVDS接口速率為13.33 Mbps,一幅高壓縮比圖像接收時間為16394×8 bit/13.33 Mbps=9.84 ms。降落相機成像頻率為10幅/s,假設兩幅高壓縮比圖像之間的間隔為64幅,時間間隔約為6.4 s。當下行速率為50 kbps時,一幅圖像的19幀VCDU下傳時間為19×2048×8 bit/50 kbps=6.226 s。
由圖5可以看出,最惡劣情況下第N幅圖像處理時延為6.4 s+9.84 ms=6.40984 s。第N幅圖像下傳完畢后,最新圖像的存儲地址為第N+2幅圖像的存儲地址,地址更新后回放下傳第N+2幅圖像的數據內容,處理時延自動調整為9.84 ms。后續圖像處理延時均保持在9.84 ms,滿足可視化傳輸的需求。

圖5 圖像處理時延示意圖
圖像下傳的完整性是指完整下傳1幅高壓縮比圖像的19幀VCDU,傳輸過程不受其他事件的影響。在抽幀回放模式下,回放控制狀態機的四個狀態自主運行,最新圖像的頭幀存儲地址和尾幀存儲地址兩個寄存器僅在停止回放狀態下同時刷新,在其他狀態下不刷新。這種處理機制可以避免頭幀存儲地址和尾幀存儲地址更新不同步造成下傳圖像不完整。
本方案的速率自適應性包括兩個方面,(1)高壓縮比圖像數據的輸入速率自適應,(2)數傳下行速率自適應。輸入速率影響NandFlash的存儲效率,下行速率影響NandFlash的讀取效率,兩種速率通過NandFlash芯片實現了解耦合。當高壓縮比圖像數據輸入速率超過了數傳下行速率時,最新一幅圖像頭幀及尾幀存儲地址會覆蓋前一幅圖像的頭幀及尾幀存儲地址,以保證下傳數據內容為最新生成。通過這種地址實時覆蓋的方式,該方案可不受圖像數據的輸入速率和數傳下行速率的影響,實際下傳的圖像為自適應抽取后的整幅圖像。
當下行速率為50 kbps,280 kbps,下傳一幅高壓縮比圖像需要的時間分別為6.226 s和1.118 s。高壓縮比圖像和低壓縮比圖像傳輸比例分別為1∶8,1∶16,1∶32,1∶64時,地面接收的圖像序號如下表所示。幾種比例下,高壓縮比圖像的輸入頻率分別為0.8 s/幅,1.6 s/幅,3.2 s/幅和6.4 s/幅。由表3可以看出,當數傳下行速率大于圖像的輸入速率時,可以無間隔的下傳所有的高壓縮比圖像;當數傳下行速率小于圖像的輸入速率時,下傳的圖像序號不連續,兩幅圖像之間序號有一定間隔,下傳的圖像為最新產生的數據內容。同時,由表3可知,在下傳速率固定時(如50 kbps),存在一個最優的圖像輸入比例,可以無間隔的下傳所有高壓縮比圖像。在此情況下增大高壓縮比圖像的傳輸比例不能將所有的高壓縮比圖像完全下傳。因此在設計時應根據下傳速率靈活設置圖像的輸入比例。

表3 不同輸入比例及下傳速率下高壓縮比圖像序號
為進一步評估方案的性能,將本文方案與前言所述兩種方案進行比較。方案1將降落相機圖像數據同時輸入至存儲通道和下傳通道,其中高壓縮比圖像緩存完畢后直接通過下行合路及編碼模塊輸出。方案2將降落相機圖像數據輸入存儲通道,采用邊記邊放的方式存儲并下傳。
表4為三種方案的資源占用情況、性能以及在軌指令干預情況比較。由表4可知,方案1實現結構簡單,但占用的Block RAMs資源隨著圖像的增大而增大,不適應于探測器等資源受限的系統。方案2與傳統的星載大容量存儲器設計狀態一致,但是在軌需要發送指令進行干預,且圖像下傳的實時性和速率自適應性較差,不能滿足圖像可視化傳輸的需求。本文提出的方案在增加少量Slice資源的情況下,實現了圖像的可視化傳輸,且圖像下傳的實時性、完整性、速率自適應性都明顯優于另外兩種方案。

表4 三種方案綜合比較
目前該方案已經在FPGA(Field programmable gate array)上實現,芯片型號為Xilinx公司宇航級芯片XQR2V3000。采用該方案設計的復接存儲器作為嫦娥四號數據管理分系統的重要模塊經過了在軌驗證。2019年1月3日上午,嫦娥四號探測器開始著陸,復接存儲器設置為抽幀回放模式,下行速率設置為50 kbps。降落相機開機后,高壓縮比圖像開始自動下傳,約6.4 s更新1次,圓滿實現了著陸過程的可視化。圖6為動力下降段下傳的實拍高壓縮比圖像。嫦娥四號在軌運行狀態表明,在數傳通信速率有限的情況下,實現了動力下降段圖像可視化的傳輸,設備工作穩定正常。

圖6 嫦娥四號探測器動力下降段下傳圖像
本文設計實現了一種動力下降段速率自適應的可視化圖像傳輸方案,該方案通過設置抽幀回放模式識別最新的圖像幀進行抽取回放并下傳,在數傳通信速率受限的情況下實現了降落相機圖像的存儲管理和可視化下傳,具有實時性高、速率自適應、圖像下傳完整等特點。
本文提出的圖像可視化傳輸方案中要求降落相機低壓縮比圖像和高壓縮比圖像在數據能夠格式上有所區分,后續研究重點是設計通用的圖像可視化傳輸方案,不限制載荷圖像的數據格式。同時,進一步提高方案的健壯性和可擴展性,為航天器星載數據管理分系統的設計提供參考。