• 
    

    
    

      99热精品在线国产_美女午夜性视频免费_国产精品国产高清国产av_av欧美777_自拍偷自拍亚洲精品老妇_亚洲熟女精品中文字幕_www日本黄色视频网_国产精品野战在线观看 ?

      CPS1432交換芯片的串行RapidIO互連技術(shù)

      2014-07-02 08:43:00張健林錫龍謝江波
      關(guān)鍵詞:枚舉走線端口

      張健,林錫龍,謝江波

      (廣州海格通信集團(tuán)股份有限公司,廣州510663)

      引 言

      串行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ù)的比較。

      通過(guò)比較可以看出,SRIO可以滿足高性能嵌入式系統(tǒng)芯片間及板間互連對(duì)帶寬、成本、靈活性和可靠性越來(lái)越高的要求。本文介紹基于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所示。

      表1 10G級(jí)互連技術(shù)比較

      圖1 總體設(shè)計(jì)方案

      SRIO物理層支持全雙工傳輸和1x、2x及4x三種連接方式,采用8/10 b編碼,為了提高系統(tǒng)的吞吐量,本方案采用4x方式連接,理論帶寬可達(dá)到10 Gbps。整個(gè)系統(tǒng)的終端器件中有且只有一個(gè)ID為0的主設(shè)備,其他終端器件都是從設(shè)備。在系統(tǒng)初始化過(guò)程中,主設(shè)備對(duì)各個(gè)從設(shè)備進(jìn)行枚舉,并為從設(shè)備分配一個(gè)非0的ID,這些ID類似于以太網(wǎng)中的MAC地址。在枚舉過(guò)程中,通過(guò)發(fā)送維護(hù)包,對(duì)交換器件CPS1432的各個(gè)端口進(jìn)行設(shè)置,建立各個(gè)端口與終端器件的對(duì)應(yīng)關(guān)系,初始化交換芯片各個(gè)端口的路由表。當(dāng)整個(gè)系統(tǒng)枚舉完成后,終端器件發(fā)送包含目的ID的數(shù)據(jù)包,即可通過(guò)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。兩者均集成了豐富的接口,包括Ser Des、千兆以太網(wǎng)、PCI-Express、RapidIO以及USB等。內(nèi)部4個(gè)Ser Des通道可在2個(gè)SRIO端口、3個(gè)PCI-Express端口以及2個(gè)SGMII端口之間進(jìn)行分配,P2020內(nèi)部功能單元如圖2所示。

      圖2 P2020內(nèi)部功能單元

      P2020內(nèi)部集成了符合RapidIO Interconnect Specification1.2版本規(guī)范的RapidIO控制器,控制器由RapidIO端口和RapidIO消息單元(RMU)組成。P2020的2個(gè)SRIO端口都支持1x或4x的物理鏈路,單條Ser Des鏈路最大支持3.125 Gbps的波特率,4x端口理論峰值帶寬為10 Gbps。消息傳遞單元支持2個(gè)數(shù)據(jù)消息發(fā)送控制器(outbound message controller)、2個(gè)數(shù)據(jù)消息接收控制器(inbound message controller)、1個(gè)門鈴消息發(fā)送控制器(outbound doorbell controller)、1個(gè)門鈴消息接收控制器(inbound doorbell controller)以及1個(gè)端口寫(xiě)接收控制器(inbound port-write controller)。消息傳遞單元支持3種操作模式:直接模式(Direct model)、隊(duì)列模式(Chaining model)和多播模式(Multicast 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互連。該芯片支持上電配置引腳來(lái)進(jìn)行配置,也可以通過(guò)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)部寄存器的讀寫(xiě)控制。上電復(fù)位時(shí),通過(guò)P2020的配置引腳cfg_IO_ports[0:3]將4個(gè)Ser Des通道配置為一個(gè)4x的SRIO端口,速率3.125 Gbps,根據(jù)芯片要求,Serdes參考時(shí)鐘應(yīng)選擇125 MHz。通過(guò)CPS1432的配置引腳QCFG[7:0]和SPD[2:0]將32路串行鏈路配置為8個(gè)4x的SRIO端口,速率均為3.125 Gbps。

      圖3 CPS1432接口單元

      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)。

      圖4 去耦電容靠近接收端

      在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)折;

      ④使用中間層走線,避免頂層和底層,且走線外圍做包地處理;

      ⑤盡量不要超過(guò)3個(gè)過(guò)孔(不包括BGA發(fā)送端的扇出過(guò)孔),信號(hào)換層時(shí),要在換層的過(guò)孔兩側(cè)添加用于回流的地孔。

      圖5是本系統(tǒng)中的CPS1432芯片外圍的局部走線圖。

      圖5 PCB局部走線圖

      本系統(tǒng)中的P2020和CPS1432分別處在兩塊板卡上,采用了ERNI公司的ZD高速連接器進(jìn)行板間互連。由于走線經(jīng)過(guò)背板傳輸,長(zhǎng)度較長(zhǎng),芯片的發(fā)送端信號(hào)需滿足協(xié)議中規(guī)定的長(zhǎng)距離傳輸(Long Run)指標(biāo)??紤]到信號(hào)由芯片傳輸至連接器或通過(guò)背板傳輸引起的衰減,實(shí)際使用中需采用傳輸預(yù)加重和接收器均衡的技術(shù),具體參數(shù)都可通過(guò)芯片寄存器來(lái)設(shè)置和調(diào)整。

      3 軟件方案設(shè)計(jì)

      本方案中的SRIO邏輯層業(yè)務(wù)采用消息傳遞方式,借助Linux中RIO子系統(tǒng)將SRIO端口虛擬為一個(gè)以太網(wǎng)口,采用類似于以太網(wǎng)的傳輸方式,這種方式不要求主設(shè)備知道被訪問(wèn)設(shè)備的存儲(chǔ)器狀況。

      3.1 Linux下RIO系統(tǒng)

      本系統(tǒng)中的嵌入式Linux版本為3.0.48,內(nèi)核中RIO子系統(tǒng)已經(jīng)完成RapidIO協(xié)議的解析、封裝、枚舉和規(guī)范實(shí)現(xiàn)等工作,子系統(tǒng)總體設(shè)計(jì)是按照設(shè)備驅(qū)動(dòng)模型的方式提供的,核心思想是一個(gè)三角關(guān)系:總線、設(shè)備和驅(qū)動(dòng)。其中總線rio_bus在文件rio_driver.c中實(shí)現(xiàn),在配置內(nèi)核時(shí)如果選中該總線,系統(tǒng)運(yùn)行后該總線即會(huì)存在,總線屏蔽了大量RapidIO技術(shù)細(xì)節(jié)。

      基于類似網(wǎng)口的RapidIO驅(qū)動(dòng)是在rionet.c文件中提供的,該驅(qū)動(dòng)在總線rio_bus上注冊(cè)成功后,使用rio_register_driver函數(shù)注冊(cè)到內(nèi)核中,而一旦有設(shè)備與該驅(qū)動(dòng)匹配成功,該驅(qū)動(dòng)會(huì)使用register_netde向Linux系統(tǒng)中注冊(cè)一個(gè)網(wǎng)口設(shè)備。

      RIO系統(tǒng)中關(guān)于設(shè)備的文件是rio.c、rio_scan.c,其中rio.c完成RapidIO控制器的注冊(cè),rio_scan.c完成枚舉算法、拓?fù)鋻呙韬徒粨Q器件信息處理等工作,并最終調(diào)用rio_add_device函數(shù)向RIO總線注冊(cè)一個(gè)設(shè)備。RIO總線中設(shè)備和驅(qū)動(dòng)的匹配規(guī)則是ID匹配,即所注冊(cè)的RapidIO控制器ID與系統(tǒng)中RapdidIO驅(qū)動(dòng)支持的ID一致,則RIO系統(tǒng)會(huì)自動(dòng)虛擬生成一個(gè)網(wǎng)口設(shè)備。

      3.2 端點(diǎn)軟件

      RIO子系統(tǒng)是Linux內(nèi)核提供的,RapidIO控制器的設(shè)備描述與CPU硬件資源相關(guān),包括中斷、郵箱、門鈴、端口號(hào)、名稱等資源信息。端點(diǎn)控制器初始化由內(nèi)核中飛思卡爾提供的fsl_rio.c文件實(shí)現(xiàn),主要完成端口和寄存器配置,以及維護(hù)事務(wù)窗口、讀寫(xiě)事務(wù)呼入/呼出窗口和呼出門鈴窗口的配置,然后填充一個(gè)mport數(shù)據(jù)結(jié)構(gòu),并最終將其注冊(cè)為一個(gè)控制器RIO設(shè)備。

      3.3 交換器件

      在枚舉過(guò)程中采用深度探測(cè)算法,即先讀取CPS1432總端口數(shù) M,然后依次從0開(kāi)始(除去自身連接到CPS1432的端口)進(jìn)行連接狀態(tài)的讀取,一旦發(fā)現(xiàn)有設(shè)備連接,即先為設(shè)備分配一個(gè)非0的ID,并設(shè)置該設(shè)備與CPS1432相連的端口路由表,主要是寫(xiě)入CPS1432的全局查找表,該表用于描述ID與端口的對(duì)應(yīng)關(guān)系。系統(tǒng)運(yùn)行后,對(duì)于包含有該設(shè)備ID號(hào)的數(shù)據(jù)包,CPS1432即可將其轉(zhuǎn)發(fā)到對(duì)應(yīng)的端口。

      3.4 系統(tǒng)使用

      在uboot中設(shè)定傳入內(nèi)核的參數(shù)riohdid,對(duì)主設(shè)備將其值設(shè)定為0,對(duì)從設(shè)備設(shè)定為0x FF。系統(tǒng)完成枚舉過(guò)程后,即可在各端點(diǎn)看到一個(gè)SRIO網(wǎng)口設(shè)備,設(shè)置同一網(wǎng)段的IP地址,各端點(diǎn)之間可以互相ping通,也可以相互發(fā)送網(wǎng)絡(luò)包,從而實(shí)現(xiàn)互連互通。

      結(jié) 語(yǔ)

      本方案實(shí)際使用中可以將每個(gè)端點(diǎn)和交換芯片都各自獨(dú)立成一個(gè)板卡,最后插到一個(gè)嵌入式機(jī)框中實(shí)現(xiàn)板到板高速互連通信。該方案在某通信設(shè)備上得到實(shí)現(xiàn),運(yùn)行良好,平均無(wú)故障時(shí)間達(dá)到預(yù)期要求,驗(yàn)證了設(shè)計(jì)的正確性。

      [1]丁星,陳浩,倪明,等.Linux下RapidIO子系統(tǒng)的分析與實(shí)現(xiàn)[J].計(jì)算機(jī)工程,2010(5).

      [2]陳劍波.RapidIO總線技術(shù)的研究[J].計(jì)算機(jī)與網(wǎng)絡(luò),2005,47(9).

      [3]宋寶華.Linux設(shè)備驅(qū)動(dòng)開(kāi)發(fā)詳解[M].北京:人民郵電出版社,2010.

      [4]Sam Fuller.RapidIO嵌入式系統(tǒng)互連[M].王勇,譯.北京:電子工業(yè)出版社,2006.

      [5]Richard Stevens W.TCP/IP詳解卷1:協(xié)議[M].北京:機(jī)械工業(yè)出版社,2009.

      猜你喜歡
      枚舉走線端口
      基于理解性教學(xué)的信息技術(shù)教學(xué)案例研究
      速讀·上旬(2022年2期)2022-04-10 16:42:14
      一種高效的概率圖上Top-K極大團(tuán)枚舉算法
      一種端口故障的解決方案
      一種大承重集裝袋
      塑料包裝(2019年6期)2020-01-15 07:55:46
      端口阻塞與優(yōu)先級(jí)
      基于太陽(yáng)影子定位枚舉法模型的研究
      淺析PCB中DDR3等長(zhǎng)線的設(shè)計(jì)
      PCB板內(nèi)阻抗測(cè)試需求與技術(shù)
      初識(shí)電腦端口
      電腦迷(2015年6期)2015-05-30 08:52:42
      生成樹(shù)協(xié)議實(shí)例探討
      浦城县| 友谊县| 玉田县| 河曲县| 沾化县| 铁力市| 鹤壁市| 比如县| 梧州市| 隆尧县| 大庆市| 深州市| 瓦房店市| 巴林右旗| 巴马| 隆昌县| 潞西市| 临沧市| 安宁市| 儋州市| 正宁县| 柞水县| 营山县| 天全县| 安丘市| 中方县| 开平市| 遂平县| 谷城县| 鲁山县| 普安县| 古田县| 板桥市| 铜梁县| 永嘉县| 和田县| 利津县| 宣武区| 舞阳县| 万荣县| 枣阳市|