Information Technology Reference
In-Depth Information
Table D.1 lists some typical CRC codes. CRC-32 is used in Ethernet, Token Ring and FDDI
networks, whereas ATM uses CRC-8 and CRC-10.
Table D.1
Typical schemes
Type
Polynomial
Polynomial binary
equivalent
x 8 + x 2 + x 1 +1
CRC-8
100000111
x 10 + x 9 + x 5 + x 4 + x 1 +1
CRC-10
11000110011
x 12 + x 11 + x 3 + x 2 +1
CRC-12
1100000001101
x 16 + x 15 + x 2 +1
CRC-16
11000000000000101
x 16 + x 12 + x 5 +1
CRC-CCITT
10001000000100001
x 32 + x 26 + x 23 + x 16 + x 12 + x 11
+ x 10 + x 8 + x 7 + x 5 + x 4 + x 2 + x +1
CRC-32
100000100100000010001110110110111
D.1.1 Mathematical representation of the CRC
The main steps to CRC implementation are:
1. Prescale the input polynomial of
M
' x
)
by the highest order of the generator polynomial
P ( x ).
n
Mx
'( )
=
xMx
( )
2. Next divide
M
' x
)
by the generator polynomial to give:
n
M
'
(
x
)
x
M
(
x
)
R
(
x
)
=
=
Q
(
x
)
+
G
(
x
)
G
(
x
)
G
(
x
)
which yields
x n
M
(
x
)
=
G
(
x
)
Q
(
x
)
+
R
(
x
)
and rearranging gives
x n
This means that the transmitted message (
M
(
x
)
+
R
(
x
)
=
G
(
x
)
Q
(
x
)
x n
M
(
x
)
+
R
(
x
)
) is now exactly divisible by G ( x ).
D.1.2 CRC example
Question A
A CRC system uses a message of 1 + x 2 + x 4 + x 5 . Design a cyclic encoder circuit with genera-
tor polynomial G ( x )=1+ x 2 + x 3 and having appropriate gating circuitry to enable/disable the
shift out of the CRC remainder.
Answer A
The generator polynomial is G ( x )=1+ x 2 + x 3 , the circuit is given in Figure D.3.
 
Search WWH ::




Custom Search