CRC is one of the most versatile error checking
algorithm used in various digital communication
systems. CRC stands for Cyclic Redundancy Code
Check or simply Cyclic Redundancy Check.
Most of the popular communication protocols, like
CAN, USB, IrDA
Æ
, SDLC, HDLC and Ethernet, employ
CRC for error detection.
Normally, for the error detection in digital
communication systems, a checksum is computed on
the message that needs to be transmitted. The com-
puted checksum is then appended at the end of the
message stream and is transmitted. At the receiving
end, the message streamís checksum is computed and
compared with the transmitted checksum. If both are
equal, then the message received is treated as error
free.
CRC works in a similar way, but it has greater
capabilities for error detection than the conventional
forms. Different CRC polynomials are employed for
error detection. The size of CRC depends upon the
polynomial chosen.
This application note describes the CRC operation and
its implementation using a dedicated hardware module. AN1148
Cyclic Redundancy Check (CRC)
Author: Sudhir Bommena Consider a message of ‘M’ of ‘k’ bits and generator
Microchip Technology Inc. polynomial ‘G’ of ‘n + 1’ bits. Dividing the message by
the generator will yield a remainder ‘R’ of ‘n’ bits. There-
fore, M = GQ + R; where Q is the quotient obtained
INTRODUCTION when M is divided by G.
CRC is one of the most versatile error checking
……