国产日韩欧美一区二区三区三州_亚洲少妇熟女av_久久久久亚洲av国产精品_波多野结衣网站一区二区_亚洲欧美色片在线91_国产亚洲精品精品国产优播av_日本一区二区三区波多野结衣 _久久国产av不卡

?

基于VxWorks 系統(tǒng)下P2020 的PCIE 轉PCI 接口設計

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

王琪,鄧佳偉,張梅娟

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

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

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

該方案采用FreeScale 公司的P2020 雙核嵌入式處理器,該處理器內(nèi)置兩個最高頻率可達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 轉換橋芯片采用PLX 公司的PEX8112 芯片。

1 硬件設計方案

1.1 PEX8112芯片介紹

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

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

PEX8112 橋片內(nèi)部結構如圖1 所示。

圖1 PEX8112橋片內(nèi)部結構圖

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

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

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

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

2 軟件驅動開發(fā)

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

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

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

2.2 設備驅動設計

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

圖3 設備驅動實例關系

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

圖4 VxBus設備配置方式

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

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

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

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

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

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

2.3 設備驅動實現(xiàn)

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

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

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

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

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

3 測試與驗證

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

具體測試結果如表1 所示。

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

4 結束語

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

猜你喜歡
網(wǎng)卡鏈路總線
家紡“全鏈路”升級
在DDS 中間件上實現(xiàn)雙冗余網(wǎng)卡切換的方法
天空地一體化網(wǎng)絡多中繼鏈路自適應調(diào)度技術
移動通信(2021年5期)2021-10-25 11:41:48
Server 2016網(wǎng)卡組合模式
基于PCI Express總線的xHC與FPGA的直接通信
測控技術(2018年6期)2018-11-25 09:50:12
機載飛控1553B總線轉以太網(wǎng)總線設計
測控技術(2018年8期)2018-11-25 07:42:08
挑戰(zhàn)Killer網(wǎng)卡Realtek網(wǎng)游專用Dragon網(wǎng)卡
多通道ARINC429總線檢查儀
基于3G的VPDN技術在高速公路備份鏈路中的應用
基于EtherCAT總線的ROV控制系統(tǒng)設計
河南科技(2014年16期)2014-02-27 14:13:22
大邑县| 新闻| 盐亭县| 龙山县| 临安市| 三河市| 临邑县| 鄂温| 津南区| 汾阳市| 海盐县| 章丘市| 广丰县| 德安县| 遂昌县| 蒙山县| 临朐县| 高安市| 射阳县| 广西| 营山县| 兖州市| 抚宁县| 绵竹市| 象山县| 夏邑县| 隆德县| 新蔡县| 正宁县| 新干县| 宕昌县| 寻甸| 威海市| 奇台县| 法库县| 洛宁县| 咸宁市| 肇庆市| 上栗县| 蚌埠市| 德令哈市|