武華 石海洋
摘要:RapidIO作為一種高速率、低延遲的互連通信技術(shù),在嵌入式系統(tǒng)中得到了廣泛應(yīng)用,為了能夠更好的適應(yīng)PCI總線系統(tǒng),就需要提供一種RapidIO和PCI接口之間的橋接器。Tsi620芯片具有良好的RapidIO和PCI接口之間的轉(zhuǎn)換功能。該文以Tsi620為基礎(chǔ),介紹了RapidIO和PCI接口之間轉(zhuǎn)換的基本原理和RapidIO交換網(wǎng)絡(luò)的配置方法。
關(guān)鍵詞:RapidIO,Tsi620,交換技術(shù)
中圖分類號:TP393.03 文獻標識碼:A 文章編號:1009-3044(2015)08-0032-02
Abstract: RapidIO as a high-speed and low-latency connection and communication technology, has been greatly applied in embedded system. In order to adjust to a lot of PCI bus system, it needs a RapidIO and PCI interface bridge. Tsi620 could convert RapidIO bus data to PCI bus data with great efficiency and speed. This paper introduced the basic principle of conversion between RapidIO and PCI interface, and displayed the methods of RapidIO network configuration.
Key words: RapidIO;Tsi620;Communicate technology
RapidIO技術(shù)為嵌入式系統(tǒng)提供了一種高速率、低延遲的互連通信技術(shù),近些年被廣泛應(yīng)用[1]。但是在實際應(yīng)用中,除了構(gòu)建一個高速的RapidIO交換網(wǎng)絡(luò)外,同時RapidIO交換網(wǎng)絡(luò)還需要具備一定的兼容性,來適應(yīng)當前大量使用的PCI接口系統(tǒng),完成RapidIO和PCI接口之間的轉(zhuǎn)換[2],這就需要一種既支持RapidIO交換,又支持RapidIO和PCI接口之間轉(zhuǎn)換功能的芯片,Tsi620很好的滿足上述需求,它不但能夠?qū)崿F(xiàn)RapidIO的交換,同時能夠?qū)崿F(xiàn)RpaidIO和PCI接口之間的轉(zhuǎn)換。
1 Tsi620簡介
Tsi620是一個RapidIO交換機,同時也是一個RapidIO到PCI的橋接器[3]。它不但具有RapidIO的交換功能,可以實現(xiàn)多個RapidIO系統(tǒng)之間的互聯(lián)通信,而且可以實現(xiàn)從RapidIO到PCI,PCI到RapidIO的事務(wù)轉(zhuǎn)換。Tsi620組織架構(gòu)如圖1所示。
從組成結(jié)構(gòu)上劃分,Tsi620主要有4個部分組成:RapidIO交換機,SREP(RapidIO端系統(tǒng)),Bridge,PCI接口[3]。下面分別介紹這4部分的組成以及基本功能。
RapidIO交換機:可以支持7個RapidIO設(shè)備,其中有6個支持4x/1x端口,第7個是FPGA接口,第8個接口是內(nèi)部交換接口,面向PCI方向,連接SREP。它的主要功能是完成端口之間RapidIO的交換,在端口配置查找表,根據(jù)從端口進來的數(shù)據(jù)所攜帶的目標ID,將數(shù)據(jù)轉(zhuǎn)發(fā)到目的端口,實現(xiàn)路由功能。
SREP:一個端口連接到RapidIO交換機的端口8上,另一邊與Bridge連接。它的功能是可以將RapidIO交換機過來的事務(wù)轉(zhuǎn)換成Bridge的事務(wù),然后轉(zhuǎn)交給Brideg去處理,同時也可以實現(xiàn)把Bridge事務(wù)轉(zhuǎn)換成RapidIO事務(wù),然后轉(zhuǎn)交給RapidIO交換機處理。
Brideg: 連接著Tsi620的PCI接口和SREP,端口0連接SREP, 端口1連接PCI接口。支持PCI總線和RapidIO網(wǎng)絡(luò)之間的非透明傳輸,提供了一個高速率、低延遲的通信。網(wǎng)絡(luò)的PCI接口,允許其他PCI設(shè)備連接到此端口上,可以實現(xiàn)PCI總線和Bridge之間的數(shù)據(jù)傳輸。
2 Tsi620的工作原理
2.1 RapidIO 與PCI事務(wù)轉(zhuǎn)換的基本原理
RapidIO 和PCI之間,有兩個方向的事務(wù)需要轉(zhuǎn)換:RapidIO-to-PCI,PCI-to-RapidIO。它們之間事務(wù)轉(zhuǎn)換的基本原理是基于地址空間的映射。
其中RapidIO-to-PCI,需要兩步轉(zhuǎn)換:
步驟一:RapidIO-to-Bridge, 在SREP端,通過Bar空間和查找表將RapidIO事務(wù)轉(zhuǎn)換為Bridge事務(wù)類型。
步驟二:Bridge-to-PCI, 在PCI接口有5個Bar空間,可以將Bridge事務(wù)轉(zhuǎn)換為PCI總線事務(wù),當Bridge事務(wù)地址空間落入相應(yīng)的Bar空間,就將Bridge事務(wù)轉(zhuǎn)換為相應(yīng)的PCI總線事務(wù)類型,并且映射為PCI的地址空間。
同理PCI-to-RapidIO,需要兩步轉(zhuǎn)換:
步驟一:PCI-to-Bridge,在PCI接口,把PCI總線請求轉(zhuǎn)換為Bridge的事務(wù)類型,通過BAR空間上的查找表把PCI地址空間映射為Bridge的地址空間;
步驟二:Bridge-to-RapidIO,在SREP端,把Bridge事務(wù)的請求映射為不同的RapidIO事務(wù)類型,同時轉(zhuǎn)換為RapidIO的地址空間,并且報文信息中帶有目標ID,HOP數(shù),優(yōu)先級等參數(shù)。
通過上述兩個步驟可以實現(xiàn)從PCI-to-RapidIO的轉(zhuǎn)換。
2.2 RapidIO交換的基本原理
RapidIO交換的基本原理是基于目的ID查找的交換方式。在每個端口都配置一個查找表,查找表的屬性包括:目的ID和目的PORT[1]。RapidIO 交換原理示意如圖2所示。
如圖2所示,端口2配置了查找表,該表中包含了兩條目錄,當端口2接收到的數(shù)據(jù)所帶的目的ID為0xAA, 然后通過查找表,目的ID 0xAA映射到了目的端口 8, 因此端口2就將此數(shù)據(jù)轉(zhuǎn)發(fā)到端口8,完成交換。如果收到的數(shù)據(jù)的目的ID是0xAB,就將此數(shù)據(jù)轉(zhuǎn)發(fā)到端口4,以此類推。
3 Tsi620的配置
3.1 RapidIO與PCI事務(wù)轉(zhuǎn)換的配置
RapidIO與PCI之間轉(zhuǎn)換的配置,需要在SREP和PCI接口分別進行兩個方面的配置。在SREP需要完成R2I(RapidIO-to-PCI方向) 的配置、I2R( RapidIO-to-PCI方向) 的配置。在PCI接口需要配置由Bridge到PCI的轉(zhuǎn)換,需要配置Bar地址, Remap地址以及Mask值,完成Bridge到PCI之間的映射。同理也要完成從PCI到Bridge之間的轉(zhuǎn)換配置。
3.2 RapidIO交換機的配置
RapidIO交換機的配置,主要包括以下幾個方面:端口模式、端口速率、交換路由。Tsi620對外提供了7個RapidIO接口,其中port 0、port2、port4支持4x或1x,port 1、port3、port5只支持1x模式。端口7接FPGA可以支持4x或1x。RapidIO鏈路速率支持:1.25G、2.5G、3.125G的波特率??梢酝ㄟ^軟件進行端口速率配置。交換路由的配置,其中主要是給每個端口配置一個路由表,包括目的ID和目的PORT[4]。RapidIO報文根據(jù)端口路由表來進行報文的路由和轉(zhuǎn)發(fā)。同時需要注意的是,需要配置兩個方向的路由。在兩個端口之間通信,需要在兩個端口之間分別配置路由表映射到對方。
4 應(yīng)用實例
在某航電系統(tǒng)技改升級過程中,為了適應(yīng)原來系統(tǒng)中的PCI總線接口。在基于RapidIO高速總線為基礎(chǔ)的系統(tǒng)中增加了Tsi620芯片,一方面把新設(shè)備之間通過RapidIO交換互聯(lián),實現(xiàn)了高速數(shù)據(jù)通信;另一方面將通信帶寬要求不高的老設(shè)備通過PCI總線進行互聯(lián)。很好的適應(yīng)了新老設(shè)備之間的兼容以及改進升級,某航電系統(tǒng)升級系統(tǒng)交聯(lián)示意圖,如圖3所示。
通過Tsi620芯片的應(yīng)用,在新設(shè)備之間建立起了2.5Gbps帶寬的RapidIO交換網(wǎng)絡(luò),很好的滿足了新設(shè)備之間高帶寬的要求,提高了航電系統(tǒng)的通信能力,并且在新老設(shè)備之間保持了基于PCI接口通信的要求,滿足了系統(tǒng)改進升級的要求。
5 總結(jié)
本文以Tsi620為基礎(chǔ),介紹了RapidIO交換網(wǎng)絡(luò)以及RapidIO和PCI接口之間轉(zhuǎn)換的基本原理,并且詳細描述了RapidIO交換網(wǎng)絡(luò)以及RapidIO和PCI接口之間轉(zhuǎn)換的配置過程,并且通過應(yīng)用實例進行了驗證說明,為RapidIO技術(shù)的廣泛應(yīng)用和Tsi620的配置提供一定的參考。
參考文獻:
[1] Sam Fuller. RapidIO嵌入式系統(tǒng)互連[M]. 北京:電子工業(yè)出版社,2006.
[2] 聶新義,孫柯柯,馬克杰. PCI轉(zhuǎn)RapidIO橋的設(shè)計與實現(xiàn)[J].計算機工程,2010(8).
[3] Tundra. Tsi620? RapidIO Switch RapidIO-to-PCI Bridge User Manual. www.tundra.com.2007.10.
[4] 黃振中,柴小麗,黎想.基于Vxworks 的PCI-RapidIO橋驅(qū)動設(shè)計[J].計算機工程,2010(2).