108
15.1
CRC16
CW6632B Bluetooth 3.0 Audio Player SOC
Version 1.0.0
Copyright ©2015, www.appotech.com. All Rights Reserved.
15
CRC16 /LFSR16/LFSR32
15.1
CRC16
15.1.1
Features
Cyclic Redundancy Check (CRC) is an error-checking code that is widely used in data communication systems and
other serial data transmission system. CRC is based on polynomial manipulation using modular arithmetic. The
device supports CRC by a CRC circuit module. The CRC FIFO supports CRC-CCITT.
The CRC-CCITT polynomial is defined as:
CRC(x) = X^16 + X^12 + X^5 + 1
CRC FIFO High Byte
CRC FIFO Low Byte
CPU Read CRC FIFO
CPU Write CRC FIFO
CPU data BUS
Figure 15-1 CRC FIFO block diagram
Write CRCREG to initial CRC register. Write data into CRCFIFO after initialization, and data will be shifted into
module from low bit to high bit. Get the results by reading CRCRES0 and CRCRES1.
15.1.2
CRC16 Special Function Registers
Register 15-1 CRCREG
– CRC initial register
Position
7
6
5
4
3
2
1
0
Name
CRCREG
Default
1
1
1
1
1
1
1
1
Access
WO
WO
WO
WO
WO
WO
WO
WO
Write this location will initial CRC register.
Note
: To initial the CRC register, user need to write 2 bytes to CRCREG for CRC16 (High byte first).