APP下载

基于FPGA的千兆以太网传输实现方案

2017-06-26唐清善李亚捷单威武

电子科技 2017年6期
关键词:报头传输速度状态机

陈 凯,唐清善,李亚捷,罗 振,黎 欢,单威武

(长沙理工大学 物理与电子科学学院,湖南 长沙 410004)



基于FPGA的千兆以太网传输实现方案

陈 凯,唐清善,李亚捷,罗 振,黎 欢,单威武

(长沙理工大学 物理与电子科学学院,湖南 长沙 410004)

为满足数据传输系统对远距离、大量数据、抗干扰性和可靠性的需求,提出了一种基于FPGA的千兆以太网传输以取代以往的百兆网传输方式,实现大数据的快速远距离传输。FPGA接收到数据后通过FIFO缓存,经过FPGA组帧后通过超五类双绞线传输。系统传输速度最高可达1 Gbit·s-1,硬件完成对数据的采集、校验和发送控制。经过仿真、调试、验证,系统数据流速度可以稳定在800 Mbit·s-1以上。

千兆以太网;物理层;MAC;UDP

随着电子技术的发展,系统设备正不断向小型化、集成化、网络化发展[1]。一方面随着网络带宽的增加和数据流量的扩大,无论帧速度还是分辨率都有了一定的提高,这就要求数据的传输也需要更高的带宽。另一方面,短距离的数据传输已经不能满足多项目的要求[2]。目前常用的数据传输方法是通过百兆网络进行数据传输,此方法由于带宽的限制,虽然能够完成数据的传输,但速度上已经难以满足需要[3]。针对上述问题,结合某光端机项目研发,提出了一种基于FPGA的千兆以太网传输系统具有一定应用价值。

1 系统总体设计与流程

1.1 系统总体设计

系统的总体设计满足以下要求:(1)系统支持RJ45接口的千兆以太网,采用IP/UDP网络协议进行数据传输;(2)数据位宽8位,支持预设MAC地址;(3)将PC发送来的数据重新组帧发回PC;(4)点对点数据通信。根据这些要求,设计千兆网系统如图1所示。

图1 系统总体结构图

1.2 系统工作流程

系统通过前导码判断并接收PC发送的数据,将去掉帧头的数据缓存到一个深度为2 048的FIFO中,FPGA对数据进行处理后通过超五类双绞线发送到PC端进行显示。

图2 各模块所处时钟域

系统工作流程如下:

(1)系统上电后完成一系列的初始化工作,PC端准备发送数据给系统;

(2)PC端发送来的数据进入FIFO1进行一个缓存,再通过FIFO1传递给FPGA;

(3)FPGA的接收模块从FIFO1中读取PC端发送来的数据,校验确认后将数据存入FPGA产生的FIFO2中做缓存处理;

(4)FPGA的发送模块从FIFO2中将缓存的数据取出,并对数据的结构做一定的处理,同时对数据进行编码,添加相应的包头信息;

(5)FPGA通过GMII协议同GPHY芯片通信,GPHY芯片将FPGA组帧好的数据流经RJ45以太网口,由超五类双绞线传递出去。

2 网络协议处理

千兆网技术是一种应用广泛的网络技术,目前已经成为主流的网络技术。千兆网的优势在于兼容原有以太网标准所规定的全部技术规范,又同时具有一些新的特性,如使用8B/10B编码解码方案、分组突发技术等,使得网络传输速度得到了大幅度的提高。要通过千兆以太网传输数据,涉及到开放系统互连模型(OSI)中的1~4层,分别是物理层、数据链路层、网络层和传输层。本文设计的数据传输系统的网络协议由FPGA实现,综合考虑实现的网络协议具有以下特点:(1)点对点通信。为实现千兆网络的数据传输,至少要使用到开放互联模型七层机构中的数据链路层和物理层,数据链路层负责帧的组装、传输、差错校验,物理层主要负责数据编码、状态监测等。由于系统实现的是点对点的数据传送,因此可以不考虑网络延迟堵塞可能引起的数据丢失和错误。又由于系统需要尽可能提高传输速率,因此无需选用复杂的可靠性高的协议,使用传输速度快的UDP协议即可;(2)简化接口信号。因为是点对点通信,因此可以简化一些不必要的信号接口,如冲突检测和载波监听信号;(3)通信双方信息确定。通信双方的MAC地址,IP地址,协议类型,端口号等都是事先固定的,直接封装在数据包中,这样做一方面可以简化系统设计协议的复杂度,另一方面也可以提高信息的可靠性和传输速度。系统采用的IP/UDP协议固定部分如表1所示。

