Nations Technologies Inc.
Tel
:
+86-755-86309900
:
Address: Nations Tower, #109 Baoshen Road, Hi-tech Park North.
Nanshan District, Shenzhen, 518057, P.R.China
152
/
631
Figure 8-1
CRC calculation unit block diagram
CRC function description
CRC32
CRC unit contains one 32-bit data register:
Writing this register to input CRC data.
Reading this register to get the calculated CRC result.
Every writing operation of this data register triggers the calculation of this new data with the previous calculation
result (CRC calculation is performed on the whole 32-bit word rather than byte by byte).
Support back-to-back writes or sequential write-read operations.
CRC_CRC32DAT can be re-initialized to 0xFFFFFFFF by setting CRC_CRC32CTRL.RESET. This operation does
not affect the data in register CRC_CRC32IDAT.
CRC16
CRC_CRC16CTRL.ENDHL controls little endian or big endian.
To clear the result of the last CRC operation, set CRC_CRC16CTRL.CLR to 1 or CRC_CRC16D to 0.
The initial value of CRC calculation can be configured by writing the CRC_CRC16D register. By default, the initial
value is the result of the last calculation.
LRC calculation is the same as CRC calculation. Both are carried out at the same time. CRC or LRC can be read out
depending on needs. If the initial value needs to be set, the LRC register should be configured first.
CRC32
AHBInf
LRC
CRC16
Ctrl&Data
Regs
CRC
AHB
BUS