基于FPGA的千兆以太网接口应用研究与实现

2018-09-03 02:29杨青山
无线互联科技 2018年16期
关键词:以太网芯片控制器

杨青山

(广州海格通信集团股份有限公司,广东 广州 510663)

千兆以太网具有大数据传输以及高速实时性的特征,因此在视频以及音频等领域具有广阔的应用前景。在进行数据传输的过程中越来越重视实时性问题,针对这一问题,用户数据协议(User Data Protocol,UDP)作为一共新型数据传输协议被提出,具有很好的高效性以及低延迟性,这一传输协议的引入也很好地解决了数据实时传输的问题。目前在数据传输中比较常用的协议主要有两种:TCP/1P协议和ASIC内置协议,这两大协议虽然比较成熟得到了发展,但是在可集成化、可移植性以及传输效率方面还存在极大的困难。在这样的背景下,本文结合FPGA的优势,提出一种基于FPGA的UDP/IP协议,将该优化设计应用于千兆以太网的传输当中,兼顾传输效率的同时,还能够保证数据传输的实时性等,随着这一方案的优化和完善,目前已经在工程中得到应用。

1 TCP/IP协议栈结构及工作原理

开放系统互联(Open System Interconnection,OSI)参考模型作为一种比较成熟的网络结构标准模型,由国际互联网标准化组织提出构建。通过该模型的构建与优化能够保证不同硬件的相互通信,但是这一模型往往比较复杂,因此在实际应用中比较困难。为解决OSI参考模型复杂度问题,TCP/IP模型被提出并应用,这一模型并不是简单地将TCP和IP两个协议进行联合,而是联合Internet整个TCP/IP协议组。为进一步确定TCP/IP的特点和优越性,对TCP/IP模型与OSI模型进行了比较,如图1所示。

图1 OSI与TCP/IP参考模型对照

1.1 主机到网络层

在TCP/IP参考模型中没有对这一层进行细分,在OSI参考模型中将这一层分为物理层PHY和介质访间控制层MAC。这一层的主要目的是能够为下一层的数据传输提供接口,其中以太网就是一种重要的实现方式。

1.2 网络互连层

对于TCP/IP协议参考模型而言,这一层是整个模型的核心,为实现功能进行了细化,不仅仅定义了分组格式,而且明确了协议类型,能够对路由、拥塞等进行控制。

1.3 传输层

在传输层当中为实现功能引入了TCP协议和UDP协议,TCP协议作为传输控制协议基于字节流进行,具有极大可靠性;这一协议还是在利用IP层机制来进一步提高连接可靠性,能够引入窗口控制、分包控制等方法实现字节流的传输,不是一对一的传输,而是一对多的传输。

1.4 应用层

这一层中含有大量用户应用协议来面向用户。在本文的协议优化当中,还引入了UDP协议,主要在TCP/IP传输层中引入这一协议,面向报文传送与传输,通过这一协议之后接收方并不会提供反馈机制,这样导致其可靠性存在一定问题。UDP协议的这一特点也提高了其数据传输速率,同时和TCP协议相比实时性更强,对于系统的要求和负载也相对较低。基于这些优点,本文在进行优化设计的过程中引入了UDP传输协议在传输层中进行点对点的数据传输报送,同时还网络层中采用最优的IP协议,ARP协议和MAC协议主要应用于数据链路层,在物理层中应用自适应技术,应用千兆网1 000 Base-T的连接通道。

本文提出的接口优化实际是UDP/IP协议,在这一优化协议的实际运行过程中包括封包和解包两个过程,在两个过程中分别采用不同的传输协议来进行数据传输。进行数据传输与发送的过程中首先将应用层数据传输到协议栈中,在经过协议栈数据信息处理之后进入网络层进行下一步处理。在每层数据传输的过程中需要对数据和信号进行首尾修饰,这一整个过程被称作是封包过程。经过封包处理之后能够将数据传输给通信主机结构从机,接收到的以太网帧数据从物理层输入进行分层传输分析,和当前层的协议帧首部信息进行核对匹配,对于不匹配的帧数据进行丢弃处理,实际这一过程就是解包的过程,整个传输封包和解包过程如图2所示。

图2 TCP/IP协议层用户数据传输过程

在进行数据传输的过程中需要遵循一定的协议来进行传输,本设计优化中遵循协议透明原理进行设计,按照相应标准来进行数据封包和解封过程处理,完成之后传输到下一层进行处理。精简后的协议栈具备以下功能:(1)实现基于UDP传输协议的数据传输。(2)按需求可以对目的IP地址和源IP地址进行灵活配置,支持ARP地址解析,支持checksum帧校验。(3)支持数据流控制。

2 总体设计

在千兆以太网的接口研究与发展中,也面临一定的难题与困难,其中的典型代表就是如何实现以太网的MAC协议和以太网的接口功能。目前主要的以太网接口采用图3所示的电路硬件结构框图,一般采用FPGA控制器、网络处理芯片以及高性能操作系统处理器来进行接口处理[1]。

图3 以太网电路结构框图

