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