新聞中心

        EEPW首頁 > 網絡與存儲 > 設計應用 > 片上PowerPC在VxWorks下的UDP千兆網通信

        片上PowerPC在VxWorks下的UDP千兆網通信

        作者:中國科學院光電技術研究所 張峰 任國強 時間:2008-06-10 來源:單片機與嵌入式系統應用 收藏

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

        本文引用地址:http://www.104case.com/article/83944.htm

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

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

          Virtex4中嵌入的Ethernet MAC硬核主要特點:

          ◆支持半雙工和(或)全雙工操作;

          ◆設計符合IEEE 802.3-2002標準;

          ◆支持3種操作模式:1 Gb/s、100 Mb/s、10 Mb/s;

          ◆支持MII、GMII、RGMII、SGMII通信方式;

          ◆為不限長度的VLAN幀和JUMBO幀提供技術支持;

          ◆提供了可選的網絡管理特性,包括基于每個分組的統計數據矢量和流程控制。

          通過一個與處理器無關的接口,可以對TEMAC核進行配置和監控,其為用戶選擇適合其應用的理想處理器提供了附加的靈活性。

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

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

          2 下BSP的移植

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

          ◆單板硬件初始化,主要是CPU的初始化,為整個軟件系統提供底層硬件支持;

          ◆為操作系統提供設備驅動和系統中斷服務程序;

          ◆定制操作系統的功能,為軟件系統提供一個實時多任務的運行環境;

          ◆初始化操作系統,為操作系統的正常運行做準備。

          在嵌入式系統設計中,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,還必須要做以下幾項工作:

          ①修改config.h和Makefile中的RAM、ROM地址及串口速率;

          ②修改sysSerial.c,對串口進行正確的設置;

          ③增加不能與VxWorks無縫集成的器件的驅動文件,關鍵性中斷、GPIO接口等;

          ④配置sysNet.c中的以太網參數,設置MAC地址;

          ⑤根據EDK中的配置,禁止或使能Cache;


        上一頁 1 2 下一頁

        評論


        相關推薦

        技術專區

        關閉
        主站蜘蛛池模板: 乌苏市| 昔阳县| 德格县| 乌拉特后旗| 灌云县| 盐山县| 新泰市| 商洛市| 灵宝市| 来安县| 广水市| 沙坪坝区| 霍山县| 巫山县| 旺苍县| 隆昌县| 蓝山县| 武陟县| 广昌县| 兴化市| 营口市| 尚志市| 长春市| 林西县| 高淳县| 肥乡县| 镇宁| 和平县| 乌兰浩特市| 定兴县| 南岸区| 南安市| 佛坪县| 德惠市| 石阡县| 邮箱| 华容县| 九龙城区| 黑河市| 惠来县| 隆昌县|