當(dāng)前位置:首頁(yè) > 通信技術(shù) > 通信網(wǎng)絡(luò)
[導(dǎo)讀] 隨著嵌入式系統(tǒng)對(duì)信號(hào)處理性能和數(shù)據(jù)傳輸性能的不斷提高,單純依靠提高處理器性能來(lái)改善系統(tǒng)性能的方法已無(wú)法滿足需求。并行計(jì)算正日益成為一種增加系統(tǒng)處理能力的可行方向,多處理器間的數(shù)據(jù)傳輸、資源共享與

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

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

1 、系統(tǒng)方案

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

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

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

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

基于RapidIO的雙主機(jī)嵌入式互聯(lián)拓?fù)浣Y(jié)構(gòu)如圖1所示。

圖1 基于RapidIO的雙主機(jī)嵌入式互聯(lián)拓?fù)浣Y(jié)構(gòu)

2 、驅(qū)動(dòng)軟件設(shè)計(jì)

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

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

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

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

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

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

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

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

(3)STATUS rioMapOutb4(UINT32 lstart,UINT32rstart,UINT32 size,UINT32 TId0,UINT32 TId1,UINT32TId2,UINT32 tid3,UINT32 flags)

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

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

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

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

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

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

(4)DWORD rioDmaNwrite(BYTE chan,DWORDlocaladdr,DWORD rioaddr,DWORD bytecnt)應(yīng)用程序調(diào)用rioDmaNwrite接口進(jìn)行Nwrite操作,rioDmaNwrite接口調(diào)用DMA控制器直接將本地內(nèi)存空間的數(shù)據(jù)塊寫到RapidIO空間上。

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

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

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

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

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

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

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

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

3 、系統(tǒng)驗(yàn)證

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

3.1 功能驗(yàn)證

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

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

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

3.2 性能驗(yàn)證

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

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

4 、結(jié)束語(yǔ)

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

本站聲明: 本文章由作者或相關(guān)機(jī)構(gòu)授權(quán)發(fā)布,目的在于傳遞更多信息,并不代表本站贊同其觀點(diǎn),本站亦不保證或承諾內(nèi)容真實(shí)性等。需要轉(zhuǎn)載請(qǐng)聯(lián)系該專欄作者,如若文章內(nèi)容侵犯您的權(quán)益,請(qǐng)及時(shí)聯(lián)系本站刪除。
換一批
延伸閱讀

9月2日消息,不造車的華為或?qū)⒋呱龈蟮莫?dú)角獸公司,隨著阿維塔和賽力斯的入局,華為引望愈發(fā)顯得引人矚目。

關(guān)鍵字: 阿維塔 塞力斯 華為

倫敦2024年8月29日 /美通社/ -- 英國(guó)汽車技術(shù)公司SODA.Auto推出其旗艦產(chǎn)品SODA V,這是全球首款涵蓋汽車工程師從創(chuàng)意到認(rèn)證的所有需求的工具,可用于創(chuàng)建軟件定義汽車。 SODA V工具的開(kāi)發(fā)耗時(shí)1.5...

關(guān)鍵字: 汽車 人工智能 智能驅(qū)動(dòng) BSP

北京2024年8月28日 /美通社/ -- 越來(lái)越多用戶希望企業(yè)業(yè)務(wù)能7×24不間斷運(yùn)行,同時(shí)企業(yè)卻面臨越來(lái)越多業(yè)務(wù)中斷的風(fēng)險(xiǎn),如企業(yè)系統(tǒng)復(fù)雜性的增加,頻繁的功能更新和發(fā)布等。如何確保業(yè)務(wù)連續(xù)性,提升韌性,成...

關(guān)鍵字: 亞馬遜 解密 控制平面 BSP

8月30日消息,據(jù)媒體報(bào)道,騰訊和網(wǎng)易近期正在縮減他們對(duì)日本游戲市場(chǎng)的投資。

關(guān)鍵字: 騰訊 編碼器 CPU

8月28日消息,今天上午,2024中國(guó)國(guó)際大數(shù)據(jù)產(chǎn)業(yè)博覽會(huì)開(kāi)幕式在貴陽(yáng)舉行,華為董事、質(zhì)量流程IT總裁陶景文發(fā)表了演講。

關(guān)鍵字: 華為 12nm EDA 半導(dǎo)體

8月28日消息,在2024中國(guó)國(guó)際大數(shù)據(jù)產(chǎn)業(yè)博覽會(huì)上,華為常務(wù)董事、華為云CEO張平安發(fā)表演講稱,數(shù)字世界的話語(yǔ)權(quán)最終是由生態(tài)的繁榮決定的。

關(guān)鍵字: 華為 12nm 手機(jī) 衛(wèi)星通信

要點(diǎn): 有效應(yīng)對(duì)環(huán)境變化,經(jīng)營(yíng)業(yè)績(jī)穩(wěn)中有升 落實(shí)提質(zhì)增效舉措,毛利潤(rùn)率延續(xù)升勢(shì) 戰(zhàn)略布局成效顯著,戰(zhàn)新業(yè)務(wù)引領(lǐng)增長(zhǎng) 以科技創(chuàng)新為引領(lǐng),提升企業(yè)核心競(jìng)爭(zhēng)力 堅(jiān)持高質(zhì)量發(fā)展策略,塑強(qiáng)核心競(jìng)爭(zhēng)優(yōu)勢(shì)...

關(guān)鍵字: 通信 BSP 電信運(yùn)營(yíng)商 數(shù)字經(jīng)濟(jì)

北京2024年8月27日 /美通社/ -- 8月21日,由中央廣播電視總臺(tái)與中國(guó)電影電視技術(shù)學(xué)會(huì)聯(lián)合牽頭組建的NVI技術(shù)創(chuàng)新聯(lián)盟在BIRTV2024超高清全產(chǎn)業(yè)鏈發(fā)展研討會(huì)上宣布正式成立。 活動(dòng)現(xiàn)場(chǎng) NVI技術(shù)創(chuàng)新聯(lián)...

關(guān)鍵字: VI 傳輸協(xié)議 音頻 BSP

北京2024年8月27日 /美通社/ -- 在8月23日舉辦的2024年長(zhǎng)三角生態(tài)綠色一體化發(fā)展示范區(qū)聯(lián)合招商會(huì)上,軟通動(dòng)力信息技術(shù)(集團(tuán))股份有限公司(以下簡(jiǎn)稱"軟通動(dòng)力")與長(zhǎng)三角投資(上海)有限...

關(guān)鍵字: BSP 信息技術(shù)
關(guān)閉
關(guān)閉