CN103475493A - 多网口智能网卡及数据处理方法 - Google Patents
多网口智能网卡及数据处理方法 Download PDFInfo
- Publication number
- CN103475493A CN103475493A CN2013104535434A CN201310453543A CN103475493A CN 103475493 A CN103475493 A CN 103475493A CN 2013104535434 A CN2013104535434 A CN 2013104535434A CN 201310453543 A CN201310453543 A CN 201310453543A CN 103475493 A CN103475493 A CN 103475493A
- Authority
- CN
- China
- Prior art keywords
- network
- module
- fpga chip
- chip
- netmouth
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Pending
Links
Images
Landscapes
- Data Exchanges In Wide-Area Networks (AREA)
Abstract
本发明公开了一种多网口智能网卡及数据处理方法,其中智能网卡包括FPGA芯片、存储器、网络管理芯片模块、网络变压器模块、光纤接口模块和串行接口。网络管理芯片模块与网络变压器模块、光纤接口模块连接,通过其接收被监视的网络数据包,并发送给FPGA芯片;串行接口与FPGA芯片连接,接收外部对时信号,并转发给FPGA芯片;FPGA芯片接收串行接口转发的对时信号,并接收网络变压器模块和光纤接口模块发送的网络数据包,FPGA芯片对接收的网络数据包按接收顺序排列在数据包前增加接收序号和精确的接收时间,并发送给存储器存储。本发明能够极大的降低CPU的负荷率,可提高网络监视的效率和可靠性。
Description
技术领域
本发明涉及网卡,尤其涉及一种多网口智能网卡及数据处理方法。
背景技术
目前大多数计算机系统自带的网卡模块都是标准的,应用于网络通讯,可以向上层的应用层程序提供标准的网络包,但是这些普通的网卡不能满足工业领域的特殊需求,很多实际的工业应用中对网络通讯的速度、实时性有更高的要求,网络数据包的格式也与标准的网络通讯不同,因而对这些特殊的网络应用进行通信网络的监视和分析就需要针对性的设备,现有的普通网卡无法实现。
发明内容
本发明要解决的技术问题在于针对现有技术中的网卡不能满足工业领域的特殊要求的缺陷,提供一种速度快、走时准确的多网口智能网卡及数据处理方法。
本发明解决其技术问题所采用的技术方案是:
提供一种多网口智能网卡,包括FPGA芯片、存储器、网络管理芯片模块、网络变压器模块、光纤接口模块和串行接口;
网络变压器模块包括多个网络变压器;
光纤接口模块包括多个光纤接口;
网络管理芯片模块与网络变压器模块、光纤接口模块连接,通过其接收被监视的网络数据包,并发送给FPGA芯片;该网络管理芯片模块包括多个网络管理芯片;
串行接口与FPGA芯片连接,接收外部对时信号,并转发给FPGA芯片;
FPGA芯片接收串行接口转发的对时信号,并接收网络变压器模块和光纤接口模块发送的网络数据包,FPGA芯片对接收的网络数据包按接收顺序排列在数据包前增加接收序号和精确的接收时间,并发送给存储器存储。
本发明所述的多网口智能网卡中,FPGA芯片与CPU连接,在CPU访问时,建立DMA通道,并通过PCIE接口将存储器中存储的相应数据发送给CPU。
本发明所述的多网口智能网卡中,所述存储器为DDR2存储芯片。
本发明所述的多网口智能网卡中,所述FPGA芯片包括主时钟模块、仿真模块以及均与仿真模块连接的对时模块、MAC层处理模块、数据处理模块、存储器控制模块和PCIE接口模块。
本发明所述的多网口智能网卡中,网络变压器模块包括四个网络变压器;光纤接口模块包括四个光纤接口;该网络管理芯片模块包括四个网络管理芯片。
本发明解决其技术问题所采用的另一技术方案是:
提供一种基于FPGA的多网口智能网卡的数据处理方法,包括以下步骤:
通过并行的多个网络变压器或多个光纤接口获取被监视的网络数据;
通过串行接口接收外部的对时信号,获得高精度的时间信息;
对获取的网络数据进行并行预处理,将网络数据包按接收顺序排列在数据包前增加接收序号和精确的接收时间;
将经过预处理的网络数据发送给存储器存储。
本发明所述的方法中,还包括步骤:
在CPU访问时,建立DMA通道,并通过PCIE接口将存储器中存储的相应数据发送给CPU。
本发明产生的有益效果是:本发明的多网口智能网卡基于FPGA技术,可以支持多路网络数据,可同时接入多路网络数据或者光纤数据,可有效降低成本;通过对接收到的网络数据先进行预处理,能够极大的降低CPU的负荷率,提高网络监视的效率和可靠性;通过高速运行的FPGA芯片,对网络数据包标注高精度的时标信息,可满足计算机实时操作系统也无法达到的高分辨率要求。
附图说明
下面将结合附图及实施例对本发明作进一步说明,附图中:
图1是本发明实施例多网口智能网卡的结构示意图;
图2是本发明实施例FPGA芯片的结构示意图;
图3是本发明实施例基于FPGA的多网口智能网卡的数据处理方法流程图。
具体实施方式
为了使本发明的目的、技术方案及优点更加清楚明白,以下结合附图及实施例,对本发明进行进一步详细说明。应当理解,此处所描述的具体实施例仅用以解释本发明,并不用于限定本发明。
本发明实施例多网口智能网卡,如图1所示,包括FPGA芯片1、存储器2、网络管理芯片模块3、网络变压器模块4、光纤接口模块5和串行接口6;
网络变压器模块4包括多个网络变压器;光纤接口模块5包括多个光纤接口;网络管理芯片模块3与网络变压器模块4、光纤接口模块5连接,通过网络变压器模块4和光纤接口模块5接收被监视的网络数据包,并发送给FPGA芯片1。本发明的实施例中,网络管理芯片模块3接收到数据包后,通过GMII接口将数据送到FPGA芯片1中进行预处理。该网络管理芯片模块3包括多个网络管理芯片。
在本发明的一个实施例中,网络变压器模块4包括四个网络变压器;光纤接口模块5包括四个光纤接口;该网络管理芯片模块3包括四个网络管理芯片。网络管理芯片模块3可同时接入四路网络数据或者光线数据。
串行接口6与FPGA芯片1连接,通过串行接口6接收外部对时信号,并转发给FPGA芯片1,以使FPGA芯片1获得高精度时间信息。
FPGA芯片1是本发明的核心,其完成所有的数据采集、分析、处理和缓存,执行CPU的指令。FPGA芯片1接收串行接口6转发的对时信号,并接收网络变压器模块4和光纤接口模块5发送的网络数据包,FPGA芯片1对接收的网络数据包进行预处理,具体为按接收顺序排列在数据包前增加接收序号和精确的接收时间,并发送给存储器2存储。本发明的一个实施例中,存储器2可选用DDR2存储芯片。
通过FPGA芯片1对接收到的网络数据进行预处理,能够极大的降低CPU的负荷率,提高网络监视的效率和可靠性;通过高速运行的FPGA芯片1,对网络数据包标注高精度的时标信息,满足了计算机实时操作系统也无法达到的高分辨率要求,即可满足工业领域中对特殊网络应用进行的通信网络监视和分析的需求。
FPGA芯片1与CPU连接,在CPU访问时,建立DMA通道,并通过PCIE接口将存储器2中存储的相应数据发送给CPU。
本发明的一个较佳实施例中,如图2所示,FPGA芯片1包括主时钟模块11、仿真模块14以及均与仿真模块14连接的对时模块12、MAC层处理模块15、数据处理模块16、存储器控制模块17和PCIE接口模块13。
根据FPGA芯片1的特点,所有的功能模块都是并行工作的,由芯片唯一的主时钟模块11触发,各个功能模块根据时序的要求,以主时钟模块11为基准进行分频或倍频,根据程序设计独立完成各自的功能。
如图2所示,MAC层处理模块15接收外部的网络包数据,并进行预处理,为了达到设计要求,MAC层处理模块15每16纳秒处理一次,确保数据帧之间的分辨率低于20纳秒,MAC层处理模块15对数据帧进行校验,判断数据帧的好坏,按照数据帧的类型进行分类,并在数据帧前标记接收序列号和精确时标。
数据处理模块16从MAC层处理模块15接收经预处理后的数据,由于本发明的一个较佳实施例中集成了4个网络口,因此实际上有4个并行的MAC层处理模块15,数据处理模块16将接收到的4组独立的网络数据进行打包,然后将处理完毕的数据帧通过存储器控制模块17缓存到外部的存储器2中。
当CPU需求取数据时,通过PCIE接口模块13和存储器控制模块17从外部缓存中将处理过的数据读出。
FPGA芯片1内置仿真模块14,可以在调试过程中或者实际运行过程中直接分析整个设备的工作状态,能够通过仿真模块14读取各个功能模块的过程数据和工作状态。
本发明FPGA芯片1还设有对时模块12,在外部对时正常时,通过外部时钟源设置时间,并将准确时间通过PCIE接口模块13送给CPU,也可以通过PCIE接口模块13读取CPU的时钟作为本智能网卡的时钟,同时,对时模块12将时钟数据送到MAC层处理模块15,用于对接收到数据包标注精确的时标信息。
本发明实施例基于FPGA的多网口智能网卡的数据处理方法,基于上述实施例的多网口智能网卡,如图3所示,多网口智能网卡主要执行以下步骤:
S1、通过并行的多个网络变压器或多个光纤接口获取被监视的网络数据;
S2、通过串行接口接收外部的对时信号,获得高精度的时间信息;
S3、对获取的网络数据进行并行预处理,将网络数据包按接收顺序排列在数据包前增加接收序号和精确的接收时间;
S4将经过预处理的网络数据发送给存储器存储。
本发明的一个较佳实施例中,该方法还包括步骤:
S5、在CPU访问时,建立DMA通道,并通过PCIE接口将存储器中存储的相应数据发送给CPU。
本发明的多网口智能网卡基于FPGA技术,可以支持多路网络数据,可同时接入多路网络数据或者光纤数据,可有效降低成本;通过对接收到的网络数据先进行预处理,能够极大的降低CPU的负荷率,提高网络监视的效率和可靠性;通过高速运行的FPGA芯片,对网络数据包标注高精度的时标信息,可满足计算机实时操作系统也无法达到的高分辨率要求。
应当理解的是,对本领域普通技术人员来说,可以根据上述说明加以改进或变换,而所有这些改进和变换都应属于本发明所附权利要求的保护范围。
Claims (7)
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。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN2013104535434A CN103475493A (zh) | 2013-09-29 | 2013-09-29 | 多网口智能网卡及数据处理方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN2013104535434A CN103475493A (zh) | 2013-09-29 | 2013-09-29 | 多网口智能网卡及数据处理方法 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN103475493A true CN103475493A (zh) | 2013-12-25 |
Family
ID=49800205
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN2013104535434A Pending CN103475493A (zh) | 2013-09-29 | 2013-09-29 | 多网口智能网卡及数据处理方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN103475493A (zh) |
Cited By (9)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN106230718A (zh) * | 2016-08-03 | 2016-12-14 | 天津光电聚能专用通信设备有限公司 | 基于XilinxFPGA多千兆网合流系统及实现方法 |
CN107423027A (zh) * | 2017-07-24 | 2017-12-01 | 杭州迪普科技股份有限公司 | 一种光模块的信息读取方法、装置和系统 |
CN107943745A (zh) * | 2017-11-24 | 2018-04-20 | 中国航空工业集团公司西安航空计算技术研究所 | 一种用于片上处理器中以太网控制器的验证方法 |
CN108199934A (zh) * | 2017-12-29 | 2018-06-22 | 烟台易尚电子科技有限公司 | 一种基于pcie结构的双网口数据聚合接收装置 |
CN108768785A (zh) * | 2018-06-13 | 2018-11-06 | 郑州云海信息技术有限公司 | 一种智能网卡测试环境的搭建方法及装置 |
CN109002329A (zh) * | 2018-07-20 | 2018-12-14 | 浪潮(北京)电子信息产业有限公司 | 一种基于fpga的网卡及主机 |
CN109960671A (zh) * | 2019-03-31 | 2019-07-02 | 联想(北京)有限公司 | 一种数据传输系统、方法及计算机设备 |
CN111107061A (zh) * | 2019-11-30 | 2020-05-05 | 浪潮(北京)电子信息产业有限公司 | 一种智能网卡及其通讯方法 |
CN114885045A (zh) * | 2022-07-07 | 2022-08-09 | 浙江锐文科技有限公司 | 一种在高速智能网卡/dpu内节约dma通道资源方法和装置 |
Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20050183042A1 (en) * | 2003-12-02 | 2005-08-18 | Danny Vogel | Customizable development and demonstration platform for structured ASICs |
CN101136795A (zh) * | 2006-12-26 | 2008-03-05 | 中兴通讯股份有限公司 | 一种基于网络处理器的通讯协议监测系统及方法 |
CN201657014U (zh) * | 2010-05-14 | 2010-11-24 | 上海湾流仪器技术有限公司 | 双接口千兆以太网数据采集卡 |
-
2013
- 2013-09-29 CN CN2013104535434A patent/CN103475493A/zh active Pending
Patent Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20050183042A1 (en) * | 2003-12-02 | 2005-08-18 | Danny Vogel | Customizable development and demonstration platform for structured ASICs |
CN101136795A (zh) * | 2006-12-26 | 2008-03-05 | 中兴通讯股份有限公司 | 一种基于网络处理器的通讯协议监测系统及方法 |
CN201657014U (zh) * | 2010-05-14 | 2010-11-24 | 上海湾流仪器技术有限公司 | 双接口千兆以太网数据采集卡 |
Cited By (9)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN106230718A (zh) * | 2016-08-03 | 2016-12-14 | 天津光电聚能专用通信设备有限公司 | 基于XilinxFPGA多千兆网合流系统及实现方法 |
CN107423027A (zh) * | 2017-07-24 | 2017-12-01 | 杭州迪普科技股份有限公司 | 一种光模块的信息读取方法、装置和系统 |
CN107943745A (zh) * | 2017-11-24 | 2018-04-20 | 中国航空工业集团公司西安航空计算技术研究所 | 一种用于片上处理器中以太网控制器的验证方法 |
CN108199934A (zh) * | 2017-12-29 | 2018-06-22 | 烟台易尚电子科技有限公司 | 一种基于pcie结构的双网口数据聚合接收装置 |
CN108768785A (zh) * | 2018-06-13 | 2018-11-06 | 郑州云海信息技术有限公司 | 一种智能网卡测试环境的搭建方法及装置 |
CN109002329A (zh) * | 2018-07-20 | 2018-12-14 | 浪潮(北京)电子信息产业有限公司 | 一种基于fpga的网卡及主机 |
CN109960671A (zh) * | 2019-03-31 | 2019-07-02 | 联想(北京)有限公司 | 一种数据传输系统、方法及计算机设备 |
CN111107061A (zh) * | 2019-11-30 | 2020-05-05 | 浪潮(北京)电子信息产业有限公司 | 一种智能网卡及其通讯方法 |
CN114885045A (zh) * | 2022-07-07 | 2022-08-09 | 浙江锐文科技有限公司 | 一种在高速智能网卡/dpu内节约dma通道资源方法和装置 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN103475493A (zh) | 多网口智能网卡及数据处理方法 | |
CN201518052U (zh) | 便携式全数字继电保护暂态闭环测试仪 | |
CN106292409B (zh) | 一种基于fpga多速率光纤通讯的实时仿真系统及其仿真方法 | |
CN104301024B (zh) | 星载多载荷数据帧传输系统 | |
CN106951388A (zh) | 一种基于PCIe的DMA数据传输方法及系统 | |
CN102117342A (zh) | 基于PCI Express总线的多波段红外图像实时采集系统及方法 | |
CN104320317B (zh) | 一种以太网物理层芯片状态的传送方法和装置 | |
CN104022828A (zh) | 一种基于异步通信模式的光纤数据传输方法 | |
CN102664779A (zh) | 一种can总线数据传送方法 | |
CN105450475A (zh) | 一种fc交换机测试设备 | |
CN106997059A (zh) | 一种应用于海洋地震勘探拖缆系统的高速数据传输通用接口卡 | |
CN104573135A (zh) | 基于反射内存网与中间件技术的实时数据采集方法及装置 | |
CN204065685U (zh) | 一种光数字继电保护测试仪时间特性检验装置 | |
CN103067201A (zh) | 一种多协议通讯管理机 | |
CN205004841U (zh) | 智能变电设备及其数据传输系统 | |
CN108983036B (zh) | 一种基于电子式互感器的行波测距系统 | |
CN204180093U (zh) | 一种基于fpga的pps系统补偿装置 | |
CN103472733B (zh) | 一种基于光纤通信的电力系统数字实时仿真物理接口装置 | |
CN103412847B (zh) | 基于fpga的usb转多路链路接口电路 | |
CN203658915U (zh) | 多路数据采集卡 | |
CN110095973A (zh) | 基于多信号通用接口的时间同步测试仪 | |
CN105897395B (zh) | 基于rmii接口的smv/goose报文的fpga实现方法 | |
CN203414742U (zh) | 一种基于光纤通信的电力系统数字实时仿真物理接口装置 | |
CN203278857U (zh) | 基于crio平台的双路iec61850报文收发装置 | |
CN105005233B (zh) | 基于反射内存网及dsp控制器的脉冲电源实时控制系统 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
C06 | Publication | ||
PB01 | Publication | ||
C10 | Entry into substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
RJ01 | Rejection of invention patent application after publication |
Application publication date: 20131225 |
|
RJ01 | Rejection of invention patent application after publication |