CN108073546A - One kind realizes network data reception and reading and control method thereof based on FPGA - Google Patents
One kind realizes network data reception and reading and control method thereof based on FPGA Download PDFInfo
- Publication number
- CN108073546A CN108073546A CN201711447076.9A CN201711447076A CN108073546A CN 108073546 A CN108073546 A CN 108073546A CN 201711447076 A CN201711447076 A CN 201711447076A CN 108073546 A CN108073546 A CN 108073546A
- Authority
- CN
- China
- Prior art keywords
- data
- network
- bram
- buffering areas
- network data
- 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
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F15/00—Digital computers in general; Data processing equipment in general
- G06F15/76—Architectures of general purpose stored program computers
- G06F15/78—Architectures of general purpose stored program computers comprising a single central processing unit
- G06F15/7803—System on board, i.e. computer system on one or more PCB, e.g. motherboards, daughterboards or blades
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F11/00—Error detection; Error correction; Monitoring
- G06F11/07—Responding to the occurrence of a fault, e.g. fault tolerance
- G06F11/08—Error detection or correction by redundancy in data representation, e.g. by using checking codes
- G06F11/10—Adding special bits or symbols to the coded information, e.g. parity check, casting out 9's or 11's
- G06F11/1004—Adding special bits or symbols to the coded information, e.g. parity check, casting out 9's or 11's to protect a block of data words, e.g. CRC or checksum
-
- 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
-
- Y—GENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
- Y02—TECHNOLOGIES OR APPLICATIONS FOR MITIGATION OR ADAPTATION AGAINST CLIMATE CHANGE
- Y02D—CLIMATE CHANGE MITIGATION TECHNOLOGIES IN INFORMATION AND COMMUNICATION TECHNOLOGIES [ICT], I.E. INFORMATION AND COMMUNICATION TECHNOLOGIES AIMING AT THE REDUCTION OF THEIR OWN ENERGY USE
- Y02D30/00—Reducing energy consumption in communication networks
- Y02D30/50—Reducing energy consumption in communication networks in wire-line communication networks, e.g. low power modes or reduced link rate
Landscapes
- Engineering & Computer Science (AREA)
- General Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Computer Hardware Design (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Quality & Reliability (AREA)
- Computer Security & Cryptography (AREA)
- Signal Processing (AREA)
- Computer Networks & Wireless Communication (AREA)
- Computing Systems (AREA)
- Communication Control (AREA)
- Data Exchanges In Wide-Area Networks (AREA)
Abstract
The present invention relates to network data reception technique fields, and in particular to one kind realizes network reception control method based on FPGA.One kind realizes network data reception control method based on FPGA, includes the following steps:Step 1:Determine whether network frame head;Step 2:It writes data into BRAM_IP buffering areas, while the data received is counted by data reception module;Step 3:BRAM_IP buffering area initial addresses are jumped into next byte;Step 4:Carry out CRC check;Step 5:Receiving network data length is written to FIFO_IP buffering areas, the receive process of one packet network data of instruction are completed.When reading information, first judged according to the data length of deposit FIFO_IP buffering areas, rather than directly read data message in BRAM_IP buffering areas, and the data message in BRAM_IP buffering areas does not have sufficient space to be operated when storing next bag maximum network data without network data reception, avoids network data packet loss problem.
Description
Technical field
The present invention relates to network data reception technique fields, and in particular to one kind realizes that network receives controlling party based on FPGA
Method.
Background technology
Current more and more applications are realized by FPGA to communicate with network, can complete higher transmission speed, but
It is that FPGA can usually run into loss network packet situation in reception network data, network is caused to carry out TCP or UDP message
During transmission, there is unstable situation or when transmitting TCP data, transmission speed is unsatisfactory for actual requirement, in actual test mistake
Find there is a situation where length bag due to network in journey, FPGA there is a situation where to lose data packet, cause in receiving network data bag
Network stabilization transmission speed reduces.
The content of the invention
It is contemplated that it in view of the above-mentioned problems, proposes a kind of based on FPGA solutions data in receiving network data length bag
The problem of loss.
Technical program of the present invention lies in:
One kind realizes network data reception control method based on FPGA, includes the following steps:
Step 1:During receiving network data, network frame head is determined whether by data reception module;It is to perform step 2 normally
Reception data manipulation is carried out, mistake then performs step 6;
Step 2:After network frame head correct judgment, then the data received are written to BRAM_IP buffering areas by data reception module
In, while the data received are counted by data reception module;And determine whether abnormal data, if normal data
Step 3 is then performed, if abnormal data, then performs step 6;
Step 3:BRAM_IP buffering area initial addresses are jumped into next byte;
Step 4:Carry out CRC check:CRC calculating is done to the valid data of reception, is carried out after the completion of calculating with the CRC of reception data
Compare, it is more identical, confirm that present networks bag data is correct, perform step 5, otherwise abandon the network data, perform step 6:
Step 5:The network packet receives normally, generates end-of-data mark, receiving network data length is written to FIFO_
IP buffering areas, the receive process of one packet network data of instruction are completed;
Step 6:Terminate data packet to receive, write length useful signal if having generated, generate end-of-data mark, generate simultaneously
Initial address during this write-in BRAM_IP buffering area is jumped to last time and writes end position, so that next by packet error mark
Receiving network data can re-write the BRAM_IP buffering areas;
Step 7:Data are continuously received by step 1- steps 6, until BRAM_IP buffer storage spaces are less than a bag maximum web
Network data stop network data and receive operation.
The abnormal data is network long packets or the ultrashort bag of network, and the network long packets byte number is more than
1518Byte, the ultrashort packet byte number of network are less than 48 Byte.
One kind realizes network data reading and control method thereof based on FPGA, and controlling party is received using network data as described above
After method, during digital independent include the following steps:
Step 1:Whether it is to have according in the condition adjudgement BRAM_IP buffering areas of FIFO_IP buffering areas when reading data message
The network state of effect, if dummy status, then clearly the corresponding data of the dummy status are abnormal data, stop digital independent;
Step 2:If FIFO_IP buffering areas are not sky, read according to the data length recorded in the FIFO_IP buffering areas
The data of the length in BRAM_IP buffering areas, complete the read operation of network packet.
The technical effects of the invention are that:
The present invention is in data receiver, by data information memory to BRAM_IP buffering areas, when data are normal information, by number
It is believed that the data length of breath is stored to FIFO_IP buffering areas, when receiving abnormal data, FIFO_IP buffering areas are dummy status;
Therefore, when reading information, first judged rather than directly read according to the data length of deposit FIFO_IP buffering areas
Data message in BRAM_IP buffering areas, and the data message in BRAM_IP buffering areas does not have sufficient space to store next bag
It receives and operates without network data during maximum network data, avoid network data packet loss problem.
Description of the drawings
Fig. 1 is inventive network data receiver process chart.
Fig. 2 receives valid data process chart for the present invention.
Fig. 3 receives dealing of abnormal data flow chart for the present invention.
Specific embodiment
One kind realizes network data reception control method based on FPGA, when receiving valid data, as shown in Fig. 2, including
Following steps:
Step 1:During receiving network data, network frame head is determined whether by data reception module;It is to perform step 2 normally
Carry out reception data manipulation;
Step 2:As shown in Fig. 2, after network frame head correct judgment, then the data received are written to by data reception module
In BRAM_IP buffering areas, write address is located at current data initial position when starting to receive data, it is assumed that write-in data are 8 words
The byte is stored in BRAM_IP buffering areas, while the data received is counted by data reception module by section;
Step 3:As shown in Fig. 2, BRAM_IP buffering area initial addresses are jumped into next byte;
Step 4:Carry out CRC check:CRC calculating is done to the valid data of reception, is carried out after the completion of calculating with the CRC of reception data
Compare, it is more identical, confirm that present networks bag data is correct;
Step 5:The network packet receives normally, generates end-of-data mark, receiving network data length is written to FIFO_
IP buffering areas, the receive process of one packet network data of instruction are completed, meanwhile, FIFO_IP buffering area initial addresses jump to next
Byte;
Step 6:Data are continuously received by step 1- steps 5, until BRAM_IP buffer storage spaces are less than a bag maximum web
Network data stop network data and receive operation.
When receiving wrong data, as shown in figure 3, the data received are written to BRAM_IP in data reception module
When in buffering area, data reception module counts the data received and is judged as abnormal data, then generates end of data
Mark, while generates packet error mark, and initial address during this write-in BRAM_IP buffering area jumped to last time writes end
Position, so that next receiving network data can re-write the BRAM_IP buffering areas;FIFO_IP buffering areas write start bit
It puts constant.
Wherein, the abnormal data is network long packets or the ultrashort bag of network, and the network long packets byte number is big
In 1518Byte, the ultrashort packet byte number of network is less than 48 Byte.
One kind realizes network data reading and control method thereof based on FPGA, include the following steps during digital independent:
Step 1:Whether it is to have according in the condition adjudgement BRAM_IP buffering areas of FIFO_IP buffering areas when reading data message
The network state of effect, if dummy status, then clearly the corresponding data of the dummy status are abnormal data, stop digital independent;
Step 2:If FIFO_IP buffering areas are not sky, read according to the data length recorded in the FIFO_IP buffering areas
The data of the length in BRAM_IP buffering areas, complete the read operation of network packet.
Claims (3)
1. one kind realizes network data reception control method based on FPGA, it is characterised in that:Include the following steps:
Step 1:During receiving network data, network frame head is determined whether by data reception module;It is to perform step 2 normally
Reception data manipulation is carried out, mistake then performs step 6;
Step 2:After network frame head correct judgment, then the data received are written to BRAM_IP buffering areas by data reception module
In, while the data received are counted by data reception module;And determine whether abnormal data, if normal data
Step 3 is then performed, if abnormal data, then performs step 6;
Step 3:BRAM_IP buffering area initial addresses are jumped into next byte;
Step 4:Carry out CRC check:CRC calculating is done to the valid data of reception, is carried out after the completion of calculating with the CRC of reception data
Compare, it is more identical, confirm that present networks bag data is correct, perform step 5, otherwise abandon the network data, perform step 6:
Step 5:The network packet receives normally, generates end-of-data mark, receiving network data length is written to FIFO_
IP buffering areas, the receive process of one packet network data of instruction are completed;
Step 6:Terminate data packet to receive, write length useful signal if having generated, generate end-of-data mark, generate simultaneously
Initial address during this write-in BRAM_IP buffering area is jumped to last time and writes end position, so that next by packet error mark
Receiving network data can re-write the BRAM_IP buffering areas;
Step 7:Data are continuously received by step 1- steps 6, until BRAM_IP buffer storage spaces are less than a bag maximum web
Network data stop network data and receive operation.
2. according to claim 1 realize network data reception control method based on FPGA, it is characterised in that:Described is different
Regular data is network long packets or the ultrashort bag of network, and the network long packets byte number is more than 1518Byte, the ultrashort bag of network
Byte number is less than 48 Byte.
3. one kind realizes network data reading and control method thereof based on FPGA, connect using the network data described in as above claim 2
After receiving control method, during digital independent include the following steps:
Step 1:Whether it is to have according in the condition adjudgement BRAM_IP buffering areas of FIFO_IP buffering areas when reading data message
The network state of effect, if dummy status, then clearly the corresponding data of the dummy status are abnormal data, stop digital independent;
Step 2:If FIFO_IP buffering areas are not sky, read according to the data length recorded in the FIFO_IP buffering areas
The data of the length in BRAM_IP buffering areas, complete the read operation of network packet.
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201711447076.9A CN108073546A (en) | 2017-12-27 | 2017-12-27 | One kind realizes network data reception and reading and control method thereof based on FPGA |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201711447076.9A CN108073546A (en) | 2017-12-27 | 2017-12-27 | One kind realizes network data reception and reading and control method thereof based on FPGA |
Publications (1)
Publication Number | Publication Date |
---|---|
CN108073546A true CN108073546A (en) | 2018-05-25 |
Family
ID=62155417
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201711447076.9A Pending CN108073546A (en) | 2017-12-27 | 2017-12-27 | One kind realizes network data reception and reading and control method thereof based on FPGA |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN108073546A (en) |
Cited By (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN110928486A (en) * | 2018-09-19 | 2020-03-27 | 爱思开海力士有限公司 | Memory system and operating method thereof |
CN112073256A (en) * | 2020-06-01 | 2020-12-11 | 新华三信息安全技术有限公司 | Packet loss processing method, device, equipment and machine-readable storage medium |
CN113204515A (en) * | 2021-06-02 | 2021-08-03 | 郑州信大捷安信息技术股份有限公司 | Flow control system and method in PCIE application layer data receiving process |
Citations (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US7406564B1 (en) * | 2005-08-23 | 2008-07-29 | Altera Corporation | Distributed FIFO |
CN103841009A (en) * | 2014-03-13 | 2014-06-04 | 武汉虹信通信技术有限责任公司 | FPGA method for achieving conversion and cascading between Ethernet data and E1 data |
CN104486036A (en) * | 2014-12-09 | 2015-04-01 | 中国航空工业集团公司第六三一研究所 | Message fault-tolerance processing circuit and method of meeting requirements of 1394 protocol |
CN106372008A (en) * | 2015-07-23 | 2017-02-01 | 福州瑞芯微电子股份有限公司 | Data caching method and device |
CN106776374A (en) * | 2017-01-23 | 2017-05-31 | 中国核动力研究设计院 | A kind of efficient data way to play for time based on FPGA |
CN107454008A (en) * | 2017-08-22 | 2017-12-08 | 济南浪潮高新科技投资发展有限公司 | A kind of ether intercommunicating system of gigabit 10,000,000,000 and method |
-
2017
- 2017-12-27 CN CN201711447076.9A patent/CN108073546A/en active Pending
Patent Citations (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US7406564B1 (en) * | 2005-08-23 | 2008-07-29 | Altera Corporation | Distributed FIFO |
CN103841009A (en) * | 2014-03-13 | 2014-06-04 | 武汉虹信通信技术有限责任公司 | FPGA method for achieving conversion and cascading between Ethernet data and E1 data |
CN104486036A (en) * | 2014-12-09 | 2015-04-01 | 中国航空工业集团公司第六三一研究所 | Message fault-tolerance processing circuit and method of meeting requirements of 1394 protocol |
CN106372008A (en) * | 2015-07-23 | 2017-02-01 | 福州瑞芯微电子股份有限公司 | Data caching method and device |
CN106776374A (en) * | 2017-01-23 | 2017-05-31 | 中国核动力研究设计院 | A kind of efficient data way to play for time based on FPGA |
CN107454008A (en) * | 2017-08-22 | 2017-12-08 | 济南浪潮高新科技投资发展有限公司 | A kind of ether intercommunicating system of gigabit 10,000,000,000 and method |
Cited By (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN110928486A (en) * | 2018-09-19 | 2020-03-27 | 爱思开海力士有限公司 | Memory system and operating method thereof |
CN110928486B (en) * | 2018-09-19 | 2023-07-14 | 爱思开海力士有限公司 | Memory system and method of operating the same |
CN112073256A (en) * | 2020-06-01 | 2020-12-11 | 新华三信息安全技术有限公司 | Packet loss processing method, device, equipment and machine-readable storage medium |
CN112073256B (en) * | 2020-06-01 | 2022-07-19 | 新华三信息安全技术有限公司 | Packet loss processing method, device, equipment and machine readable storage medium |
CN113204515A (en) * | 2021-06-02 | 2021-08-03 | 郑州信大捷安信息技术股份有限公司 | Flow control system and method in PCIE application layer data receiving process |
CN113204515B (en) * | 2021-06-02 | 2022-02-22 | 郑州信大捷安信息技术股份有限公司 | Flow control system and method in PCIE application layer data receiving process |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN108073546A (en) | One kind realizes network data reception and reading and control method thereof based on FPGA | |
US20120314709A1 (en) | Method for processing data packets in flow-aware network nodes | |
US8473632B2 (en) | Packet receiving apparatus and processing method for the same | |
CN102395958A (en) | Concurrent processing method and device for data packet | |
US6681340B2 (en) | Efficient implementation of error correction code scheme | |
EP1994695B1 (en) | Method and device for transmitting data packets | |
US20060101172A1 (en) | System method structure in network processor that indicates last data buffer of frame packet by last flag bit that is either in first or second position | |
JP2007259274A (en) | Retransmission control circuit, transmission apparatus, retransmission control method and retransmission control program | |
CN113169811B (en) | Data processing method and matrix memory | |
CN114205115B (en) | Data packet processing optimization method, device, equipment and medium | |
US11558309B1 (en) | Expandable queue | |
JP2008136081A (en) | Data transfer device and data transfer method | |
CN109802900B (en) | Message caching method, message reading method, message caching device, message reading device and computer readable storage medium | |
US20100293443A1 (en) | Method for transmitting a data transfer block and method and system for transferring a data transfer block | |
US20230388253A1 (en) | Packet forwarding system and associated packet forwarding method | |
KR100694242B1 (en) | Storage device | |
JP2008182550A (en) | Packet buffer fifo memory device | |
JP5185920B2 (en) | Data packet assembly method and device | |
CN114760166B (en) | Tunnel message processing method and device | |
CN110636368A (en) | Media playing method and device | |
CN115623095B (en) | Data packet extraction method, device, equipment and medium | |
CN117201641A (en) | Packet transfer system and packet transfer method | |
CN116915370B (en) | Data retransmission method, device and system based on remote direct data access | |
CN100474821C (en) | Method for data transmission | |
JP2005505219A (en) | Method and apparatus for buffering data packets transmitted over a set connection |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | 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 | ||
RJ01 | Rejection of invention patent application after publication |
Application publication date: 20180525 |