《利用FPGA实现千兆以太网业务在SDH上的封装和映射设计.docx》由会员分享,可在线阅读,更多相关《利用FPGA实现千兆以太网业务在SDH上的封装和映射设计.docx(4页珍藏版)》请在第一文库网上搜索。
1、利用FPGA实现千兆以太网业务在SDH上的封装和映射设计随着人们对数据业务需求的不断增长,以太网作为全世界应用最为广泛的网络通信技术之一,在全世界得到了大规模的普及。是电信部门常用的逋值传输设备,具有高可靠性和高安全性的特点。EOS(EthernetoverSDID技术即借现有的SDI1传输设备实现以太网业务的传输,具有非常重要的现实意义。基于以太网的七层架构,在第二层数据链路层传输的是以太网的MAC帧。由于以太网和SDH系统的传输速率不匹配,需要通过封装进行速率调整后才能映射到SDH的虚容器中。目前来讲,常用的是GFP(GenericFramingProcedure)封装。GE(千兆以太网)
2、信号在SDH系统中的映射可以分为相邻级联和虚级联两种模式。相邻级联是在整个传输过程中保持连续带宽,各个级联的VC是相邻的,在SDH网络系统中需要有能够进行相邻级联处理的中间设备,而虚级联的应用方式比较灵活,将连续带宽分解到多个VCS上传输,不一定相邻,在传输的终端再将多个VCS重新组合成连续带宽。因此,虚级联方式有效地节省了带宽,在系统中只需能够进行处理的终端设备即可。在实际使用中,这种方式的应用比较广泛。1FPGA收发模块设计本文实现的传输方式是在STM-16中传输1路GE信号,需要对以太网MAC帧进行GFP封装。GFP帧分为GFP-F和GFPT两种模式,本设计采用的是GFPY封装模式。ST
3、M-16的传输速率是2.48832Gb/soSTM-16一共包括16路STMT信号,STMT的传输速率是155.52Mbs0STMT信号采用虚级联方式,利用VC-4-XV(X=17)最多采用7路STM-I信号即可传输1路GE信号。剩余STM-I通道的信号用来传输其他数据业务。以太网数据在SDH设备中传输过程如下:在SDH发送部分中,以太网通过接口处理芯片产生MAC数据帧,通过GM11接口传送给FPGA。FPGA将MAC帧进行GFP协议的封装,然后映射到SDH的虚容器VC当中,再通过添加复用段和再生段开销,生成STM-16数据帧,发送给光模块再上到光网络;在SDH接收部分中,光接收模块从光网络将
4、STM-16数据帧接收F来发送给FPGA,FPGA在内部处理相关的开销,再将GFP数据帧从VC虚容器中提取出来,通过解帧处理,将以太网的MAC帧还原出来,经过处理后发送给以太网。FPGA的内部设计可以分成发送模块和接收模块两部分。其中,发送模块可以分为以太网数据接收预处理模块、GFP成帧模块、SDH成帧模块;接收模块可以分为SDH解帧模块、GFP解帧模块、以太网数据发送处理模块。发送和接收模块示意图分别如图1和图2所示。图1发送模块示意图发送部分的三个模块的功能分别如下:以太网数据接收处理模块利用FIFO缓存模块存储每一个有效MAC数据帧的数据和长度。同时实现数据从以太网时触域到SDH时钟域的
5、转换;GFP成帧模块对以太网MAC帧进行GFP封装,通过调整GFP数据帧和GFP空闲帧的插入,将以太网MAC帧映射到SDH的高阶VC-4虚容器中;SDH成帧模块对虚容器进一步处理,添加开销字段,生成STMT6数据帧,再利用FPGA内部的GTP接口将16位155.52MHz的并行数据转化为一路2488.32MHZ高速1VDS差分信号发送出去。接收部分实现的过程是发送部分的逆过程。GFP成帧模块分为GFP数据帧产生模块、空闲帧产生模块、插入帧选择模块、GFP扰码模块;GFP解帧模块分为GFP帧同步模块、GFP解扰模块、GFP接收帧处理模块。GFP数据帧产生模块在去掉MAC帧8B前导码后,将剩余部分
6、的数据封装为GFP数据帧。按照GFP协议添加4B的核心头部和4B的净负荷域头部,将非定长的以太网MAC帧添加到净负荷信息字段,在帧尾添加4B的净负荷帧校验序列(FCS)0空闲帧实际上属于GFP用户管理帧的一种,没有净负荷域,只包含一个GFP核心帧头,是4B的全0比特与序列“B6AB31E0”异或所得。插入帧选择模块根据流量情况调整数据帧和空闲帧的插入,在没有数据帧要发送时,插入空闲帧,以保证GFP数据流的连续性。在整个FPGA设计中,接收端的帧同步模块是比较重要的,它主要进行GFP帧的帧头搜索和同步保持处理。同步状态转移图如图3所示。无效帔头图3顿同步状态:为甯用一个状态机表示三种状态,即搜索
7、态、预同步态和同步态。在预同步状态和同步状态时都只取1帧进行状态跳转判断。状态机在FPGA初始化时默认处于搜索状态,然后在连续的GFP数据流中进行帧头的搜索判断,将连续的数据流在每个时钟周期按字节存入缓存器中,在每个时钟周期进行4B的扰码判断,即连续的4个字节与扰码序列“B6AB31E0”进行异或,得到的4B数据中前2个字节根据扰码多项式G(X)=X16+X12+X5+1生成2个字节的校验值,然后与后2个字节进行比较,如果一致则表示找到了帧头,进入到预同步态。在预同步态继续在一帧帧头的相应时刻进行帧头的判断,如果正确则跳转到同步态,否则重新跳转到搜索态,继续寻找帧头。如果进入到同步态,和预同步
8、态一样,也在一帧帧头的相应时刻进行判断,如果正确则继续保持在同步态,否则跳转到搜索态,重新在数据流中进行帧头的搜索。只有在处于同步状态时才能继续对数据进行后续处理。在SDH和GFP协议的成帧解帧里都要进行扰码和解扰处理。SDH的扰码多项式为G(x)=X7+X6+1,GFP对核心头部P11的扰码多项式为G(x)=X16+X12+X5+1,GFP净负荷域的扰码多项式为G(x)=x43+10这些扰码器都为串行扰码器,对于GE这种速率的数据如果也采用串行处理方式的话,FPGA内部是无法实现的。经过转换处理,可以将串行扰码器变为并行扰码器再进行扰码,即可降低处理速度,满足时序要求。2仿真综合及实现本设计
9、采用VHD1硬件描述语言,使用的是XI1INX公司带有高速SERDES接口的SPARTAN-6芯片,利用ISE12.1和仿真软件进行了综合和仿真。由于FPGA的内部资源较为丰富,本身自带的IP核具有可靠性、方便性和灵活性的特点。时钟部分使用了X1UNX芯片内部的匹M时钟管理模块,双端口RAM以及F1FO缓存器都使用了FPGA的内部IP核资源。高速数据接口部分使用的是芯片内部的GTP模块,去掉了外部高速接口转换芯片,简化了电路板的设计,不但提高了设计效率,也提高了系统设计的稳定性。图4和图5表示的是对EOS数据进行VC-4-7V虚级联后的部分时序仿真图。力mjwg4.,g*43,也4,/3J1U
10、43UMAAWo1E*M砧,,d.8j4K.”3XS3A*5.s.g39458a,6K*W04UWU.wrRg的触加,6mw6WM6U)81.图4中,data_frm_state信号表示的是帧同步状态机。在数据流中,状态机一开始处于hunt状态,一旦找到帧头,则进入到PreSynC状态;如果帧头检测没有错误,则继续跳转到SynC状态;如果帧头判断正确,那么状态机就一直保持在sync状态。图5中,s_datain信号表示的是解码前的数据,s_dataout信号表示的是根据扰码多项式G(x)=X43+1解扰后的数据。3结语综上所述,利用FPGA可以实现千兆以太网MAC帧在SDH数据帧中的封装和映射,配合外围接口电路的使用,可以实现GE在STMT6中的传输。EOS技术既增强了以太网传输的覆盖范围,也丰富了SDH设备的传输接口,极大地方便了用户的使用。同时,利用FPGA进行设计,大大缩短了开发的周期,也便于以后的升级和维护。