CRC calculation unit
4
CRC calculation unit
4.1
CRC introduction
The CRC (cyclic redundancy check) calculation unit is used to get a CRC code from a 32-bit
data word and a fixed generator polynomial.
Among other applications, CRC-based techniques are used to verify data transmission or
storage integrity. In the scope of the EN/IEC 60335-1 standard, they offer a way of verifying
the Flash memory integrity. The CRC calculation unit helps compute a signature of the
software during runtime, to be compared with a reference signature generated at link-time
and stored at a given memory location.
4.2
CRC main features
•
Uses CRC-32 (Ethernet) polynomial: 0x4C11DB7
–
•
Single input/output 32-bit data register
•
CRC computation done in four AHB clock cycles (HCLK)
•
General-purpose 8-bit register (can be used for temporary storage)
The block diagram is shown in
4.3
CRC functional description
The CRC calculation unit mainly consists of a single 32-bit data register, which:
•
is used as an input register to enter new data in the CRC calculator (when writing into
the register)
•
holds the result of the previous CRC calculation (when reading the register)
82/1163
32
26
23
22
X
+ X
+ X
+ X
Figure 7. CRC calculation unit block diagram
CRC computation (polynomial: 0x4C11DB7)
32-bit (write access)
16
12
11
+ X
+ X
+ X
+ X
Figure
7.
AHB bus
Data register (output)
Data register (input)
RM0402 Rev 6
10
8
7
5
4
+X
+ X
+ X
+ X
32-bit (read access)
RM0402
2
+ X
+ X +1
ai14968
Need help?
Do you have a question about the STM32F412 and is the answer not in the manual?
Questions and answers