基于FPGA片上PowerPC在VxWorks下的千兆網通信
當前,SoC 向著面積更小,速度更高的方向發展,百兆網通信已不能滿足人們的生產和工作需要,用千兆網通信成為工作中迫切的要求,用FPGA實現千兆網的通信,有二種模式可以選擇,其一,編寫一個IP軟核,其二,用FPGA內嵌的MAC內核。方法一的靈活性大,但要實現并不容易,因此,賽靈公司將其歸為收費IP;方法二中的MAC的三態可配置特性為我們實現千兆網通信提供了可能,本文就是基于此內嵌的Ethernet MAC模塊,在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)初始化操作系統,為操作系統的正常運行做好準備。
評論