CN102055555B - Method for filling and checking data frames of 10 Gigabit Ethernet based on FPGA - Google Patents
Method for filling and checking data frames of 10 Gigabit Ethernet based on FPGA Download PDFInfo
- Publication number
- CN102055555B CN102055555B CN 201010598071 CN201010598071A CN102055555B CN 102055555 B CN102055555 B CN 102055555B CN 201010598071 CN201010598071 CN 201010598071 CN 201010598071 A CN201010598071 A CN 201010598071A CN 102055555 B CN102055555 B CN 102055555B
- Authority
- CN
- China
- Prior art keywords
- data
- circuit
- crc
- filling
- lane
- 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.)
- Active
Links
Images
Landscapes
- Detection And Prevention Of Errors In Transmission (AREA)
- Data Exchanges In Wide-Area Networks (AREA)
Abstract
The invention discloses a method for filling and checking data frames of 10 Gigabit Ethernet based on a field programmable gate array (FPGA). The method comprises the following steps of: filling when minimum frames are insufficient, sequentially checking the filled valid data stream or original data stream by using a parallel 64-bit cyclic redundancy check (CRC)-32 circuit and a serial 8-bit CRC-32 circuit, sequentially checking a 64-bit CRC-32 circuit and valid data stream in an incomplete period by using an 8-bit CRC-32 circuit, simply coding a check result (4bytes) to form a frame check sequence (FCS), filling into the end of the valid data stream, pushing the data stream to a downstream module and sending. Through the technical scheme, the data frames which meet a media access control (MAC) layer of the 10 Gigabit Ethernet can be generated and sent, and the checked data frames are pushed to a next bus or a buffer area without delay.
Description
Technical field
The present invention relates to the Data Detection of ten thousand mbit ethernet high-speed data communication agreements, be specifically related to a kind of filling method of calibration of ten thousand mbit ethernet Frames based on FPGA.
Background technology
In the high-speed data communications system since data flow (comprising pay(useful) load and control flows) can Yin Wendu when transmitting on the line, extraneous interference such as ray, inconsistent phenomenon appears in the data flow that data flow of receiving the recipient and transmit leg send.Error code occurs for guaranteeing to receive to identify wrong data flow and notify on the transmit leg circuit, then need communication process is carried out error control.The error control method that uses on the line has ARQ (request retransmission mode automatically), FEC (forward error correction mode) and HEC (hybrid error correction) at present.More use be the ARQ mode, the error control of this pattern only needs error detection function.
CRC cyclic redundancy check (CRC) code (Cyclic Redundancy Check) is a kind of error check code the most frequently used in the data communication field, it is characterized in that the length of information field and check field can be selected arbitrarily.Because its error monitoring ability is strong, the antijamming capability excellence is widely used in the error control of circuit.
Generate the basic principle of CRC sign indicating number: any one code of being made up of bit string can be only corresponding one by one with the multinomial of ' 1 ' value for ' 0 ' with a coefficient.For example: the multinomial of code 1010111 correspondences is x
6+ x
4+ x
2+ x+1, and multinomial is x
5+ x
3+ x
2The code 101111 of+x+1 correspondence.
The principle that CRC sign indicating number collection is selected: if establishing code word size is N, information field is the K position, and check field is R position (N=K+R), and then there is and only exists a R order polynomial g (x) in arbitrary code word of concentrating for the CRC sign indicating number, makes
V(x)=A(x)g(x)=xRm(x)+r(x);
Wherein: m (x) is K-1 message polynomial, and r (x) is R-1 check polynomial,
G (x) is called generator polynomial:
g(x)=g
0+g
1x1+g
2x2+...+g
(R-1)x(R1)+g
R×R
Transmit leg produces the CRC code word by the g (x) of appointment, and the recipient then verifies the CRC code word of receiving by this g (x).
Listed CRC and its multinomial of some standards below:
CRC-4:X
1+X+1
CRC-12:x
12+x
11+x
3+x+1
CRC-16:x
16+x
15+x
2+1
CRC-ITU:x
16+x
12+x
5+1
CRC-32:x
32+x
26+x
23+...+x
2+x+1
CRC-32c:x
32+x
28+x
27+...+x
8+x
6+1
Summary of the invention
The object of the invention is to overcome MAC layer data stream and can sends and the timely FCS check information that adds based on CRC-32 by linear speed 10G/b.
A kind of filling method of calibration of ten thousand mbit ethernet Frames based on FPGA comprises following steps:
A, state machine start by the upstream transmission asks to trigger, and data are pushed ahead, and enter format analysis processing for the first time;
B, valid data are carried out bytes calculate, enter step D operation more than or equal to minimum frame, otherwise, execution in step C;
C, according to the frame length polishing of the active traffic of required transmission to minimum frame length;
D, parallel 64 the CRC-32 circuit of application and 8 CRC-32 circuit of serial carry out the flowing water verification to active traffic or original data stream after filling, the active traffic of 8 64 CRC-32 circuit of CRC-32 circuit flowing water verification and non-complete cycle, check results carries out forming FCS after the simple code, be filled into the active traffic ending, data flow be advanced to downstream module send;
E, waiting for IFG all after date, reenter idle condition, repeat this process.
A kind of optimal technical scheme of the present invention is: described C step data adopt 7 road parallel pipelining process data, adopt 64 CRC-32 circuit and 8 CRC-32 circuit when filling.
Another optimal technical scheme of the present invention is: the active traffic that adopts 8 lane of ping pong scheme verification MAC layer transmit leg when data send.
By means of technical scheme of the present invention, can generate and send the Frame that meets ten thousand mbit ethernet MAC layers, the Frame with after the verification that there is no time-delay is advanced to next bus or buffering area.
Description of drawings
Fig. 1 is the state machine transfer process of filling of MAC layer and verification;
Fig. 2 carries out padding scheme less than 7 cycles to frame for frame length;
Fig. 3 carries out padding scheme for frame length equaled for 8 cycles to frame;
Fig. 4 is the sequential flow chart of check part of the present invention.
Embodiment
Below in conjunction with the drawings and specific embodiments method of the present invention is described.
By the upstream driving data, the middle reaches data analysis is advanced to the downstream with data flow again on the link.In Fig. 1, the startup of state machine sends request by the upstream and triggers, and enters into the filling that primary data processing is a lead code.Behind this state, just begin frame format requirement according to Ethernet, Frame with an integral body fill, verification packing sends, and waiting for IFG all after date, reenters idle condition.Wait state is the time that is full of of primary traffic pipelining-stage, by increasing this state, can realize the lasting transmission of follow-up data.At first the function to each module in the communication port elaborates.
In standard ten thousand mbit ethernets, the frame length of each frame must be more than or equal to 64bytes, comprising the FCS verification filler of 4bytes; The demarcation of frame is identified by lead code: 010101 ... 0101011 totally 8 bytes; Fill circuit and adopt the counter way to manage, pad_cnt[3:0] count from the frame preamble sign indicating number, if receiving cycle is smaller or equal to 7 cycles, it is Fig. 2 mode, the situation that equals the need filling in 8 cycles has only three kinds, and is promptly shown in Figure 3, inoperative position added PADDINGbytes form filler, content is random, more than two kinds of the 8th cycles of filling situations be that 4bytes is FCS at last.Data flow after the filling is carried out depositing for 7 times to the data of 8 lane of mac frame with 7 64 bit registers and is duplicated, 64 CRC-32 circuit carry out verification to 8 lane data removing last cycle, verification is to liking the initial data of not duplicating, i.e. fifo[63:0] register; 8 lane data in last week have the situation of 8 valid data, and 8 in full force and effect then continuation of lane adopt 64 CRC-32 circuit that it is carried out verification; All the other situations: 1-7 lane data effectively then adopt 8 CRC-32 circuit serial verifications, each cycle goes out an interim check value, maximum 7 cycle verifications finish, verification to as if the 7th part 64 register value duplicating, here also need a shift register, with 8 CRC-32 circuit of cycle data immigration of effective lane; In the process of 8 CRC-32 circuit to the N frame check, 64 CRC-32 circuit also can carry out verification work simultaneously, the N+1 frame are removed 8 lane data in last cycle and carry out verification, carry out the purpose that ping-pong operation reaches adjacent two frames of linear speed verification with this; The 4bytes data of last 64 CRC32 and one 8 CRC32 circuit associating verifications are added the MAC ending to and are formed FCS.
Claims (3)
1. filling method of calibration based on the ten thousand mbit ethernet Frames of FPGA is characterized in that: comprise following steps:
A, state machine start by the upstream transmission asks to trigger, and data are pushed ahead, and enter format analysis processing for the first time;
B, valid data are carried out bytes calculate, enter step D operation more than or equal to minimum frame, otherwise, execution in step C;
C, according to the frame length polishing of the active traffic of required transmission to minimum frame length;
D, the data flow after filling are carried out depositing for 7 times to the data of 8 lane of mac frame with 7 64 bit registers and are duplicated, 64 CRC-32 circuit carry out verification to 8 lane data removing last cycle, and verification is to liking the initial data of not duplicating: then continue to adopt 64 CRC-32 circuit that it is carried out verification when 8 lane in last cycle are in full force and effect; When the 7th part 64 the register value that 1-7 the lane data in last cycle effectively then adopt 8 CRC-32 circuit serial verifications to duplicate, be provided with shift register simultaneously the cycle data of effective lane is moved into 8 CRC-32 circuit; In the process of 8 CRC-32 circuit to the N frame check, 64 CRC-32 circuit remove 8 lane data in last cycle to the N+1 frame simultaneously and carry out verification, carry out ping-pong operation with this and reach adjacent two frames of linear speed verification; The 4bytes data of last 64 CRC32 and 8 CRC32 circuit associating verifications are added the MAC ending to and are formed FCS; Be filled into the active traffic ending, data flow be advanced to downstream module send.
E, waiting for IFG all after date, reenter idle condition, repeat this process.
2. a kind of according to claim 1 filling method of calibration of ten thousand mbit ethernet Frames based on FPGA is characterized in that: data adopt 7 road parallel pipelining process data, adopt 64 CRC-32 circuit and 8 CRC-32 circuit when filling
3. a kind of according to claim 1 filling method of calibration of ten thousand mbit ethernet Frames based on FPGA is characterized in that: the active traffic that adopts 8 lane of ping pong scheme verification MAC layer transmit leg when data send.
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN 201010598071 CN102055555B (en) | 2010-12-17 | 2010-12-17 | Method for filling and checking data frames of 10 Gigabit Ethernet based on FPGA |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN 201010598071 CN102055555B (en) | 2010-12-17 | 2010-12-17 | Method for filling and checking data frames of 10 Gigabit Ethernet based on FPGA |
Publications (2)
Publication Number | Publication Date |
---|---|
CN102055555A CN102055555A (en) | 2011-05-11 |
CN102055555B true CN102055555B (en) | 2013-07-31 |
Family
ID=43959522
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN 201010598071 Active CN102055555B (en) | 2010-12-17 | 2010-12-17 | Method for filling and checking data frames of 10 Gigabit Ethernet based on FPGA |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN102055555B (en) |
Families Citing this family (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN105356966B (en) * | 2014-08-22 | 2019-07-23 | 华为技术有限公司 | Cyclic redundancy check implementation method, device and the network equipment |
CN107733568B (en) * | 2017-09-22 | 2020-05-12 | 烽火通信科技股份有限公司 | Method and device for realizing CRC parallel computation based on FPGA |
Citations (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101764669A (en) * | 2008-12-21 | 2010-06-30 | 重庆川仪自动化股份有限公司 | CRC code check method in data receiving process |
Family Cites Families (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20050257117A1 (en) * | 2004-05-12 | 2005-11-17 | Weirong Chiang | Method and circuit for determining an ending of an ethernet frame |
-
2010
- 2010-12-17 CN CN 201010598071 patent/CN102055555B/en active Active
Patent Citations (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101764669A (en) * | 2008-12-21 | 2010-06-30 | 重庆川仪自动化股份有限公司 | CRC code check method in data receiving process |
Also Published As
Publication number | Publication date |
---|---|
CN102055555A (en) | 2011-05-11 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
JP3614907B2 (en) | Data retransmission control method and data retransmission control system | |
CN1937631B (en) | User datagram protocol message processing method and device | |
CN101662335B (en) | Forward error correction encoding method, forward error correction decoding method and devices thereof | |
CN103533045B (en) | A kind of method fault-tolerant for PCIE data link layer high-performance | |
US10236907B2 (en) | Forward error correction (FEC) emulator | |
CN102957511B (en) | Adaptive deceleration method of data transmission | |
CN101656593B (en) | Forward error correction coding method, forward error correction decoding method and device thereof | |
CN104620542A (en) | Controller area network with flexible data-rate | |
CN101800757A (en) | No-feedback one-way data transmission method based on single fiber structure | |
CN101183875A (en) | Velocity matching method for limited longness circulation caching of Turbo code | |
CN102239658B (en) | Error control on-demand | |
US20110060959A1 (en) | Method and Apparatus for Data Receiving | |
US20180091332A1 (en) | Hybrid forward error correction and replay technique for low latency | |
CN102055555B (en) | Method for filling and checking data frames of 10 Gigabit Ethernet based on FPGA | |
CN107209713A (en) | The method and system that file is repaired on demand | |
CN101459490A (en) | Data transmission method and device | |
CN112422235B (en) | Network packet loss recovery method based on redundancy algorithm | |
US20090210770A1 (en) | Method, system and computer program product for end to end error checking in ethernet | |
US7020821B2 (en) | Redundant packet telecommunication network system using minimum hamming distances to construct a final estimate of a original codeword | |
CN102088334A (en) | 10 gigabit Ethernet data receiving and verification method based on FPGA | |
WO2015090200A1 (en) | Data receiving method and device, and data sending method and device | |
WO2022105753A1 (en) | Network data encoding transmission method and apparatus | |
JPH0787099A (en) | Error control method in atm network | |
Rajeswari | Analysis of Error Detection and Correction in Data Link Layer | |
CN102209072A (en) | Method for transmitting deep space file |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
C06 | Publication | ||
PB01 | Publication | ||
C10 | Entry into substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
C14 | Grant of patent or utility model | ||
GR01 | Patent grant | ||
TR01 | Transfer of patent right |
Effective date of registration: 20221212 Address after: 430040 NO.666, Wuhuan Avenue, linkonggang economic and Technological Development Zone, Wuhan City, Hubei Province (10) Patentee after: Dawning Network Technology Co.,Ltd. Address before: 300384 Xiqing District, Tianjin Huayuan Industrial Zone (outside the ring) 15 1-3, hahihuayu street. Patentee before: DAWNING INFORMATION INDUSTRY Co.,Ltd. |
|
TR01 | Transfer of patent right |