孫樂樂,張 冬,周兆軍,魏雯婷*
(1.西安電子科技大學 先進網絡技術實驗室,陜西 西安 710071;2.中國電科網絡通信研究院,河北 石家莊 050081;3.陜西烽火電子股份有限公司西安研發中心,陜西 西安 710114 )
隨著航天技術不斷發展與創新以及衛星互聯網的普及和應用[1],星載交換技術已成為航天領域研究的熱點之一。衛星互聯網對國家安全,以及支撐我國“一帶一路”等建設具有一定的戰略意義[2]。構建不依賴地面網絡的全球覆蓋的衛星互聯網,實現波束間信息交互,星載交換技術是關鍵[3]。在衛星互聯網中,星載交換是指衛星之間或衛星與地面站之間進行信息交換和傳輸的技術。星載交換技術可在硬件規模較小時實現較高的數據轉發能力[4],其主要目的是實現衛星之間、衛星與地面站之間的高速、高效、可靠的數據傳輸,為全球的信息傳輸提供了廣泛方便的接入業務[5]。星載交換技術不僅可以通過衛星之間或衛星與地面站之間的直接通信,減少數據傳輸的延遲和丟失,從而提高數據傳輸效率,而且可以實現衛星網絡之間的互聯互通,形成一個全球性的衛星互聯網,是保證衛星互聯網網絡數據傳輸性能的核心手段[6]。
地面檢測系統可以對衛星通信系統進行實時的性能驗證和監控,通過檢測衛星信號質量、錯誤率、傳輸速率等指標,為衛星通信系統的性能優化和調整提供數據支持。地面檢測系統還可以對衛星通信系統的各項參數進行測試和優化,包括峰值速率、誤碼率、延時等。通過測試,使得不滿足技術條件的性能、不完善的功能得到暴露[7],從而提高衛星通信系統的性能和穩定性,通過地面檢測系統可以有效減少星上設備的故障概率[8]。
在衛星發射前的全面測試階段中,需要通過地面檢測系統向星上設備發送測試數據,并接收其發送回來的反饋數據,地面檢測系統充當橋梁作用,連接兩端設備。隨著我國衛星事業的飛速發展,對于衛星設備工作性能的要求不斷提高,傳統人工測試方法已不能滿足快速便捷精準的高要求,研究測試系統的重要性日趨顯示,地面檢測系統也趨于復雜化和高效化。由于星載交換設備在軌維修困難且更換器件費用高昂[9],地面檢測系統對于衛星事業發揮著極其重要的作用[10]。
綜上所述,一款能夠提高檢測效率與檢測準確率的地面檢測系統對于衛星的成功發射和安全運行具有重大意義。本文旨在設計一款面向于多接口、高速率的星載交換的地面檢測系統,完成對大容量星載交換設備的性能及功能測試。
衛星通信的地面檢測系統需要聯合地面檢測軟件以及基于 FPGA 的地檢設備,完成對星上設備各模塊以及整體系統的綜合測試。自從1970年4月,中國成功發射第一顆人造衛星“東方紅一號”起,我國衛星通信的地面檢測系統領域進入正式發展階段。
幾年來,國內外在該領域的研究成果[11]如下:
① 上海航天技術研究所設計了一款基于通用串行總線(Universal Serial Bus,USB)的衛星地面測試軟件[12],實現測試單機設備的遙控遙測模塊的功能。衛星測試除了單機測試還有系統級測試,該軟件并未涉及。
② 上海航天技術研究所設計了通用的數據分析顯示子系統,該子系統可運用到衛星地面測試過程中。衛星地面測試是極為復雜的工程,顯示子系統是其中一部分,需要聯合其他子系統共同完成對衛星的測試。
③ 以色列衛星通信公司NovelSat最近研發的產品NS2000X Multi-RX Channel Satellite Demodulator,可同時支持4路信號解調,配套軟件也只支持4路信號解調。
④ 著名衛星通信公司Newtec公司最新研發的調制解調器MCX7000 multi-carrier同時支持4路調制信號與2路信號解調。
隨著衛星設備功能日趨復雜化,衛星用地面測試設備面臨嚴峻的考驗[13],在設計時有以下難點:
① 由于星上設備的功能復雜、劃分模塊眾多,因此面臨被測對象數量大、性能指標各不相同、測試要求繁多等問題。因此,導致測試時間長,測試流程復雜,對測試系統的多樣性提出更高要求。
② 由于測試數據量極大,且對測試效率要求高,因此需要提高數據傳輸速率以及內部數據處理速度。
設計協議轉換技術,完成對以太網幀的數據處理并轉換成星上專用幀格式。以太網接口處利用以太網IP核完成對以太網數據的接收,通過協議轉換技術轉成星上專用幀格式通過高速接口發送給星載交換設備,采用5片FPGA,完成星載交換多接口的需求。
在上行鏈路中,地面檢測系統接收來自網絡測試儀標準以太網幀格式的數據,并發送給輸入數據處理模塊,而后輸入數據處理模塊將處理后的數據發送給上行協議轉換模塊,在該模塊中將完成以太網幀格式到星上專用幀格式的轉換,再由高速接口把數據幀發送給星上設備;反之,在下行鏈路中,通過高速接口接收來自星上設備的數據幀,并通過下行協議轉換模塊將星上專用幀格式轉換為以太網幀格式,通過輸出數據處理模塊發送到以太網模塊,最后由網絡測試儀接收數據。
地面檢測系統的總體結構如圖1所示。

