0
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
Data In
Shift Clock
D
Q
16
D
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
Q
0
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
Data In
Shift Clock
D
Q
Cyclic Redundancy Check (CRC32) Module Introduction
436
SLAU367P – October 2012 – Revised April 2020
Copyright © 2012–2020, Texas Instruments Incorporated
CRC32 Module
16.1 Cyclic Redundancy Check (CRC32) Module Introduction
The CRC module produces signatures for a given sequences of data values. These signatures are
defined bit serial in various standard specifications. For CRC16-CCITT, a feedback path from data bits 4,
11, and 15 is generated (see
). This CRC signature is based on the polynomial given in the
CRC-CCITT with f(x)=x
15
+x
12
+x
5
+1 .
Figure 16-1. LFSR Implementation of CRC-CCITT as Defined in Standard (Bit 0 is MSB)
For CRC32-IS3309 a feedback path from data bits 0, 1, 3, 4, 6, 7, 9, 10, 11, 15, 21, 22, 26 and 31 is
generated (see
). This CRC signature is based on the polynomial given in the CRC32-
ISO3309 with f(x)=x
32
+x
26
+x
23
+x
22
+x
16
+x
12
+x
11
+x
10
+x
8
+x
7
+x
5
+x
4
+x
2
+x+1.
Figure 16-2. LFSR Implementation of CRC32-ISO3309 as Defined in Standard (Bit 0 is MSB)
Identical input data sequences result in identical signatures when the CRC is initialized with a fixed seed
value. Different sequences of input data, in general, result in different signatures for a given CRC function.
The CRC32 module supports 16-bit and 32-bit CRC generation. They are independent from each other
and supported by two dedicated register sets.
16.2 CRC Checksum Generation
The CRC generators are initialized by writing the "seed" to the CRC Initialization and Result
(CRC16INIRES or CRC32INIRES) registers. Any data that should be included in the CRC calculation
must be written to the CRC Data Input (CRC16DI or CRC32DI) registers in the same order that the
original CRC signatures were calculated. The actual signature can be read from the CRC16INIRES or
CRC32INIRES registers to compare the computed checksum with the expected checksum. Signature
generation describes a method of how the result of a signature operation can be calculated. The
calculated signature, which is computed by an external tool, is called checksum in the following text. The
checksum is stored in the product's memory and is used to check the correctness of the CRC operation
result.