朱新忠 王冠雄 韋杰 鮑迪 李毅
(上海航天電子技術研究所/八院智能計算技術重點實驗室,上海,201109)
隨著航天載荷技術的發展,載荷產生的數據量以及數據速率呈爆發性增加。以某光學相機9Gbps的數據速率為例,當前衛星平臺較弱的在軌處理能力和數傳能力 (900Mbps)無法完成新型載荷數據的實時傳輸、存儲或實時處理任務。此外,傳統空間信息系統往往采用直連的拓撲結構,具有定制性強、通用性差、互聯不靈活的缺點。而網絡化拓撲具有擴展性強、通用性高、組網靈活、可實現多種冗余架構的優勢,是當前空間信息系統和高性能計算系統的研究熱點。
為提升空間信息系統的數據傳輸能力,優化空間信息系統單機內、單機間的互聯拓撲架構,基于Serial RapidIO(SRIO)標準協議的高速交換技術,我們分析了SRIO協議及CPS 1848交換芯片特點,結合SpaceVPX架構,研究了一種交換陣列,以此為基礎構建了SRIO交換模塊,并進行基于SRIO協議的高速交換的技術驗證。
SRIO協議是一種標準通信協議,以高速Serdes(高速串并轉換收發器)為物理層接口,可實現流量控制、交換及光電傳輸,具備構建網絡化空間信息系統的潛力。SRIO協議具有傳輸協議簡單、支持多種網絡拓撲、軟件依賴性小的優點,適合在惡劣空間環境下實現嵌入式系統的高速互聯。SRIO協議支持5種基礎網絡拓撲結構:雙星互聯拓撲、單星互聯拓撲、單星擴展拓撲、全互聯拓撲和部分互聯拓撲。
SRIO協議只通過物理層、傳輸層即可完成數據的交換轉發。交換節點依靠包的路由來實現其交換功能。在SRIO互聯系統內,每個可尋址器件至少具有一個唯一的DeviceID,當通信節點產生數據包時,會將destID和sourceID放在包頭。SRIO交換部件內部設有路由表將不同的DeviceID映射到物理端口,SRIO交換部件通過解析收到的包頭取得當前包的destID和sourceID并輸入路由表查找到相應的物理端口,完成查找后導通相應端口實現包的路由操作從而完成交換。
目前高速SRIO交換芯片的種類較少,較為常用的是IDT公司的CPS 1848。該芯片采用48路雙向RapidIO端口組成Switch結構 (交換結構)。芯片設計符合RapidIO 2.1標準,支持多種位寬模式、全端口無阻塞交換以及熱插拔。該芯片允許從外部對拓撲結構進行動態配置,可以實時進行網絡重構。
CPS 1848微架構如圖1所示[1],該芯片具有48路Serdes接口,單通道最大線速可達6.25Gbps,單片峰值交換吞吐量可達240Gbps。

圖1 CPS 1848微架構
根據性能需求,采用3顆CPS 1848組網即可構成交換陣列,如圖2所示。交換陣列用于執行不同端口之間的導通/關斷,并提供交換緩沖,性能參數如下。
a)端口數量:如果使用標準VPX接插件的所有差分節點,最多可以為底板 (見圖2中P2~P6)提供 19路 4×通道的交換接口 (見圖 2中DP01~DP19);同時能夠向交換前面板提供3路4×通道的對外交換接口。
b)交換吞吐量:峰值可達440Gbps,底板接口吞吐量可達380Gbps,對外接口吞吐量可達60Gbps。
c)負載分析:86%的交換資源都用于底板交換,在僅保證系統底板數據交換時,交換陣列內各芯片幾乎滿載。

圖2 交換陣列結構
在4×模式下,根據CPS 1848的端口透傳時間,計算SRIO交換網絡延時信息,結果見表1。可以看出,CPS 1848交換陣列增加了端對端交換的傳輸延時,但是在保證交換端口數大于20的情況下,各端口間的交換跳數和延時趨于平穩和一致,從而使得系統高速數據的傳輸時序更為穩定。

表1 SRIO交換網絡延時表
以交換陣列為基礎構建交換模塊,交換模塊用于實現系統內模塊之間、系統與外部通信節點之間的高速數據交換,具體包括交換端口、FPGA、DSP和交換陣列等部分。
使用IDT公司提供的SRIO交換芯片Serdes接口的IBIS-AMI模型[2],對通信接口及鏈路進行信號完整性分析。在空間電子系統應用場景下,交換模塊與系統內其他模塊通過底板連接,底板作為高速串行通信的信道介質,SRIO接口、底板的信號完整性分析對于交換模塊、系統底板的設計與研制具有重要意義。從底板的PCB中提取最長信道和的傳輸線模型,最長路徑19.807cm,線寬 140μm,特性阻抗 59Ω,延時1.447ns,收端均串接0.1μF的耦合電容。
眼圖波罩如圖3所示,在最長路徑下,繪制了不同速率時Serdes的收端信號眼圖,如圖4所示。測試比特數為100萬,采用8b/10b編碼??梢娫谧铋L路徑、最短路徑下,信道收端的眼圖在不同速率下均可將眼圖波罩放入眼圖內部,其中當收端串接0.1μF的交流耦合電容時高速傳輸(高于5Gbps時)的信號完整性更好,但對長路徑下的低速傳輸有輕微影響。綜上所述,交換模塊信號完整性設計合理。

圖3 RPIO 2.0收端眼圖波罩(代入CPS 1848參數)

圖4 最長路徑下的Serdes眼圖
在單星拓撲下,進行測試以驗證SRIO交換模塊的交換速率和信號完整性。測試系統由直流電源、測試設備、測試計算機、網線及各類測試電纜組成。
測試信息流見及數據信息見表2,高速數字信號處理模塊使用板內DSP的集成SRIO接口經交換模塊向與板內Kintex-7 FPGA互發數據[3],從而對SRIO交換模塊進行技術驗證。并使用Xilinx的IBERT IP核使用FPGA繪制SRIO接口在單路速率為5Gbps時的信號眼圖。

表2 SRIO數據包信息
如圖5 a)所示為DSP內基地址為0x0c100000的一段初始化為順序數的內存,DSP將此段數據以DMA方式[4]由SRIO接口發出,經過交換模塊后,通過ILA邏輯分析儀在FPGA內部可以觀測到接收到的順序數,詳情如圖5 b)所示。
同時,FPGA也使用SRIO接口通過交換模塊向DSP傳輸數據 (如圖6所示),DSP的SRIO接口模塊接收到數據包后,根據解析包頭將數據以DMA方式寫入起始地址為0x0c000000的內存內。

圖5 SRIO數據互傳 (DSP向FPGA)

圖6 SRIO數據互傳 (FPGA向DSP)
使用Xilinx的IBERT IP核測試Serdes接口的內回環通信誤碼率,測得誤碼率為10-8。在DSP上測得實際有效速率為12.368Gbps。根據有效速率與鏈路速率的關系計算鏈路速率可達到20Gbps。
本文研究了基于SRIO協議的高速串行總線交換技術,開展了信號完整性分析,基于CPS 1848芯片進行了SRIO交換技術驗證,在測試過程中使用了高性能FPGA及多核DSP SOC的SRIO接口對本文所述的交換技術進行驗證,鏈路速率達到20Gbps,理論吞吐率達到440Gbps,測試結果表明本文所述基于SRIO協議的高速串行總線交換技術具備較強的數據傳輸能力和組網能力,在高速網絡化信息系統領域具備廣闊的應用前景。