• <tr id="yyy80"></tr>
  • <sup id="yyy80"></sup>
  • <tfoot id="yyy80"><noscript id="yyy80"></noscript></tfoot>
  • 99热精品在线国产_美女午夜性视频免费_国产精品国产高清国产av_av欧美777_自拍偷自拍亚洲精品老妇_亚洲熟女精品中文字幕_www日本黄色视频网_国产精品野战在线观看 ?

    VxWorks下串行RapidIO總線驅(qū)動(dòng)的實(shí)現(xiàn)

    2015-01-27 01:30:34璐,龔
    關(guān)鍵詞:枚舉端點(diǎn)數(shù)據(jù)包

    王 璐,龔 俊

    (中國兵器工業(yè)第五八研究所,四川 綿陽 621000)

    0 引言

    隨著高性能嵌入式系統(tǒng)的不斷發(fā)展,數(shù)據(jù)傳輸能力和信號(hào)處理能力也在不斷的提高。但與處理器內(nèi)核性能的增長速率相比,總線頻率的提升仍然滯后,且兩者之間的差距在不斷擴(kuò)大。處理器性能的提升已無法滿足處理器間或處理器與外設(shè)間高速通信的需求。因此,需要新興的高性能總線互連技術(shù)來滿足系統(tǒng)互連通信的更高要求[1]。

    RapidIO 是新一代高速互連技術(shù),已于2004 年被國際標(biāo)注化組織(ISO)和國際電工協(xié)會(huì)(IEC)批準(zhǔn)為ISO/IEC DIS 18372 標(biāo)準(zhǔn)。RapidIO 技術(shù)主要面向高性能嵌入式系統(tǒng)的互連通信,可在4 對(duì)差分線上實(shí)現(xiàn)10Gbps 的有效傳輸速率,而且具有比萬兆以太網(wǎng)、PCI express 更高的傳輸速率[2]。RapidIO 互連定義包括兩類技術(shù):一類是面向高性能微處理器及系統(tǒng)互連的并行接口;另一類是面向串行背板、DSP 和相關(guān)串行控制平面應(yīng)用的串行接口。

    1 RapidIO 互連技術(shù)簡介

    RapidIO 采用三層分級(jí)體系結(jié)構(gòu),即邏輯層、傳輸層和物理層:①邏輯層:最高層,定義了全部協(xié)議和包的格式,為端點(diǎn)器件發(fā)起和完成事務(wù)提供必要的信息;②傳輸層:中間層,定義了交換器件如何將傳輸?shù)臄?shù)據(jù)包路由到目標(biāo)器件,即定義了設(shè)備ID 路由方法;③物理層:最底層,定義了相鄰處理單元之間的電氣連接,描述器件級(jí)接口規(guī)范。例如:包傳輸機(jī)制、流量控制、電氣特性和低級(jí)錯(cuò)誤管理等內(nèi)容[3]。分層結(jié)構(gòu)如圖1 所示。

    串行RapidIO 的傳輸操作基于請(qǐng)求和響應(yīng),數(shù)據(jù)包(packet)是消息傳遞的基本通信單元。RapidIO 系統(tǒng)一般由端點(diǎn)器件和交換器件組成,每個(gè)器件由唯一的設(shè)備ID標(biāo)識(shí)。端點(diǎn)器件產(chǎn)生或接收數(shù)據(jù)包,交換器件實(shí)現(xiàn)數(shù)據(jù)包在各端點(diǎn)間的路由和傳遞,不對(duì)數(shù)據(jù)包做解析。圖2是傳輸操作的流程圖。首先由發(fā)起器件產(chǎn)生一個(gè)傳輸請(qǐng)求,請(qǐng)求包被傳輸?shù)较噜彽慕粨Q器件,通過交換器件這個(gè)請(qǐng)求包被完整的轉(zhuǎn)發(fā)到目標(biāo)器件。目標(biāo)器件根據(jù)請(qǐng)求完成相應(yīng)操作后,發(fā)送相應(yīng)的響應(yīng)包,經(jīng)過交換器件傳回到發(fā)起器件。至此一個(gè)完整的傳輸過程完成。

    圖1 RapidIO 體系結(jié)構(gòu)圖Fig.1 Structure diagram of RapidIO system

    圖2 RapidIO 傳輸操作流程圖Fig.2 Flow chart of RapidIO transmission

    2 RapidIO 互連系統(tǒng)平臺(tái)簡介

    RapidIO 互連系統(tǒng)采用Freescale 公司的MPC8548 處理器作為端點(diǎn)器件,一端設(shè)置為主設(shè)備,另一端設(shè)置為從設(shè)備。采用IDT 公司的Tsi578 芯片作為交換器件,使能其中兩個(gè)端口并設(shè)置為1×模式,波特率為3.125 Gbps。RapidIO 硬件平臺(tái)互連示意圖如圖3 所示。

    圖3 硬件平臺(tái)互聯(lián)圖Fig.3 Interconnection diagram of hardware platform

    MPC8548 處理器內(nèi)部具有PowerPC e500 的內(nèi)核以及CPM 通信處理模塊,內(nèi)部的時(shí)鐘頻率為1GHz。除此之外,還集成了RapidIO 控制器,其中1×/4×串行通道的傳輸速率可配置為1.25Gbps、2.5Gbps 或3.125Gbps,消息單元支持存儲(chǔ)地址寄存器最大長度4KB 的消息[4]。

    Tsi578 芯片是Tundra 公司推出的RapidIO 交換產(chǎn)品,后并入IDT 公司,該芯片基于RapidIO 1.3 規(guī)范,共有16 路串行通道,可以靈活配置為8×4 或16×1 的端口工作方式,端口數(shù)最多可以配置為16 個(gè),芯片內(nèi)部交換帶寬達(dá)到80Gbps,提供無阻塞的全雙工交換能力。高性能的SerDes 通道可以實(shí)現(xiàn)單路1.25Gbps、2.5Gbps或3.125Gbps 的傳輸速率[5]。

    本系統(tǒng)軟件采用VxWorks 嵌入式實(shí)時(shí)操作系統(tǒng)[6],由windRiver 公司研制,使用wind 內(nèi)核,具有高效的實(shí)時(shí)任務(wù)調(diào)度、中斷管理、實(shí)時(shí)的系統(tǒng)資源和任務(wù)通信等功能,內(nèi)核精簡并且可高度裁剪、高效、穩(wěn)定并具有良好的可移植性,專門用于對(duì)實(shí)時(shí)性要求較高的硬件設(shè)備。

    3 RapidIO 總線驅(qū)動(dòng)的設(shè)計(jì)與實(shí)現(xiàn)

    RapidIO 總線驅(qū)動(dòng)包含:本地設(shè)備初始化、網(wǎng)絡(luò)配置、消息傳遞這三個(gè)部分基本功能。

    3.1 本地設(shè)備初始化

    本地設(shè)備初始化首先要初始化MPC8548 處理器內(nèi)部的RapidIO 控制器和使能端口,這是進(jìn)行RapidIO 通信的基礎(chǔ)。其次要配置TLB 表,申請(qǐng)本地設(shè)備地址空間。最后要?jiǎng)?chuàng)建維護(hù)窗口,用以完成維護(hù)讀/寫操作。其中,維護(hù)窗口的建立及維護(hù)讀/寫函數(shù)實(shí)現(xiàn)如下:

    (1)建立維護(hù)窗口:

    STATUS rioSetupMaintenanceWindow (UINT32 rioBase,UINT16 deviceID,UINT8 hopCount,UINT32 offset, UINT32 window);

    (2)維護(hù)讀操作:

    STATUS rioMaintenanceRead(UINT16 targetId, UINT8 hopCount,UINT32 offset,UINT32 *data, UINT32 window);

    (3)維護(hù)寫操作:

    STATUS rioMaintenanceWrite(UINT16 targetId, UINT8 hopCount,UINT32 offset,UINT32 data, UINT32 window);

    3.2 網(wǎng)絡(luò)枚舉與配置

    網(wǎng)絡(luò)枚舉與配置包含了枚舉網(wǎng)絡(luò)設(shè)備、分配設(shè)備ID、維護(hù)路由表以及地址空間映射等主要功能。

    端點(diǎn)器件(主設(shè)備)在完成本地初始化后,要進(jìn)行RapidIO 網(wǎng)絡(luò)的枚舉與配置。需要查找與之相連的端點(diǎn)器件(從設(shè)備),并通過讀取制造商ID 判斷是端點(diǎn)器件或交換器件。若為端點(diǎn)器件,首先要鎖定此設(shè)備,表明主設(shè)備即將要對(duì)它進(jìn)行配置;其次要將此從設(shè)備ID 由0xFF 更新為RapidIO 網(wǎng)絡(luò)設(shè)備ID 編號(hào);再次要更新路由表,指明主設(shè)備通過交換器件到該從設(shè)備的路徑;最后要進(jìn)行地址空間映射,為主設(shè)備訪問該從設(shè)備做好準(zhǔn)備。主要枚舉和配置流程如圖4 所示。

    路由表維護(hù)函數(shù)實(shí)現(xiàn)如下:

    圖4 枚舉與配置流程圖Fig.4 Flow chart of enumerate & configuration device

    (1)添加路由項(xiàng):

    STATUS rioAddRouteEntry ( UINT16 targetId, UINT8 hopCount ,UINT16 routeDestid, UINT8 routePort) ;

    (2)獲取路由項(xiàng):

    STATUS rioGetRouteEntry ( UINT16 targetId, UINT8 hopCount ,UINT16 routeDestid, UINT8 *routePort);

    3.3 消息傳遞

    RapidIO 的消息傳遞方式主要有Doorbell、Message、Nread 和Nwrite 等方式。軟件中主要使用的函數(shù)實(shí)現(xiàn)如下:

    (1)Doorbell 方式。Doorbell 消息傳遞方式適合傳遞8bit 或者16bit 的短消息,主要用于處理器間的中斷。

    UINT32 rioSendDoorbell (UINT16 localPort, UINT16 destId, UINT16 data);

    (2)Message 方式。Message 方式最多可傳輸4096 字節(jié)數(shù)據(jù)。這種消息傳遞方式類似于以太網(wǎng)的傳輸方式,主設(shè)備不需要知道從設(shè)備的存儲(chǔ)器狀況,數(shù)據(jù)存放的位置由destId 決定的郵箱號(hào)確定。郵箱號(hào)類似于以太網(wǎng)協(xié)議中的端口號(hào)。

    UINT32 rioSendMessage(UINT16 mbox, UINT32 destId,void *buffer, UINT32 len);

    UINT32 rioReceiveMessage(UINT16 mbox, void *buf,UINT32 len);

    (3)Nread 和Nwrite 方式。此種方式可直接讀寫從設(shè)備的存儲(chǔ)器。數(shù)據(jù)長度在1~256 字節(jié)之間,返回的數(shù)據(jù)應(yīng)進(jìn)行對(duì)齊限制。

    UINT32 rioDmaNread(UINT8 chan, UINT16 destId,UINT32 localAddr, UINT32 rioAddr, UINT32 byteCnt);

    UINT32rioDmaNwrite(UINT8 chan, UINT16 destId,UINT32localAddr, UINT32rioAddr, UINT32byteCnt);

    4 性能測(cè)試

    在波特率為1.25Gbps、2.5Gbps 和3.125Gbps 時(shí),分別測(cè)算出帶寬及效率。帶寬的計(jì)算公式為:傳輸數(shù)據(jù)量/傳輸時(shí)間;效率的計(jì)算公式為:實(shí)際帶寬/理論帶寬。性能測(cè)試結(jié)果如表1 所示。

    表1 性能測(cè)試結(jié)果Tab.1Theresultofperformancetest

    5 結(jié)束語

    該RapidIO 總線驅(qū)動(dòng)采用采用VxWorks 嵌入式實(shí)時(shí)操作系統(tǒng),軟件設(shè)計(jì)采用模塊化設(shè)計(jì),提高了系統(tǒng)的可靠性和可維護(hù)性,具有高效的實(shí)時(shí)任務(wù)調(diào)度、中斷管理、實(shí)時(shí)的系統(tǒng)資源和任務(wù)通信等功能,內(nèi)核精簡并且可高度裁剪、高效、穩(wěn)定并具有良好的可移植性。性能測(cè)試表明,該系統(tǒng)滿足RapiIO 高速通信需求,達(dá)到了設(shè)計(jì)要求。

    [1]李鵬.基于RapidIO 的雙主機(jī)節(jié)點(diǎn)嵌入式系統(tǒng)互連設(shè)計(jì)[J].電子科技,2014,4.

    [2][美]Sam Fuller,等. RapidIO 嵌入式系統(tǒng)互連[M].電子工業(yè)出版社,2006.

    [3]張強(qiáng).串行RapidIO 互連系統(tǒng)的設(shè)計(jì)與實(shí)現(xiàn)[D].南京理工大學(xué),2013.

    [4]Freescale Semiconductor. MPC8641 and MPC8641D Integrated Host Processor Hardware Specifications[EB/OL]. http://www.freescale.com,2009/07/2.

    [5]Tundra Semiconductor Corporatiot. Tsi578TM Serial RapidlO Switch UserManual[EB/OL]. http://www.tundra.com, 2006/10/11.

    [6]Wind River Systems, Ine. VxWorks Device Driver Developer' S Guide,6.4,2006,9.

    [7]張娟,蘇海冰,吳欽章.基于多處理器的高速RapidIO[J].計(jì)算機(jī)工程,2014,9.

    猜你喜歡
    枚舉端點(diǎn)數(shù)據(jù)包
    非特征端點(diǎn)條件下PM函數(shù)的迭代根
    基于理解性教學(xué)的信息技術(shù)教學(xué)案例研究
    速讀·上旬(2022年2期)2022-04-10 16:42:14
    一種高效的概率圖上Top-K極大團(tuán)枚舉算法
    不等式求解過程中端點(diǎn)的確定
    SmartSniff
    參數(shù)型Marcinkiewicz積分算子及其交換子的加權(quán)端點(diǎn)估計(jì)
    基于太陽影子定位枚舉法模型的研究
    基丁能雖匹配延拓法LMD端點(diǎn)效應(yīng)處理
    基于Libpcap的網(wǎng)絡(luò)數(shù)據(jù)包捕獲器的設(shè)計(jì)與實(shí)現(xiàn)
    視覺注意的數(shù)據(jù)包優(yōu)先級(jí)排序策略研究
    郑州市| 平邑县| 井陉县| 安顺市| 安达市| 广饶县| 北辰区| 江川县| 香港 | 凯里市| 灵台县| 苗栗市| 自治县| 沧州市| 嘉义县| 得荣县| 盐山县| 衢州市| 磐安县| 巴林右旗| 绿春县| 丰城市| 喀喇沁旗| 福安市| 潮安县| 乐昌市| 沂源县| 九江市| 从化市| 曲水县| 德江县| 山阳县| 西宁市| 五常市| 济南市| 岐山县| 宜君县| 凭祥市| 淳安县| 容城县| 正安县|