圖1 地面檢測系統總體結構Fig.1 Overall structure of the ground detection system
如圖1所示,本文所提面向星載交換的地面檢測系統包括5片FPGA開發板,FPGA0~FPGA4,每一塊開發板上的端口都與星載交換的端口相對應。其中FPGA0和FPGA1這兩塊開發板結構相同,對應星載交換的兩路星間高速口;FPGA2與FPGA3分別對應星載交換的4路高速饋電口和8路高速用戶口;FPGA4對應星載交換的高速固存、高速擴展以及7路低速口。此套地面檢測系統所用到的FPGA板卡較多,對應星載交換的端口也多達16個,但都主要完成協議轉換功能,因此內部設計可采用統一結構,主要有高速接口與低速接口以及對應選擇的以太網IP核發出的AXIS協議數據位寬和速率的差異,下面將以萬兆以太網IP核對接高速接口的高速通道為例,對設計的具體方案進行詳細介紹。
面向星載交換的地面檢測系統主要完成以太網幀與星上幀的相互轉換,具體來說是完成兩路轉換:一路是將網絡測試儀發出的標準以太網幀格式根據用戶通過上位機配置下來的以太網幀與星上專用幀的對應關系,將以太網幀轉換成星上幀并通過對應的端口發送給星載交換設備;另一路是將星載交換設備通過端口發送的星上幀通過上位機配置的星上幀與以太網幀的對應關系,將星上幀轉換成標準以太網幀格式發送給網絡測試儀來統計星載交換設備發送的包數,以此來評估星載交換設備的性能。
地面檢測系統高速通道方案設計結構如圖2所示。各個模塊的模塊說明如表1所示。

表1 模塊說明Tab.1 Descriptions of modules

圖2 地面檢測系統高速通道方案設計結構Fig.2 Design structure of the high-speed channel scheme of the ground detection system
2.2.1 輸入數據處理模塊、輸出數據處理模塊
(1) 輸入數據處理模塊
輸入數據處理模塊包括數據倒序恢復、時域隔離、數據解析等操作,輸入數據處理模塊框圖如圖3所示。

圖3 輸入數據處理模塊框圖 Fig.3 Block diagram of input data processing module
輸入數據處理模塊首先將萬兆以太網IP核發出的倒序數據進行恢復,而后經過異步先進先出(First In First Out,FIFO)隊列進行跨時鐘域處理操作,完成時域隔離,最后再進行數據解析操作,提取標準以太網幀中的目的MAC地址、數據凈荷以及幀長信息并分別存進至相應FIFO提供給下級上行協議轉換模塊進行處理。
(2) 輸出數據處理模塊
輸出數據處理模塊相當于輸入數據處理模塊的逆過程,輸出數據處理模塊包括數據倒序、時域隔離以及數據組幀模塊等,輸出數據處理模塊如圖4所示。