系统采用Xilinx公司的ISE14.7软件开发,采用自顶向下的方法进行设计,使用Verilog HDL硬件描述语言编写各个功能模块。系统接收模块的状态机如图3所示。当系统接收到前导码后,接收目标MAC地址并判断该地址是否与系统预设的MAC地址一致,若一致则接收剩余的数据信息,进行下一步数据的处理;若不一致则回到状态机初始状态,等待接收前导码。

表1 IP/UDP协议固定部分

图3 接收模块状态机图

系统发送模块与系统接收模块原理基本相同,区别在于发送模块增加了组帧的工作,需要提前将通信双方事先约定的一些信息封装在IP包里,添加到裸数据的报头里发送出去,发送模块在系统检测到数据有效标志e_rxdv信息后开始工作,首先将按照IP报头的要求,依次发送前导码、目的MAC地址、源MAC地址、版本号报头长度等报头信息,接着从读取出FIFO中的数据进行发送,在发送完全部数据后最后再发送CRC32的值。系统发送模块的状态机如图4所示。系统使用的UDP协议模块用硬件描述语言封装后的RTL视图如图5所示。

图4 发送模块状态机图

图5 UDP协议模块RTL图

3 仿真与实验结果

所有模块设计均在Xilinx ISE14.7开发平台上进行,使用到的相关工具有仿真软件Isim和在线逻辑分析仪Chipscope。在仿真时,模拟PC端向FPGA发送数据,先发送数据传输请求前导码然后发送FPGA的MAC地址和PC端MAC地址,再发送其余的报头信息和数据。通过仿真软件Isim观察仿真信号结果如图6所示。观测到接收模块已经接收到的报头数据,与FPGA预设的MAC地址匹配,开始接收数据。

图6 接收模块仿真结果

发送模块在接收到数据传输有效标志位e_rxdv有效信号后开始准备发送报头信息和相关数据。仿真信号如图7所示,数据有效标志位e_rxdv由低变高,说明接收数据有效,发送模块将准备好的IP报头提取出来,准备向PC端进行数据发送。

ISE软件自带的在线逻辑分析仪Chipscope是Xilinx公司推出的一款在线调试工具,它可以使开发者不使用传统的逻辑分析仪来观察分析时序,而直接通过该软件观察到FPGA内部的信号位宽等关键信息,对系统整体调试有很大的帮助作用。使用在线逻辑分析仪Chipscope观察,采集到网口向PC端发送的报头数据前导码0X55、0Xd5,目标MAC,源MAC等与系统预设的数据完全一致,证明数据传输成功,FPGA系统在向PC端发送接收到的数据。

图8 Chipscope结果

图9 测试程序效果图

4 结束语

利用FPGA并行处理的优势和千兆网在数据传输中的速度优势,设计了基于FPGA的千兆网络数据传输系统,实现了点对点的千兆网络传输系统,解决了传统数据传输速度较慢,设计相对复杂,数据无法进行远距离传输等问题。重点介绍了网络协议的选择与实现,系统理论上传输速度最快可以达到1 Gbit·s-1,经过仿真、调试、验证,系统通过两个FIFO可进行跨时钟域处理,接收端时钟可根据需要进行调整,发送端时钟为125 MHz,最终系统传输数据流速度能够稳定工作在800 Mbit·s-1以上,与已有的千兆网系统传输速率300 Mbit·s-1相比[4],速率提高了约1倍。系统设计相对价格低廉,可移植性强、功耗低,可以广泛应用在远距离大数据传输设备中。在以后的研究中,可以结合具体视频传输格式进行下一步的研究,实现高清图像视频传输等功能。

