EasyManua.ls Logo

Cypress FM4 Series - Overview of CRC

Cypress FM4 Series
1102 pages
To Next Page IconTo Next Page
To Next Page IconTo Next Page
To Previous Page IconTo Previous Page
To Previous Page IconTo Previous Page
Loading...
CHAPTER 13: CRC (Cyclic Redundancy Check)
742 FM4 Peripheral Manual, Doc. No. 002-04856 Rev. *E
1. Overview of CRC
The CRC (Cyclic Redundancy Check) is an error detection system. The CRC code is a remainder after
an input data string is divided by the pre-defined generator polynomial, assuming the input data string is a
high order polynomial. Ordinarily, a data string is suffixed by a CRC code when being sent, and the
received data is divided by a generator polynomial as described above. If the received data is dividable, it
is judged that the data is correctly received.
CRC functions
This module enables the calculation in both CCITT CRC16 and IEEE-802.3 CRC32. In this module, the
generator polynomial is fixed to the numeric values for those two modes; therefore, the CRC value based
on other generator polynomials cannot be calculated.
CCITT CRC16 generator polynomial: 0x1021
IEEE-802.3 CRC32 generator polynomial: 0x04C11DB7
CRC Block Diagram
Figure 1-1 shows the CRC block diagram.
Figure 1-1 CRC Block Diagram
CRCCR
32-bit
peripheral bus
Bus I/F
CRCINIT
CRCIN
CRC Calculation
CRCR
Generator Polynomial
[CRC16] 0x1021
[CRC32] 0x04C11DB7
CRCCR (CRC Control Register)
Used to control CRC calculation.
CRCINIT (CRC Initial Value Register)
Used to specify the initial values for CRC calculation.
CRCIN (Input Data Register)
Used to set input data for CRC calculation.
CRCR (CRC Register)
Used to output the CRC calculation result.
CRC Calculation
A circuit to perform CRC calculation.

Table of Contents

Related product manuals