CPS1432交換芯片的串行RapidIO互連技術(shù)
引言
本文引用地址:http://m.butianyuan.cn/article/201609/304015.htm串行RapidIO(SRIO)是針對(duì)嵌入式系統(tǒng)內(nèi)部高速互連應(yīng)用而設(shè)計(jì)的,數(shù)據(jù)打包效率高、傳輸時(shí)延小、協(xié)議及流控機(jī)制簡(jiǎn)單、糾錯(cuò)重傳機(jī)制和協(xié)議棧易于用硬件實(shí)現(xiàn),降低了軟件復(fù)雜度,支持多種物理層技術(shù)和傳輸模式,易于擴(kuò)展。SRIO引腳少、成本低,便于器件之間的互連。表1列出10G級(jí)互連技術(shù)的比較。
通過比較可以看出,SRIO可以滿足高性能嵌入式系統(tǒng)芯片間及板間互連對(duì)帶寬、成本、靈活性和可靠性越來越高的要求。本文介紹基于SRIO交換芯片CPS1432的高速處理系統(tǒng),從總體設(shè)計(jì)、硬件設(shè)計(jì)和軟件設(shè)計(jì)3個(gè)方面介紹RapidIO互連技術(shù)方案。
1 系統(tǒng)設(shè)計(jì)
RapidIO網(wǎng)絡(luò)主要由終端器件(End Point)和交換器件(Switch)組成。在本方案中終端器件采用P2020型CPU,運(yùn)行嵌入式Linux系統(tǒng),交換器件采用CPS1432,兩者組成星型拓?fù)浣Y(jié)構(gòu)??傮w設(shè)計(jì)方案如圖1所示。
SRIO物理層支持全雙丁傳輸和1x、2x及4x三種連接方式,采用8/10 b編碼,為了提高系統(tǒng)的吞吐量,本方案采用4x方式連接,理論帶寬可達(dá)到10 Gbps。整個(gè)系統(tǒng)的終端器件中有且只有一個(gè)ID為0的主設(shè)備,其他終端器件都是從設(shè)備。在系統(tǒng)初始化過程中,主設(shè)備對(duì)各個(gè)從設(shè)備進(jìn)行枚舉,并為從設(shè)備分配一個(gè)非0的ID,這些ID類似于以太網(wǎng)中的MAC地址。在枚舉過程中,通過發(fā)送維護(hù)包,對(duì)交換器件CPS1432的各個(gè)端口進(jìn)行設(shè)置,建立各個(gè)端口與終端器件的對(duì)應(yīng)關(guān)系,初始化交換芯片各個(gè)端口的路由表。當(dāng)整個(gè)系統(tǒng)枚舉完成后,終端器件發(fā)送包含目的ID的數(shù)據(jù)包,即可通過CPS1432轉(zhuǎn)發(fā)到目的終端器件的對(duì)應(yīng)端口,從而實(shí)現(xiàn)互連互通。
2 硬件方案設(shè)計(jì)
2. 1 硬件設(shè)計(jì)
P2020是飛思卡爾公司的高性能雙核通信處理器,基于45 nm工藝,采用e500 Power Architecture核心,主頻可達(dá)1.2 GHz,對(duì)應(yīng)的單核器件為P2010。兩者均集成了豐富的接口,包括SerDes、千兆以太網(wǎng)、PCI—Express、RapidIO以及USB等。內(nèi)部4個(gè)SerDes通道可在2個(gè)SRIO端口、3個(gè)PCI-Express端口以及2個(gè)SGMII端口之間進(jìn)行分配,P2020內(nèi)部功能單元如圖2所示。
P2020內(nèi)部集成了符合RapidIO Interconnect Specification1.2版本規(guī)范的RapidIO控制器,控制器由RapidIO端口和RapidIO消息單元(RMU)組成。P2020的2個(gè)SRIO端口都支持1x或4x的物理鏈路,單條SerDes鏈路最大支持3.125 Gbps的波特率,4x端口理論峰值帶寬為10 Gbps。消息傳遞單元支持2個(gè)數(shù)據(jù)消息發(fā)送控制器(outbound nlessage contro ller)、2個(gè)數(shù)據(jù)消息接收控制器(inbound message controller)、1個(gè)門鈴消息發(fā)送控制器(outbound doorbell controller)、1個(gè)門鈴消息接收控制器(inbound doorbell cont roller)以及1個(gè)端口寫接收控制器(inbound port—write controller)。消息傳遞單元支持3種操作模式:直接模式(Direct model)、隊(duì)列模式(Chainingmodel)和多播模式(Mul ticast model)。支持硬件的錯(cuò)誤檢查和重發(fā)機(jī)制,減輕了CPU的負(fù)擔(dān)。
CPS1432是IDT公司的RapidIO交換芯片,基于RapidIO 2.1規(guī)范(向下兼容),共有32路串行通道,可以靈活配置為8個(gè)4x,14個(gè)2x,14個(gè)1x的端口工作方式,端口速率最大支持到6.25 Gbps,芯片內(nèi)部交換帶寬達(dá)到160 Gbps,廣泛地應(yīng)用于板內(nèi)及板間芯片的RapidIO互連。該芯片支持上電配置引腳來進(jìn)行配置,也可以通過SRIO、I2C總線或JTAG接口直接操作內(nèi)部寄存器,同時(shí)I2C總線接口支持主模式,可從外部I2C EPROM中直接讀取配置數(shù)據(jù),其接口單元如圖3所示。
為了便于配置不同的模式,本系統(tǒng)將P2020和CPS1432的配置引腳都引入了FPGA,CPS1432的I2C總線接口連接到板載CPU的I2C總線接口上,由CPU進(jìn)行內(nèi)部寄存器的讀寫控制。上電復(fù)位時(shí),通過P2020的配置引腳cfg_IO_ports[0:3]將4個(gè)SerDes通道配置為一個(gè)4x的SRIO端口,速率3.125 Gbps,根據(jù)芯片要求,Serdes參考時(shí)鐘應(yīng)選擇125 MHz。通過CP S1432的配置引腳QCFG[7:0]和SPD[2:0]將32路串行鏈路配置為8個(gè)4x的SRIO端口,速率均為3.125 Gbps。
2.2 注意事項(xiàng)
在電路設(shè)計(jì)上,由于SRIO引腳數(shù)量少,互連相對(duì)簡(jiǎn)單。收發(fā)信號(hào)之間采用交流耦合方式,在數(shù)據(jù)接收端串接0.1μF的去耦電容,如圖4所示。電容推薦采用0402封裝,布局上靠近芯片接收端引腳放置,且4個(gè)通道的耦合電容與芯片引腳之間的走線等長(zhǎng)。
在PCB設(shè)計(jì)方面,基于信號(hào)完整性的考慮,需注意以下幾點(diǎn):
①對(duì)于常用的FR4板材,要注意疊層和走線的線寬,滿足差分阻抗100Ω;
②差分線對(duì)內(nèi)要求嚴(yán)格等長(zhǎng),由于SRIO收發(fā)信號(hào)獨(dú)立,對(duì)于2x或4x的鏈路,收發(fā)各自的差分對(duì)之間也要做等長(zhǎng)處理(本系統(tǒng)要求相差10 mil以內(nèi));
③盡量全直線走線,需要彎折的地方,采用圓弧轉(zhuǎn)折;
④使用中間層走線,避免頂層和底層,且走線外圍做包地處理;
⑤盡量不要超過3個(gè)過孔(不包括BGA發(fā)送端的扇出過孔),信號(hào)換層時(shí),要在換層的過孔兩側(cè)添加用于回流的地孔。
圖5是本系統(tǒng)中的CPS1432芯片外圍的局部走線圖。
評(píng)論