CN105791252A - UDP (User Datagram Protocol) IP (Intellectual Property) core based on FPGA (Field Programmable Gate Array) - Google Patents

UDP (User Datagram Protocol) IP (Intellectual Property) core based on FPGA (Field Programmable Gate Array) Download PDF

Info

Publication number
CN105791252A
CN105791252A CN201410834080.0A CN201410834080A CN105791252A CN 105791252 A CN105791252 A CN 105791252A CN 201410834080 A CN201410834080 A CN 201410834080A CN 105791252 A CN105791252 A CN 105791252A
Authority
CN
China
Prior art keywords
data
udp
protocol
layer
fpga
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
Application number
CN201410834080.0A
Other languages
Chinese (zh)
Inventor
张杰飞
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Aisino Corp
Original Assignee
Aisino Corp
Priority date (The priority date 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 date listed.)
Filing date
Publication date
Application filed by Aisino Corp filed Critical Aisino Corp
Priority to CN201410834080.0A priority Critical patent/CN105791252A/en
Publication of CN105791252A publication Critical patent/CN105791252A/en
Pending legal-status Critical Current

Links

Landscapes

  • Computer And Data Communications (AREA)
  • Communication Control (AREA)

Abstract

The invention discloses a UDP (User Datagram Protocol) IP (Intellectual Property) core based on an FPGA (Field Programmable Gate Array), and belongs to the technical field of networks. The IP core comprises a transport layer UDP controller module used for packing and unpacking partial data of the transport layer according to the UDP; a network layer IP controller module used for packing and unpacking network layer data according to a network layer IP protocol; and a data link layer MAC (Media Access Control) controller module used for packing and unpacking data link layer data according to an MAC protocol. The UDP IP core based on the FPGA provided by the invention realizes one IP core which can independently perform UDP data receiving and transmitting through a network interface without depending on a host operating system, which effectively solves the occupation and waste of network data on host processor and memory resources in a receiving and transmitting process, and improves the working efficiency of the processor.

Description