圖4 輸出數據處理模塊Fig.4 Block diagram of output data processing module
首先數據組幀模塊接收上級模塊的目的MAC地址、數據凈荷以及幀長信息,將其組成標準以太網幀并存入FIFO中,而后時域隔離將讀取異步FIFO中的數據完成跨時鐘域操作,最后經過數據倒序發送給萬兆以太網IP核。
2.2.2 上行協議轉換模塊、下行協議轉換模塊
(1) 上行協議轉換模塊
上行協議轉換模塊包括上位機、ETH2SDL模塊等,上行協議轉換模塊框圖如圖5所示。

圖5 上行協議轉換模塊Fig.5 Block diagram of the uplink protocol conversion module
用戶需要在上位機界面輸入所需要的配置信息即MAC地址及所對應的星上專用幀頭信息,一次最多可配置32條,點擊發送后上位機通過以太網口發出標準以太網幀,在FPGA側會解析上位機配置下來的信息并根據MAC地址在對應的RAM地址寫入用戶配置的星上專用幀頭信息,而后ETH2SDL模塊會根據上級輸入數據處理模塊解析出來的MAC信息的最后一字節從RAM表里讀出對應的星上專用幀頭信息并組成完整的星上專用幀,并存入數據FIFO和幀長FIFO供下級模塊使用。
(2) 下行協議轉換模塊
下行協議轉換模塊包括上位機、SDL2ETH模塊等,下行協議轉換模塊如圖6所示。

圖6 下行協議轉換模塊Fig.6 Block diagram of downlink protocol conversion module
用戶需要在上位機界面輸入所需要的配置信息即星上專用幀頭信息中的目的站及所對應的目的MAC,一次最多可配置32條,點擊發送后上位機通過以太網口發出標準以太網幀,在FPGA側會解析上位機配置下來的信息并根據目的站地址在對應的隨機存取存儲器(Random Access Memory,RAM)地址寫入用戶配置的目的MAC信息,而后SDL2ETH模塊會根據上級高速接口模塊發送的星上專用幀頭信息中目的站信息的最后一字節從RAM表里讀出對應的MAC幀頭信息并存入MACFIFO、數據FIFO和幀長FIFO供下級模塊使用。
2.2.3 高速通道發送模塊、高速通道接收模塊
該模塊基于 Aurora 64B/66B 協議,由 6 個主要模塊組成:clock_module、reset_logic、frame_gen、frame_check、axi_to_ll、ll_to_axi,各個模塊能夠獨立并協調工作。設計中,數據傳輸協議按照數據幀方式進行傳輸。
(1) 高速通道發送模塊功能
該模塊將接收由上一模塊產生的 2 路專用幀數據,寫入 GTX1_T 和 GTX2_T 并進行發送。在接收側,將 GTX1_R 和 GTX2_R 接收到的專用數據幀,發送給前一級協議轉換模塊。
(2) 所用 IP 核資源
Aurora 64B/66B。
(3) 設計方法
本設計中將調用由 Xilinx 公司官方提供的 Aurora 64B/66B IP 核的例子工程。將例子工程中的 frame_gen 模塊和 frame_check 模塊去除,再將相關數據傳輸的 Local_Link 接口引至頂層,與前一級 proto_adapt 模塊產生的衛星專用幀相連接,即可實現 Local_Link 轉 GTX 的高速收發。
模塊邏輯關系圖如圖7所示。在數據傳輸過程中,clock_module 模塊為整個設計提供所需時鐘;reset_logic 模塊為整個設計提供復位設置;frame_gen 模塊用于組裝數據包形成 aurora 協議幀格式傳輸;frame_check 模塊負責對接收到的數據幀檢錯和緩存; axi_to_ll 模塊和 ll_to_axi 模塊負責 AXI4-Stream 接口和 Local-Link 接口的相互轉化[15]。

