一种基于FPGA 的万兆以太网光传输系统
2019-08-15黄鹏飞熊先越中国电子科技集团公司第三十四研究所
黄鹏飞 熊先越 中国电子科技集团公司第三十四研究所
1 引言
现阶段对数据传输及交换的带宽需求越来越高,传统的SDH 和千兆以太网组网传输方式已不能满足需求。现根据项目的实际需要设计了一种设备,该设备可从4 路输入的5Gb/s 光信号中提取出需要的数据,按路由配置重新封装为万兆以太网格式并上光转发给后端机房,以实现信号的实时传输和分发共享。设备采用板卡式设计,各板卡的FPGA 统一选用Xilinx 公司的高端XC7K325T 可编程芯片。设备具体指标参数如下:
a)1 个4 路MPO 光输入接口,每路速率5Gb/s;
b)输入数据里共包含60 路宽带信号和128 路窄带信号,采用自定义数据包格式封装;
c)设备输出为48 路万兆网光信号;
d)从输入的数据流中提取出每个通道信号的原始数据,数据根据路由要求封装为万兆网数据包,然后通过光纤发送到后方台位的万兆网卡;
e)设备配备一个千兆电接口,用于数据的路由配置等工作模式。
2 总体设计
设备包括数据分发单元,网络发送单元和网络管理单元。数据分发单元接收到4 路5Gb/s 的高速数据后进行1:4 分发到4 个网络发送单元,每个网络发送单元对接收的4 路5Gbit/s 的高速数据进行数据解析、有效数据提取、按网管路由配置要求对有效数据进行10G万兆网数据封装,再进行接口匹配驱动后光传输到各台位。
3 详细设计
3.1 数据分发单元
数据分发单元为1 块独立板卡,采用40G QSFP 光模块接收4路850 光信号,4 路光信号经光/电转换后输入4 片1 分4 的专用时钟数据分发芯片ADCLK925,所产生16 路5Gb/s 数据通过背板分别往4 个网络单元分发。。
3.2 网络发送单元
本设备共有4 个网络发送单元,每个网络发送单元包括1 个数据解析单元,12 个数据发送单元,用以实现48 个万兆网接口设计。在1个数据发送单元内部包括数据配置、数据封装和10G MAC 接口部分。
3.2.1 数据解析单元
每个数据解析单元从背板接收4 路GTX 接收数据,并根据用户定义的帧格式解析出业务数据和相关信息,缓存至FPGA 片内FIFO,然后将这些业务数据整合为1 路并行码流并输送到FPGA 内部的数据总线上
数据总线包含总线数据有效、总线数据、总线数据字节使能、总线数据包长度、总线数据编号、当前数据包的目的IP 地址、当前数据包的目的端口号等数据成帧信息。详见表1:
表1 FPGA 内部数据总线
3.2.2 数据发送单元
数据发送单元负责将各个通道数据根据台位的配置要求通过万兆网口发送给后端各个台位。数据发送单元包括数据配置单元、数据封装单元和网络接口单元。每个网络发送单元包括12 个数据发送单元。
3.2.2.1 数据配置单元
每个数据配置单元从FPGA 内部的数据总线上提取出每个信号通道的采样数据包,根据台位数据申请指令对各路采样数据配置相应的编号、目的IP地址和目的端口号,完成数据的源标识和路由标识,然后将此信息附加在数据总线上一起送至数据封装单元。
3.2.2.2 数据封装单元
数据封装单元包含UDP 协议控制器模块、IP 协议控制器模块和以太网控制器模块,其中每个模块内部都有相应的数据处理控制器来控制数据的处理,以此来实现UDP_IP 协议栈中的各层协议的功能。各个模块彼此处理各自的数据,模块之间通过先进先出 FIFO队列来进行数据的接收和发送,以此来实现各个模块之间数据处理过程的相对独立,同时也便于优化结构设计以及出错查找。发送数据时,在UDP 协议控制器模块中,数据从应用层传输过来后先在重发队列里面复制一份用来作为重发的备份数据,接下来再进行 UDP 数据头的封装。封装好的数据再依次传入IP 协议控制器和以太网控制器,以完成数据帧格式的封装然后再发送到网络接口单元。
3.2.2.3 网络接口单元
网络接口单元完成光口模块驱动和万兆网络链路层(10G MAC)的工作,实现包括流量控制、CRC 校验等,本接口单元采用 XC7K325T 片内的MAC IP 和PCS/PMA IP 来实现上述功能。
MAC 模块从发送缓冲区读取准备发送的数据,根据802.3ae 以太网传输协议,对原始数据添加相应的字段,包括前导码、CRC(Cyclic RedundancyCode,循环冗余校验)校验和填充字段等,通过这些操作将源数据封装为以太网帧。根据以太网XGMII 接收的时序传输要求,将一帧数据发送给PCS/PMA 模块,然后经过光口模块的协议处理以及信号转换,数据即可在光纤中传输。与此同时,一帧数据实时的状态信息也会一并通过MAC 状态模块反馈给上层协议。
3.3 网络管理单元
网络管理单元负责与主机通信,完成主机控制指令的接收、设备状态信息的上报。同时管理设备上数据分发板卡和网络发送板卡。
a)实现数据的打标、数据包封装配置;
b)数据按编号从小到大的顺序封装;
c)支持设备的远程统一管理;
d)支持设备的入网登记、汇报;
e)支持设备自检、复位、恢复出厂设置。
4 硬件组成:主要由背板、电源板、数据分发板、网络发送板构成。
4 结束语
该系统通过使用高端FPGA 片内的万兆以太网IP,解决了多通道,超高速的数据的传输和组网问题。通过网管功能可以选择188 路业务数据中的任一路数据传输至后端48 台位中任一台位,系统操作方便灵活,提高了系统的传输效率和实用性。本系统已经成功应用于某大型无人值守项目中,实践证明系统设计合理.运行稳定可靠。