<dfn id="yhprb"><s id="yhprb"></s></dfn><dfn id="yhprb"><delect id="yhprb"></delect></dfn><dfn id="yhprb"></dfn><dfn id="yhprb"><delect id="yhprb"></delect></dfn><dfn id="yhprb"></dfn><dfn id="yhprb"><s id="yhprb"><strike id="yhprb"></strike></s></dfn><small id="yhprb"></small><dfn id="yhprb"></dfn><small id="yhprb"><delect id="yhprb"></delect></small><small id="yhprb"></small><small id="yhprb"></small> <delect id="yhprb"><strike id="yhprb"></strike></delect><dfn id="yhprb"></dfn><dfn id="yhprb"></dfn><s id="yhprb"><noframes id="yhprb"><small id="yhprb"><dfn id="yhprb"></dfn></small><dfn id="yhprb"><delect id="yhprb"></delect></dfn><small id="yhprb"></small><dfn id="yhprb"><delect id="yhprb"></delect></dfn><dfn id="yhprb"><s id="yhprb"></s></dfn> <small id="yhprb"></small><delect id="yhprb"><strike id="yhprb"></strike></delect><dfn id="yhprb"><s id="yhprb"></s></dfn><dfn id="yhprb"></dfn><dfn id="yhprb"><s id="yhprb"></s></dfn><dfn id="yhprb"><s id="yhprb"><strike id="yhprb"></strike></s></dfn><dfn id="yhprb"><s id="yhprb"></s></dfn>

新聞中心

EEPW首頁(yè) > 嵌入式系統 > 設計應用 > 基于RapidIO的雙主機節點(diǎn)嵌入式系統互聯(lián)設計

基于RapidIO的雙主機節點(diǎn)嵌入式系統互聯(lián)設計

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

(2)STATUS rioMapInb(UINT32 lstart,UINT32rstart,UINT32 size,UINT32 flags)rioMapInb映射大小為size的本地地址lstart到空間地址rstart;

本文引用地址:http://dyxdggzs.com/article/201609/305086.htm

(3)STATUS rioMapOutb4(UINT32 lstart,UINT32rstart,UINT32 size,UINT32 tid0,UINT32 tid1,UINT32tid2,UINT32 tid3,UINT32 flags)

rioMapOutb一次只能映射一個(gè)外部節點(diǎn)的內存空間,為了提升軟件效率,使用rioMapOutb4接口一次性對4個(gè)外部節點(diǎn)進(jìn)行映射。

2.3 網(wǎng)絡(luò )通信

的網(wǎng)絡(luò )通信主要有消息、門(mén)鈴、Nread和Nwrite等方式。軟件中使用的函數接口如下:

(1)void rioSendMsg(BYTE localPort,BYTEmailBox,BYTE dstID,BYTE*msgPtr,WORD len)rioSendMsg函數接口用來(lái)在兩個(gè)處理部件之間發(fā)送消息,loealPort為本地端口號,mailBox為郵箱號,dstID為目標RapidIO ID號,msgPtr為消息內容數組指針,len為消息長(cháng)度。

(2)void rioSendDoorbell(BYTE localport,BYTEdstPortID,WORD data)rioSendDoorbell函數接口發(fā)送門(mén)鈴信息,門(mén)鈴信息一般用于處理器間的中斷。Localport為端口號,dstPortID為目標端口號,data為16位門(mén)鈴信息。

(3)DWORD rioDmaNread(BYTE chan,DWORDlocaladr,DWORD rioaddr,DWORD bytecnt)應用程序調用rioDmaNread接口進(jìn)行Nread操作,rioDmaNread接口調用DMA控制器直接從RapidIO空間讀取數據塊到本地內存空間。

(4)DWORD rioDmaNwrite(BYTE chan,DWORDlocaladdr,DWORD rioaddr,DWORD bytecnt)應用程序調用rioDmaNwrite接口進(jìn)行Nwrite操作,rioDmaNwrite接口調用DMA控制器直接將本地內存空間的數據塊寫(xiě)到RapidIO空間上。

(5)DWORD rioDmaTransfer(BYTE ehan,DWORDsouraddr,DWORD desaddr,DWORD datasize,DWORDphyNextDescPtr)rioDmaTransfer接口實(shí)現DMA傳輸功能,該接口使用了DMA中斷功能,有阻塞,當DMA沒(méi)有完成時(shí)不會(huì )退出。

2.4 Rapidio網(wǎng)絡(luò )故障恢復

在實(shí)際應用中,RapidIO網(wǎng)絡(luò )上的節點(diǎn)可能出現故障,需進(jìn)行重啟操作。重啟后的節點(diǎn),其硬件配置均回到最初狀態(tài),RapidIO部分功能(節點(diǎn)ID等)需要進(jìn)行重新初始化,因此需進(jìn)行RapidIO網(wǎng)絡(luò )的故障恢復。

RapidIO網(wǎng)絡(luò )的故障恢復具有以下3種基礎形式:

(1)普通節點(diǎn)的故障恢復。主節點(diǎn)或從節點(diǎn)進(jìn)行一次RapidIO網(wǎng)絡(luò )的初始化即可恢復普通節點(diǎn)的RapidIO網(wǎng)絡(luò )故障。

(2)從節點(diǎn)的故障恢復。需要主節點(diǎn)進(jìn)行一次RapidIO網(wǎng)絡(luò )的初始化。

(3)主節點(diǎn)的故障恢復。主節點(diǎn)自動(dòng)恢復后從節點(diǎn)進(jìn)行一次RapidIO網(wǎng)絡(luò )的初始化。

