C8051F410-TB Silicon Laboratories Inc, C8051F410-TB Datasheet - Page 121

no-image

C8051F410-TB

Manufacturer Part Number
C8051F410-TB
Description
BOARD PROTOTYPING W/C8051F410
Manufacturer
Silicon Laboratories Inc
Type
MCUr
Datasheets

Specifications of C8051F410-TB

Contents
Board
Processor To Be Evaluated
C8051F41x
Interface Type
USB
Lead Free Status / RoHS Status
Contains lead / RoHS non-compliant
For Use With/related Products
C8051F410
Lead Free Status / Rohs Status
Lead free / RoHS Compliant
14. Cyclic Redundancy Check Unit (CRC0)
C8051F41x 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 indirectly using
the CRC0PNT bits and CRC0DAT register, as shown in Figure 14.1. CRC0 also has a bit reverse register
for quick data manipulation.
14.1. 16-bit CRC Algorithm
The C8051F41x CRC unit calculates the 16-bit CRC MSB-first, using a poly of 0x1021. The following
describes the 16-bit CRC algorithm performed by the hardware:
Step 1. XOR the most-significant byte of the current CRC result with the input byte. If this is the
Step 2a. If the MSB of the CRC result is set, left-shift the CRC result, and then XOR the CRC
Step 2b. If the MSB of the CRC result is not set, left-shift the CRC result.
Step 3. Repeat at Step 2a for the number of input bits (8).
first iteration of the CRC unit, the current CRC result will be the set initial value (0x0000 or
0xFFFF).
result with the polynomial (0x1021).
CRC0PNT1
CRC0PNT0
CRC0SEL
CRC0INIT
CRC0VAL
Figure 14.1. CRC0 Block Diagram
CRC0IN
8
Rev. 1.1
CRC Engine
8
RESULT
4 to 1 MUX
8
32
8
8
8
C8051F410/1/2/3
CRC0DAT
121

Related parts for C8051F410-TB