English
Language : 

M16C80 Datasheet, PDF (189/358 Pages) Renesas Technology Corp – RENESAS 16-BIT SINGLE-CHIP MICROCOMPUTER M16C FAMILY / M16C/80 SERIES
M16C/80 Group
23. CRC Calculation Circuit
23. CRC Calculation Circuit
The Cyclic Redundancy Check (CRC) calculation circuit detects an error in data blocks. The microcom-
puter uses a generator polynomial of CRC_CCITT (X16 + X12 + X5 + 1) to generate CRC code.
The CRC code is a 16-bit code generated for a block of a given data length in multiples of 8 bits. The CRC
code is set in a CRC data register each time one byte of data is transferred to a CRC input register after
writing an initial value into the CRC data register. Generation of CRC code for one byte of data is com-
pleted in two machine cycles.
Figure 23.1 shows the block diagram of the CRC circuit. Figure 23.2 shows the CRC-related registers.
Data bus high-order bits
Data bus low-order bits
Eight low-order bits
Eight high-order bits
CRC data register (16)
CRC code generating circuit
x16 + x12 + x5 + 1
(Addresses 037D16, 037C16)
CRC input register (8) (Address 037E16)
Figure 23.1 Block diagram of CRC circuit
CRC data register
(b15)
b7
(b8)
b0 b7
b0
Symbol
CRCD
Address
When reset
037D16, 037C16 Indeterminate
Function
CRC calculation result output register
Values that
can be set
RW
000016 to FFFF16
CRC input register
b7
b0
Symbo
CRCIN
Data input register
Function
Figure 23.2 CRC-related registers
Rev.1.00 Aug. 02, 2005 Page 178 of 329
REJ09B0187-0100
Address
037E16
When reset
Indeterminate
Values that
can be set
0016 to FF16
RW