CN105471852A - 一种udp高速数据收发系统及方法 - Google Patents
一种udp高速数据收发系统及方法 Download PDFInfo
- Publication number
- CN105471852A CN105471852A CN201510796364.XA CN201510796364A CN105471852A CN 105471852 A CN105471852 A CN 105471852A CN 201510796364 A CN201510796364 A CN 201510796364A CN 105471852 A CN105471852 A CN 105471852A
- Authority
- CN
- China
- Prior art keywords
- data
- udp
- protocol stack
- core processor
- soft
- 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.)
- Granted
Links
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L69/00—Network arrangements, protocols or services independent of the application payload and not provided for in the other groups of this subclass
- H04L69/16—Implementation or adaptation of Internet protocol [IP], of transmission control protocol [TCP] or of user datagram protocol [UDP]
- H04L69/161—Implementation details of TCP/IP or UDP/IP stack architecture; Specification of modified or new header fields
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L67/00—Network arrangements or protocols for supporting network services or applications
- H04L67/50—Network services
- H04L67/56—Provisioning of proxy services
- H04L67/568—Storing data temporarily at an intermediate stage, e.g. caching
Landscapes
- Engineering & Computer Science (AREA)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- Computer Security & Cryptography (AREA)
- Computer And Data Communications (AREA)
- Data Exchanges In Wide-Area Networks (AREA)
Abstract
本发明公开了一种UDP高速数据收发系统及方法,该系统包括集成于FPGA内的MAC层、UDP/IP协议栈、缓存控制模块、CI模块和软核处理器;MAC层用于解析接收到的外部物理层数据,发送给UDP/IP协议栈;并将来自UDP/IP协议栈的数据进行组包,发送给外部物理层;UDP/IP协议栈用于解析接收到的MAC层有效数据,通过软核处理器发送给应用层;并将来自应用层的数据进行组包,发送给MAC层;缓存控制模块用于控制外部缓存读写;CI模块用于控制软核处理器与UDP/IP协议栈之间、与缓存控制模块之间的数据交互;本发明里的协议栈及缓存控制均采用硬件逻辑处理,软核处理器仅用于参数配置,规避了软核处理器对数据传输和存储的过多介入,大大提高了系统带宽,实现了数据的高速收发。
Description
技术领域
本发明属于以太网技术领域,更具体地,涉及一种UDP(UserDatagramProtocol)高速数据收发系统及方法。
背景技术
目前,基于软核处理器的以太网功能一般都是采用软件协议栈来实现,由于软核处理器的性能较低,采用软件协议栈的方式不能充分发挥网络高带宽的性能,以1000MBase-T的网络为例,实际带宽可达到1Gbps,但是在基于软核处理器的软件协议栈的应用环境下,实际带宽只能达到几Mbps,极大限制了网络的带宽,使基于软核处理器架构的网络设备的应用发展受到极大的限制。
随着视频技术的不断发展,设备之间的视频图像等大数据量传输日渐增多,需要不断提高网络传输的带宽来提高设备的网络吞吐量,降低数据传输的时间,满足大数据量传输的带宽需求,以及基于软核处理器架构的视频图像处理设备的应用。
发明内容
针对现有技术的以上缺陷或改进需求,本发明提供了一种UDP高速数据收发系统及方法,其目的在于解决当前基于软处理器架构的网络设备的网络带宽过低的问题。
为实现上述目的,按照本发明的一个方面,提供了一种UDP高速数据收发系统,包括集成于现场可编程门阵列(FPGA)内的数据链路层(MAC层)、UDP/IP协议栈、缓存控制模块、自定义指令(custominstruction,CI)模块和软核处理器;
其中,MAC层作为以太网数据传输的数据链路层,用于解析接收到的外部物理层数据,发送给UDP/IP协议栈;并将来自UDP/IP协议栈的数据进行组包,发送给外部物理层;
UDP/IP协议栈作为以太网数据传输的网络层,用于解析接收到的MAC层有效数据,并通过CI模块发送到软核处理器;并将软核处理器通过CI模块发送的应用层数据进行组包,发送给MAC层;
缓存控制模块用于控制外部缓存读写;具体的,将UDP/IP协议栈发送过来的数据存储到外部缓存模块中,或从外部缓存中读取数据发送到UDP/IP协议栈;CI模块作为软核处理器与UDP/IP协议栈的接口、以及软核处理器与缓存控制模块的接口,控制软核处理器与UDP/IP协议栈之间数据交互、以及软核处理器与缓存控制模块之间的数据交互;
软核处理器具有应用层接口,用于根据应用层请求配置参数;具体的,软核处理器根据应用层配置设置网络层的IP和UDP端口号,以及MAC层的MAC地址;并用于在数据接收过程中设置数据的存储位置,在数据发送过程中指定待发送数据。
现有技术中,软核处理器运行以太网协议栈,通过协议栈接口获取用户数据,并将数据传输至缓存模块;由于软核处理器性能较低,采用软件协议栈的方式大大降低了以太网的传输带宽;而本发明里的UDP/IP协议栈及缓存控制模块均采用硬件逻辑实现:软核处理器通过CI模块配置MAC地址、UDP/IP协议栈的IP、UDP端口号,并设置缓存控制模块的参数,包括以太网数据的存储偏移地址,以及存储数据的长度,设置需通过以太网发送数据的偏移地址及其长度,完成10/100/1000Mbase-T以太网数据传输和缓存;在数据传输和缓存过程中,软核处理器仅用于进行配置,规避了软核处理器的过多介入,大大提高了系统带宽,实现了数据的高速收发。
优选的,上述UDP高速数据收发系统,还包括以太网物理收发接口(PHY),PHY作为物理接口,用于实现MAC层与外部物理层之间的双向通信。
优选的,上述UDP高速数据收发系统,还包括缓存模块,缓存模块与缓存控制模块连接,用于存储待处理的数据。
优选的,缓存模块采用DDR3实现。
为实现本发明目的,按照本发明的另一个方面,提供了一种基于上述系统的UDP高速数据收发方法,包括数据接收与数据发送,具体如下:
在数据接收方向:
(a1)由软核处理器配置MAC层的MAC地址,以及网络层的IP地址和源、目的UDP端口号;
(a2)由UDP/IP协议栈发送ARP协议包,完成MAC地址与IP地址的映射;
(a3)外部物理层与该UDP高速数据收发系统建立网络连接,接收数据;
在数据发送方向:
(b1)由软核处理器配置MAC地址、网络层IP地址和UDP端口号;
(b2)软核处理器通过自定义指令模块设置缓存控制模块,配置拟发送的数据在缓存内的偏移地址,以及拟发送数据的长度;
(b3)缓存控制模块从设置的偏移地址处读取指定的数据,并发送给UDP/IP协议栈,UDP/IP协议栈将接收到的数据进行组包,通过千兆以太网发送给外部物理层。
优选地,在数据接收中,数据可直接通过缓存控制模块存储到缓存的默认地址,也可以通过CI模块的自定义指令改变存储地址,该存储地址可以配置为自增或自减,实现数据的灵活高速存储。
优选地,在数据发送中,由于缓存控制模块从缓存里获取数据的带宽远大于千兆以太网,连续检测UDP/IP协议栈的状态,当UDP/IP协议栈空闲时,连续发送数据,否则暂停发送,直到达到拟发送数据长度,以避免拥塞。
总体而言,通过本发明所构思的以上技术方案与现有技术相比,能够取得下列有益效果:
本发明提供的UDP高速数据收发系统及方法,采用FPGA实现,在FPGA内部嵌入软核处理器、集成MAC层和UDP/IP协议栈的功能;用逻辑硬件实现协议栈及缓存管理,与现有的采用软核处理器通过软件协议栈获取用户数据以及缓存处理的方案相比,克服了基于软核处理器的软件协议栈对网络带宽的限制,进一步提高了设备的网络吞吐量;经过设备之间的实际网络测试,1000Mbase-T模式下的网络带宽能够达到100MB/s,其网络吞吐量在现有技术的基础上提高了几十倍以上。
附图说明
图1是实施例提供的UDP高速数据收发系统功能框图。
具体实施方式
为了使本发明的目的、技术方案及优点更加清楚明白,以下结合附图及实施例,对本发明进行进一步详细说明。应当理解,此处所描述的具体实施例仅仅用以解释本发明,并不用于限定本发明。此外,下面所描述的本发明各个实施方式中所涉及到的技术特征只要彼此之间未构成冲突就可以相互组合。
以下结合具体实施例进一步阐述本发明提供的UDP高速数据收发系统及方法;实施例提供的UDP高速数据收发系统,基于软核处理器,其系统框图如附图1所示,包括以太网物理收发接口、数据链路层处理模块、UDP/IP协议栈、缓存控制模块、自定义指令模块和软核处理器;其中,以太网物理收发接口用于连接外部物理层设备;缓存控制模块与缓存模块连接;其软核处理器采用NiosII,缓存模块采用DDR3,UDP/IP协议栈采用FPGA的硬件逻辑实现。
利用实施例提供的这种UDP高速数据收发系统,进行UDP高速数据收发的过程具体如下:
在数据接收方向:
(a1)由软核处理器对网络进行初始化配置:配置MAC层的MAC地址,以及网络层的IP地址和源、目的UDP端口号;
(a2)由UDP/IP协议栈发送ARP协议包,完成MAC地址与IP地址的映射;
(a3)外部物理层设备与该UDP高速数据收发系统建立网络连接;数据传输过程中,可直接通过缓存控制模块将数据存储到DDR3的默认地址,也可以通过CI模块的自定义指令改变存储地址,该存储地址可以配置为自增或自减,实现数据的灵活高速存储;在数据接收过程中,CI记录网络发送的数据长度,发送到软核处理器处理;
在数据发送方向:
(b1)软核处理器通过配置网络IP地址、MAC地址和端口号;
(b2)软核处理器通过自定义指令模块设置缓存控制模块,配置拟发送的数据在DDR3缓存内的偏移地址,以及拟发送数据的长度;
(b3)缓存控制模块从设置的偏移地址处读出指定的数据,并发送给UDP/IP协议栈,UDP/IP协议栈将接收到的数据进行组包,通过千兆以太网发送给外部设备;
(b4)缓存控制模块从DDR3中连续读取数据,发送给UDP/IP协议栈;由于缓存控制模块从DDR3输出数据的带宽远大于千兆以太网,因此,需连续检测UDP/IP协议栈的状态,当UDP/IP协议栈空闲时,连续发送数据,否则暂停发送,直到达到设置的发送数据长度,完成数据发送。
本发明提供的基于软核处理器的UDP高速数据收发系统及方法,使得收发的10/100/1000Mbase-T以太网数据在UDP传输过程中达到100%带宽的利用率。
本领域的技术人员容易理解,以上所述仅为本发明的较佳实施例而已,并不用以限制本发明,凡在本发明的精神和原则之内所作的任何修改、等同替换和改进等,均应包含在本发明的保护范围之内。
Claims (6)
1.一种UDP高速数据收发系统,其特征在于,包括集成于现场可编程门阵列内的MAC层、UDP/IP协议栈、缓存控制模块、自定义指令模块和软核处理器;
所述MAC层作为以太网数据传输的数据链路层,用于解析接收到的外部物理层数据,发送给UDP/IP协议栈;并将来自UDP/IP协议栈的数据进行组包,发送给外部物理层;
所述UDP/IP协议栈作为以太网数据传输的网络层,用于解析接收到的MAC层有效数据,并通过自定义指令模块发送到软核处理器;并将软核处理器通过自定义指令模块发送的应用层数据进行组包,发送给MAC层;
所述缓存控制模块用于控制外部缓存读写;自定义指令模块作为软核处理器与UDP/IP协议栈的接口、以及软核处理器与缓存控制模块的接口,控制软核处理器与UDP/IP协议栈之间数据交互、以及软核处理器与缓存控制模块之间的数据交互;所述软核处理器具有应用层接口,用于根据应用层请求配置参数。
2.如权利要求1所述的UDP高速数据收发系统,其特征在于,所述UDP高速数据收发系统还包括以太网物理收发接口,所述以太网物理收发接口作为物理接口,用于实现MAC层与外部物理层之间的双向通信。
3.如权利要求2所述的UDP高速数据收发系统,其特征在于,所述UDP高速数据收发系统还包括缓存模块,缓存模块与缓存控制模块连接,用于存储待处理的数据。
4.一种基于权利要求1至3任一项所述的UDP高速数据收发系统的数据收发方法,包括数据接收与数据发送,其特征在于,其步骤具体如下:
在数据接收方向:
(a1)由软核处理器配置MAC层的MAC地址,以及网络层的IP地址和源、目的UDP端口号;
(a2)由UDP/IP协议栈发送ARP协议包,完成MAC地址与IP地址的映射;
(a3)外部物理层与所述UDP高速数据收发系统建立网络连接,接收数据;
在数据发送方向:
(b1)由软核处理器配置MAC地址、网络层IP地址和UDP端口号;
(b2)由软核处理器通过自定义指令模块设置缓存控制模块,配置拟发送的数据在缓存内的偏移地址,以及拟发送数据的长度;
(b3)缓存控制模块从设置的偏移地址处读取指定的数据,并发送给UDP/IP协议栈,UDP/IP协议栈将接收到的数据进行组包,通过千兆以太网发送给外部物理层。
5.如权利要求4所述的UDP高速数据收发方法,其特征在于,在数据接收中,数据可直接通过缓存控制模块存储到缓存的默认地址,也可以通过自定义指令模块的自定义指令改变存储地址,所述存储地址可以配置为自增或自减,实现数据的灵活高速存储。
6.如权利要求4或5所述的UDP高速数据收发方法,其特征在于,在数据发送中,连续检测UDP/IP协议栈的状态,当UDP/IP协议栈空闲时,连续发送数据,否则暂停发送,直到达到拟发送数据长度,以避免拥塞。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201510796364.XA CN105471852B (zh) | 2015-11-18 | 2015-11-18 | 一种udp高速数据收发系统及方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201510796364.XA CN105471852B (zh) | 2015-11-18 | 2015-11-18 | 一种udp高速数据收发系统及方法 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN105471852A true CN105471852A (zh) | 2016-04-06 |
CN105471852B CN105471852B (zh) | 2019-01-18 |
Family
ID=55609123
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201510796364.XA Active CN105471852B (zh) | 2015-11-18 | 2015-11-18 | 一种udp高速数据收发系统及方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN105471852B (zh) |
Cited By (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN106341266A (zh) * | 2016-09-12 | 2017-01-18 | 武汉理工大学 | 具有主动和被动传输模式的硬件tcp/ip协议栈 |
CN108667701A (zh) * | 2018-03-13 | 2018-10-16 | 中国电子科技集团公司第十研究所 | 一种以太网转换器及数据转换方法 |
CN109542001A (zh) * | 2018-11-23 | 2019-03-29 | 中国汽车工程研究院股份有限公司 | 一种用于新能源汽车底盘生产的以太网高速数据采集工作方法 |
CN111327603A (zh) * | 2020-01-21 | 2020-06-23 | 中科驭数(北京)科技有限公司 | 数据传输方法、装置和系统 |
CN111726361A (zh) * | 2020-06-19 | 2020-09-29 | 西安微电子技术研究所 | 一种以太网通信协议栈系统及实现方法 |
CN112637075A (zh) * | 2020-12-12 | 2021-04-09 | 华中光电技术研究所(中国船舶重工集团公司第七一七研究所) | 一种基于fpga的udp/ip协议栈实现方法及fpga芯片 |
CN115460085A (zh) * | 2022-08-20 | 2022-12-09 | 西安翔腾微电子科技有限公司 | 一种以太网协议加速电路及方法 |
Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101335602A (zh) * | 2008-06-11 | 2008-12-31 | 南京磐能电力科技股份有限公司 | 一种基于fpga的点到多点udp实时数据发送和确认方法 |
CN103248579A (zh) * | 2013-04-19 | 2013-08-14 | 中山大学 | 基于FPGA的UDP/IPv6硬件协议栈及实现方法 |
CN104901889A (zh) * | 2015-05-15 | 2015-09-09 | 嘉兴市稠江光电仪器技术有限公司 | 一种基于改进型udp/ip协议的远程数据采集与控制方法 |
-
2015
- 2015-11-18 CN CN201510796364.XA patent/CN105471852B/zh active Active
Patent Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101335602A (zh) * | 2008-06-11 | 2008-12-31 | 南京磐能电力科技股份有限公司 | 一种基于fpga的点到多点udp实时数据发送和确认方法 |
CN103248579A (zh) * | 2013-04-19 | 2013-08-14 | 中山大学 | 基于FPGA的UDP/IPv6硬件协议栈及实现方法 |
CN104901889A (zh) * | 2015-05-15 | 2015-09-09 | 嘉兴市稠江光电仪器技术有限公司 | 一种基于改进型udp/ip协议的远程数据采集与控制方法 |
Non-Patent Citations (1)
Title |
---|
崔鹤等: "基于 FPGA的 UDP/IP 协议栈的研究与实现", 《长春理工大学学报 (自然科学版)》 * |
Cited By (8)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN106341266A (zh) * | 2016-09-12 | 2017-01-18 | 武汉理工大学 | 具有主动和被动传输模式的硬件tcp/ip协议栈 |
CN108667701A (zh) * | 2018-03-13 | 2018-10-16 | 中国电子科技集团公司第十研究所 | 一种以太网转换器及数据转换方法 |
CN109542001A (zh) * | 2018-11-23 | 2019-03-29 | 中国汽车工程研究院股份有限公司 | 一种用于新能源汽车底盘生产的以太网高速数据采集工作方法 |
CN111327603A (zh) * | 2020-01-21 | 2020-06-23 | 中科驭数(北京)科技有限公司 | 数据传输方法、装置和系统 |
CN111327603B (zh) * | 2020-01-21 | 2021-04-20 | 中科驭数(北京)科技有限公司 | 数据传输方法、装置和系统 |
CN111726361A (zh) * | 2020-06-19 | 2020-09-29 | 西安微电子技术研究所 | 一种以太网通信协议栈系统及实现方法 |
CN112637075A (zh) * | 2020-12-12 | 2021-04-09 | 华中光电技术研究所(中国船舶重工集团公司第七一七研究所) | 一种基于fpga的udp/ip协议栈实现方法及fpga芯片 |
CN115460085A (zh) * | 2022-08-20 | 2022-12-09 | 西安翔腾微电子科技有限公司 | 一种以太网协议加速电路及方法 |
Also Published As
Publication number | Publication date |
---|---|
CN105471852B (zh) | 2019-01-18 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN105471852A (zh) | 一种udp高速数据收发系统及方法 | |
EP1687997B1 (en) | A method and apparatus to provide data streaming over a network connection in a wireless mac processor | |
WO2015078219A1 (zh) | 一种信息缓存方法、装置和通信设备 | |
TWI394049B (zh) | 直接記憶體存取系統及其傳送/接收封包之方法 | |
US7561573B2 (en) | Network adaptor, communication system and communication method | |
US7370174B2 (en) | Method, system, and program for addressing pages of memory by an I/O device | |
US9774651B2 (en) | Method and apparatus for rapid data distribution | |
KR101300447B1 (ko) | 메시지 통신 기술 | |
CN103077148B (zh) | 一种基于pcie的主机通讯方法和主机 | |
JP6021132B2 (ja) | 連続データをパケットにより無線通信する送信装置、受信装置、通信装置、プログラム、送信方法、及び、受信方法 | |
US20190158429A1 (en) | Techniques to use descriptors for packet transmit scheduling | |
CN106549869A (zh) | 数据包处理方法及装置 | |
CN106792828B (zh) | 一种户外无线ap设备间速度测试方法及工具 | |
US10877911B1 (en) | Pattern generation using a direct memory access engine | |
CN106372013B (zh) | 远程内存访问方法、装置和系统 | |
US10791057B2 (en) | Techniques for packet transmit scheduling | |
US20140164553A1 (en) | Host ethernet adapter frame forwarding | |
CN102938728B (zh) | 一种Modbus TCP/IP转Modbus串行的网关的实现方法 | |
US8953473B2 (en) | Communication device | |
US11176064B2 (en) | Methods and apparatus for reduced overhead data transfer with a shared ring buffer | |
CN103475596B (zh) | 基于mtu值的中间件与移动终端的数据传输方法及系统 | |
JP6618330B2 (ja) | 通信装置及びその方法、コンピュータプログラム | |
KR101082332B1 (ko) | Most 네트워크에서 고속 이더넷 프레임 전송장치 및 방법 | |
CN106656782B (zh) | 一种数据包转发处理系统及方法 | |
CN102413028A (zh) | MoCA系统的用户终端设备接入数量限制方法 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
C06 | Publication | ||
PB01 | Publication | ||
C10 | Entry into substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
CB02 | Change of applicant information |
Address after: 430070 Hubei City, Hongshan Province, South Lake Road, No. 53, Hongshan Venture Center, building on the four floor, No. Applicant after: Wuhan fine test electronics group Limited by Share Ltd Address before: 430070 Hubei City, Hongshan Province, South Lake Road, No. 53, Hongshan Venture Center, building on the four floor, No. Applicant before: Wuhan Jingce Electronic Technology Co., Ltd. |
|
CB02 | Change of applicant information | ||
GR01 | Patent grant | ||
GR01 | Patent grant |