CN107154836B - Parallel Cyclic Redundancy Check (CRC) method based on Field Programmable Gate Array (FPGA) - Google Patents

Parallel Cyclic Redundancy Check (CRC) method based on Field Programmable Gate Array (FPGA) Download PDF

Info

Publication number
CN107154836B
CN107154836B CN201710508875.6A CN201710508875A CN107154836B CN 107154836 B CN107154836 B CN 107154836B CN 201710508875 A CN201710508875 A CN 201710508875A CN 107154836 B CN107154836 B CN 107154836B
Authority
CN
China
Prior art keywords
crc
data
crc check
byte
cyclic redundancy
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
Application number
CN201710508875.6A
Other languages
Chinese (zh)
Other versions
CN107154836A (en
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.)
Xian Institute of Space Radio Technology
Original Assignee
Xian Institute of Space Radio Technology
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 Xian Institute of Space Radio Technology filed Critical Xian Institute of Space Radio Technology
Priority to CN201710508875.6A priority Critical patent/CN107154836B/en
Publication of CN107154836A publication Critical patent/CN107154836A/en
Application granted granted Critical
Publication of CN107154836B publication Critical patent/CN107154836B/en
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L1/00Arrangements for detecting or preventing errors in the information received
    • H04L1/004Arrangements for detecting or preventing errors in the information received by using forward error control
    • H04L1/0056Systems characterized by the type of code used
    • H04L1/0061Error detection codes
    • HELECTRICITY
    • H03ELECTRONIC CIRCUITRY
    • H03MCODING; DECODING; CODE CONVERSION IN GENERAL
    • H03M13/00Coding, decoding or code conversion, for error detection or error correction; Coding theory basic assumptions; Coding bounds; Error probability evaluation methods; Channel models; Simulation or testing of codes
    • H03M13/03Error detection or forward error correction by redundancy in data representation, i.e. code words containing more digits than the source words
    • H03M13/05Error detection or forward error correction by redundancy in data representation, i.e. code words containing more digits than the source words using block codes, i.e. a predetermined number of check bits joined to a predetermined number of information bits
    • H03M13/09Error detection only, e.g. using cyclic redundancy check [CRC] codes or single parity bit
    • H03M13/091Parallel or block-wise CRC computation
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04BTRANSMISSION
    • H04B7/00Radio transmission systems, i.e. using radiation field
    • H04B7/14Relay systems
    • H04B7/15Active relay systems
    • H04B7/185Space-based or airborne stations; Stations for satellite systems
    • H04B7/18578Satellite systems for providing broadband data service to individual earth stations
    • H04B7/18586Arrangements for data transporting, e.g. for an end to end data transport or check

Abstract

The invention discloses a parallel Cyclic Redundancy Check (CRC) method based on Field Programmable Gate Array (FPGA). The method follows a CRC-CCITT coding given CRC algorithm, realizes parallel cyclic redundancy CRC code calculation by using simple XOR logic, solves the logic defect of multiple parallel-serial conversion based on bit serial, breaks through the engineering bottleneck of high resource occupancy rate of a Block RAM based on a lookup table, improves the data throughput of CRC, and simultaneously reduces the harsh requirement on hardware resources, thereby realizing the purposes of simplifying logic, improving efficiency and reducing resources.

Description

