《電子技術應用》
您所在的位置:首頁 > 可編程邏輯 > 設計應用 > 基于FPGA片上PowerPC在VxWorks下的千兆網通信
基于FPGA片上PowerPC在VxWorks下的千兆網通信
摘要: 當前,SoC 向著面積更小,速度更高的方向發展,百兆網通信已不能滿足人們的生產和工作需要,用千兆網通信成為工作中迫切的要求,用FPGA實現千兆網的通信,有二種模式可以選擇,其一,編寫一個IP軟核,其二,用FPGA內嵌的MAC內核。方法一的靈活性大,但要實現并不容易,因此,賽靈公司將其歸為收費IP;方法二中的MAC的三態可配置特性為我們實現千兆網通信提供了可能,本文就是基于此內嵌的Ethernet MAC模塊,在VxWorks操作系統下成功實現了千兆網的通信。
關鍵詞: FPGA SOC Vxworks
Abstract:
Key words :

        當前,SoC" title="SoC">SoC 向著面積更小,速度更高的方向發展,百兆網通信已不能滿足人們的生產和工作需要,用千兆網通信成為工作中迫切的要求,用FPGA" title="FPGA">FPGA實現千兆網的通信,有二種模式可以選擇,其一,編寫一個IP軟核,其二,用FPGA內嵌的MAC內核。方法一的靈活性大,但要實現并不容易,因此,賽靈公司將其歸為收費IP;方法二中的MAC的三態可配置特性為我們實現千兆網通信提供了可能,本文就是基于此內嵌的Ethernet MAC模塊,在VxWorks" title="VxWorks">VxWorks操作系統下成功實現了千兆網的通信。

1 Virtex4 FX系列FPGA中內嵌的千兆通信硬核架構

        Virtex4 FX 系列FPGA中內嵌了多個用于千兆通信的硬核,以XC4VFX20為例,它通過一個主機接口連接了二個EMAC核。二個EMAC可以一起使用,也可以只使用其中的一個。

        Virtex4中嵌入的Ethernet MAC硬核主要有以下特點: 
         支持半雙工和/或全雙工操作
         設計符合IEEE 802.3-2002標準
         支持3種不同的操作模式:1 Gbps、100 Mbps、10Mbp 
         支持MII,GMII,RGMII,SGMII通信方式
         為不限長度的VLAN幀和JUMBO幀提供技術支持
         提供了可選的網絡管理特性,包括基于每個分組的統計數據矢量和流程控制
         可以通過一個與處理器無關的接口對TEMAC核進行配置和監控,其為用戶選擇適合其應用的理想處理器提供了附加的靈活性。

        在1Gigabit模式下,TEMAC支持千兆位級媒體獨立接口(GMII)和降低千兆位級媒體獨立接口(RGMII)。 GMII是一個運行速率為125 MHz的字節寬并行SDR接口,而RGMII是一個運行速率為25 MHz的半位元組款并行DDR接口,可以提供的總帶寬為1 Gbps。 而且,在100和10 Mbps模式下,TEMAC均支持MII接口。 MII接口是4-bit寬,在100MBps模式下其工作速率為25 MHz。 在10MBps模式下,MII接口的工作速率為2.5MHz。

        由于Virtex4中嵌入了Ethernet MAC硬核,同時,FX系列還嵌入了PowerPC,這樣,就可以用PowerPC控制Ethernet MAC實現千兆網的通信。