在某些情況下,由于芯片上RapidIO控制器的問(wèn)題,主節點(diǎn)無(wú)法進(jìn)行自身的自動(dòng)恢復。因此,在故障恢復的第3種基礎形式中,僅能使用從節點(diǎn)進(jìn)行一次RapidIO網(wǎng)絡(luò )的初始化這種方式恢復主節點(diǎn)的故障。在這種情況下,主節點(diǎn)和從節點(diǎn)之間需要具有通信機制,使得主節點(diǎn)能夠將其發(fā)生故障的事件通知給從節點(diǎn),從而觸發(fā)從節點(diǎn)進(jìn)行一次RapidIO網(wǎng)絡(luò )的初始化,完成主節點(diǎn)的故障恢復。主節點(diǎn)和從節點(diǎn)之間需要具有通信機制,由于主節點(diǎn)和從節點(diǎn)同屬于一塊板卡,且之間具有互相的中斷觸發(fā)功能,因此使用中斷觸發(fā)方式完成主節點(diǎn)和從節點(diǎn)之間的故障通知。

3 系統驗證

完成系統和驅動(dòng)軟件的設計后,在具體應用環(huán)境中對系統的功能和性能進(jìn)行驗證。

3.1 功能驗證

系統采用主從方式初始化,系統上電后,兩個(gè)CPU各自調用初始化函數進(jìn)行系統初始化,先運行的CPU自動(dòng)設置為主節點(diǎn),后運行的CPU和網(wǎng)絡(luò )上的其他設備為從節點(diǎn),主節點(diǎn)通過(guò)網(wǎng)絡(luò )枚舉發(fā)現系統中的其他從節點(diǎn),從而完成網(wǎng)絡(luò )配置。系統驗證了如下功能:

(1)RapidIO網(wǎng)絡(luò )動(dòng)態(tài)接入和故障恢復功能,RapidIO網(wǎng)絡(luò )能夠動(dòng)態(tài)接入其他網(wǎng)絡(luò )節點(diǎn)并且完成對新接入節點(diǎn)的網(wǎng)絡(luò )配置,同時(shí)系統具備故障恢復功能。

(2)傳輸1.25 Gbit·s-1、25 Gbit·s-1、3.125Gbit·s-1,3種速率時(shí)的高速RapidIO信號,3種工作速度可通過(guò)軟件動(dòng)態(tài)配置。

3.2 性能驗證

為了驗證網(wǎng)絡(luò )傳輸性能,選取RapidIO網(wǎng)絡(luò )中的兩個(gè)主機節點(diǎn)進(jìn)行通信功能測試。RapidIO端口工作在4x模式下,速率為3.125Gbit·s-1,測試傳輸不同大小的包時(shí)Nread和Nwrite的傳輸帶寬,實(shí)際的傳輸帶寬如表1所示。

基于RapidIO的雙主機節點(diǎn)嵌入式系統互聯(lián)設計

從表中可看出,RapidIO實(shí)際的傳輸速率和理論傳輸速率之間有一定的差距。當單包數據為128 Byte時(shí),數據傳輸速率比較低。隨著(zhù)包的大小增加,傳輸速率也在增加,但是速率增長(cháng)趨勢變緩。當單包數據為4kB時(shí),RapidIO的傳輸速率是最高的,此時(shí)NWRITE的傳輸帶寬為720.5 Mbit·s-1,NREAD的傳輸帶寬為716.8/Mbit·s-1。

4 結束語(yǔ)

RapidIO是一種高效、穩定、低成本的總線(xiàn),為新一代高性能嵌入式提供了良好的解決方案。本文介紹了一種基于RapidIO的具有雙主機節點(diǎn)的嵌入式設計與實(shí)現方案,系統中兩塊PowerPC主控制器采用主從方式工作,并通過(guò)交換機連接外部的其他系統,該設計性能穩定可靠,能夠滿(mǎn)足并行分布式系統的高速數據傳輸需求,具有廣泛的應用前景。


上一頁(yè) 1 2 下一頁(yè)

評論


相關(guān)推薦

技術(shù)專(zhuān)區

關(guān)閉
国产精品自在自线亚洲|国产精品无圣光一区二区|国产日产欧洲无码视频|久久久一本精品99久久K精品66|欧美人与动牲交片免费播放
<dfn id="yhprb"><s id="yhprb"></s></dfn><dfn id="yhprb"><delect id="yhprb"></delect></dfn><dfn id="yhprb"></dfn><dfn id="yhprb"><delect id="yhprb"></delect></dfn><dfn id="yhprb"></dfn><dfn id="yhprb"><s id="yhprb"><strike id="yhprb"></strike></s></dfn><small id="yhprb"></small><dfn id="yhprb"></dfn><small id="yhprb"><delect id="yhprb"></delect></small><small id="yhprb"></small><small id="yhprb"></small> <delect id="yhprb"><strike id="yhprb"></strike></delect><dfn id="yhprb"></dfn><dfn id="yhprb"></dfn><s id="yhprb"><noframes id="yhprb"><small id="yhprb"><dfn id="yhprb"></dfn></small><dfn id="yhprb"><delect id="yhprb"></delect></dfn><small id="yhprb"></small><dfn id="yhprb"><delect id="yhprb"></delect></dfn><dfn id="yhprb"><s id="yhprb"></s></dfn> <small id="yhprb"></small><delect id="yhprb"><strike id="yhprb"></strike></delect><dfn id="yhprb"><s id="yhprb"></s></dfn><dfn id="yhprb"></dfn><dfn id="yhprb"><s id="yhprb"></s></dfn><dfn id="yhprb"><s id="yhprb"><strike id="yhprb"></strike></s></dfn><dfn id="yhprb"><s id="yhprb"></s></dfn>