15. Cyclic Redundancy Check (CRC0)
15.1 Introduction
The cyclic redundancy check (CRC) module performs a CRC using a 16-bit polynomial. CRC0 accepts a stream of 8-bit data and posts
the 16-bit result to an internal register. In addition to using the CRC block for data manipulation, hardware can automatically CRC the
flash contents of the device.
CRC
CRC0DAT
CRC0IN
byte-level bit
reversal
Hardware CRC
Calculation Unit
Seed
(0x0000 or
0xFFFF)
Automatic
flash read
control
8
8
8
8
8
Flash
Memory
CRC0FLIP
8
Figure 15.1. CRC Functional Block Diagram
15.2 Features
The CRC module is designed to provide hardware calculations for flash memory verification and communications protocols. The CRC
module supports the standard CCITT-16 16-bit polynomial (0x1021), and includes the following features:
• Support for CCITT-16 polynomial
• Byte-level bit reversal
• Automatic CRC of flash contents on one or more 256-byte blocks
• Initial seed selection of 0x0000 or 0xFFFF
EFM8UB3 Reference Manual
Cyclic Redundancy Check (CRC0)
silabs.com
| Building a more connected world.
Rev. 0.2 | 182