RocketIO及其在高速數據傳輸中的應用
2.1 Aurora協議
Aurora協議是一種可配置的、簡便的數據鏈路層協議,可以通過使用一條或多條高速串行通道實現點對點的數據傳輸。Aurora協議可為私有上層協議或標準上層協議提供透明接口的串行互聯協議,允許任何數據分組通過Aurora協議封裝,并在芯片間、電路板間甚至機箱之間傳輸。Xilinx還開發了實現該協議的Aurora IP核,當使用Virtex5 FPGA提供的RocketIO時,Aurora可實現每個物理通道500 Mb/s到3.75 Mb/s的傳輸速率。Aurora可將1~16個物理通道綁定在一起,形成一個由16個通道綁定而成的虛擬鏈路,提供最高60 Gb/s的傳輸波特率[1]。其結構如圖5所示。
圖5 Aurora核結構
Aurora核可以幀模式或流模式傳輸數據[4]。Aurora的幀可以是任意大小,并可以在任意時刻被中斷。有效數據之間被自動以空閑(idles)序列信號填充,以維持通道的鎖定。幀模式下有可選的數據流控制信號,以降低接收數據速率,或傳送簡短而優先級高的信息。流模式在Aurora核中以一個無結尾的幀方式實現。在數據傳輸的間隙補以空閑序列信號。
2.2 PCI Express協議
PCI Express是PCI、PCIX協議的下一代協議,是一種廣泛適用于計算和通信平臺的高性能通用互聯結構。同Aurora協議相似,PCI Express協議采用點到點的串行鏈接,單通道可實現2.5 Gb/s的傳輸速率,最高可使用16個通道實現40 Gb/s的高速通信。Xilinx公司開發的集成的PCIE IP核(Integrated Endpoint Block)可實現最高8個RocketIO通道的綁定,以此為物理層基礎實現20 Gb/s的傳輸速率。PCI Express協議包含傳輸層、數據鏈路層和物理層,其在FPGA上基于RocketIO實現的結構框架如圖6所示。
圖6 Xilinx PCIE IP核結構框圖
2.3 高速信號傳輸系統的共性
RocketIO可應用于多種高速數據處理應用的場合,這是由于高速信號傳輸系統結構都可以概括為三個組成部分,并且傳輸協議分層實現的方式使得系統協議與硬件系統之間具有一定的獨立性。
圖7 高速信號傳輸系統框架圖
高速信號傳輸系統的實現方式多種多樣,但一般均由上層協議、高速收發器以及傳輸接口組成。其結構框架如圖7所示。
上層協議:根據不同的任務需要,為實現高速信號傳輸制定的傳輸協議多種多樣,包含的層數也不同。如PCI Express協議具有物理層、數據鏈路層以及傳輸層,Aurora協議具有物理層和數據鏈路層,10 Gb/s以太網協議(XAUI)包含物理層和數據鏈路層。用戶程序可使用這些傳輸協議實現數據的收發。
高速收發器:高速收發器是所有傳輸協議都必須具備的物理層,是實現高速信號傳輸的基礎。一般實現串并轉換、時鐘數據恢復、線路編碼、線路綁定等功能,可為多種上層協議提供硬件支持。Xilinx公司推出的RocketIO與Altera公司推出的Rapid IO等都可看作高速收發器。
傳輸接口:在高速的信號傳輸系統中傳輸接口與高速收發器之間通過差分線連接,可實現全雙工的雙向傳輸。接口形式與具體應用相關,如實現PCI Express傳輸協議的PCIE接口、實現光線傳輸協議的光線接口以及實現高速以太網通信的網絡接口等。
其中相同的高速收發器可以應用于使用不同傳輸協議的系統中,所連接的接口根據不同應用而有不同形式。如RocketIO既可用于Aurora光纖通信協議,也可用于PCI Express協議。而在Aurora協議中,RocketIO與光纖接口相連,在PCI Express協議中,RocketIO與PCIE接口相連。
結語
綜上所述,RocketIO通過提供高速的串并轉換、時鐘與復位管理、線路編解碼等功能,為實現高速的串行數據傳輸提供了良好的物理層基礎。RocketIO對多種高速傳輸協議的支持使得其在嵌入式系統中得到了廣泛的應用,也使得用戶在選擇使用成熟的IP核之外,可以根據實際需要利用RocketIO開發專用模塊,實現高效、穩定的數據傳輸。
評論