多网口智能网卡及数据处理方法

文档序号:6513954阅读:361来源:国知局
多网口智能网卡及数据处理方法
【专利摘要】本发明公开了一种多网口智能网卡及数据处理方法,其中智能网卡包括FPGA芯片、存储器、网络管理芯片模块、网络变压器模块、光纤接口模块和串行接口。网络管理芯片模块与网络变压器模块、光纤接口模块连接,通过其接收被监视的网络数据包,并发送给FPGA芯片;串行接口与FPGA芯片连接,接收外部对时信号,并转发给FPGA芯片;FPGA芯片接收串行接口转发的对时信号,并接收网络变压器模块和光纤接口模块发送的网络数据包,FPGA芯片对接收的网络数据包按接收顺序排列在数据包前增加接收序号和精确的接收时间,并发送给存储器存储。本发明能够极大的降低CPU的负荷率,可提高网络监视的效率和可靠性。
【专利说明】多网口智能网卡及数据处理方法
【技术领域】
[0001]本发明涉及网卡,尤其涉及一种多网口智能网卡及数据处理方法。
【背景技术】
[0002]目前大多数计算机系统自带的网卡模块都是标准的,应用于网络通讯,可以向上层的应用层程序提供标准的网络包,但是这些普通的网卡不能满足工业领域的特殊需求,很多实际的工业应用中对网络通讯的速度、实时性有更高的要求,网络数据包的格式也与标准的网络通讯不同,因而对这些特殊的网络应用进行通信网络的监视和分析就需要针对性的设备,现有的普通网卡无法实现。

【发明内容】

[0003]本发明要解决的技术问题在于针对现有技术中的网卡不能满足工业领域的特殊要求的缺陷,提供一种速度快、走时准确的多网口智能网卡及数据处理方法。
[0004]本发明解决其技术问题所采用的技术方案是:
提供一种多网口智能网卡,包括FPGA芯片、存储器、网络管理芯片模块、网络变压器模块、光纤接口模块和串行接口 ;
网络变压器模块包括多个网络变压器;
光纤接口模块包括多个光纤接口;
网络管理芯片模块与网络变压器模块、光纤接口模块连接,通过其接收被监视的网络数据包,并发送给FPGA芯片;该网络管理芯片模块包括多个网络管理芯片;
串行接口与FPGA芯片连接,接收外部对时信号,并转发给FPGA芯片;
FPGA芯片接收串行接口转发的对时信号,并接收网络变压器模块和光纤接口模块发送的网络数据包,FPGA芯片对接收的网络数据包按接收顺序排列在数据包前增加接收序号和精确的接收时间,并发送给存储器存储。
[0005]本发明所述的多网口智能网卡中,FPGA芯片与CPU连接,在CPU访问时,建立DMA通道,并通过PCIE接口将存储器中存储的相应数据发送给CPU。
[0006]本发明所述的多网口智能网卡中,所述存储器为DDR2存储芯片。
[0007]本发明所述的多网口智能网卡中,所述FPGA芯片包括主时钟模块、仿真模块以及均与仿真模块连接的对时模块、MAC层处理模块、数据处理模块、存储器控制模块和PCIE接口模块。
[0008]本发明所述的多网口智能网卡中,网络变压器模块包括四个网络变压器;光纤接口模块包括四个光纤接口 ;该网络管理芯片模块包括四个网络管理芯片。
[0009]本发明解决其技术问题所采用的另一技术方案是:
提供一种基于FPGA的多网口智能网卡的数据处理方法,包括以下步骤:
通过并行的多个网络变压器或多个光纤接口获取被监视的网络数据;
通过串行接口接收外部的对时信号,获得高精度的时间信息; 对获取的网络数据进行并行预处理,将网络数据包按接收顺序排列在数据包前增加接收序号和精确的接收时间;
将经过预处理的网络数据发送给存储器存储。
[0010]本发明所述的方法中,还包括步骤:
在CPU访问时,建立DMA通道,并通过PCIE接口将存储器中存储的相应数据发送给
CPU。
[0011]本发明产生的有益效果是:本发明的多网口智能网卡基于FPGA技术,可以支持多路网络数据,可同时接入多路网络数据或者光纤数据,可有效降低成本;通过对接收到的网络数据先进行预处理,能够极大的降低CPU的负荷率,提高网络监视的效率和可靠性;通过高速运行的FPGA芯片,对网络数据包标注高精度的时标信息,可满足计算机实时操作系统也无法达到的高分辨率要求。
【专利附图】