2 VxWorks下BSP的移植

        VxWorks操作系統是美國WindRiver公司于1983年設計開發的一種嵌入式實時操作系統(RTOS),它采用微內核的結構,具有支持多種處理器,豐富的網絡協議,良好的兼容性和裁減性等特點,同時具有程序動態鏈接和下載的功能。自從80年代問世以來,以其不斷推出的升級版本,高性能內核以及友好的用戶開發環境,在嵌入式實時操作系統領域逐漸占據一席之地,尤其以成功應用于火星探測車和愛國者導彈等高科技產品而聲名鵲起。VxWorks的板級支持包BSP(Board Support Package)是介于底層硬件和上層軟件之間的底層軟件開發包,它主要功能是為屏蔽硬件,提供操作系統的驅動,具體功能包括:

        1)單板硬件初始化,主要是CPU的初始化,為整個軟件系統提供底層硬件支持;
        2)為操作系統提供設備驅動程序和系統中斷服務程序;
        3)定制操作系統的功能,為軟件系統提供一個實時多任務的運行環境;
        4)初始化操作系統,為操作系統的正常運行做好準備。 

        而在嵌入式系統設計中,BSP的開發是一項非常復雜而繁瑣的工作 ,Xilinx公司提供的EDK套件,可以在很大程度上減輕開發者的工作。EDK中的BSP生成器(BSPgen)可以根據不同的微處理器、外設和RTOS組合自動產生用戶可裁剪的BSP。它包含了系統所必需的支持軟件,包括Boot代碼、設備驅動和RTOS的初始化。利用BSPgen可以把Xilinx器件驅動打包到BSP的子目錄下,并且把Xilinx器件驅動與VxWorks及其Tornado集成開發環境無縫集成,充分減少開發周期。

        但是,BSPgen生成的BSP只是一個固定的BSP模板,并不能正確的反應RAM/ROM的存儲器映射,不支持用戶通過BSPgen流程自定義的核/驅動等。因此還需要對BSPgen產生的BSP進行修改裁剪。

        對于BSP開發人員來講,借助EDK的BSPgen,還必要做以下幾項工作:
       1)修改config.h 和Makefile中的RAM,ROM地址及串口速率
       2)修改sysSerial.c,對串口進行正確的設置 
       3)增加不能與VxWorks無縫集成的器件的驅動文件
       4)配置sysNet.c中的以太網參數,設置MAC地址
       5)根據EDK中的配置,禁止或使能Cache 
       6)修改sysLib.c,以顯示正確的信息
       7)設置主機IP地址 

        經過以上修改之后,將新的BSP放在Tornado的安裝目錄Tornado_roottargetconfig下,根據這個BSP,在Tornado集成環境下生成一個新的VxWorks工程,然后就可以進行一般的嵌入式操作系統開發了。

        EDK中RAM和ROM的地址映射如下表所示:
        表一 RAM/ROM地址映射


        根據表一修改 makefile 和config.h里的地址。sysNet.c 中通過以下語句定義了網絡的MAC地址,必須根據真實的MAC地址進行修改,如本文的MAC地址:00:0A:35:01:88:25

         static char XEmacMacAddr0[6] = { 0x6, 0x5, 0x4, 0x3, 0x2, 0x1 }; //修改前
         static char XEmacMacAddr0[6] = { 0x00, 0x0A, 0x35, 0x01, 0x88, 0x25 }; //修改后

        sysSerial.c對串口進行初始化,因經要正確的指定串口ID,sysLib.c中可以顯示vxWorks鏡像的信息,因此也要進行相應的修改。

        通過對EDK下生成的BSP的修改,并在Tornado集成環境下生成正確的VxWorks鏡像后,可以將其下載到FPGA中。觀察串口的輸出是否正確,可以進行相應的調試工作,以確定BSP的移植是正確的。

此內容為AET網站原創,未經授權禁止轉載。
主站蜘蛛池模板: 香蕉在线精品视频在线观看2| 一本一道久久综合久久| 波多野结衣女教师6bd| 国产伦精品一区二区免费| 91九色在线播放| 嫩模bbw搡bbbb搡bbbb| 久久国产乱子伦精品免费强| 欧美日韩国产精品自在自线| 动漫人物差差差免费动漫在线观看| 高跟丝袜美女一级毛片| 国产综合久久久久| www.youjizz.com国产| 无翼少无翼恶女漫画全彩app| 亚洲六月丁香六月婷婷蜜芽| 男男动漫全程肉无删减彩漫| 国产乱子伦真实china| 亚洲情综合五月天| 国内精品九九久久久精品| 一本一本久久a久久精品综合麻豆 一本一本久久a久久精品综合麻豆 | 中文字幕在线视频免费观看| 最近在线2018视频免费观看| 亚洲精品国产专区91在线| 精品福利视频一区二区三区| 国产在线无码精品电影网| 最新精品亚洲成a人在线观看| 天天干天天操天天做| 中国speakingathome宾馆学生| 日本高清乱理伦片| 亚洲av无码片区一区二区三区 | 国产精品久久久福利| 99在线精品免费视频| 小少呦萝粉国产| 中文字幕欧美日韩高清| 日韩在线观看一区二区三区| 亚洲午夜久久久久久久久电影网 | 国产精品亚洲综合一区在线观看| a级国产精品片在线观看| 快穿之丁柔肉h暗卫温十三| 久久久久成人精品无码中文字幕 | 最新亚洲人成无码网站| 亚洲国产成人久久综合碰|