<meter id="pryje"><nav id="pryje"><delect id="pryje"></delect></nav></meter>
          <label id="pryje"></label>

          新聞中心

          EEPW首頁 > 嵌入式系統(tǒng) > 設(shè)計(jì)應(yīng)用 > CPS1432交換芯片的串行RapidIO互連技術(shù)

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

          作者: 時間:2016-09-12 來源:網(wǎng)絡(luò) 收藏

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

          本文引用地址:http://www.ex-cimer.com/article/201609/304015.htm

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

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

          3.1 Linux下RIO系統(tǒng)

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

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

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

          3.2 端點(diǎn)軟件

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

          3.3 交換器件

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

          3. 4 系統(tǒng)使用

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

          結(jié)語

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


          上一頁 1 2 下一頁

          關(guān)鍵詞: 串行RapidIO CPS1432 P2020

          評論


          技術(shù)專區(qū)

          關(guān)閉
          看屁屁www成人影院,亚洲人妻成人图片,亚洲精品成人午夜在线,日韩在线 欧美成人 (function(){ var bp = document.createElement('script'); var curProtocol = window.location.protocol.split(':')[0]; if (curProtocol === 'https') { bp.src = 'https://zz.bdstatic.com/linksubmit/push.js'; } else { bp.src = 'http://push.zhanzhang.baidu.com/push.js'; } var s = document.getElementsByTagName("script")[0]; s.parentNode.insertBefore(bp, s); })();