新聞中心

EEPW首頁 > 嵌入式系統(tǒng) > 設(shè)計應(yīng)用 > 基于RapidIO的雙主機節(jié)點嵌入式系統(tǒng)互聯(lián)設(shè)計

基于RapidIO的雙主機節(jié)點嵌入式系統(tǒng)互聯(lián)設(shè)計

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

摘要 分布式并行計算的發(fā)展對嵌入式技術(shù)提出了更高的要求,可提供芯片間、板間的高性能互聯(lián),傳輸效率高于PCIE和千兆以太網(wǎng)。文中給出了一種基于的雙主機節(jié)點嵌入式的設(shè)計方案、硬件設(shè)計及其軟件實現(xiàn),并對系統(tǒng)功能和性能進行驗證。驗證結(jié)果表明,該系統(tǒng)性能穩(wěn)定、可靠,并為新一代高性能嵌入式提供了良好的解決方案。

本文引用地址:http://m.butianyuan.cn/article/201609/305086.htm

關(guān)鍵詞 ;;系統(tǒng)互聯(lián);

隨著嵌入式系統(tǒng)對信號處理性能和數(shù)據(jù)傳輸性能的不斷提高,單純依靠提高處理器性能來改善系統(tǒng)性能的方法已無法滿足需求。并行計算正日益成為一種增加系統(tǒng)處理能力的可行方向,多處理器間的數(shù)據(jù)傳輸、資源共享與同步便成了一個制約系統(tǒng)性能的重要環(huán)節(jié)。傳統(tǒng)依靠提升并行總線寬度與速率的方法已不能滿足嵌入式市場對總線帶寬的需求。因此,需新興的高性能總線互聯(lián)技術(shù)來實現(xiàn)系統(tǒng)互聯(lián)通信的更高要求。

RapidIO互連構(gòu)架作為一種基于可靠性的開放式互連協(xié)議標準,以其高效率、高穩(wěn)定性、低系統(tǒng)成本等特點,可為通信系統(tǒng)各器件間提供高帶寬、低延時數(shù)據(jù)傳輸?shù)慕鉀Q方案。RapidIO具備交換功能,具有完備的包交換、應(yīng)答、中斷、容錯機制,可靠性高,傳輸效率高于PCIE和千兆以太網(wǎng),可為芯片到芯片,板到板提供高性能的互聯(lián),其性能可達到1~60 Gbit·s-1,能夠為新一代高性能嵌入式系統(tǒng)互聯(lián)提供良好的解決方案。本文討論了一種基于RapidIO的具有雙主機節(jié)點的嵌入式系統(tǒng)互聯(lián)設(shè)計,給出系統(tǒng)設(shè)計方案及驅(qū)動軟件設(shè)計,并在具體應(yīng)用環(huán)境中對設(shè)計方案進行了系統(tǒng)驗證。

1 系統(tǒng)方案

在RapidIO互聯(lián)應(yīng)用中,通常不會將RapidIO端點相互直接連在一起,而是通過交換機實現(xiàn)端點之間的系統(tǒng)互聯(lián),這樣可使系統(tǒng)的成本減少,并改善系統(tǒng)的性能。典型的RapidIO交換網(wǎng)絡(luò)節(jié)點分為主機節(jié)點(Host)、交換機(Switch)和端節(jié)點(End-Point)3類,每個設(shè)備由DeviceID唯一標識。系統(tǒng)啟動時,主機節(jié)點負責系統(tǒng)初始化和網(wǎng)絡(luò)的枚舉,在工作時,主機節(jié)點將協(xié)調(diào)和監(jiān)控系統(tǒng)運行和錯誤恢復(fù),同時,主機節(jié)點可看做是交換網(wǎng)絡(luò)中的一個端節(jié)點,負責發(fā)送和接收網(wǎng)絡(luò)中的數(shù)據(jù)包。交換機實現(xiàn)端系統(tǒng)的互連,且完成RapidIO包的路由和轉(zhuǎn)發(fā)。

為了實現(xiàn)RapidIO通信功能,主機節(jié)點需要實現(xiàn)RapidIO控制器,RapidIO控制器的實現(xiàn)主要有兩種方式,一種是通過FPGA的專用IP核來實現(xiàn),這種方式受限于IP核對器件的限制,成本較高,且主機節(jié)點通常要實現(xiàn)數(shù)據(jù)處理與系統(tǒng)管理功能,單靠FPGA實現(xiàn)不太現(xiàn)實。另一種方式是通過集成有RapidIO控制器的CPU來實現(xiàn),如PowerPC。PowerPC處理器功能強大,處理速度快,可以配合嵌入式操作系統(tǒng)完成任務(wù)的管理和調(diào)度,同時較多PowerPC處理器集成有RapidIO控制器,因此大多使用RapidIO網(wǎng)絡(luò)的嵌入式領(lǐng)域都選用PowerPC做為主機節(jié)點。

