C8051F80x-83x
24. Cyclic Redundancy Check Unit (CRC0)
C8051F80x-83x devices include a cyclic redundancy check unit (CRC0) that can perform a CRC using a
16-bit or 32-bit polynomial. CRC0 accepts a stream of 8-bit data written to the CRC0IN register. CRC0
posts the 16-bit or 32-bit result to an internal register. The internal result register may be accessed indi-
rectly using the CRC0PNT bits and CRC0DAT register, as shown in Figure 24.1. CRC0 also has a bit
reverse register for quick data manipulation.
CRC0IN
8
8
Automatic CRC
Controller
Flash
Memory
CRC0CN
CRC0SEL
CRC0INIT
CRC0VAL
CRC0PNT1
CRC0PNT0
CRC0FLIP
Write
CRC0AUTO
CRC Engine
32
RESULT
8
8
8
4 to 1 MUX
8
8
CRC0CNT
CRC0DAT
CRC0FLIP
Read
Figure 24.1. CRC0 Block Diagram
Rev. 1.0
159