Parallel Cyclic Redundancy Check (CRC) method based on Field Programmable Gate Array (FPGA)
Technical Field
The invention relates to satellite measurement and control and communication technology, in particular to a parallel Cyclic Redundancy Check (CRC) method based on Field Programmable Gate Array (FPGA).
Background
When data frames of satellite remote control, remote measurement, outside and data transmission are transmitted, CRC is adopted to check the correctness of link transmission, so that the aims of data error correction and error detection are achieved, and the occurrence of wrong logic judgment is prevented.
The cyclic redundancy CRC checks are attached to the cyclic codes of the groups, and the basic idea is as follows: the transmitting end adds some redundant parity code elements in the transmitted information code element sequence, these parity code and information code form a certain relation according to the coding rule, the receiving end finds or corrects the error code which may be generated by checking this specific relation.
The CRC code is a check code (CRC code) r bit generated by a certain rule at the transmitting end according to the K bit binary code sequence to be transmitted by utilizing the linear coding theory, and attached to the back of information to form a new binary code sequence, wherein the number of the bits is (K + r), and finally the new binary code sequence is transmitted. At the receiving end, checking is performed according to the rule followed between the information code and the CRC code to determine the error performance and the confidence coefficient in the data transmission.
The traditional cyclic redundancy CRC (cyclic redundancy check) technology mainly refers to a serial bit check algorithm and a byte lookup table check algorithm 2.
Based on a serial bit check code algorithm, the CRC-CCITT given algorithm is strictly followed, and based on a Memory lookup table algorithm, the CRC check codes of the data frames can be obtained simply and visually, but the algorithms have the following defects:
(1) the CRC algorithm based on bit serial is characterized by multiple parallel-serial conversion, large system delay, complex time sequence alignment, more occupied hardware resources and difficulty in breaking through the bottleneck of processing speed;
(2) the byte type lookup table algorithm based on Memory resources is characterized in that complex shift and XOR logic operation delivery is completed by a matlab program, hardware resources of Slices and LUTs adopted in the algorithm are relatively not reduced, and 96 Block RAM Block resources of devices occupy 1;
(3) for different modes in the CRC-CCITT protocol, details such as whether register initial phases and high and low bytes are in reverse order or not in the process of look-up table generation and byte calling based on Memory resources are not clarified, and no constraint condition of specific application is given.
With the improvement of the transmission information rate, the CRC check calculation method based on bit serial or Memory lookup tables cannot meet the technical requirements of low resource occupancy rate, high system working clock, small calculation result delay and the like.
Disclosure of Invention
The technical problem to be solved by the invention is as follows: the parallel cyclic redundancy CRC check method based on the FPGA is provided, the parallel cyclic redundancy CRC check code calculation is realized by utilizing simple XOR logic, and the requirements of satellites on high efficiency, accuracy and rapidness of CRC check calculation are met to the greatest extent.
The technical solution of the invention is as follows:
a parallel cyclic redundancy CRC (cyclic redundancy check) method based on an FPGA (field programmable gate array) comprises the following steps of:
step one, framing according to the data transmission set format requirements of satellite remote control, remote measurement, external measurement or data transmission to form a data frame;
step two, confirming the sequence requirements and the initial phase requirements of different CRC modes on input and output data and the requirements whether the output result is XOR with 0xFFFF or not;
setting initial phases of different CRC modes, setting the initial phases to be 0000 when the CRC mode is an XMODEN mode or a TURE mode, and setting the initial phases to be FFFF when the CRC mode is a FALSE mode or an X25 mode;
step four, when the logic time sequence of the data frame to be coded is a frame synchronous word part, adding 1 to a byte counter, directly assigning input bytes to output bytes, and correspondingly initializing a shift register;
step five, when the logic time sequence of the data frame to be coded is the data part to be coded, adding 1 to a byte counter, directly assigning input bytes to output bytes, and simultaneously directly calculating CRC check codes corresponding to the input bytes according to a cyclic redundancy CRC check parallel calculation formula;
and step six, when the logic time sequence of the data frame to be coded is a CRC check part, adding 1 to a byte counter, and outputting the CRC check code according to the data sequence of the CRC check code.
Further, the frame length of the data frame is Na, wherein the effective byte length participating in CRC coding is Nb, and the byte length of the CRC check code is Nk; the logic time sequence of the data frame comprises a frame synchronization word part, a data part to be coded and a CRC (cyclic redundancy check) part; the time sequence length of the frame synchronization word part is Na-Nb-Nk, the time sequence length of the data part to be coded is Nb, and the time sequence length of the CRC part is Nk.
Further, the requirement of whether the output result is XOR-ed with 0xFFFF includes:
and when the specific CRC mode is an X25 mode, performing exclusive OR operation on the CRC check code calculated by the cyclic redundancy CRC parallel calculation formula and 0 xFFFF.
Further, the cyclic redundancy CRC check parallel computation is based on the CRC-CCITT standard.
Further, the cyclic redundancy CRC check parallel calculation formula is: the CRC check code of the current byte is equal to the logical XOR of the CRC register value of the previous byte and each information bit of the current byte;
when the specific CRC pattern requires the order of input and output data to be in reverse order,
in the formula set (1), the formula is shown in the specification,the CRC check bit after 1 byte of 8 bits is input into the ith shift register is shown;bit j representing the CRC check code of the previous byte; m iskK 1, 2.. 8 denotes the kth bit of the current byte;
when the particular CRC pattern requires positive order for the order of the input and output data,
in the formula set (2), the formula is shown in the specification,the CRC check bit after 1 byte of 8 bits is input into the ith shift register is shown;bit j representing the CRC check code of the previous byte; m iskAnd k is 1, 2.. 8 denotes the kth bit of the current byte.
Further, outputting the CRC check code according to a data order of the CRC check code, including:
if the data sequence of the CRC check code is the reverse sequence, the CRC check code is output from low bits firstly; if the data sequence of the CRC check code is positive sequence, the CRC check code is output from high bits firstly.
Compared with the prior art, the invention has the following beneficial effects:
the invention provides a parallel cyclic redundancy CRC (cyclic redundancy check) method based on an FPGA (field programmable gate array), which follows a CRC-CCITT (cyclic redundancy check) algorithm and utilizes simple XOR (exclusive OR) logic to realize parallel cyclic redundancy CRC code calculation, solves the logic defect of multiple parallel-serial conversion based on bit serial, breaks through the engineering bottleneck of high resource occupancy rate of a Block RAM (random access memory) based on a lookup table, improves the data throughput of CRC, and simultaneously reduces the harsh requirement on hardware resources, thereby realizing the purposes of simplifying logic, improving efficiency and reducing resources.
Drawings
FIG. 1 is a flow chart of a parallel Cyclic Redundancy Check (CRC) method based on FPGA according to the present invention;
FIG. 2 is a schematic diagram of the CRC-CCITT encoding principle involved in the present invention;
fig. 3 is a flowchart of a parallel cyclic redundancy check method based on an FPGA in an embodiment of the present invention.
Detailed Description
The present invention will be described in further detail with reference to the accompanying drawings and examples. It is to be understood that the specific embodiments described herein are merely illustrative of the invention and are not limiting of the invention. It should be further noted that, for the convenience of description, only some of the structures related to the present invention are shown in the drawings, not all of the structures.
Fig. 1 is a flowchart of a parallel cyclic redundancy check method based on an FPGA according to the present invention. Referring to fig. 1, the parallel cyclic redundancy CRC checking method based on an FPGA provided in the present invention may specifically include the following steps:
step one, framing according to the data transmission set format requirements of satellite remote control, remote measurement, external measurement or data transmission to form a data frame.
The data frame is formed according to the data transmission setting format requirements of satellite remote control, remote measurement, external measurement or data transmission so as to form the data frame of the data to be transmitted. The frame length of the data frame is Na, the effective byte length participating in CRC coding is Nb, and the byte length of the CRC check code is Nk; the logic time sequence of the data frame comprises a frame synchronization word part, a data part to be coded and a CRC (cyclic redundancy check) part; the time sequence length of the frame synchronization word part is Na-Nb-Nk, the time sequence length of the data part to be coded is Nb, and the time sequence length of the CRC part is Nk.
And step two, confirming the sequence requirements, the initial phase requirements and the requirements of the different CRC modes on the input and output data and whether the output result is XOR-ed with 0 xFFFF.
The sequence requirement, the initial phase requirement and the requirement whether the output result is XOR with 0xFFFF of the CRC mode on the input and output data are the requirements of the CRC algorithm of the background model; the requirement of whether the output result is XOR-ed with 0xFFFF comprises:
and when the specific CRC mode is an X25 mode, performing exclusive OR operation on the CRC check code calculated by the cyclic redundancy CRC parallel calculation formula and 0 xFFFF. That is, when the specific CRC pattern is the X25 pattern, the CRC check code calculated by the CRC parallel calculation formula needs to be xor-ed with 0xFFFF before being output as the final CRC check code.
And step three, setting initial phases of different CRC modes, setting the initial phases to be '0000' when the CRC mode is the XMODEN mode or the TURE mode, and setting the initial phases to be 'FFFF' when the CRC mode is the FALSE mode or the X25 mode.
And step four, when the logic time sequence of the data frame to be coded is a frame synchronous word part, adding 1 to a byte counter, directly assigning input bytes to output bytes, and correspondingly initializing a shift register.
And step five, when the logic time sequence of the data frame to be coded is the data part to be coded, adding 1 to a byte counter, directly assigning input bytes to output bytes, and simultaneously, directly calculating the CRC check code corresponding to the input bytes according to a cyclic redundancy CRC check parallel calculation formula.
Wherein the cyclic redundancy CRC check parallel computation is based on the CRC-CCITT standard. The invention uses CRC-CCITT as standard to carry out coding and decoding design and simulation of parallel CRC check, and fig. 2 is a schematic diagram of the CRC-CCITT coding principle of the invention. Referring to fig. 2, for CRC-CCITT encoding, the generator polynomial is g (x) x16+x12+x5+1, the corresponding feedback coefficient is 0x1021, when the data to be transmitted is coded, the A/B switch is closed, and the C switch is opened; lifting deviceAnd when the CRC check code is taken, the A/B switch is switched off, and the C switch is switched on.
According to different CRC check modes required by background models, 4 important links such as shift register initial phase, 8-bit data bit sequence input, 16-bit check code bit sequence output and whether the check code needs to be XOR-ed with 0xFFFF or not are focused when the check code of a data frame is calculated, and as shown in Table 1, the CRC-CCITT common standards related to the invention are provided.
TABLE 1CRC-CCITT commonly used several criteria
The core thought of the cyclic redundancy check parallel computation is as follows:
since the CRC remainder generated when the 8-bit information code is simultaneously input to the parallel operation circuit is the same as the CRC remainder generated when the 8-bit information code is input to the serial circuit bit by bit, it can be considered that the two circuits of the parallel calculation circuit and the serial calculation circuit are equivalent, and thus the logical relationship of the parallel calculation is derived from the changes of the registers and the input information bits in the serial operation circuit.
Optionally, the cyclic redundancy CRC check parallel calculation formula is: the CRC check code of the current byte is equal to the logical XOR of the CRC register value of the previous byte and each information bit of the current byte;
when the specific CRC pattern requires the order of the input and output data to be the reverse order, such as the tune pattern and the X25 pattern, the CRC check calculation formula is:
in the formula set (1), the formula is shown in the specification,the CRC check bit after 1 byte of 8 bits is input into the ith shift register is shown;bit j representing the CRC check code of the previous byte; m iskAnd k is 1, 2.. 8 denotes the kth bit of the current byte. The above formula (1) can also be expressed as table 2.
TABLE 2 CRC parallel calculation formula for reverse order of input and output data
When the sequence requirement of the specific CRC mode on the input and output data is positive, such as XMODEN mode and FALSE mode, the CRC check parallel calculation formula is:
in the formula set (2), the formula is shown in the specification,the CRC check bit after 1 byte of 8 bits is input into the ith shift register is shown;bit j representing the CRC check code of the previous byte; m iskAnd k is 1, 2.. 8 denotes the kth bit of the current byte. The above formula (2) can also be expressed as table 3.
TABLE 3 CRC parallel calculation formula for positive sequence of input and output data
And step six, when the logic time sequence of the data frame to be coded is a CRC check part, adding 1 to a byte counter, and outputting the CRC check code according to the data sequence of the CRC check code.
The outputting the CRC check code according to the data sequence of the CRC check code may include:
if the data sequence of the CRC check code is the reverse sequence, the CRC check code is output from low bits firstly; if the data sequence of the CRC check code is positive sequence, the CRC check code is output from high bits firstly.
Example (b):
fig. 3 is a flowchart of a parallel cyclic redundancy check method based on an FPGA in an embodiment of the present invention. Referring to fig. 3, the embodiment provides a parallel cyclic redundancy check method based on an FPGA, which includes the following steps:
completing the framing of AOS (advanced on-orbit System) of data to be transmitted according to the established format requirements of data transmission such as satellite remote control, remote measurement, external measurement and data transmission, wherein the length byte number of the frame of the whole frame is recorded as Na (512 bytes), the length of the effective data byte participating in CRC encoding is recorded as Nb (506 bytes) (the high bit of each byte is recorded as m8And a low bit is represented as m1) The CRC length is recorded as Nk (2 bytes);
to identify the CRC algorithm requirement for the background model (this background model assumes, for example, a TURE mode), it is first clear that the CRC mode requires (in order) that the input and output data sequence be positive (m)8First participating in encoding) or in reverse order (m)1First participate in encoding); if the order is 1, on the basis of the data positive sequence, further explicitly determining that the CRC mode requires the initial phase of the shift register of the check algorithm (recorded as Crc _ Ini), when the required initial phase is all "0", Crc _ Ini is 0x0000, and when the required initial phase is all "1", Crc _ Ini is 0 xFFFF; if the order is reversed (order is 0), on the basis of data reverse order, the requirement (marked as Crc _ Ini) of the CRC mode on the initial phase of the shift register of the check algorithm needs to be clarified, when the required initial phase is all "0", Crc _ Ini is 0x0000, and when the required initial phase is all "1", Crc _ Ini is 0 xFFFF;
in the CRC Check calculation process of each data frame, the logical timing to be determined includes 3 parts, a frame synchronization word (denoted as Head ═ 1), data to be encoded (denoted as Check ═ 1), and a CRC Check code (denoted as Check ═ 0), and the byte timing lengths respectively correspond to Na-Nb-Nk (4 bytes), Nb, and Nk;
when the current timing of the data frame to be encoded is the frame sync word portion (0x1ACFFC1D), the byte counter Count is Count +1, the input byte is directly assigned to the output byte, and the shift register is initialized accordingly (0x 0000);
when the current time sequence of the data frame to be coded is the data part to be coded, the byte counter Count is equal to Count +1, the input byte is directly assigned to the output byte, and meanwhile, the CRC check code corresponding to the input byte is directly calculated according to a cyclic redundancy CRC check parallel calculation formula;
when the current time sequence of the data frame to be coded is a CRC (cyclic redundancy check) code part, outputting the CRC code according to the data sequence of the CRC code, and if the order is 0, exchanging the high bit and the low bit of the CRC code, namely outputting the low bit (Crc _ Ini (0)); otherwise, the high bit of the CRC check code is output first (Crc _ Ini (15), background model).
The invention focuses on discussing a cyclic redundancy check parallel computing method which is simple in algorithm, low in resource occupation and small in time delay, so as to meet the requirements of background model tasks and solve the problems that a serial bit CRC (cyclic redundancy check) based check algorithm is clear, but the logic relation is too complicated and long, the programming time sequence is difficult to control, the realization process based on a byte Memory lookup table is too many in attention links, and the consumption of Block RAM resources is large. The single machine, system and whole satellite tests show that the method meets the technical requirements of simplifying the logic of CRC coding, improving the efficiency and reducing the resources, and effectively ensures the reliable establishment of the measurement and control link and the data transmission requirement.
The invention follows the CRC-CCITT coding given CRC algorithm, realizes the calculation of the parallel cyclic redundancy CRC code by utilizing simple XOR logic, solves the logic defect of multiple parallel-serial conversion based on bit serial, breaks through the engineering bottleneck of high resource occupancy rate of Block RAM based on a lookup table, improves the data throughput of CRC, and simultaneously reduces the harsh requirement on hardware resources, thereby achieving the purposes of simplifying logic, improving efficiency and reducing resources. The invention meets the requirement of the later-stage byte-based channel coding cascade, simplifies the implementation process, improves the working frequency of a module system by about 8 times, and has wide application prospect in the aspects of realizing the reliable transmission of remote control, remote measurement, external measurement, data transmission and the like of all satellites.
It is to be noted that the foregoing is only illustrative of the preferred embodiments of the present invention and the technical principles employed. It will be understood by those skilled in the art that the present invention is not limited to the particular embodiments described herein, but is capable of various obvious changes, rearrangements and substitutions as will now become apparent to those skilled in the art without departing from the scope of the invention. Therefore, although the present invention has been described in greater detail by the above embodiments, the present invention is not limited to the above embodiments, and may include other equivalent embodiments without departing from the spirit of the present invention, and the scope of the present invention is determined by the scope of the appended claims.