圖7 Aurora 64B/66B 例子工程文件結構Fig.7 Aurora 64B/66B example project file structure
此多接口地面檢測系統采用超高速集成電路硬件描述語言(Very-High-Speed Integrated Circuit Hardware Description Language,VHDL)語言編程,使用Vivado 2017.4軟件進行功能驗證,并部署到Kintex-7 FPGA開發板上進行功能實現。
該模塊產生32~150 Byte隨機幀長的數據幀及其幀長數據,且附帶產生相應的Local Link 接口信號以及 wr_en 寫使能信號,可根據需求直接寫入 FIFO 中。
該模塊每個周期產生8 Byte數據,且每幀數據的各個字段都定義了特定含義。如圖8所示。

圖8 字段定義Fig.8 Field definition
該模塊運用有限狀態機(FSM)實現,共有 7 個狀態:IDLE、WR_HEAD、WR_DATA、PRE_END、LEN、JUDGE、BLANK。圖9是狀態跳轉圖。

圖9 數據生成模塊狀態跳轉圖Fig.9 State transition diagram of the data generation module
圖10為數據生成模塊的仿真圖,包含完整數據幀、Local Link 接口信號、幀長信息以及狀態轉移情況。該模塊產生的模擬數據幀將用作本次設計各個模塊的測試激勵。

圖10 數據生成模塊的仿真圖Fig.10 Simulation diagram of data generation module
圖11為該數據處理模塊的狀態跳轉圖。狀態說明如下:idle是空閑狀態;WR_DES_MAC在此狀態下寫入目的MAC地址;WR_DATA在此狀態下寫入凈荷;WR_LEN在此狀態下寫入幀長。

圖11 數據處理模塊狀態跳轉圖Fig.11 Data processing module state jump diagram
圖12為數據處理模塊的仿真圖,將進入的數據進行解幀,并將解出來的目的MAC、凈荷、幀長分別寫進對應的FIFO。

圖12 數據處理模塊仿真圖Fig.12 Simulation diagram of data processing module
(1) 上行協議轉換模塊
該模塊負責標準以太網幀到星上幀的轉換。讀寫獨立時鐘設計,讀寫數據寬度均為 64 bit。
圖13為上行協議轉換模塊 ETH2SDL 的狀態轉移圖。

圖13 上行協議轉換模塊 ETH2SDL 的狀態轉移圖Fig.13 State transition diagram of the uplink protocol conversion module ETH2SDL
上行協議轉換模塊的狀態說明如下:IDLE為空閑狀態,該狀態負責參數重置,當滿足條件時進入 read parameter 狀態。另外,本模塊通過對星上專用 FIFO的almost full判斷防止數據堆積,保證系統的健壯性;read_parameter為parameter 讀取狀態。本模塊負責從 MAC FIFO 中讀取待匹配的 MAC地址,并將讀取出的MAC地址與上位機已經配置完成RAM進行匹配,以此提取出對應的星上專用幀頭信息;send_hdr為發送星上專用幀頭狀態,負責對星上專用FIFO寫入協議轉換后的星上專用幀的幀頭信息,共發送6個周期,在count=8時跳轉到 send_load狀態;send_load為發送載荷數據狀態;最后發送幀長信息,完成之后跳回初始態。
上行協議轉換模塊仿真圖如圖14所示,可以看出,以太網數據幀格式的數據已經轉換成了星上專用幀格式。

圖14 上行協議轉換模塊仿真圖Fig.14 Simulation diagram of uplink protocol conversion module
(2) 下行協議轉換模塊
該模塊負責星上幀到標準以太網幀的轉換。讀寫獨立時鐘設計,讀寫數據寬度均為 64 bit。
圖15為下行協議轉換模塊 ETH2SDL 的狀態轉移圖。

圖15 下行協議轉換模塊仿真圖Fig.15 Simulation diagram of downlink protocol conversion module
下行協議轉換模塊是上行協議轉換模塊的逆過程,狀態機的工作過程這里不再敘述。下行協議轉換模塊仿真圖如圖16所示,可以看出,星上專用幀格式的數據已經轉換成了標準以太網幀格式的數據。

