English
Language : 

M32C83 Datasheet, PDF (266/527 Pages) Renesas Technology Corp – 16/32-BIT SINGLE-CHIP MICROCOMPUTER M16C FAMILY / M32C/80 SERIES
M32C/83 Group (M32C/83, M32C/83T)
19. CRC Calculation
19. CRC Calculation
The CRC (Cyclic Redundancy Check) calculation detects an error in data blocks. A generator polynomial
of CRC_CCITT (X16 + X12 + X5 + 1) generates CRC code.
The CRC code is a 16-bit code generated for a block of data of desired length. This block of data is in 8-bit
units. The CRC code is set in the CRCD register every time one-byte data is transferred to the CRCIN
register after a default value is written to the CRCD register. CRC code generation for one-byte data is
completed in two cycles.
Figure 19.1 shows a block diagram of a CRC circuit. Figure 19.2 shows registers related to CRC. Figure
19.3 shows an example of the CRC calculation.
High-order bits of data bus
Low-order bits of data bus
8 low-order bits
8 high-
order bits
CRCD register
CRC code generation circuit
x16 + x12 + x5 + 1
CRCIN register
Figure 19.1 CRC Calculation Block Diagram
CRC Data Register
b15
b8 b7
b0
Symbol
CRCD
Address
037D16- 037C16
After Reset
Indeterminate
Function
After default value is written to the CRCD
register, the CRC code can be read from the
CRCD register by writing data to the CRCIN
register. Bit position of the default value is
inversed. The inversed value is read as the CRC
code.
Setting Range
RW
000016 to FFFF16 RW
CRC Input Register
b7
b0
Symbol
CRCIN
Address
037E16
After Reset
Indeterminate
Function
Data input.
Inverse bit position of data.
Setting Range RW
0016 to FF16
RW
Figure 19.2 CRCD Register and CRCIN Register
Rev. 1.31 Jan.31, 2006 Page 243 of 488
REJ09B0034-0131