Claims (1)

1. A parallel cyclic redundancy CRC (cyclic redundancy check) method based on an FPGA (field programmable gate array) is characterized by comprising the following steps of:
step one, framing according to the data transmission setting format requirements of satellite remote control, remote measurement, external measurement or data transmission to form a data frame, wherein:
the frame length of the data frame is Na, the effective byte length participating in CRC coding is Nb, and the byte length of the CRC check code is Nk; the logic time sequence of the data frame comprises a frame synchronization word part, a data part to be coded and a CRC (cyclic redundancy check) part; the time sequence length of the frame synchronization word part is Na-Nb-Nk, the time sequence length of the data part to be coded is Nb, and the time sequence length of the CRC part is Nk;
step two, confirming the sequence requirement and the initial phase requirement of different CRC modes on input and output data and the requirement whether an output result is XOR with 0xFFFF, wherein:
the requirement of whether the output result is XOR-ed with 0xFFFF comprises:
when the specific CRC mode is an X25 mode, performing exclusive OR operation on the CRC check code requirement calculated by the cyclic redundancy CRC parallel calculation formula and 0 xFFFF;
the cyclic redundancy CRC check parallel calculation is based on a CRC-CCITT standard, and the cyclic redundancy CRC check parallel calculation formula specifically comprises: the CRC check code of the current byte is equal to the logical XOR of the CRC register value of the previous byte and each information bit of the current byte;
when the specific CRC pattern requires the order of input and output data to be in reverse order,
in the formula set (1), the formula is shown in the specification,the CRC check bit after 1 byte of 8 bits is input into the ith shift register is shown;bit j representing the CRC check code of the previous byte; m iskK 1, 2.. 8 denotes the kth bit of the current byte;
when the particular CRC pattern requires positive order for the order of the input and output data,
in the formula set (2), the formula is shown in the specification,the CRC check bit after 1 byte of 8 bits is input into the ith shift register is shown;bit j representing the CRC check code of the previous byte; m iskK 1, 2.. 8 denotes the kth bit of the current byte;
setting initial phases of different CRC modes, setting the initial phases to be 0000 when the CRC mode is an XMODEN mode or a TURE mode, and setting the initial phases to be FFFF when the CRC mode is a FALSE mode or an X25 mode;
step four, when the logic time sequence of the data frame to be coded is a frame synchronous word part, adding 1 to a byte counter, directly assigning input bytes to output bytes, and correspondingly initializing a shift register;
step five, when the logic time sequence of the data frame to be coded is the data part to be coded, adding 1 to a byte counter, directly assigning input bytes to output bytes, and simultaneously directly calculating CRC check codes corresponding to the input bytes according to a cyclic redundancy CRC check parallel calculation formula;
step six, when the logic time sequence of the data frame to be coded is a CRC check part, adding 1 to a byte counter, and outputting the CRC check code according to the data sequence of the CRC check code, wherein:
outputting the CRC check code according to the data sequence of the CRC check code, comprising:
if the data sequence of the CRC check code is the reverse sequence, the CRC check code is output from low bits firstly; if the data sequence of the CRC check code is positive sequence, the CRC check code is output from high bits firstly.
CN201710508875.6A 2017-06-28 2017-06-28 Parallel Cyclic Redundancy Check (CRC) method based on Field Programmable Gate Array (FPGA) Active CN107154836B (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201710508875.6A CN107154836B (en) 2017-06-28 2017-06-28 Parallel Cyclic Redundancy Check (CRC) method based on Field Programmable Gate Array (FPGA)

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201710508875.6A CN107154836B (en) 2017-06-28 2017-06-28 Parallel Cyclic Redundancy Check (CRC) method based on Field Programmable Gate Array (FPGA)

Publications (2)

Publication Number Publication Date
CN107154836A CN107154836A (en) 2017-09-12
CN107154836B true CN107154836B (en) 2019-12-20

Family

ID=59795465

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201710508875.6A Active CN107154836B (en) 2017-06-28 2017-06-28 Parallel Cyclic Redundancy Check (CRC) method based on Field Programmable Gate Array (FPGA)

Country Status (1)

Country Link
CN (1) CN107154836B (en)

Families Citing this family (9)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN107733568B (en) * 2017-09-22 2020-05-12 烽火通信科技股份有限公司 Method and device for realizing CRC parallel computation based on FPGA
CN107704335B (en) * 2017-09-28 2019-08-20 华南理工大学 A kind of CRC concurrent operation IP kernel based on FPGA
CN109936376B (en) * 2019-01-31 2023-02-28 西南电子技术研究所(中国电子科技集团公司第十研究所) Method for operating cyclic code CRC16-CCITT check according to bytes
CN110726809A (en) * 2019-10-19 2020-01-24 北京工业大学 Design method of high-reliability combustible gas state monitoring and alarming equipment
CN111130695B (en) * 2019-12-10 2022-09-20 卡斯柯信号有限公司 Method for calculating CANOPEN protocol CRC through redundant code words
CN111082810B (en) * 2020-01-07 2023-03-31 西安电子科技大学 FPGA-based low-overhead parallel cyclic redundancy check method and application
CN114866195A (en) * 2022-07-07 2022-08-05 深圳市江元科技(集团)有限公司 Method for controlling thermal printer by using android system
CN115987460B (en) * 2023-03-21 2023-06-16 深圳华锐分布式技术股份有限公司 Data transmission method, device, equipment and medium based on check code
CN116861493B (en) * 2023-08-31 2024-03-29 上海芯联芯智能科技有限公司 Verification code generation method, processor and electronic equipment

Family Cites Families (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN1193294C (en) * 2003-01-27 2005-03-16 西安电子科技大学 Method for parallel computing code of CRC in multiple channels and multiple bits
CN101296053A (en) * 2007-04-25 2008-10-29 财团法人工业技术研究院 Method and system for calculating cyclic redundancy check code
US8381068B1 (en) * 2010-08-27 2013-02-19 Altera Corporation Partial reconfiguration and error detection in an integrated circuit
CN102891685B (en) * 2012-09-18 2018-06-22 国核自仪系统工程有限公司 Cardiopulmonary bypass in beating heart redundancy check computing circuit based on FPGA
CN202906879U (en) * 2012-09-18 2013-04-24 国核自仪系统工程有限公司 FPGA-based parallel cyclic redundancy check operation circuit

Also Published As

Publication number Publication date
CN107154836A (en) 2017-09-12

Similar Documents

Publication Publication Date Title
CN107154836B (en) Parallel Cyclic Redundancy Check (CRC) method based on Field Programmable Gate Array (FPGA)
US9071275B2 (en) Method and device for implementing cyclic redundancy check codes
AU669746B2 (en) Method and device for detection and correction of errors in ATM cell headers
CN108737021B (en) Polar code transmission method and device
US6493844B1 (en) Error detector, semiconductor device, and error detection method
Anand Design of high speed CRC algorithm for ethernet on FPGA using reduced lookup table algorithm
CN100488059C (en) Component coder and coding method, double-output Turbo coder and coding method
CN109286471B (en) CRC (Cyclic redundancy check) method and device for SRIO (serial peripheral input/output) controller
Wei et al. High-speed decoder of Reed-Solomon codes
US5694405A (en) Encoder and decoder of an error correcting code
Saleh et al. Design and simulation of CRC encoder and decoder using VHDL
CN110741562B (en) Pipelined forward error correction for vector signaling code channels
CN113452381A (en) CRC implementation system based on FPGA
CN105049057A (en) CRC (Cyclic Redundancy Check)-32 checking circuit facing 128-bit parallel input
Kuang et al. FPGA implementation of a modified turbo product code decoder
Juan et al. Utilization of High-Speed DSP Algorithms of Cyclic Redundancy Checking (CRC-15) Encoder and Decoder for Controller Area Network
CN113821370B (en) High-speed CRC (cyclic redundancy check) generation method and device for data transmission error check
KR20020033227A (en) Circuit for parallel cyclic redundancy check in data communication
CN114443347B (en) Configurable CRC code calculation method
JPH02248120A (en) Coder/decoder system for errar connection of digital transmitter
Parthasarathy et al. A Simplified Design of Fast Error Correction Module Using Reed-Solomon Code
TWI599182B (en) Decoding device and method thereof
Grynchyshyn et al. Special Processors Simulation for Forming and Digital Processing of Error-Correcting Codes in Computer Systems
Lakshmi et al. Area efficient implementation of short length QC-LDPC codes for Ultra-Reliable Low-Latency Communication (URLLC) application
CN117914444A (en) Hardware implementation method and device for CRC calculation of IB network data packet

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
GR01 Patent grant
GR01 Patent grant