[1] 赵文达,赵建.嵌入式千兆网高清视频传输系统设计[J].液晶与显示,2014(3):384-385.

[2] 樊光辉,孙国强,向健勇.基于千兆以太网技术的大型实时传输系统[J].电子科技,2009,22(3):37-40.

[3] 周彬.双百兆以太网控制器在FPGA上的实现[J].IT时代周刊论文专版,2014(3):296-300.

[4] 李艳霞.千兆以太网接口高速图像采集系统设计[D].大连:大连理工大学,2010.

[5] 田耘,徐文波.Xilinx FPGA开发实用教程[M].北京:清华大学出版社,2008.

[8] 李皖,周璧华,江志东,等.闪电声源定位系统研究[J].电波科学学报,2014,29(2):270-275.

[9] 张传义,米常伟.基于TDE技术的声源定位算法[J].东北大学学报:自然科学版,2014,35(3):333-336,369.

[10] 张奕,孟书杰.针对头佩式麦克风阵列的声源定位算法研究[J].计算机工程与应用,2015,51(24):266-270.

[11] 蔡卫平,黄印君,陆泽椽.基于分布式麦克风阵列的声源定位算法[J].计算机应用与软件,2014,31(5):132-135.

[12] Canclini A, Antonacci F, Sarti A. Acoustic source localization with distributed asynchronous microphone networks[J].IEEE Transaction on Audio, Speech and Language Processing, 2013, 21(2): 439-443.

[13] Hu Jinyu,Gao Zhiwei,Pan Weisen.Multiangle social network recommendation algorithms and similarity network evaluation[J].Journal of Applied Mathematics,2013 (3):352-358.

[14] 蔡卫平,徐健,周琳.一种基于粒子滤波的多声源跟踪算法[J].计算机应用研究,2013,31(8): 2326-2330.

[15] 殷侠,蔡卫平,徐健,等.基于粒子滤波的声源方位跟踪算法[J].计算机应用与软件,2012, 29(12):77-80.

Design Method of Gigabit Ethernet Transmission Based on FPGA

CHEN Kai,TANG Qingshan,LI Yajie,LUO Zhen,LI Huan,SHAN Weiwu

(School of Physics and Electronic Science, Changsha University of Science and Technology, Changsha 410004, China)

A Gigabit Ethernet transmission based on FPGA is designed to replace the existing 100 M Ethernet FPGA for real-time reliable long-distance transmission of large data. The data received by FPGA are cached in the FIFO for FPGA group frame and then transmitted through the cat5e of twisted pair at a speed of up to 1 Gbit·s-1. Data acquisition, processing, and transmission control are implemented by hardware. Simulation shows the transmission speed of the system remains stable at above 800Mbit·s-1.

gigabit Ethernet; PHY; MAC; UDP

2016- 07- 18

陈凯(1990-),男,硕士研究生。研究方向:数字视频处理。唐清善(1977-),男,博士。研究方向:数字信号处理等。李亚捷(1980-),女,副教授。研究方向:基于光纤的全光处理器件。

10.16180/j.cnki.issn1007-7820.2017.06.028

TN915.04;TP393.11

A

1007-7820(2017)06-102-04

猜你喜欢

报头传输速度状态机
城市党报报头:政治与艺术的平衡
基于有限状态机的交会对接飞行任务规划方法
SSD移动硬盘大降价,可以考虑了
淡妆浓抹总相宜
——对中国晚报报头变化的研究与欣赏
IP语音报头压缩设计与实现
电网中无线通信技术的应用探析
浅谈提升互联网信息传输速度技术分析
FPGA设计中状态机安全性研究
基于反熔丝FPGA的有限状态机加固设计
简论报纸的报头设计