在本总体设计中选用FPGA作为主控制器,并且在物理层中引入物理层协议芯片来实现其功能,在MAC层中引入MAC芯片来实现其功能。改设计中的硬件系统功能也主要在FPGA内部以及FPGA控制器中实现。为进一步简化系统的硬件电路,还在FPGA中引入MAC IP核,主要应用于MAC协议功能的实现,可以节省MAC接口协议芯片的空间。

通过这样的设计,能够满足千兆以太网系统间的高速数据传输,而且基于这样的设计能够节省硬件资源与空间,在内部即可实现MAC功能,这样在节省硬件资源和空间的同时还节省了加工成本。另外充分利用FPGA的资源以及功能,能够充分发挥硬件系统的作用,保证可靠性,另外由于FPGA具有很好的扩展性,有利于后期的应用功能扩展。

3 硬件系统设计分析

在本设计的硬件系统设计中采用PHY芯片,并结合FPGA控制器作为核心控制来进行千兆以太网的数据传输,综合分析下确定采用UDP通信协议来作为整个系统的通信协议,另外PHY芯片能够辅助FPGA控制器实现通信功能,通过这一芯片能够实现和PC机之间的数据传输。

FPGA控制器作为控制核心芯片的选择十分重要,本设计中选用Cyclone IV系列EP4CE40F23I7N芯片,另外比较重要的PHY芯片选用88E1111来进行数据通信和传输,另外为完善系统功能需要配备相应的各种寄存器,确定最终硬件连接关系如图4所示。

图4 MAC控制器与PHY芯片接口

如图4所示,在千兆以太网的数据通信和传输过程中,综合分析GMII模式和GMII模式两种模式类型器,最终确定PHY芯片88E1111电路进行数据传输的时候应该采用GMII接口的GMII接口模式,对于100 Mbps全双工模式的数据传输和通信,采用PHY芯片88E1111电路中的MII接口模式中的MII接口模式进行。

4 软件设计

为完善本设计,在硬件设计的基础上需要配置相匹配的软件系统,本设计中基于Vcrilog HDL硬件设计语言进行程序开发设计。

在进行程序设计中一共包括4个模块和部分,包括顶层模块、UDP发送数据模块和结构模块,另外在设计中还增加优化了CRC校验模块。

在千兆以太网的数据传输和接口当中,主要通过FPGA作为核心控制器进行控制,并且能够对PC机的情况进行实时监测在检测基础上能够接受UDP发送的以太网数据包,并且通过软件程序设计将数据包在外置SRAM存储芯片中存储,利用软件程序进行初步解析的基础上,将以太网数据包通过网络和系统传递回实验PC机[2]。

4.1 MAC功能配置

在设计中,必须通过一系列的配置才能使MAC软核正常工作,在SOPC系统中,可以通过Avalon-MM控制接口来配置MAC软核。对MAC控制寄存器的配置来完成控制MAC功能模块,MAC功能模块将在发送或接收位使用后立即开始工作。在对MAC软核的配置中,主要涉及以下寄存器的配置:命令配置(command_ config ),MAC地址(mac_0/mac_ 1}、最大帧长(frm length、外部PHY地址Cmdio_addr0/mdio_ addrl,另外,由于本设计中的MAC软核包含了内部FIFO需要配置FIFO缓存器的一些阂值(almost empty,almost full,section empty,section full)。

4.2 控制软件设计

软件控制是整个设计正常运行的关键一环。由于设计中MAC软核、自定义模块等均基于SOPC技术进行设计,所以NIOS软核的正常运行将是硬件逻辑工作的基础。

在设计中,为了使以太网的网络配置更加灵活,设计中利用Avalon-MM总线对自定义模块中的IP地址,MAC地址以及UDP端口号等进行配置。控制软件的设计主要包括自定义模块的设置、MAC软核以及PHY芯片寄存器的配置,在上述过程完成后,触发整个系统运行。

系统首先初始化自定义模块并利用MDIO接口初始化外部PHY芯片。然后进行MAC配置寄存器的初始化,分为4个步骤:第一步,禁用MAC软核的发送接收功能;第二步,对MAC软核FIFO相关参数进行配置;第三步,对MAC软核的地址进行配置;最后,完成MAC软核的其他配置(最大帧长等)。接着,对PHY寄存器进行配置,将PHY芯片配置在支持自动协商、支持全双工、支持10 Mpbs/1 000 Mbps模式上。最后完成MAC控制寄存器配置,使能系统启动标志。

5 结语

本文主要是对当前FPGA的特点以及优势进行分析,设计了一种基于FPGA的千兆以太网接口,将FPGA控制器作为核心,来实现MAC层协议,FPGA引入不仅仅提高了方法运用的灵活性、可靠性,而且有利于实现高速传输,具有重要意义。

猜你喜欢
以太网芯片控制器
基于1500以太网养猪场的智能饲喂控制系统的设计与实现
谈实时以太网EtherCAT技术在变电站自动化中的应用
芯片测试
多通道采样芯片ADS8556在光伏并网中的应用
一种90W高功率以太网供电系统的设计
浅谈EPON与工业以太网在贵遵高速公路中的应用
MOXA RTU控制器ioPAC 5542系列
倍福 CX8091嵌入式控制器
74HC164芯片的应用
4V三输出同步降压型控制器