• 
    

    
    

      99热精品在线国产_美女午夜性视频免费_国产精品国产高清国产av_av欧美777_自拍偷自拍亚洲精品老妇_亚洲熟女精品中文字幕_www日本黄色视频网_国产精品野战在线观看

      ?

      基于DPAA網(wǎng)卡設(shè)備在VxWorks7.0操作系統(tǒng)中的驅(qū)動(dòng)架構(gòu)研究與實(shí)現(xiàn)

      2021-09-22 02:14:49易榮武
      科技研究 2021年22期
      關(guān)鍵詞:網(wǎng)卡隊(duì)列數(shù)據(jù)包

      摘要:恩智浦的QorIQ系列在網(wǎng)絡(luò)通信中采用高性能數(shù)據(jù)通道加速結(jié)構(gòu)(Data Path Acceleration Architecture簡(jiǎn)稱(chēng)DPAA),相比傳統(tǒng)的網(wǎng)卡,DPAA網(wǎng)卡的結(jié)構(gòu)更為復(fù)雜,主要在數(shù)據(jù)分發(fā)、隊(duì)列擁塞管理和內(nèi)容加速處理方面減少CPU開(kāi)銷(xiāo),以提升性能。本文介紹了基于DPAA的網(wǎng)卡在VxWorks7.0操作系統(tǒng)中的驅(qū)動(dòng)架構(gòu)及開(kāi)發(fā)流程。

      關(guān)鍵詞:DPAA;驅(qū)動(dòng);VxWorks7.0

      引言:VxWorks是較為常用的嵌入式硬實(shí)時(shí)操作系統(tǒng),在航天航空、國(guó)防軍工、工業(yè)控制、軌道交通等領(lǐng)域應(yīng)用廣泛,目前最新的操作系統(tǒng)平臺(tái)已是VxWorks7.0。傳統(tǒng)的網(wǎng)卡驅(qū)動(dòng)主要采用在內(nèi)核態(tài)收發(fā)包的模式,然后交給內(nèi)核協(xié)議棧處理,效率低,無(wú)法滿足高速傳輸?shù)男枨蟆6?DPAA 提供了一套硬件加速平臺(tái),主要包括三個(gè)模塊:BMan、QMan、FMan。通過(guò)這三個(gè)模塊能很好的決解包括處理器負(fù)載平衡、流順序維護(hù)和有效的緩存利用率等問(wèn)題[1]。

      1 DPAA概述

      DPAA的主要目的是在片上系統(tǒng)的 IO 部分內(nèi)提供智能處理,進(jìn)行路由和管理與流量相關(guān)的處理工作,以簡(jiǎn)化與多核相關(guān)的排序和負(fù)載平衡問(wèn)題處理。主要包括三個(gè)模塊:BMan(Buffer Manager)緩存管理、QMan(Queue Manager)隊(duì)列管理、FMan(Frame Manager)幀管理。

      1.1 BMan緩存管理

      BMan緩沖管理模塊的主要作用是把處于空閑狀態(tài)的內(nèi)存給集中的管理起來(lái),這樣來(lái)減少空閑緩沖區(qū)對(duì)軟件的開(kāi)銷(xiāo)。處理器核心、FMan、SEC(Security and Encryption Engine)、都可以直接從BMan中獲得緩沖區(qū),而不需要額外的軟件干預(yù),并且在緩沖區(qū)不使用時(shí)負(fù)責(zé)將緩存資源回收到緩沖池中。

      1.2 QMan隊(duì)列管理

      QMan隊(duì)列管理模塊為網(wǎng)絡(luò)接口硬件加速模塊,主要功能是提供多處理器內(nèi)核、網(wǎng)絡(luò)接口和硬件加速器之間的數(shù)據(jù)排隊(duì)機(jī)制,如擁塞管理、優(yōu)先級(jí)的排隊(duì)機(jī)制等。QMan操作的實(shí)體是幀描述符,幀描述符里保存了數(shù)據(jù)緩沖的地址,數(shù)據(jù)緩沖地址指向數(shù)據(jù)緩沖區(qū)的內(nèi)存地址。QMan管理的對(duì)象是數(shù)據(jù)包的指針而不是數(shù)據(jù)包本身。QMan會(huì)根據(jù)內(nèi)部局域優(yōu)先級(jí)的調(diào)度策略自動(dòng)為軟件入口選出合適的幀隊(duì)列進(jìn)行出隊(duì)操作。

      1.3 FMan幀管理

      FMan幀管理模塊負(fù)責(zé)處理DPAA發(fā)送和接收的網(wǎng)絡(luò)數(shù)據(jù)包。FMan在物理網(wǎng)卡收發(fā)數(shù)據(jù)時(shí),使用BMan提供的緩沖保存數(shù)據(jù),使用QMan的隊(duì)列機(jī)制對(duì)帶有數(shù)據(jù)的幀描述符進(jìn)行組織和管理。FMan在LS1046處理器的CCSR中有一定大小的配置空間,其中包括了緩沖管理模塊接口(BMI)寄存器組和幀隊(duì)列模塊接口(QMI)寄存器組,通過(guò)這些寄存器可以配置數(shù)據(jù)包在FMan內(nèi)部存儲(chǔ)空間與外部緩沖之間的傳輸,以及幀描述符的入隊(duì)和出隊(duì)。

      2 基于DPAA網(wǎng)卡在VxWorks7.0操作系統(tǒng)中的驅(qū)動(dòng)架構(gòu)和實(shí)現(xiàn)

      本文以NXP的LS1046處理器上的DPAA網(wǎng)卡為例,闡述在VxWorks7.0操作系統(tǒng)中是如何實(shí)現(xiàn)DPAA網(wǎng)卡驅(qū)動(dòng)的。整個(gè)驅(qū)動(dòng)架構(gòu)可以分為四個(gè)部分,設(shè)備樹(shù)文件配置、eEMAC控制器驅(qū)動(dòng)模塊、MDIO驅(qū)動(dòng)模塊以及PHY驅(qū)動(dòng)模塊,其中驅(qū)動(dòng)模塊采用VxWorks操作系統(tǒng)提供的VxBus架構(gòu),完成驅(qū)動(dòng)編寫(xiě)后包含對(duì)應(yīng)的驅(qū)動(dòng)組件,操作系統(tǒng)會(huì)自動(dòng)調(diào)用進(jìn)行網(wǎng)卡初始化工作。

      2.1 VxWorks7.0 VxBus驅(qū)動(dòng)架構(gòu)概述

      VxBus架構(gòu)是VxWorks操作系統(tǒng)廠商風(fēng)河公司開(kāi)發(fā)的一套設(shè)備驅(qū)動(dòng)程序架構(gòu),這種架構(gòu)包含對(duì)BSP的支持。VxBus在總線控制器驅(qū)動(dòng)程序服務(wù)的支持下,能在總線上發(fā)現(xiàn)設(shè)備,并執(zhí)行一些初始化工作,使驅(qū)動(dòng)與硬件設(shè)備之間正常的通訊[2]。

      2.2 設(shè)備樹(shù)配置

      在VxWorks7.0版本中,風(fēng)河公司首次引入了設(shè)備樹(shù)。設(shè)備樹(shù)是一種描述硬件信息的數(shù)據(jù)結(jié)構(gòu),通過(guò)在設(shè)備樹(shù)源文件中描述整個(gè)單板硬件信息,這樣就不再需要在操作系統(tǒng)中進(jìn)行大量的冗余編碼,簡(jiǎn)化了板級(jí)支持包(BSP)開(kāi)發(fā)流程。所以首先需要在LS1046處理器的BSP中進(jìn)行設(shè)備樹(shù)配置。有三個(gè)層面的配置,分別是BMan配置、Qman配置和FMan配置,其中FMan配置又包括MDIO配置、MAC控制器配置,其中MDIO配置又包括對(duì)PHY的配置。

      2.3 eEMAC控制器驅(qū)動(dòng)模塊

      此驅(qū)動(dòng)模塊實(shí)現(xiàn)與CPU的MAC控制器以及網(wǎng)絡(luò)協(xié)議棧的MUX層對(duì)接,同時(shí)對(duì)BMan和QMan進(jìn)行初始化。此驅(qū)動(dòng)模塊還負(fù)責(zé)MAC控制器與PHY芯片之間通過(guò)MII(Media Independent Interface)總線進(jìn)行數(shù)據(jù)收發(fā)。

      2.4 MDIO驅(qū)動(dòng)模塊

      此驅(qū)動(dòng)模塊實(shí)現(xiàn)對(duì)mEMAC網(wǎng)絡(luò)控制器上的MDIO接口進(jìn)行支持,主要是用于在多個(gè)內(nèi)核之間共享對(duì)MDIO端口的訪問(wèn)。在驅(qū)動(dòng)中會(huì)對(duì)掛載在MAC控制器上的PHY設(shè)備進(jìn)行掃描和配置,并提供對(duì)PHY芯片寄存器讀寫(xiě)接口。

      2.5 PHY驅(qū)動(dòng)模塊

      此驅(qū)動(dòng)模塊的主要功能是對(duì)PHY芯片進(jìn)行配置,并提供初始化物理層、設(shè)置媒體模式、檢查當(dāng)前媒體模式和鏈路狀態(tài)等方法。

      結(jié)論:本文主要介紹了DPAA的組成模塊及基本功能,對(duì)基于DPAA的網(wǎng)卡在VxWorks7.0操作系統(tǒng)上的驅(qū)動(dòng)架構(gòu)進(jìn)行了研究,并闡述了驅(qū)動(dòng)開(kāi)發(fā)的方法及步驟。完成驅(qū)動(dòng)設(shè)計(jì)后,在NXP的LS1046參考板上進(jìn)行可測(cè)試驗(yàn)證,使用網(wǎng)絡(luò)分析儀連接DPAA網(wǎng)卡,對(duì)網(wǎng)口的基本功能、傳輸速率進(jìn)行測(cè)試。測(cè)試結(jié)果表明,基于DPAA的網(wǎng)卡性能優(yōu)于普通的網(wǎng)卡,建議進(jìn)一步推廣使用。

      參考文獻(xiàn):

      [1]高曉成,吳耀云,王樹(shù)朋,等.DPAA技術(shù)在單脈沖處理中的應(yīng)用[J].電子信息對(duì)抗技術(shù),2019,34(02):23-27.

      [2]向昱丞,周加誼.淺談VxBus的設(shè)備驅(qū)動(dòng)開(kāi)發(fā)[J].機(jī)電產(chǎn)品開(kāi)發(fā)與創(chuàng)新,2016,29(002):57-58.

      作者簡(jiǎn)介:易榮武;男;1988.3;湖南武岡;漢;碩士研究生;工程師;嵌入式軟件開(kāi)發(fā)

      猜你喜歡
      網(wǎng)卡隊(duì)列數(shù)據(jù)包
      在DDS 中間件上實(shí)現(xiàn)雙冗余網(wǎng)卡切換的方法
      隊(duì)列里的小秘密
      基于多隊(duì)列切換的SDN擁塞控制*
      軟件(2020年3期)2020-04-20 00:58:44
      Server 2016網(wǎng)卡組合模式
      在隊(duì)列里
      SmartSniff
      豐田加速駛?cè)胱詣?dòng)駕駛隊(duì)列
      挑戰(zhàn)Killer網(wǎng)卡Realtek網(wǎng)游專(zhuān)用Dragon網(wǎng)卡
      基于Libpcap的網(wǎng)絡(luò)數(shù)據(jù)包捕獲器的設(shè)計(jì)與實(shí)現(xiàn)
      視覺(jué)注意的數(shù)據(jù)包優(yōu)先級(jí)排序策略研究
      绥阳县| 张家界市| 张掖市| 平塘县| 科技| 桃园市| 岱山县| 岐山县| 安西县| 开阳县| 洛隆县| 陇南市| 交口县| 浠水县| 邛崃市| 灵川县| 临夏县| 镇平县| 六枝特区| 红原县| 大渡口区| 巴中市| 吉水县| 肥东县| 沧州市| 青田县| 马关县| 铅山县| 怀仁县| 平果县| 新兴县| 扶沟县| 常宁市| 孟津县| 浙江省| 遂溪县| 松阳县| 尉氏县| 江陵县| 平陆县| 古蔺县|