【附图说明】
[0012]下面将结合附图及实施例对本发明作进一步说明,附图中:
图1是本发明实施例多网口智能网卡的结构示意图;
图2是本发明实施例FPGA芯片的结构示意图;
图3是本发明实施例基于FPGA的多网口智能网卡的数据处理方法流程图。
【具体实施方式】
[0013]为了使本发明的目的、技术方案及优点更加清楚明白,以下结合附图及实施例,对本发明进行进一步详细说明。应当理解,此处所描述的具体实施例仅用以解释本发明,并不用于限定本发明。
[0014]本发明实施例多网口智能网卡,如图1所示,包括FPGA芯片1、存储器2、网络管理芯片模块3、网络变压器模块4、光纤接口模块5和串行接口 6 ;
网络变压器模块4包括多个网络变压器;光纤接口模块5包括多个光纤接口 ;网络管理芯片模块3与网络变压器模块4、光纤接口模块5连接,通过网络变压器模块4和光纤接口模块5接收被监视的网络数据包,并发送给FPGA芯片I。本发明的实施例中,网络管理芯片模块3接收到数据包后,通过GMII接口将数据送到FPGA芯片I中进行预处理。该网络管理芯片模块3包括多个网络管理芯片。
[0015]在本发明的一个实施例中,网络变压器模块4包括四个网络变压器;光纤接口模块5包括四个光纤接口 ;该网络管理芯片模块3包括四个网络管理芯片。网络管理芯片模块3可同时接入四路网络数据或者光线数据。
[0016]串行接口 6与FPGA芯片I连接,通过串行接口 6接收外部对时信号,并转发给FPGA芯片1,以使FPGA芯片I获得高精度时间信息。
[0017]FPGA芯片I是本发明的核心,其完成所有的数据采集、分析、处理和缓存,执行CPU的指令。FPGA芯片I接收串行接口 6转发的对时信号,并接收网络变压器模块4和光纤接口模块5发送的网络数据包,FPGA芯片I对接收的网络数据包进行预处理,具体为按接收顺序排列在数据包前增加接收序号和精确的接收时间,并发送给存储器2存储。本发明的一个实施例中,存储器2可选用DDR2存储芯片。[0018]通过FPGA芯片I对接收到的网络数据进行预处理,能够极大的降低CPU的负荷率,提闻网络监视的效率和可罪性;通过闻速运彳丁的FPGA芯片I,对网络数据包标注闻精度的时标信息,满足了计算机实时操作系统也无法达到的高分辨率要求,即可满足工业领域中对特殊网络应用进行的通信网络监视和分析的需求。
[0019]FPGA芯片I与CPU连接,在CPU访问时,建立DMA通道,并通过PCIE接口将存储器2中存储的相应数据发送给CPU。
[0020]本发明的一个较佳实施例中,如图2所不,FPGA芯片I包括主时钟模块11、仿真模块14以及均与仿真模块14连接的对时模块12、MAC层处理模块15、数据处理模块16、存储器控制模块17和PCIE接口模块13。
[0021]根据FPGA芯片I的特点,所有的功能模块都是并行工作的,由芯片唯一的主时钟模块11触发,各个功能模块根据时序的要求,以主时钟模块11为基准进行分频或倍频,根据程序设计独立完成各自的功能。
[0022]如图2所示,MAC层处理模块15接收外部的网络包数据,并进行预处理,为了达到设计要求,MAC层处理模块15每16纳秒处理一次,确保数据帧之间的分辨率低于20纳秒,MAC层处理模块15对数据帧进行校验,判断数据帧的好坏,按照数据帧的类型进行分类,并在数据帧前标记接收序列号和精确时标。
[0023]数据处理模块16从MAC层处理模块15接收经预处理后的数据,由于本发明的一个较佳实施例中集成了 4个网络口,因此实际上有4个并行的MAC层处理模块15,数据处理模块16将接收到的4组独立的网络数据进行打包,然后将处理完毕的数据帧通过存储器控制模块17缓存到外部的存储器2中。
[0024]当CPU需求取数据时,通过PCIE接口模块13和存储器控制模块17从外部缓存中将处理过的数据读出。
[0025]FPGA芯片I内置仿真模块14,可以在调试过程中或者实际运行过程中直接分析整个设备的工作状态,能够通过仿真模块14读取各个功能模块的过程数据和工作状态。
[0026]本发明FPGA芯片I还设有对时模块12,在外部对时正常时,通过外部时钟源设置时间,并将准确时间通过PCIE接口模块13送给CPU,也可以通过PCIE接口模块13读取CPU的时钟作为本智能网卡的时钟,同时,对时模块12将时钟数据送到MAC层处理模块15,用于对接收到数据包标注精确的时标信息。
[0027]本发明实施例基于FPGA的多网口智能网卡的数据处理方法,基于上述实施例的多网口智能网卡,如图3所示,多网口智能网卡主要执行以下步骤:
51、通过并行的多个网络变压器或多个光纤接口获取被监视的网络数据;
52、通过串行接口接收外部的对时信号,获得高精度的时间信息;
53、对获取的网络数据进行并行预处理,将网络数据包按接收顺序排列在数据包前增加接收序号和精确的接收时间;
S4将经过预处理的网络数据发送给存储器存储。
[0028]本发明的一个较佳实施例中,该方法还包括步骤:
S5、在CPU访问时,建立DMA通道,并通过PCIE接口将存储器中存储的相应数据发送给
CPU。
[0029]本发明的多网口智能网卡基于FPGA技术,可以支持多路网络数据,可同时接入多路网络数据或者光纤数据,可有效降低成本;通过对接收到的网络数据先进行预处理,能够极大的降低CPU的负荷率,提高网络监视的效率和可靠性;通过高速运行的FPGA芯片,对网络数据包标注高精度的时标信息,可满足计算机实时操作系统也无法达到的高分辨率要求。
[0030]应当理解的是,对本领域普通技术人员来说,可以根据上述说明加以改进或变换,而所有这些改进和变换都应属于本发明所附权利要求的保护范围。
【权利要求】
1.一种多网口智能网卡,其特征在于,包括FPGA芯片、存储器、网络管理芯片模块、网络变压器模块、光纤接口模块和串行接口; 网络变压器模块包括多个网络变压器; 光纤接口模块包括多个光纤接口; 网络管理芯片模块与网络变压器模块、光纤接口模块连接,通过其接收被监视的网络数据包,并发送给FPGA芯片;该网络管理芯片模块包括多个网络管理芯片; 串行接口与FPGA芯片连接,接收外部对时信号,并转发给FPGA芯片; FPGA芯片接收串行接口转发的对时信号,并接收网络变压器模块和光纤接口模块发送的网络数据包,FPGA芯片对接收的网络数据包按接收顺序排列在数据包前增加接收序号和精确的接收时间,并发送给存储器存储。
2.根据权利要求1所述的多网口智能网卡,其特征在于,FPGA芯片与CPU连接,在CPU访问时,建立DMA通道,并通过PCIE接口将存储器中存储的相应数据发送给CPU。
3.根据权利要求1所述的多网口智能网卡,其特征在于,所述存储器为DDR2存储芯片。
4.根据权利要求1所述的多网口智能网卡,其特征在于,所述FPGA芯片包括主时钟模块、仿真模块以及均与仿真模块连接的对时模块、MAC层处理模块、数据处理模块、存储器控制模块和PCIE接口模块。
5.根据权利要求1-4中任一项所述的多网口智能网卡,其特征在于,网络变压器模块包括四个网络变压器;光纤接口模块包括四个光纤接口 ;该网络管理芯片模块包括四个网络管理芯片。
6.一种基于FPGA的多网口智能网卡的数据处理方法,其特征在于,包括以下步骤: 通过并行的多个网络变压器或多个光纤接口获取被监视的网络数据; 通过串行接口接收外部的对时信号,获得高精度的时间信息; 对获取的网络数据进行并行预处理,将网络数据包按接收顺序排列在数据包前增加接收序号和精确的接收时间; 将经过预处理的网络数据发送给存储器存储。
7.根据权利要求6所述的方法,其特征在于,还包括步骤: 在CPU访问时,建立DMA通道,并通过PCIE接口将存储器中存储的相应数据发送给CPU。
【文档编号】G06F1/16GK103475493SQ201310453543
【公开日】2013年12月25日 申请日期:2013年9月29日 优先权日:2013年9月29日
【发明者】鞠林涛 申请人:武汉希文科技股份有限公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1