本系統(tǒng)采用兩片處理器芯片做為主控制器,F(xiàn)reescale生產(chǎn)的芯片內(nèi)部集成了2個e600內(nèi)核,每個核包含32 kB的一級指令Cache和數(shù)據(jù)Cache,以及1個1 MB的二級Cache。高集成MPC8641D能夠代替多器件,極大節(jié)省了底板制造的成本和空間。MPC8641D芯片集成了RapidIO控制器,其中1x/4x串行通道的傳輸速率可為1.25 Gbit·s-1、2.5 Gbit·s-1和3.125 Gbit·s-1,消息單元支持存儲地址寄存器最大長度4 kB的消息。

系統(tǒng)選用TS1578做為交換機,Tsi578交換芯片是Tundra公司的第3代RapidIO交換芯片,其支持高達80 Gbit·s-1的聚合帶寬,可獨立配置成最多8個4X端口或16個1X端口,端口的頻率可配置為1.25 Gbit·s-1、2.5 Gbit·s-1、3.125 Gbit·s-1,支持混合的速率和帶寬配置。SRIO的路由和交換是通過每個端點設(shè)備的ID號來實現(xiàn)的,每個端點設(shè)備都會分配一個唯一的ID號,當一個端點發(fā)出一個數(shù)據(jù)包時,在其的包頭中包含有目的終端的ID號和發(fā)送源端的ID號。Tsi578的每個端口上都有一個交換路由表,根據(jù)路由表就可決定此數(shù)據(jù)包由哪一個端口送出。

基于RapidIO的雙主機嵌入式互聯(lián)拓撲結(jié)構(gòu)如圖1所示。

基于RapidIO的雙主機節(jié)點嵌入式系統(tǒng)互聯(lián)設(shè)計

2 驅(qū)動軟件設(shè)計

2.1 系統(tǒng)主從方式初始化

在使用RapidIO進行通信前,首先要進行RapidIO系統(tǒng)初始化,主要包括SRIO控制器初始化、Doorbell初始化、Message初始化、DMA初始化、RapidIO交換機初始化、RapidIO網(wǎng)絡(luò)初始化等。

系統(tǒng)中采用兩塊CPU,兩塊CPU均可作為主機節(jié)點對RapidIO網(wǎng)絡(luò)進行配置,為了保證RapidIO網(wǎng)絡(luò)能夠正常初始化,需使用主從方式的RapidIO網(wǎng)絡(luò)初始化,初始化時由某一RapidIO節(jié)點進行主配置,實現(xiàn)RapidIO網(wǎng)絡(luò)初始化,其他節(jié)點等待網(wǎng)絡(luò)初始化成功后啟動各自功能。如果進行主配置的節(jié)點出現(xiàn)問題,未完成RapidIO網(wǎng)絡(luò)初始化,具有從配置功能的節(jié)點需要進行RapidIO網(wǎng)絡(luò)初始化,以提高RapidIO網(wǎng)絡(luò)初始化的魯棒性。

由于設(shè)備在重復(fù)初始化時會產(chǎn)生異常,為了防止主從設(shè)備同時對交換機進行初始化,設(shè)計時考慮初始化時首先判斷RIO_HOST_BASE _ID_LOCK寄存器是否已被鎖定,若已被鎖定,表明交換機已被初始化,則該節(jié)點直接跳過這一步驟。優(yōu)勢在于對應(yīng)用而言只需提供一個初始化接口,設(shè)計人員在進行應(yīng)用編程時無需考慮主設(shè)備或從設(shè)備是否已經(jīng)對交換機進行了初始化,方便了應(yīng)用設(shè)計。

2.2 網(wǎng)絡(luò)映射

網(wǎng)絡(luò)映射結(jié)果將系統(tǒng)中所有非主機結(jié)點的RapidIO空間映射到自己的地址空間上,不同的非主機節(jié)點根據(jù)需求不同可映射不同的起始地址和映射空間。系統(tǒng)中使用rioMapOutb和rioMapInb接口動態(tài)配置RapidIO網(wǎng)絡(luò)地址映射,映射的地址長度都必須為4 kB的倍數(shù),且地址需要對齊,映射后在此存儲空間內(nèi)進行通信。軟件中使用的函數(shù)接口如下:

(1)STATUS rioMapOutb(UINT32 lstart,UINT32rstart,UINT32 size,UINT32 tid,UINT32 flags)rioMapOutb映射外部節(jié)點tid的以rstart開始的內(nèi)存空間到本地lstart地址。


上一頁 1 2 下一頁

評論


相關(guān)推薦

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

關(guān)閉