蘇斌嬪,吳志華,尹增山,王 寧
(1.中國(guó)科學(xué)院 微小衛(wèi)星創(chuàng)新研究院,上海 201203; 2.上海微小衛(wèi)星工程中心,上海 201203;3.山東航天電子技術(shù)研究所,山東 煙臺(tái) 264003)
隨著航天技術(shù)的發(fā)展及復(fù)雜實(shí)時(shí)任務(wù)的需求牽引,衛(wèi)星系統(tǒng)設(shè)計(jì)向著更精細(xì)、更智能方向突破。智能處理通用平臺(tái),是應(yīng)用于大規(guī)模星座系統(tǒng),旨在實(shí)現(xiàn)衛(wèi)星節(jié)點(diǎn)在軌高速載荷數(shù)據(jù)實(shí)時(shí)處理、多源信息跨時(shí)空融合、圖像信息智能深度分析、在軌自主任務(wù)規(guī)劃、海量數(shù)據(jù)存儲(chǔ)功能的綜合電子平臺(tái)。
智能處理通用平臺(tái)連接的載荷設(shè)備種類各異,信息量越來越多,有必要采用統(tǒng)一標(biāo)準(zhǔn)高速接口,使得新載荷設(shè)備能夠快速集成到新型號(hào)任務(wù)中;此外,智能處理通用平臺(tái)中各單機(jī)、模塊間隨著應(yīng)用場(chǎng)景的變化也存在多種組合的數(shù)據(jù)交互,如果采用傳統(tǒng)的CPU三總線的控制方式,勢(shì)必增加設(shè)備各電路板間的依賴性,不利于功能擴(kuò)展,因此內(nèi)部電路板間也采用串行總線互聯(lián)的方式。
為解決上述問題,本文提出應(yīng)用SpaceWire網(wǎng)絡(luò)的智能處理通用平臺(tái)設(shè)計(jì),實(shí)現(xiàn)外部接口設(shè)備、內(nèi)部各電路板間的互聯(lián)互通。SpaceWire總線網(wǎng)絡(luò)是歐空局ESA提出、多個(gè)空間科學(xué)機(jī)構(gòu)共同制定并不斷迭代的新型通信標(biāo)準(zhǔn),已成功應(yīng)用于ESA、NASA多項(xiàng)國(guó)際航天任務(wù)中[1-3]。國(guó)內(nèi)在氣象衛(wèi)星、科學(xué)衛(wèi)星中也成功部署應(yīng)用[4-21]。該總線具有高速(最高傳輸速率為400 Mbps)、可靠、低功耗、接口簡(jiǎn)單、路由式通信的特點(diǎn),對(duì)實(shí)現(xiàn)星載智能處理通用平臺(tái)高速數(shù)據(jù)交互、易擴(kuò)展、可重構(gòu)、標(biāo)準(zhǔn)接口具有重要基礎(chǔ)支撐作用。
智能處理通用平臺(tái)是衛(wèi)星載荷管理、數(shù)據(jù)處理、存儲(chǔ)分發(fā)、信息交互的核心,旨在實(shí)現(xiàn)衛(wèi)星載荷數(shù)據(jù)實(shí)時(shí)處理、多源信息融合、信息智能深度分析、在軌自主任務(wù)規(guī)劃和大容量存儲(chǔ)下發(fā)功能,劃分為供電與遙測(cè)模塊、高速接口模塊、數(shù)據(jù)預(yù)處理模塊、數(shù)據(jù)融合智能處理模塊、核心管理模塊、路由模塊(隱含模塊)、大容量存儲(chǔ)模塊共七部分,其內(nèi)部信息流圖如圖1所示。高速接口模塊負(fù)責(zé)接收載荷原始高速數(shù)據(jù),載荷數(shù)據(jù)經(jīng)預(yù)處理后進(jìn)行多源融合、目標(biāo)檢測(cè)、識(shí)別,核心管理模塊實(shí)現(xiàn)資源管理、任務(wù)調(diào)度和故障容錯(cuò)等,載荷原始數(shù)據(jù)、數(shù)據(jù)處理過程中高價(jià)值信息以及衛(wèi)星平臺(tái)信息均存入大容量存儲(chǔ)模塊,等待下發(fā)。路由模塊旨在實(shí)現(xiàn)智能處理平臺(tái)與外部以及內(nèi)部各模塊間的數(shù)據(jù)交互。
圖1 智能處理通用平臺(tái)內(nèi)部信息流圖
智能處理通用平臺(tái)、載荷以及平臺(tái)各模塊間存在大量數(shù)據(jù)交互,傳輸?shù)拇蠖嗍菍?duì)帶寬有較高要求、對(duì)時(shí)間不太敏感的載荷數(shù)據(jù)或切片數(shù)據(jù)。傳統(tǒng)的高速載荷數(shù)據(jù)傳輸通常采用LVDS點(diǎn)對(duì)點(diǎn)傳輸,不能形成高速數(shù)據(jù)網(wǎng)絡(luò)適應(yīng)各類數(shù)據(jù)交互組合的應(yīng)用場(chǎng)景。時(shí)間觸發(fā)以太網(wǎng)(TTE)是一種時(shí)間確定性網(wǎng)絡(luò),美國(guó)宇航局獵戶座飛船(新一代航天飛機(jī))使用時(shí)間觸發(fā)以太網(wǎng)(TTE)作為主干網(wǎng),其高速、可靠特性在軌道交通、機(jī)器人等領(lǐng)域也有廣泛應(yīng)用。SpaceWire是一種高速低耗的網(wǎng)絡(luò)連接方式,以IEEE 1355-1955協(xié)議和LVDS標(biāo)準(zhǔn)為基礎(chǔ),由ESA聯(lián)合鄧迪大學(xué)共同研發(fā)。此外,在SpaceWire空間網(wǎng)絡(luò)標(biāo)準(zhǔn)基礎(chǔ)上升級(jí)研發(fā)的SpaceFibre總線,能夠?qū)崿F(xiàn)超高速串行鏈路與組網(wǎng)互聯(lián)。下面對(duì)幾類應(yīng)用于航天的高速總線特性進(jìn)行比較說明。
綜上,從航天應(yīng)用需求滿足、系統(tǒng)未來可擴(kuò)展以及現(xiàn)有技術(shù)可達(dá)的角度,選用SpaceWire總線作為智能處理通用平臺(tái)高速數(shù)據(jù)傳輸途徑。
智能處理通用平臺(tái)總線網(wǎng)絡(luò)構(gòu)成如圖2所示。載荷設(shè)備、智能處理平臺(tái)模塊、數(shù)傳發(fā)射機(jī)均連入SpaceWire網(wǎng)絡(luò),實(shí)現(xiàn)數(shù)據(jù)交互、處理、下發(fā)全流程。每類模塊根據(jù)應(yīng)用需求配置1-N塊,SpaceWire網(wǎng)絡(luò)通過路由器進(jìn)行級(jí)聯(lián),形成網(wǎng)狀結(jié)構(gòu),實(shí)現(xiàn)各模塊、單機(jī)間互聯(lián)互通。
圖2 SpaceWire網(wǎng)絡(luò)拓?fù)鋱D
在實(shí)際應(yīng)用中,光學(xué)載荷數(shù)據(jù)量極大(Gbps帶寬),此類載荷通常不直接接入SpaceWire網(wǎng)絡(luò),經(jīng)載荷數(shù)據(jù)預(yù)處理后生成百兆級(jí)有效數(shù)據(jù)后,接入網(wǎng)絡(luò)進(jìn)行深度處理、融合分析以及存儲(chǔ)。
本文中擬采用統(tǒng)一的硬件接口和標(biāo)準(zhǔn)通信協(xié)議,屏蔽網(wǎng)絡(luò)內(nèi)部連接細(xì)節(jié),使得用戶可實(shí)現(xiàn)SpaceWire接口即插即用,任意兩者之間實(shí)現(xiàn)動(dòng)態(tài)鏈接,建立一對(duì)一、一對(duì)多、多對(duì)一的傳輸通道。
SpaceWire總線數(shù)據(jù)包層協(xié)議繼承了IEEE1355-1995定義的數(shù)據(jù)包裝協(xié)議,規(guī)定了總線源端到宿端的數(shù)據(jù)包裝格式。數(shù)據(jù)包格式定義如表2所示。
表1 高速數(shù)據(jù)總線傳輸特性
表2 SpaceWire總線數(shù)據(jù)包格式
其中,目標(biāo)地址根據(jù)SpaceWire網(wǎng)絡(luò)結(jié)構(gòu)及傳輸路徑情況來確定;包結(jié)束標(biāo)志EOP/EEP,表示傳輸?shù)臄?shù)據(jù)包正確或錯(cuò)誤。EOP/EEP末尾就默認(rèn)傳輸新的數(shù)據(jù)包。
SpaceWire網(wǎng)絡(luò)有2種尋址方式:
1)路徑尋址。通過物理端口指定數(shù)據(jù)傳輸目的地,各級(jí)路由節(jié)點(diǎn)具有包頭刪除功能,將通過的數(shù)據(jù)包首字節(jié)刪除,把第2個(gè)字節(jié)作為數(shù)據(jù)包的新包頭首字節(jié)地址送出。
2)邏輯尋址。將SpaceWire路由器的物理端口通過路由表映射到某一個(gè)邏輯地址上,通過查找路由表確定邏輯地址對(duì)應(yīng)的輸出端口,目標(biāo)地址只需要由一個(gè)數(shù)據(jù)字符長(zhǎng)度的邏輯地址來表示。利用邏輯尋址方式不需要關(guān)注具體網(wǎng)絡(luò)結(jié)構(gòu),因此可屏蔽網(wǎng)絡(luò)連接細(xì)節(jié)。
本文設(shè)計(jì)中,應(yīng)用數(shù)據(jù)交互采用邏輯尋址方式,基于路由表查找目的地。各個(gè)載荷設(shè)備、模塊將各自的應(yīng)用數(shù)據(jù)按照表2組包,數(shù)據(jù)包通過各級(jí)路由時(shí),在路由器控制下逐級(jí)傳輸至指定邏輯地址對(duì)應(yīng)的某路由某端口直連的目的單機(jī)或模塊。
智能處理通用平臺(tái)中應(yīng)用SpaceWire總線傳輸?shù)臄?shù)據(jù)包括兩類,應(yīng)用數(shù)據(jù)和路由配置數(shù)據(jù)。
傳輸?shù)膽?yīng)用數(shù)據(jù),包括載荷設(shè)備業(yè)務(wù)數(shù)據(jù)、載荷觀測(cè)數(shù)據(jù)、預(yù)處理數(shù)據(jù)、切片數(shù)據(jù)、融合處理數(shù)據(jù)、任務(wù)請(qǐng)求以及載荷設(shè)備控制信息等。數(shù)據(jù)域格式采用CCSDS標(biāo)準(zhǔn)數(shù)據(jù)包格式,設(shè)計(jì)為定長(zhǎng)格式,如表3所示。包主導(dǎo)頭定義中應(yīng)用過程標(biāo)識(shí)符(APID)區(qū)分各類應(yīng)用數(shù)據(jù)。
表3 數(shù)據(jù)域格式定義
配置數(shù)據(jù)包括各個(gè)節(jié)點(diǎn)的端口狀態(tài)、通信速率、路由表等,配置成功即可為各載荷設(shè)備提供數(shù)據(jù)傳輸服務(wù)。對(duì)路由器的管理采用遠(yuǎn)程存儲(chǔ)器訪問協(xié)議(RMAP)進(jìn)行配置,并讀出內(nèi)容以確認(rèn)配置正確。依據(jù)ECSS-E-ST-50-12C標(biāo)準(zhǔn),RMAP寫入操作和讀出操作命令如表4和表5所示。
表4 RMAP寫操作命令包
表5 RMAP讀操作命令包
為提高系統(tǒng)可靠性,載荷設(shè)備電子學(xué)、數(shù)傳發(fā)射機(jī)以及智能處理通用平臺(tái)中預(yù)處理模塊、智能處理模塊、核心管理模塊、路由模塊和大容量存儲(chǔ)模塊等均采用冷備份設(shè)計(jì),當(dāng)部分模塊故障時(shí)可以通過切機(jī)操作對(duì)系統(tǒng)重構(gòu),保障系統(tǒng)能力的遷移,提高容錯(cuò)能力。系統(tǒng)重構(gòu),會(huì)對(duì)應(yīng)用數(shù)據(jù)在SpaceWire網(wǎng)絡(luò)的傳輸路徑重新組織,抵達(dá)到新的物理端口。
應(yīng)用SpaceWire網(wǎng)絡(luò)的智能處理通用平臺(tái),適用于不同衛(wèi)星應(yīng)用場(chǎng)景,在不改變智能處理通用平臺(tái)硬件設(shè)計(jì)的情況下,可以通過配置路由表和更新軟件,即能將載荷設(shè)備快速接入新的型號(hào)中。
某衛(wèi)星中配置2個(gè)載荷設(shè)備(電子學(xué)冷備份),智能處理通用平臺(tái)中配置2塊預(yù)處理板(含主備)、1塊智能處理板(含主備)、1塊核心管理板(含主備)、1塊存儲(chǔ)控制板(含主備,后端連接多塊Flash存儲(chǔ)器)、X波段發(fā)射機(jī)(含主備),以此為例,介紹SpaceWire網(wǎng)絡(luò)的軟硬件設(shè)計(jì)。
SpaceWire網(wǎng)絡(luò)核心是協(xié)議芯片,協(xié)議芯片代表有兩款,AT7911E和AT7910E。AT7911E提供3組高速SpaceWire鏈接;AT7910E是一款SpaceWire路由器芯片,它包含8路SpaceWire接口、2路外部并行端口和1個(gè)內(nèi)部配置端口。它支持存儲(chǔ)器DMA功能和蟲洞路由功能,可以用作獨(dú)立路由器,也可以作為外部設(shè)備接入SpaceWire網(wǎng)絡(luò)的連接節(jié)點(diǎn)。本文構(gòu)建基于AT7910E芯片的SpaceWire網(wǎng)絡(luò),具體實(shí)現(xiàn)如圖3所示。
圖3 智能處理通用平臺(tái)SpaceWire網(wǎng)絡(luò)連接圖
使用3片AT7910E芯片,各路由芯片通過鏈路1和8端口串聯(lián)在一起,形成一個(gè)環(huán)形,對(duì)外共提供18路標(biāo)準(zhǔn)SpaceWire端口。本設(shè)計(jì)中,載荷設(shè)備電子學(xué)、X數(shù)傳發(fā)射機(jī)、智能處理各模塊均采用冷備份設(shè)計(jì),外部使用15路端口(含測(cè)試節(jié)點(diǎn));各路由芯片兩路雙向并行端口9、10端口連接FPGA,F(xiàn)PGA實(shí)現(xiàn)對(duì)各路由芯片控制、配置以及數(shù)據(jù)復(fù)接、大容量存儲(chǔ)讀寫、壞塊管理等功能;選用FPGA芯片為XILINX公司的Virtex-2系列,型號(hào)為XQ2V3000;3片路由芯片均與FPGA有直連通道,保障了存入大容量存儲(chǔ)的數(shù)據(jù)可以及時(shí)存入,無需多跳流轉(zhuǎn)。常態(tài)工作時(shí)僅有3個(gè)串聯(lián)路由芯片以及8臺(tái)載荷/設(shè)備/單板工作。
2.1.1 防靜電接口電路設(shè)計(jì)
實(shí)際應(yīng)用中發(fā)現(xiàn),AT7910E的SpaceWire LVDS接口對(duì)電壓較為敏感,靜電、熱插拔等可能造成LVDS接口的損壞,導(dǎo)致部分SpaceWire通道無法使用。為解決該問題,使用LVDS接口芯片進(jìn)行轉(zhuǎn)換保護(hù),將AT7910E輸出的SpaceWire LVDS信號(hào),經(jīng)SNJ55LVDS32W轉(zhuǎn)為單端,該單端信號(hào)再由SNJ55LVDS31W重新轉(zhuǎn)為差分信號(hào)輸出;同理,外部輸入的SpaceWire LVDS信號(hào),先經(jīng)SNJ55LVDS32W轉(zhuǎn)為單端,該單端信號(hào)再經(jīng)由SNJ55LVDS31W重新轉(zhuǎn)為差分信號(hào)輸送給AT7910E的LVDS輸入端。電路設(shè)計(jì)如圖4所示。
2.1.2 路由芯片與FPGA連接引腳
FPGA對(duì)AT7910E實(shí)現(xiàn)控制、配置以及并行端口的讀寫功能。FPGA與AT7910E間連接信號(hào)如表6所示。FPGA提供系統(tǒng)時(shí)鐘和復(fù)位信號(hào);上電配置輸入和狀態(tài)輸出引腳復(fù)用;每個(gè)FIFO的讀寫都與系統(tǒng)時(shí)鐘同步,每個(gè)端口提供了一個(gè)8bit的數(shù)據(jù)口和1bit控制口用于標(biāo)識(shí)包的結(jié)束。
表6 AT7910E與FPGA連接信號(hào)
2.2.1 地址分配及組路由
本設(shè)計(jì)中,所有節(jié)點(diǎn)均為冷備份,采用邏輯尋址方式,邏輯地址分配范圍是32~255。主備單機(jī)設(shè)計(jì)使用相同的邏輯地址,同一邏輯地址,其目的地對(duì)應(yīng)主備設(shè)備直連的兩個(gè)物理端口,為簡(jiǎn)化設(shè)計(jì),主備機(jī)均與同一路由芯片存在直接物理鏈接。具體發(fā)送到哪個(gè)物理端口,自主尋址邏輯為:1)選擇鏈接正常的鏈路,如果端口未加電、電纜斷開或鏈接異常,則端口不可用;2)有唯一可用端口,則直接通過該端口發(fā)送;3)有多個(gè)端口可用時(shí),編號(hào)小的端口具有高優(yōu)先級(jí)。通過構(gòu)造總線組路由實(shí)現(xiàn)多設(shè)備、模塊之間的信息傳輸。邏輯地址分配及6片路由芯片的路由表配置如表7所示。
表7 地址分配和路由表配置
2.2.2 AT7910E初始化設(shè)置
AT7910E初始化流程如圖5所示。
圖5 AT7910E初始化流程
芯片上電或復(fù)位后,通過復(fù)位配置信號(hào)STAT_MUX_OUT對(duì)芯片進(jìn)行初始化配置,配置空間的讀寫操作采用RMAP協(xié)議;為保證可靠性,配置完成后查詢配置狀態(tài),如果配置失敗,則重新配置,有限次數(shù)失敗后轉(zhuǎn)而執(zhí)行下一個(gè)配置。配置狀態(tài)信息遙測(cè)下發(fā)。
路由單元初始設(shè)置為AutoStart模式,主動(dòng)監(jiān)聽各端口信號(hào);而各載荷、設(shè)備、單模塊節(jié)點(diǎn)初始設(shè)置為L(zhǎng)inkStart模式,主動(dòng)發(fā)送信號(hào)。兩者握手成功,則建鏈成功。
2.2.3 AT7910E狀態(tài)監(jiān)測(cè)
在AT7910E工作期間,正常操作期間,通過配置輸入/狀態(tài)輸出復(fù)用接口輪詢地讀取當(dāng)前活躍鏈路的鏈路錯(cuò)誤/狀態(tài)寄存器,以獲取當(dāng)前鏈路狀態(tài)(錯(cuò)誤復(fù)位、錯(cuò)誤等待、就緒、發(fā)起鏈接、鏈接中、運(yùn)行中)和錯(cuò)誤情況(包地址錯(cuò)誤、輸出端口超時(shí)錯(cuò)誤、鏈接斷開錯(cuò)誤、奇偶校驗(yàn)錯(cuò)誤、轉(zhuǎn)義字符錯(cuò)誤)。狀態(tài)信息遙測(cè)下發(fā)供地面查看。
2.2.4 分層協(xié)議實(shí)現(xiàn)
SpaceWire網(wǎng)絡(luò)中以標(biāo)準(zhǔn)空間包為單位實(shí)現(xiàn)星內(nèi)數(shù)據(jù)交互,采用分層設(shè)計(jì)思想,實(shí)現(xiàn)應(yīng)用層與數(shù)據(jù)鏈路協(xié)議的分離。分層協(xié)議如圖6所示。
圖6 協(xié)議分層實(shí)現(xiàn)示意圖
將應(yīng)用SpaceWire總線的智能處理平臺(tái)與無網(wǎng)絡(luò)連接的智能處理平臺(tái)進(jìn)行多維度比較,結(jié)果如表8所示,可見,本文設(shè)計(jì)優(yōu)勢(shì)明顯,接口種類少,協(xié)議標(biāo)準(zhǔn),支持應(yīng)用重構(gòu)且支持系統(tǒng)擴(kuò)展。
表8 應(yīng)用效果對(duì)比
搭建測(cè)試環(huán)境如圖7所示。
圖7 測(cè)試環(huán)境
用3塊鄧迪公司的SpaceWire EGSE模塊分別接入到圖8路由模塊端口2、3、6,進(jìn)行載荷模擬。EGSE通過usb接口接入PC上位機(jī),通過腳本語言實(shí)現(xiàn)數(shù)據(jù)發(fā)送與接收。路由表配置如表7所示。
3.2.1 數(shù)據(jù)傳輸速率測(cè)試
路由2端口連接的EGSE 1作為載荷源節(jié)點(diǎn),發(fā)送載荷圖像數(shù)據(jù)(對(duì)應(yīng)邏輯地址0x31)經(jīng)路由達(dá)到EGSE 3模擬的載荷數(shù)據(jù)預(yù)處理板,設(shè)置傳輸速率為200 Mbps,分別比對(duì)源節(jié)點(diǎn)發(fā)送和目標(biāo)節(jié)點(diǎn)接收的二進(jìn)制文件和光學(xué)灰度圖(圖8),數(shù)據(jù)完全一致,測(cè)試通過。
圖8 源端和接收端數(shù)據(jù)比對(duì)
3.2.2 切機(jī)后自主尋址測(cè)試
EGSE 1和EGSE 2分別模擬載荷1的主備機(jī),路由模塊內(nèi)部FPGA以1 s周期性發(fā)送100字節(jié)數(shù)據(jù)包(對(duì)應(yīng)邏輯地址0x41)給載荷,當(dāng)EGSE 1加電時(shí),EGSE 1連接的上位機(jī)軟件接收到源端數(shù)據(jù);當(dāng)EGSE 2加電時(shí),EGSE 2連接的上位機(jī)軟件接收到源端數(shù)據(jù)。測(cè)試通過。
3.2.3 應(yīng)用重構(gòu)測(cè)試
EGSE 3模擬指令發(fā)送端發(fā)送新的路由配置表(路由表對(duì)應(yīng)邏輯地址0x61),與測(cè)試1的路由配置表不一致,給到路由模塊直連的FPGA;重啟路由模塊后,EGSE 1發(fā)送與測(cè)試1相同的載荷數(shù)據(jù)(對(duì)應(yīng)邏輯地址0x31),EGSE 3連接的上位機(jī)不再接收到載荷數(shù)據(jù),此處與測(cè)試1測(cè)試結(jié)果不一致,EGSE 2連接的上位機(jī)接收到數(shù)據(jù),與新的路由配置表設(shè)置一致,測(cè)試通過。
通過以上設(shè)計(jì)、分析以及基于SpaceWire路由單板和模擬設(shè)備的測(cè)試,實(shí)現(xiàn)了SpaceWire總線在智能處理通用平臺(tái)中的應(yīng)用。SpaceWire總線有助于提高數(shù)據(jù)傳輸速率、簡(jiǎn)化星載設(shè)備連接,同時(shí)增強(qiáng)設(shè)備的重用能力、可維修性和可擴(kuò)展性,從而降低開發(fā)成本,提高研制效率。本智能系統(tǒng)目前已經(jīng)處于整機(jī)原理樣機(jī)聯(lián)調(diào)過程中,將應(yīng)用于大規(guī)模星座中,其支持掛接節(jié)點(diǎn)數(shù)量大于18個(gè),根據(jù)需要可繼續(xù)擴(kuò)展;單節(jié)點(diǎn)速率在2~400 Mbps之間調(diào)節(jié);系統(tǒng)內(nèi)冗余備份,支持系統(tǒng)重構(gòu)。此外,隨著SpaceWire空間網(wǎng)絡(luò)標(biāo)準(zhǔn)基礎(chǔ)上升級(jí)研發(fā)的SpaceFibre總線的技術(shù)推廣應(yīng)用,本系統(tǒng)可以通過橋接擴(kuò)展方式能夠?qū)崿F(xiàn)超高速串行鏈路與組網(wǎng)互聯(lián),未來有更大的發(fā)展空間。