張劍鋒,周 偉,吳 軍
(南京熊貓漢達科技有限公司,南京 210000)
為滿足現代電子裝備的綜合一體化技術發展,在數字平臺中大量采用由高性能FPGA、通用處理器等芯片組成的高集成數字處理模塊。為實現模塊之間的數據傳輸,傳統的采用PCI、以太網或RapidIO 等總線。數字平臺單總線模式必然會導致控制信號和高速基帶數據對總線的搶占,造成系統時延變大以及丟包現象,嚴重影響系統性能和可靠性。VPX 總線采用RapidIO 和Advanced Switch Interconnect 等現代的工業標準的串行交換結構,實現了更高的背板帶寬和數據交換,減少了處理時延和輸入數據流的中斷。VPX 核心交換可以提供32對差分對,每對差分對理論上可以提供10Gbps 的數據交換能力[1],一個VPX 模塊理論上最高可以提供8Gbyte 的數據交換能力,是綜合一體化電子裝備研制的首選總線之一。VPX 定義了集中式、分布式兩種系統互連結構,采用基于交換開關的互連網絡,有多種串行開關協議映射在VPX 中,如RapidIO、PCI Express、Ethernet 等,同時VPX 系統保持了與傳統VME 總線的兼容性,從而有效提高數據總線帶寬和系統的工作特性。
RapidIO 技術是一種高性能低引腳數基于包交換的交叉開關互連技術,是第一個嵌入式互連國際標準。RapidIO 規范采用時鐘數據恢復同步技術和8B/10B 編解碼機制,適合于長距離傳輸,支持1x/2x/4x/8x/16x 通道模式和最高6.25Gb/s 的波特率。RapidIO 技術屬于系統內部互連技術,適合于多器件緊耦合的工作環境,其高帶寬、低延時、高效率及高可靠性的優點為高性能的嵌入式系統的內部互連通信提供了良好的解決方案。在高速通用處理設計中,通過交換開關互連實現RapidIO 總線互連,完成模塊上處理器之間和與系統其他模塊處理器間的高速通信。
Gigabit Ethernet(千兆以太網)技術作為一種高速以太網技術,繼承了傳統以太網結構簡單、算法簡潔、良好兼容性、技術價格便宜的特點,又顯著提高了傳輸速率。千兆以太網技術采用與10M/100M 以太網相同的幀格式、幀結構、網絡協議、全/半雙工工作方式、流控模式以及布線系統,可以不用改變傳統以太網的桌面應用和操作系統實現與傳統以太網很好地配合工作。在升級到千兆以太網時,不必改變網絡應用程序、網管部件和網絡操作系統,能夠最大程度地保護用戶投資。以太網技術具有共享性、開放性、靈活性等特點,廣泛應用于局域網(LAN)、城域網(MAN)和廣域網(WAN)領域。在高速通用處理設計中,通過交換開關實現Gigabit Ethernet 總線互連,完成模塊與系統中交換模塊的以太網連接,實現模塊和系統統一的以太網接口,可以完成基于以太網接口的調試維護和遠程數據加載。
為滿足未來綜合電子裝備高帶寬、低時延數據傳輸要求以及系統內處理器、模塊之間點對點、點對多的通信能力。本文基于VPX 總線技術,采用BCM54680 和TSI578芯片實現了數字平臺的以太網、RapidIO 雙總線交換。其中,以太網總線傳輸控制信號,RapidIO 傳輸高速低時延基帶數據。有效解決了一體化數字平臺總線時延大、易丟包等問題,實現了多個模塊之間全互聯的數據交換、訪問。
網絡交換模塊由以太網交換芯片BCM54680、RapidIO 交換芯片TSI578、控制與配置單元及其他公共單元組成。其中,①BCM54680 是BroadCOM 公司的一款8 通道10M/100M/1000M 以太網PHY 芯片,提供SGMII 接口,支持端口速率自適應。BCM54680基于BroadCOM 成熟的數字信號處理器技術,結合了數字自適應均衡器,ADCs,鎖相環,線路驅動器,編碼器解碼器回聲消除器,串擾消除器以及集成到單個單片機中的所有其他所需支持電路CMOS 的芯片。BCM54680可自動與線纜另一端的任何收發器協商,以達成運行速度。該芯片還可以評估雙絞線的狀況,以確保界限可以支持千兆速度的操作,并檢測和糾正大多數常見的接線問題。②TSI578是Tundra 公司的第三代交換芯片,該芯片支持高達3.125G 的高速串行數據交互,可提供最多16路1X 或8路4X mode 的RapidIO 接口,每個接口還可以配置為每秒1.25G 和2.5G,端口速率配置靈活,芯片集成了高速的全雙工serdes 和8b/10b 編碼,包含接收器均衡、傳輸預加重,支持IEEE1149.6標準,芯片內部增強了無阻塞內部交換體系,可通過調度算法來管理通信量,可監控各個端口的性能,同時也可設定緩存深度,一個重配置來消除低優先級數據包得不到處理的現象,最多支持64000個端點的數據包路由表。
TSI578的操作簡單,可以靈活修改其中的寄存器來改變TSI578的工作模式。在具體應用中可以通過JTAG、I2C 和Rapid IO 修改TSI578的寄存器。本文采用I2C 訪問和修改TSI578的寄存器實現工作模式、速率等修改。網絡交換模塊系統架構框圖,如圖1所示。