圖16 下行協議轉換模塊仿真圖Fig.16 Simulation diagram of downlink protocol conversion module
(3) 上位機模塊
無論是在上行協議轉換模塊或者是下行協議轉換模塊,都需要用戶通過上位機完成對RAM表的配置來配合協議轉換模塊完成對標準以太網幀格式的數據與星上專用幀格式的數據之間的相互轉換。此外,還需要上位機完成對各個端口的流控以及包數統計的功能,上位機的業務配置界面如圖17所示。

圖17 上位機的業務配置界面Fig.17 Business configuration interface of the upper computer
在此界面中可以一次完成上行表項與下行表項的配置,界面采用滾輪形式,上、下行表一次最多可各配置32條。在上行表項中,用戶需要輸入源MAC所對應的星上專用幀頭信息(包括幀類型、目的站、源站等);在下行表項中用戶需要輸目的站及其對應的目的MAC。在用戶配置完所需要的信息后,點擊發送按鈕,上位機便將用戶輸入的配置信息組成一個較大的幀,上行信息在前,下行信息在后,按照標準以太網幀格式發送給FPGA進行處理來完成對RAM表的配置。
此系統的功能驗證通過思博倫公司設計生產網絡測試儀TestCenter來產生標準以太網流量,主要完成地面檢測系統自回環測試以及地檢與交換的聯調測試。
地面檢測系統自回環測試需要網絡測試發出高速標準以太網流量,通過光口進入地面檢測系統,地面檢測系統完成協議轉換功能,并在高速接口處設置成自回環將數據流返給網絡測試儀,以此來驗證地檢系統,地面檢測系統自回環測試示意圖如圖18所示。
如圖19所示,利用網絡測試儀產生了鏈路層速率為2.7 bit/s、隨機幀長64~1 518 Byte的4路高速以太網流量用來測試F2的4路饋電高速口,可以看出無丟包,功能驗證完成。
地檢與交換的聯調測試也需要網絡測試發出高速標準以太網流量,通過光口進入地面檢測系統,地面檢測系統完成協議轉換功能,并在高速接口發送給星載交換系統,星載交換系統通過內部復雜的處理將數據通過原高速接口返回給地檢,地檢又返回給網絡測試儀,以此來驗證星載交換系統,聯調測試示意圖如圖20所示。
如圖21所示,利用網絡測試儀產生了速率為2.7 Gbit/s、隨機幀長64~1 518 Byte的4路高速以太網流量用來測試地檢F2的4路饋電高速口并連接到交換端口,可以看出無丟包,聯調驗證完成。

圖21 聯調隨機包測試圖Fig.21 Joint debugging random packet test diagram
上位機測試需要通過上位機界面配置所需要的表項信息,并通過以太網接口發送給FPGA,FPGA側需解析上位機發出的以太網幀信息并將對應信息分別寫入上下行表項中。圖22是以上、下行表各配了3條為例的上位機配置信息。

圖22 上位機配置圖Fig.22 Upper computer configuration diagram
如圖23所示,FPGA側解析了上位機發出的配置信息。

圖23 上位機功能驗證圖Fig.23 Upper computer function verification diagram
在上行表項中,根據源MAC的最后一個字節在RAM表中對應位置寫入了上行表項信息,共3條;在下行表中,根據目的站的最后一字節在RAM表中對應位置寫入了下行表項信息,也是3條。上位機在上下行表中各寫了3條信息且與上位機配置結果相同,由此上位機功能得到驗證。
本文提出了一種可實現的多接口高速協議轉換的地面檢測系統的完整設計方案,對各模塊進行詳細介紹并對系統進行了仿真驗證以及功能測試,利用網絡測試儀完成了地面檢測系統自回環測試以及地檢與交換的聯調測試,在保證地面檢測系統穩定的情況下完成了星載交換系統的在地檢測,大大減少了星載交換系統在軌發生故障的概率,極大地降低了交換系統在軌的維修成本,對中國衛星事業的發展具有重要意義。
本文設計研究還存在很多不足之處,有以下幾個方面:交換共有16個端口,地檢系統只是某幾個端口同時打流,交換功能并未充分驗證;消耗的片上存儲資源較多,需要進一步優化邏輯和結構,減少資源占用。