• 
    

    
    

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

      基于VxWorks 系統(tǒng)下P2020 的PCIE 轉(zhuǎn)PCI 接口設(shè)計(jì)

      2021-04-30 07:25:14王琪鄧佳偉張梅娟
      電子設(shè)計(jì)工程 2021年7期
      關(guān)鍵詞:網(wǎng)卡鏈路總線

      王琪,鄧佳偉,張梅娟

      (中國電子科技集團(tuán)公司第五十八研究所,江蘇無錫 214062)

      隨著PCIE 總線技術(shù)的廣泛應(yīng)用,采用高速差分串行的方式進(jìn)行數(shù)據(jù)傳輸,具有高帶寬、高可靠性、高拓展性等優(yōu)點(diǎn)[1],其很好地彌補(bǔ)了PCI、PCI-X總線的不足。但許多應(yīng)用場景依然需要適配原有的PCI 設(shè)備,尤其在航天航空系統(tǒng)中設(shè)備更新速度慢,兼容性要求高,該現(xiàn)象更為突出[2]。為了兼容PCIE 總線與PCI 設(shè)備,推動了一系列PCIE 轉(zhuǎn)PCI 橋芯片的發(fā)展[3-5]。

      PowerPC 架構(gòu)處理器在嵌入式系統(tǒng)上表現(xiàn)非常優(yōu)秀,其具備良好的處理性能和豐富的通信接口,在航天航空系統(tǒng)中廣泛應(yīng)用。

      該方案采用FreeScale 公司的P2020 雙核嵌入式處理器,該處理器內(nèi)置兩個(gè)最高頻率可達(dá)1.2 GHz 的e500v2 內(nèi)核,支持64 KB 的L1Cache,支持512 KB 的L2Cache,支 持32/64-bit DDR2/DDR3,具 有 三 路1 000/100/10 Mb/s 以太網(wǎng)控制器,三路高速PCIE 控制器,兩路串行RapidIO 控制器。PCIE-PCI 轉(zhuǎn)換橋芯片采用PLX 公司的PEX8112 芯片。

      1 硬件設(shè)計(jì)方案

      1.1 PEX8112芯片介紹

      PEX8112 芯片是PLX 公司推出的一款PCIETO-PCI 轉(zhuǎn)換橋芯片,通過PCI 總線與PCIE×1 總線的轉(zhuǎn)換實(shí)現(xiàn)了兩者之間的透明傳輸[6-9]。該芯片支持8 KB 共享內(nèi)存,支持MSI 中斷,支持INTx 虛擬中斷,支持前向橋模式或后向橋模式,通過配置模塊可以分別實(shí)現(xiàn)PCIE-PCI 轉(zhuǎn)換或PCI-PCIE 轉(zhuǎn)換。

      該方案設(shè)計(jì)中采用PEX8112 橋片前向橋模式,將PCIE 信號轉(zhuǎn)換成PCI 信號,進(jìn)行數(shù)據(jù)傳輸[10]。

      PEX8112 橋片內(nèi)部結(jié)構(gòu)如圖1 所示。

      圖1 PEX8112橋片內(nèi)部結(jié)構(gòu)圖

      1.2 硬件系統(tǒng)框架介紹

      P2020 處理器使用一路高速PCIE 接口連接至PEX8112 轉(zhuǎn)換芯片,并將PEX8112 芯片設(shè)置成前向橋模式,完成PCIE-PCI 轉(zhuǎn)換。通過PEX8112 轉(zhuǎn)換芯片的PCI 接口連接Intel 82546 網(wǎng)卡,驗(yàn)證PCIE 轉(zhuǎn)PCI接口的數(shù)據(jù)通路。硬件系統(tǒng)框架中P2020 處理器為主控端,外部從設(shè)備Intel 82546 網(wǎng)卡為從設(shè)備。

      具體的硬件系統(tǒng)框架如圖2 所示。

      圖2 硬件系統(tǒng)框架圖

      2 軟件驅(qū)動開發(fā)

      2.1 操作系統(tǒng)概述

      VxWorks 操作系統(tǒng)具有卓越的實(shí)時(shí)性、良好的持續(xù)發(fā)展能力以及友好的用戶開發(fā)環(huán)境,在嵌入式實(shí)時(shí)操作系統(tǒng)領(lǐng)域占據(jù)重要地位[11],廣泛應(yīng)用在通信、軍事、航空、航天等高精尖技術(shù)及實(shí)時(shí)性要求極高的領(lǐng)域[12]。

      該方案采用VxWorks6.9 操作系統(tǒng),支持VxBus設(shè)備驅(qū)動程序框架。在VxBus 驅(qū)動程序框架的支持下,驅(qū)動能在總線上發(fā)現(xiàn)設(shè)備,并執(zhí)行初始化操作,使驅(qū)動與硬件設(shè)備之間正常通訊[13-15]。設(shè)備的驅(qū)動程序的安裝、配置和刪除都可以通過可視化界面操作。

      2.2 設(shè)備驅(qū)動設(shè)計(jì)

      VxBus 驅(qū)動開發(fā)由設(shè)備、驅(qū)動和實(shí)例3 個(gè)概念組成。設(shè)備表示硬件設(shè)備,驅(qū)動指編程代碼,實(shí)例則是設(shè)備和驅(qū)動的一種關(guān)聯(lián),一個(gè)驅(qū)動可以匹配一個(gè)或多個(gè)設(shè)備。設(shè)備驅(qū)動實(shí)例關(guān)系如圖3 所示。

      圖3 設(shè)備驅(qū)動實(shí)例關(guān)系

      在VxBus 框架下,系統(tǒng)中各個(gè)功能模塊通過總線進(jìn)行信息傳遞,每個(gè)設(shè)備都可以選擇合適的總線和主機(jī)相連,總線驅(qū)動通過不同的方法實(shí)現(xiàn)設(shè)備與驅(qū)動的匹配。具體配置方式如圖4 所示。

      圖4 VxBus設(shè)備配置方式

      基于VxBus 框架下PCIE 設(shè)備驅(qū)動開發(fā)主要包含設(shè)備初始化、設(shè)備驅(qū)動適配以及設(shè)備驅(qū)動組件添加。VxBus 驅(qū)動架構(gòu)的初始化流程主要在sysLib.c文件中實(shí)現(xiàn),首先通過sysHwinit() 函數(shù)調(diào)用hardWareInterFaceInit()函數(shù)完成VxBus 設(shè)備硬件內(nèi)存分配,接著調(diào)用hardWareInterFaceBusInit()函數(shù)完成VxBus 設(shè)備實(shí)例建立和驅(qū)動總線注冊,然后通過sysHwinit2() 函數(shù)調(diào)用vxbDevInit() 函數(shù)和vxDev Connect()函數(shù),調(diào)用注冊驅(qū)動driverNameInstConnect()函數(shù),完成VxBus 設(shè)備驅(qū)動的初始化。

      PCIE 設(shè)備的初始化過程中會調(diào)用m85xxPci.c 文件的vxbPciAutoConfig()函數(shù),完成對PCIE 鏈路的掃描和配置[16]。

      具體的PCIE 鏈路掃描和配置流程如圖3 所示。

      圖5 PCIE鏈路的掃描和配置過程

      首先根據(jù)PCIE 設(shè)備的配置信息,完成PCIE 控制器的基地址和地址空間的初始化。然后掃描PCIE 鏈路上的PCIE 設(shè)備,并判斷該設(shè)備類型。如果是bridge 設(shè)備,分配當(dāng)前bridge 設(shè)備的總線編號,使用Type 1 報(bào)文完成bridge 設(shè)備的配置,并重新進(jìn)行PCIE 鏈路掃描;如果是EP 設(shè)備,分配當(dāng)前EP 設(shè)備的總線編號,并獲取EP 設(shè)備的地址空間,使用Type 0報(bào)文完成EP 設(shè)備的配置,并更新PCIe 鏈路上最大的總線編號數(shù)值和bridge 設(shè)備的地址空間分配,最終完成PCIE 鏈路的掃描和配置過程。

      通過上述PCIE 鏈路的掃描和配置過程,完成PCIE控制器、PEX8112轉(zhuǎn)換橋片及Intel 82546的配置,通過標(biāo)準(zhǔn)的PCIE 接口函數(shù)就可以訪問到Intel 82546 網(wǎng)卡的相關(guān)信息。

      2.3 設(shè)備驅(qū)動實(shí)現(xiàn)

      基于VxBus 框架下PCIE 驅(qū)動開發(fā)需要添加“INCLUDE_PCI_BUS”、“DRV_PCIBUS_M85XX”、“IN CLUDE_PCI_BUS_AUTOCONF”和“INCLUDE_PCI_BUS_SHOW”組件[17]。在PCIE 設(shè)備的注冊過程中,注冊函數(shù)會通過hwConfig.c 文件中hcfResource[]和hcfDevice[]數(shù)組獲取PCIE 設(shè)備的配置信息,最終完成PCIE 設(shè)備的注冊。

      基于VxWorks6.9 操作系統(tǒng)中hcfResource[]數(shù)組的PCIE 控制器關(guān)鍵配置信息如下:

      m85xxPci0Resources 描述了PCIE 控制器在VxBus 中注冊的基本信息,其中包括設(shè)備號(VXB_DEVID_DEVICE)、總線類型(VXB_BUSID_PCI)、VxBus 版本、設(shè)備ID 和廠商ID 信息等。

      在hcfResource[]數(shù)組中主要完成了PCIE 控制器的基地址、PCIE 的內(nèi)存地址空間、PCIE 的I/O 地址空間、PCIE 的InBound 基地址和OutBound 窗口屬性,以及PCIE 控制器MSI 中斷使能的配置,從而實(shí)現(xiàn)對PCIE 控制器的驅(qū)動。

      針對Intel 82546 網(wǎng)卡驅(qū)動,需要在Workbench 3.3 軟件中添加”INCLUDE_GEI825XX_VXB_END”的配置選項(xiàng)[18-20],完成Intel 82546 網(wǎng)卡的驅(qū)動注冊,最終實(shí)現(xiàn)Intel 82546 網(wǎng)卡的數(shù)據(jù)收發(fā)。

      3 測試與驗(yàn)證

      基于VxWorks 操作系統(tǒng)對PCIE 轉(zhuǎn)PCI 接口進(jìn)行功能和性能測試,將專業(yè)網(wǎng)絡(luò)分析儀連接Intel 82546 網(wǎng)卡的網(wǎng)口進(jìn)行傳輸速率測試,測試的以太網(wǎng)幀長可選用不同長度(如:64 B、512 B、1 518 B 等),經(jīng)過長時(shí)測試,Intel 82546 以太網(wǎng)卡最大傳輸速率可達(dá)到1 Gb/s 理論數(shù)值,驗(yàn)證了基于P2020 的PCIE 轉(zhuǎn)PCI 接口傳輸滿足設(shè)計(jì)要求。

      具體測試結(jié)果如表1 所示。

      表1 不同以太網(wǎng)幀長度速率測試結(jié)果

      4 結(jié)束語

      該方案主要介紹了基于VxWorks6.9 系統(tǒng)下P2020 處理器PCIE 轉(zhuǎn)PCI 接口的傳輸設(shè)計(jì)與實(shí)現(xiàn),介紹了系統(tǒng)硬件設(shè)計(jì)方案,簡要概述了VxWorks 嵌入式操作系統(tǒng)的特點(diǎn),詳細(xì)介紹了基于VxBus 框架中設(shè)備驅(qū)動注冊方法和PCIE 鏈路的掃描和配置流程。最終通過Intel 82546 網(wǎng)卡對PCI 接口進(jìn)行功能和性能的測試,驗(yàn)證了基于P2020 與VxWorks 系統(tǒng)的PCIE-PCI 接口的數(shù)據(jù)通信的能力。

      猜你喜歡
      網(wǎng)卡鏈路總線
      家紡“全鏈路”升級
      在DDS 中間件上實(shí)現(xiàn)雙冗余網(wǎng)卡切換的方法
      天空地一體化網(wǎng)絡(luò)多中繼鏈路自適應(yīng)調(diào)度技術(shù)
      移動通信(2021年5期)2021-10-25 11:41:48
      Server 2016網(wǎng)卡組合模式
      基于PCI Express總線的xHC與FPGA的直接通信
      機(jī)載飛控1553B總線轉(zhuǎn)以太網(wǎng)總線設(shè)計(jì)
      挑戰(zhàn)Killer網(wǎng)卡Realtek網(wǎng)游專用Dragon網(wǎng)卡
      多通道ARINC429總線檢查儀
      基于3G的VPDN技術(shù)在高速公路備份鏈路中的應(yīng)用
      基于EtherCAT總線的ROV控制系統(tǒng)設(shè)計(jì)
      河南科技(2014年16期)2014-02-27 14:13:22
      永安市| 杂多县| 勐海县| 龙南县| 瓦房店市| 三门县| 江西省| 汤阴县| 开阳县| 青川县| 姚安县| 中江县| 仁寿县| 临汾市| 新沂市| 扎兰屯市| 手机| 宜宾县| 乌兰察布市| 海伦市| 固镇县| 卢龙县| 大埔区| 昭觉县| 龙山县| 兴安县| 湖北省| 南靖县| 本溪| 永德县| 龙泉市| 青州市| 焉耆| 金坛市| 临潭县| 社旗县| 张家口市| 县级市| 泰州市| 江北区| 汉源县|