圖1 網絡交換模塊系統框圖
網絡交換模塊對外接口包含:①Rapid IO 接口:本模塊對外提供8路接口,分別與7路數字信號處理模塊,1路人機交互模塊連接。②以太網接口:本模塊對外提供8路接口,分別與7路數字信號處理模塊,1路人機交互模塊連接。③自定義IO:預留離散控制線、背板控制信號等。④調試串口:1個,調試階段對本模塊狀態監視,命令控制。
網絡交換模塊電源種類較多,根據手冊提供的一些要求,對電源進行合并處理,FPGA 芯片有一定的上電時序要求。
網絡交換模塊時鐘采用本地時鐘和系統統一時鐘兩種模式,模塊調試時采用本地時鐘,系統工作時,交換模塊采用背板的統一時鐘,保證時鐘的精度和時鐘同源。
網絡交換模塊工作流程:以太網總線,在接收狀態下,控制信號從數字處理模塊的以太網接口通過背板輸入到網絡交換模塊的BCM54680,BCM54680完成數據的解析后發送給人機交互模塊。在發送狀態下,從人機交互模塊過來的數據經過BCM54680完成數據的解析后,根據目的地址的要求提供給對應的數字信號處理模塊。針對RapidIO 數據傳輸,數據由數字信號處理模塊過來,根據數據中攜帶的目的地址的相關信息實現信號往哪個模塊發送,這樣可實現點到點和點對多的通信。
網絡交換模塊各芯片的軟件配置主要通過FPGA 串口完成。通過FPGA 去訪問BCM54680以及TSI578,串口協議需要在FPGA 內部進行協議轉換,最終采用的串口協議如表1所示:

表1 串口協議
采用串口通過FPGA 配置BCM54680的流程圖,如圖2所示:

圖2 FPGA配置BCM54680流程圖
網口配置完成后,本次測試和電腦主機進行通信,當對方配置完成后,網口測試結果:設備網口能夠與電腦主機互聯互通,收發數據正常,同時設備多個網口能夠互聯互通測試,測試結果符合預期。
采用串口通過FPGA 配置TSI578的流程,主要是:單板正常啟動——配置端口速率——配置DEST_ID——配置端口號——觀測數據傳輸。
RapidIO 口配置完成后,數據傳輸結果:RapidIO 傳輸正常,收發數據正常,測試結果符合預期。
本文介紹了基于BCM54680和TSI578芯片的以太網交換和RapidIO 交換的設計原理和實現方法,并給出了實現的硬件設計和軟件配置。隨著現代電子裝備的綜合化技術深入發展,基于以太網和RapidIO 雙總線的交換模塊將成為高速串行總線系統架構中重要的組件模塊,并在嵌入式系統中得到廣泛的應用。