基于RocketIO接口的高速互連應(yīng)用研究與實現(xiàn)
摘要:在此立足于嵌入式應(yīng)用的背景,在理解RapidIO協(xié)議和Fibre Channel協(xié)議的基礎(chǔ)上,通過對嵌入在FPGA內(nèi)的RocketIO高速串行收發(fā)器工作原理的研究,結(jié)合某信號處理接口模塊的實際應(yīng)用,在系統(tǒng)內(nèi)實現(xiàn)RapidIO接口功能,在系統(tǒng)間實現(xiàn)Fibre Channle接口功能,總結(jié)出基于RocketIO接口的高速信號完整性設(shè)計的應(yīng)用特點,并進行簡單的鏈路傳輸特性的測試,為高速互連系統(tǒng)的設(shè)計與研究提供了可靠的技術(shù)支撐。
關(guān)鍵詞:RocketIO;RapidI();Fibre Channel;嵌入式應(yīng)用
0 引言
近年來,多種新興的高性能互連技術(shù)相繼出現(xiàn),如RapidIO,PCI Express,F(xiàn)ibre Channel和InfiniBand等,它們大都采用基于報文交換的點到點互連結(jié)構(gòu)替代傳統(tǒng)并行總線結(jié)構(gòu),提供了高帶寬、低延遲、可擴展的I/O互連,很大程度上克服了傳統(tǒng)并行總線結(jié)構(gòu)的種種弊端。其中RapidIO屬于系統(tǒng)內(nèi)部互連技術(shù),主要針對高性能嵌入式系統(tǒng)內(nèi)部互連,它可以作為處理器總線、本地I/O總線,還可以跨越背板連接處理器、存儲器和外部設(shè)備。RapidIO技術(shù)被定義為一種高性能,低引腳數(shù),基于報文交換的互連體系結(jié)構(gòu),能廣泛滿足嵌入式系統(tǒng)應(yīng)用的需求,支持芯片到芯片和板到板之間的互連技術(shù)。光纖通道(Fiber Channel,F(xiàn)C)是一種高速串行傳輸協(xié)議,具有高帶寬、高實時性、高可靠性、擴展性好、傳輸速率高、抗干擾性強、拓撲結(jié)構(gòu)和服務(wù)類型靈活、支持多種上層協(xié)議和底層傳輸介質(zhì)等特性,且可以在一路傳輸線上實現(xiàn)高達2.5 Gb/s的速率,具有相對于萬兆以太網(wǎng),PCIe更高的傳輸速率。
在嵌入式應(yīng)用方面,主流的FPGA中都已對差分信號提供了硬件支持,并且在片上集成了固化的Rocket IO模塊,以提供高超高速的串行通信支持。RocketIO位于數(shù)據(jù)傳輸協(xié)議的物理層,用以實現(xiàn)最基本的數(shù)據(jù)通信環(huán)境。
本文從Xilinx的Virtex5系列FPGA的RocketIO高速串行收發(fā)器的工作原理入手,分別闡述了在一片F(xiàn)PGA上利用RapidIO協(xié)議和Fibre Chan nle協(xié)議實現(xiàn)高速信號傳輸?shù)姆椒?,并分析了RocketIO接口在硬件設(shè)計上需要注意的問題。
1 RocketIO介紹
RocketIO為FPGA中內(nèi)嵌的硬核資源,是一種高速串行收發(fā)器,采用兩對差分線來進行數(shù)據(jù)的發(fā)送和接收,可以實現(xiàn)兩個單工或一對全雙工的數(shù)據(jù)傳輸,通信碼率可以達到600 Mb/s~3.125 Gb/s。RocketIO收發(fā)器發(fā)送和接收串行差分信號,工作于2.5 V的直流電壓下,采用CML(Current Mode Logic)模式,內(nèi)部帶有50 Ω或75 Ω的匹配電阻,采用串行數(shù)據(jù)收發(fā),可以在高頻條件下很好地避免數(shù)據(jù)間的串?dāng)_。
RocketIO收發(fā)器結(jié)構(gòu)如圖1所示,主要包括PMA和PCS兩個子層,PMA子層中集成了SERDES,發(fā)送和接收緩沖,時鐘發(fā)生器及時鐘恢復(fù)電路。SERDES是一個串并轉(zhuǎn)換器,負責(zé)FPGA中本地的32位并行數(shù)據(jù)(也可以是16位或8位)與Rocket IO接口的串行數(shù)據(jù)之間的轉(zhuǎn)換。時鐘發(fā)生器及時鐘恢復(fù)電路用于將時鐘與數(shù)據(jù)綁定發(fā)送及將時鐘從接收到的數(shù)據(jù)流中恢復(fù)出來,從而避免了在高速傳輸條件下時鐘與數(shù)據(jù)分開傳輸所帶來的時鐘抖動等問題。PCS子層負責(zé)8 b/10 b編碼解碼和CRC校驗,并集成了負責(zé)通道綁定和時鐘修正的彈性緩沖。8 b/10 b編碼可以避免數(shù)據(jù)流中出現(xiàn)連0連1的情況,便于時鐘的恢復(fù)。通道綁定通過在發(fā)送數(shù)據(jù)流中加入字符來將幾個RocketIO通道綁定成一個一致的并行通道,從而來提高數(shù)據(jù)的吞吐率。彈性緩沖可以解決恢復(fù)的時鐘與本地時鐘不一致的問題,并進行數(shù)據(jù)率的匹配,從而使得通道綁定成為可能。
2 RocketIO在高速信號互連中的應(yīng)用
以某信號處理模塊FC接口板卡為例,該模塊是一種高性能、具有高速串行接口、采用統(tǒng)一互連網(wǎng)絡(luò)的通用信號處理接口模塊,信號傳輸速率達到幾千兆位每秒,這時就需要具有足夠高傳輸速率的信號傳輸機制對信號進行轉(zhuǎn)發(fā)。實現(xiàn)與主機板卡通信時,采用RapidIO傳輸協(xié)議;實現(xiàn)系統(tǒng)網(wǎng)絡(luò)間通信時,則可使用FibreChannle光纖通信協(xié)議。而RocketIO對多種高速傳輸協(xié)議的支持,可以使得RapidIO協(xié)議、Fibre Chan nle協(xié)議在同一片F(xiàn)PGA內(nèi)實現(xiàn),提高了系統(tǒng)的集成度,并使得信號的處理機制更加靈活。在本文的設(shè)計中,以Xilinx的Virtex5系列FPGA為平臺,采用了RapidIO傳輸協(xié)議來實現(xiàn)與主機板卡的通信,采用Fibre channle協(xié)議來實現(xiàn)系統(tǒng)網(wǎng)絡(luò)間通信。本文涉及的接口模塊架構(gòu)如圖2所示。
評論