Udp protocol IP kernel based on FPGA
Technical field
The present invention relates to based on FPGA (FieldProgrammableGateArray, field programmable gate array) IP (IntellectualProperty, intellectual property) nuclear technology, belong to networking technology area, it is specifically related to a kind of udp protocol based on FPGA (UserDatagramProtocol, UDP) IP kernel.
Background technology
The real-time Transmission demand of big data quantity makes ethernet technology flourish, especially embedded ethernet technology, receives significant attention owing to its traffic rate is high and software and hardware resources is abundant.Therefore having emerged numerous embedded ethernet solution, wherein, applied more a kind of solution being to transplant in microcontroller software ICP/IP protocol, namely software realizes ICP/IP protocol.This scheme is limited by the ROM Space size of microcontroller, its enforcement relies on substantially operating system, such as Windows or Linux etc., data occupy a large amount of cpu resource in transmitting procedure, the multi-medium data bag on transceiver network not only wanted by processor, also data are transferred to client and carry out respective handling, so not only sacrifice the work efficiency of processor, and take in the process of transceiving data and waste memory resource.Another kind is and ASIC (ApplicationSpecificIntegratedCircuit, special IC) solution, and namely hardware realizes ICP/IP protocol, and it is limited by cost factor, and built-in protocol stack can not be changed.Both schemes are all unfavorable for the popularization that embedded ethernet high-speed transfer is applied.
Udp protocol is a subset of ICP/IP protocol stack, belongs to the agreement of transport layer, and it has the speed advantage that the TCP being all transport layer protocol is too far behind to catch up.Although Transmission Control Protocol implants various safety guarantee function, but substantial amounts of overhead can be taken in the process that reality performs, make speed be subject to serious impact undoubtedly.And udp protocol is owing to eliminating information reliable delivery mechanism, the function transfer such as safety and sequence is completed to upper layer application, greatly reduces the execution time, make speed be guaranteed.When emphasizing the integrity of the transmission performance of data rather than transmission, as: audio frequency and multimedia application, adopting udp protocol will be best selection.
In the face of the requirement that people are increasingly higher to data transmission bauds, it is badly in need of a kind of IP kernel based on FPGA towards udp protocol, it can independently carry out network data transmitting-receiving, in transceiving data process, the defect of a large amount of processor and memory resource is taken to solve to commonly use embedded device at present, promote the work efficiency of processor, and reduce application cost.
Summary of the invention
For the defect of existing embedded ethernet solution, it is an object of the invention to provide a kind of udp protocol IP kernel based on FPGA, it is possible to when being independent of host operating system, can independently carry out network data transmitting-receiving by network interface.
For achieving the above object, the invention provides a kind of udp protocol IP kernel based on FPGA, specifically include:
Transport layer UDP controller module, for being transmitted the package of layer segment data according to udp protocol and unpack;
Internet IP controller module, for carrying out the package of network layer data according to network layer IP protocol (InternetProtocol, procotol) and unpack;With
Data link layer mac controller module, for carrying out the package of data in link layer according to MAC (MediumAccessControl, medium access control) agreement and unpack.
Further, described IP kernel meets:
Possess Ethernet interface and physical chip;
Possesses the physical chip of onboard XilinxVirtex series;
Possesses self-defining input/output interface.
Preferably, described UDP controller module also includes correction verification module, for the data received are verified, correctly then sends data to network layer IP protocol controller module, otherwise abandons these data.
Preferably, described network layer IP protocol controller module also includes correction verification module, verifies for the data that the UDP controller module received is sent, correctly then sends data to link layer mac controller module, otherwise abandon these data.
On the other hand, the invention allows for a kind of structure method based on the udp protocol IP kernel of FPGA, including:
Receive from the data of application layer, and add UDP stem according to the udp protocol data to receiving and be transmitted the encapsulation of layer, and send the data after encapsulation;
Receive from the data of transport layer, the data received are packaged according to network layer IP protocol and add IP stem, and sends the IP packet after encapsulation;
Receive the IP packet from Internet, form ethernet frame format data after the IP packet received being added MAC layer stem and postamble and carrying out CRC check and be sent in Ethernet.
Present configuration is simple, is conducive to realization integrated, easy and the impact being susceptible to the hardware update replacement with low cost, is the FPGA technology innovative application in field of network data transmission.The present invention is compared with prior art, reduce the dependence to operating system, it is not only completed the data transmission of bottom MAC part, upwards network layer IP protocol and transport layer udp protocol are added in FPGA so that it is the data obtained from application layer automatically can be transmitted the encapsulation of the corresponding agreement of layer, Internet and data link layer inside FPGA.
After reading in conjunction with the accompanying the detailed description of embodiment of the present invention, the other features and advantages of the invention will become clearer from.
Accompanying drawing explanation
Fig. 1 is OSI Reference Model and ICP/IP protocol stack corresponding relation;
Fig. 2 is the udp protocol IP kernel system architecture diagram based on FPGA;
Fig. 3 is network data encapsulation process schematic diagram.
Detailed description of the invention
Below in conjunction with Figure of description and embodiment, the specific embodiment of the present invention is described in further detail.Following example are merely to illustrate the present invention, but are not limited to the scope of the present invention.
As shown in Figure 1, standard open formula Systems Interconnection Reference model (OpenSystemInterconnect, OSI), it it is the standardization open computer network hierarchy Model formulated by International Organization for Standardization, computer network architectures is divided into from top to bottom seven layers, i.e. application layer, expression layer, session layer, transport layer, Internet, data link layer and physical layer.The purpose of this model is to make various hardware intercom mutually on identical level.Being only facing Connection Service yet with osi model, network management is complicated and only takes into account the public data network using a kind of standard and is interconnected at together by various different systems, and for heterogeneous network inapplicable, this model does not have popularization and opens.And the interconnection problem of multiple heterogeneous network considered at the very start by TCP/IP model, lay equal stress on without being connected towards connecting, and have good Network Management Function so that TCP/IP model is widely used.
ICP/IP protocol adopts four-layer structure, and whole protocol stack is divided according to its specific functional stratification, and each layer all calls network that its next layer provide to complete the demand of oneself.Wherein, IP agreement is the important guarantee that network data can carry out routeing, and is the core of whole IP network.Transmission Control Protocol and udp protocol all utilize IP send and receive data, although the two agreement is different but basic function is similar in the mode and the principle that realize.Therefore the two sub-protocol is all classified as transport layer protocol.
Udp protocol, is mainly used to the network application supporting to need to transmit data between the computers, and the network application including numerous Client/Server of Video Conference System is required for using udp protocol.The Main Function of udp protocol is the form that network traffic data is compressed into datagram.Each datagram generally includes header information and data two parts.UDP header is generally made up of 4 territories, it may be assumed that source port number, destination port number, datagram length and check value etc..
Udp protocol adopts the application that port numbers is different to retain respective data transmission channel, realizes application multinomial in synchronization being sent simultaneously and receiving the support of data.UDP datagram is sent by data transmission side (such as, client server) by source port, and data receiver one side then receives data by target port.Some network applications can only use reserved for it in advance or registration static port;Other network application then can use the dynamic port not being registered.
Different from TCP, udp protocol, as insecure host-host protocol, does not provide the pledge system that data transmit.If occurring the loss of datagram in the transmittance process from sender to recipient, agreement itself can not make any detection or prompting.So can be greatly improved transfer rate by suitably sacrificing reliability, save software and hardware resources, increase operation rate.
Prior art about the solution of udp protocol, be software realize or hardware realize all there is various defect, as, take CPU excess resource, operating system degree of dependence is high and relatively costly.In order to overcome software in prior art to realize udp protocol and hardware realizes the shortcoming of udp protocol, this embodiment aims to provide a kind of soft core of the IP based on FPGA, and its hardware logic adopting hardware description language to realize and being converted in FPGA, by udp protocol IPization.The soft core of IP is the solution that one can be reused on FPGA and CPLD (ComplexProgrammableLogicDevice, CPLD), and it adopts hardware description language such as VHDL describing module function.This solution is advantageous in that: can application, protocol function, SRAM and control routine on sheet be integrated on a single-chip, and reusable, not by FPGA and the CPLD impact updated.
As in figure 2 it is shown, the udp protocol IP kernel in the present embodiment, specifically include:
Transport layer UDP controller module, is used for data are carried out the package of data in transport layer according to the mode of UDP and unpacked.
Preferably, described UDP controller module also includes correction verification module, for the data received are verified, correctly then sends data to network layer IP protocol controller module, otherwise abandons these data.
Internet IP controller module, is used for data are carried out the package of data in Internet according to the mode of Internet protocol and unpacked.
Preferably, network layer IP protocol controller module also includes correction verification module, verifies for the data that the UDP controller module received is sent, correctly then sends data to link layer mac controller module, otherwise abandon these data.
Link layer mac controller module, is used for data are carried out the package of data in data link layer according to the mode of media access control protocol and unpacked.
Described udp protocol IP kernel need to meet:
1) possess Ethernet interface and physical chip;
2) possesses the physical chip of onboard XilinxVirtex series;
3) possesses self-defining input/output interface.
Preferably, the IP kernel of described udp protocol is based on the FPGA architecture system of XilinxVirtex-IIPro series exploitation plate, and core devices is xc2vp30FPGA chip.Preferably, the ethernet physical layer chip that circuit board adopts is the WJLXT972C RJ45 interface adopting HALO company.Additionally, the development board of the Virtex series of Xilinx company can also realize this system.
As shown in Figure 3, after system electrification, when the data of application layer have transmission demand, transport layer udp protocol controller module in the present invention receives the data from application layer, data are transmitted the encapsulation of layer by transport layer udp protocol controller module after data arrive, then carry out the encapsulation of Internet in the network layer IP protocol controller module UDP message encapsulated being transferred to and add IP stem.Carried out interpolation and the CRC check of MAC stem and postamble by the ethernet mac controller module of the IP packet entrance bottom of IP protocol controller module output, final data bag is packaged according to the requirement of ethernet frame format and is sent on network.
Preferably, the data received also are verified by transport layer udp protocol controller module, correctly then send data to network layer IP protocol controller module, otherwise abandon these data.
Preferably, the data received also are verified by network layer IP protocol controller module, correctly then send data to link layer mac controller module, otherwise abandon these data.
Udp protocol uses the check value in header to ensure the safety of data.First check value is calculated by special algorithm in data receiver, after being delivered to recipient, in addition it is also necessary to recalculate again.If certain datagram is distorted by third party or owing to the reasons such as line noise are damaged in transmitting procedure, sending and will not be consistent with the verification value of calculation of recipient, thus udp protocol can detect whether to make mistakes.
When having detected that data send over from network, data first pass around physical chip entrance ethernet mac controller module and carry out the parsing of ethernet frame, after CRC check, remove Ethernet stem and postamble, remaining data is sent to network layer IP protocol controller module.IP protocol controller module receives the data sent from link layer, and IP header is processed, and according to which kind of transport layer protocol is IP header information judge to use, and transfers data to the transport layer protocol module of correspondence.Eventually pass transport layer udp protocol controller module and carry out resolving and removing the process of UDP message head, number of users is transferred to application layer.Data parsing process and encapsulation process contrast.
It should be appreciated that without departing from the spirit and scope of the present invention, it is possible to make various different modification and equivalents.This includes the amendment in scope of the following claims and all modifications, alternative structure and equivalent.Have no intent to limit the invention to detailed description of the invention shown in the drawings.The present invention should be interpreted that applicant useful, and The present invention gives its four corner.
In this manual, the existence of special characteristic is not excluded for the existence of further feature.Word " comprises ", " including " and " having " should be interpreted to comprise rather than exclusive meaning.

