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