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