Claims (8)

1. the udp protocol IP kernel based on FPGA, it is characterised in that described IP kernel includes:
Transport layer UDP controller module, for being transmitted the package of layer segment data according to udp protocol and unpack;
Internet IP controller module, for carrying out the package of network layer data according to network layer IP protocol and unpack;With
Data link layer mac controller module, for carrying out the package of data in link layer according to MAC protocol and unpack.
2. the udp protocol IP kernel based on FPGA as claimed in claim 1, it is characterised in that described IP kernel meets:
Possess Ethernet interface and physical chip;
Possesses the physical chip of onboard XilinxVirtex series;
Possesses self-defining input/output interface.
3. the udp protocol IP kernel based on FPGA as claimed in claim 1 or 2, it is characterized in that, described UDP controller module also includes correction verification module, for the data received are verified, correct then send data to network layer IP protocol controller module, otherwise abandon this data.
4. the udp protocol IP kernel based on FPGA as claimed in claim 1 or 2, it is characterized in that, described network layer IP protocol controller module also includes correction verification module, data for the UDP controller module received is sent verify, correct then send data to link layer mac controller module, otherwise abandon these data.
5. the method building the udp protocol IP kernel based on FPGA, it is characterised in that including:
Receive from the data of application layer, and add UDP stem according to the udp protocol data to receiving and be transmitted the encapsulation of layer, and send the data after encapsulation;
Receive from the data of transport layer, the data received are packaged according to network layer IP protocol and add IP stem, and sends the IP packet after encapsulation;
Receive the IP packet from Internet, form ethernet frame format data after the IP packet received being added MAC layer stem and postamble and carrying out CRC check and be sent in Ethernet.
6. the method building the udp protocol IP kernel based on FPGA as claimed in claim 5, it is characterised in that described IP kernel meets:
Possess Ethernet interface and physical chip;
Possesses the physical chip of onboard XilinxVirtex series;
Possesses self-defining input/output interface.
7. the method building the udp protocol IP kernel based on FPGA as described in claim 5 or 6, it is characterized in that, receiving after the data of application layer, the data received also are verified by transport layer, correct then send data to Internet, otherwise abandon this data.
8. the method building the udp protocol IP kernel based on FPGA as described in claim 5 or 6, it is characterised in that receiving after the data of transport layer, the data received also are verified by Internet, correctly then send data to link layer, otherwise abandon these data.
CN201410834080.0A 2014-12-26 2014-12-26 UDP (User Datagram Protocol) IP (Intellectual Property) core based on FPGA (Field Programmable Gate Array) Pending CN105791252A (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201410834080.0A CN105791252A (en) 2014-12-26 2014-12-26 UDP (User Datagram Protocol) IP (Intellectual Property) core based on FPGA (Field Programmable Gate Array)

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201410834080.0A CN105791252A (en) 2014-12-26 2014-12-26 UDP (User Datagram Protocol) IP (Intellectual Property) core based on FPGA (Field Programmable Gate Array)

Publications (1)

Publication Number Publication Date
CN105791252A true CN105791252A (en) 2016-07-20

Family

ID=56389690

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201410834080.0A Pending CN105791252A (en) 2014-12-26 2014-12-26 UDP (User Datagram Protocol) IP (Intellectual Property) core based on FPGA (Field Programmable Gate Array)

Country Status (1)

Country Link
CN (1) CN105791252A (en)

Cited By (9)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN106953853A (en) * 2017-03-10 2017-07-14 桂林电子科技大学 A kind of network-on-chip gigabit Ethernet resource node and its method of work
CN108269188A (en) * 2016-12-30 2018-07-10 上海金融期货信息技术有限公司 A kind of exchange's quotation information processing method and system based on FPGA
CN108667701A (en) * 2018-03-13 2018-10-16 中国电子科技集团公司第十研究所 A kind of ether network switch and data transfer device
CN110300081A (en) * 2018-03-21 2019-10-01 大唐移动通信设备有限公司 A kind of method and apparatus of data transmission
CN110798487A (en) * 2019-11-15 2020-02-14 广州健飞通信有限公司 Integration system of user datagram protocol module
CN111343148A (en) * 2020-02-05 2020-06-26 苏州浪潮智能科技有限公司 FGPA communication data processing method, system and device
CN112202740A (en) * 2020-09-21 2021-01-08 上海微波技术研究所(中国电子科技集团公司第五十研究所) FPGA-based awakenable UDP transmission protocol implementation method and system
CN112637075A (en) * 2020-12-12 2021-04-09 华中光电技术研究所(中国船舶重工集团公司第七一七研究所) UDP/IP protocol stack implementation method based on FPGA and FPGA chip
CN115334176A (en) * 2022-07-27 2022-11-11 广州安凯微电子股份有限公司 Data transmission method, data transmission device, computer equipment, storage medium and program product

Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN202587006U (en) * 2011-12-08 2012-12-05 北京工业大学 FPGA-based access device of internet of things
CN103916252A (en) * 2014-04-18 2014-07-09 岳阳巅峰电子科技有限责任公司 High-bandwidth Ethernet IP core based on FPGA

Patent Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN202587006U (en) * 2011-12-08 2012-12-05 北京工业大学 FPGA-based access device of internet of things
CN103916252A (en) * 2014-04-18 2014-07-09 岳阳巅峰电子科技有限责任公司 High-bandwidth Ethernet IP core based on FPGA

Non-Patent Citations (2)

* Cited by examiner, † Cited by third party
Title
王磊: "基于FPGA的uIPv6IP核的设计与实现", 《中国优秀硕士学位论文全文数据库 信息科技辑(2014)》 *
胡冠敏等: "基于FPGA的硬件协议栈精简实现", 《军事通信技术(2011)》 *

Cited By (9)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN108269188A (en) * 2016-12-30 2018-07-10 上海金融期货信息技术有限公司 A kind of exchange's quotation information processing method and system based on FPGA
CN106953853A (en) * 2017-03-10 2017-07-14 桂林电子科技大学 A kind of network-on-chip gigabit Ethernet resource node and its method of work
CN108667701A (en) * 2018-03-13 2018-10-16 中国电子科技集团公司第十研究所 A kind of ether network switch and data transfer device
CN110300081A (en) * 2018-03-21 2019-10-01 大唐移动通信设备有限公司 A kind of method and apparatus of data transmission
CN110798487A (en) * 2019-11-15 2020-02-14 广州健飞通信有限公司 Integration system of user datagram protocol module
CN111343148A (en) * 2020-02-05 2020-06-26 苏州浪潮智能科技有限公司 FGPA communication data processing method, system and device
CN112202740A (en) * 2020-09-21 2021-01-08 上海微波技术研究所(中国电子科技集团公司第五十研究所) FPGA-based awakenable UDP transmission protocol implementation method and system
CN112637075A (en) * 2020-12-12 2021-04-09 华中光电技术研究所(中国船舶重工集团公司第七一七研究所) UDP/IP protocol stack implementation method based on FPGA and FPGA chip
CN115334176A (en) * 2022-07-27 2022-11-11 广州安凯微电子股份有限公司 Data transmission method, data transmission device, computer equipment, storage medium and program product

Similar Documents

Publication Publication Date Title
CN105791252A (en) UDP (User Datagram Protocol) IP (Intellectual Property) core based on FPGA (Field Programmable Gate Array)
US9059932B2 (en) Packet ordering based on delivery route changes in communication networks
CN106789609B (en) FC-EG gateway, communication conversion method between fiber channel and Ethernet
CN107094142A (en) A kind of upstream data decompression, the method and apparatus of compression
CN110557354B (en) Method and device for realizing communication between nodes and electronic equipment
WO2018018627A1 (en) Data transmission method and system, and receiving device
US11689501B2 (en) Data transfer method and virtual switch
CN101436978A (en) Method for authentic data transmission using UDP protocol
JP2014534779A (en) Multiple delivery route packet ordering
CN103490961B (en) Network equipment
KR102046792B1 (en) Method of transporting data from sending node to destination node
CN104363231A (en) Network security isolation and information exchange method and system based on one-way channel
CN102035751A (en) Data transmission method and equipment
CN104883335B (en) A kind of devices at full hardware TCP protocol stack realizes system
CN105893323A (en) Data reading method and data reading equipment
WO2021088813A1 (en) Packet encapsulating method and apparatus, and packet decapsulating method and apparatus
CN107147655A (en) A kind of network dual stack parallel process model and its processing method
CN103379046A (en) Method for improving message sending efficiency through IP message combining and splitting technology
CN107332886A (en) Method of data synchronization, device, system, electronic equipment and readable storage medium storing program for executing
CN107888710A (en) A kind of message forwarding method and device
CN107508828B (en) A kind of very-long-range data interaction system and method
CN110138635B (en) Protocol conversion function verification device and method supporting FC and Ethernet
CN107154917A (en) Data transmission method and server
CN105897665B (en) Method for realizing TCP transmission in satellite network environment and corresponding gateway
CN110933385B (en) Video streaming transmission system based on visible light unidirectional network isolation

Legal Events

Date Code Title Description
C06 Publication
PB01 Publication
SE01 Entry into force of request for substantive examination
SE01 Entry into force of request for substantive examination
RJ01 Rejection of invention patent application after publication

Application publication date: 20160720

RJ01 Rejection of invention patent application after publication