• <li id="00i08"><input id="00i08"></input></li>
  • <sup id="00i08"><tbody id="00i08"></tbody></sup>
    <abbr id="00i08"></abbr>
  • 新聞中心

    EEPW首頁 > 手機與無線通信 > 設計應用 > 串行 RapidIO: 高性能嵌入式互連技術

    串行 RapidIO: 高性能嵌入式互連技術

    作者: 時間:2010-02-24 來源:網絡 收藏

    為了滿足靈活性和可擴展性的要求,協議分為三層:邏輯層、傳輸層和物理層。圖2說明了協議的分層結構。

    圖2 協議分層結構

    邏輯層定義了操作協議; 傳輸層定義了包交換、路由和尋址機制;物理層定義了電氣特性、鏈路控制和糾錯重傳等。

    象以太網一樣,RapidIO也是基于包交換的互連。如圖3所示,RapidIO包由包頭、可選的載荷數據和16bits CRC校驗組成。包頭的長度因為包類型不同可能是十幾到二十幾個字節。每包的載荷數據長度不超過256字節,這有利于減少傳輸時延,簡化硬件實現。

    圖3 RapidIO包格式

    上述包格式定義兼顧了包效率及組包/解包的簡單性。RapidIO交換器件僅需解析前后16bits,以及源/目地器件ID,這簡化了交換器件的實現。
    邏輯層協議

    邏輯層定義了操作協議和相應的包格式。RapidIO支持的邏輯層業務主要是:直接IO/DMA (Direct IO/Direct Memory Access)和消息傳遞(Message Passing)。

    直接IO/DMA模式是最簡單實用的傳輸方式,其前提是主設備知道被訪問端的存儲器映射。在這種模式下,主設備可以直接讀寫從設備的存儲器。直接 IO/DMA在被訪問端的功能往往完全由硬件實現,所以被訪問的器件不會有任何軟件負擔。從功能上講,這一特點和DSP的傳統的主機接口 (HPI, Host Port Interface)類似。但和HPI口相比,SRIO(Serial RapidIO)帶寬大,管腳少,傳輸方式更靈活。

    對上層應用來說,發起直接IO/DMA傳輸主要需提供以下參數:目地器件ID、數據長度、數據在目地器件存儲器中的地址。

    直接IO/DMA模式又可進一步分為以下幾種傳輸格式:

    1. NWRITE: 寫操作,不要求接收端響應。
    2. NWRITE_R: 帶響應的NWRITE(NWRITE with Response),要求接收端響應。
    3. SWRITE:流寫(Stream Write),數據長度必須是8字節的整數倍,不要求接收端響應。
    4. NREAD: 讀操作。

    SWRITE是最高效的傳輸格式;帶響應的寫操作或讀操作效率則較低,一般只能達到不帶響應的傳輸的效率的一半。
    消息傳遞(Message Passing)模式則類似于以太網的傳輸方式,它不要求主設備知道被訪問設備的存儲器狀況。數據在被訪問設備中的位置則由郵箱號(類似于以太網協議中的端口號)確定。從設備根據接收到的包的郵箱號把數據保存到對應的緩沖區,這一過程往往無法完全由硬件實現,而需要軟件協助,所以會帶來一些軟件負擔。
    對上層應用來說,發起消息傳遞主要需提供以下參數:目地器件ID、數據長度、郵箱號。

    表2比較了直接IO/DMA和消息傳遞模式。
    表2 直接IO/DMA和消息傳遞的對比
    直接IO/DMA 消息傳遞
    主機可直接訪問從機存儲器? 可以 不可以
    主機需要知道從機存儲器映射? 需要 不需要
    數據尋址方式 存儲器地址 郵箱號
    支持的數據訪問方式 讀/寫 寫
    從機軟件負擔 無 有
    傳輸層協議

    RapidIO是基于包交換的互連,傳輸層定義了包交換的路由和尋址機制。

    linux操作系統文章專題:linux操作系統詳解(linux不再難懂)


    評論


    相關推薦

    技術專區

    關閉
    主站蜘蛛池模板: 焦作市| 泰顺县| 墨江| 肥西县| 墨竹工卡县| 平罗县| 布尔津县| 绵竹市| 麻城市| 五家渠市| 来凤县| 桐城市| 固阳县| 万载县| 西昌市| 华容县| 诸城市| 陵川县| 韩城市| 屯昌县| 新干县| 伊春市| 吴川市| 青田县| 六枝特区| 伊宁市| 应城市| 乐昌市| 汨罗市| 荔浦县| 敦煌市| 纳雍县| 五莲县| 乐昌市| 易门县| 新巴尔虎左旗| 曲水县| 阿拉善左旗| 宿松县| 墨竹工卡县| 辽宁省|