# 16 bit crc

Discussion in 'Electronic Design' started by Sreenath, Dec 29, 2006.

1. ### SreenathGuest

---------------- |----------------|--------------|
^ v v v
ip-->(+)<- |x15 ..x12|<-(+)<-|x11.. x5 |<-(+)<-|x4 .. x0|<---

---------------- |---------------|-----------------|
^ v v v
<- |x15 ..x12|<-(+)<-|x11.. x5 |<-(+)<-|x4 .. x0|<---(+)<-ip

What is the difference between the 2 types of CRC calcultion
mentioned above.
In the fisrt one input is xored with x15 and fed at different points
while in the second one the ip is xored and fed at the fisrt point.
I understand that second one computes the crc or remainder for
the pattern of ip but what does the first one compute.

(how to send diagrams .it would have been esay to draw diagram)

Rgds,
Sreenath.

2. ### HKJGuest

Is it reflected and non-reflected?
Correctly used they will give the same result.

http://www.miscel.dk/MiscEl/CRCcalculations.html

3. ### Ben JacksonGuest

In written form you could just use the CRC polynomial, such as
CRC-16: x^16 + x^15 + x^2 + 1

a reciprocal polynomial, which has all of the coefficients reversed.
It's just as strong as the original but the output has the reverse
bit order. From my example, it'd be x^16 + x^14 + x^1 + 1.

4. ### jasenGuest

only the way the internal state is represented.
the CRCs produced at out should be the same...

.--------------------+-----------------+---------------.
| | | |
^ v v |
ip-->(+)<-+--|x15 ..x12|<-(+)<-|x11.. x5 |<-(+)<-|x4 .. x0|<-'
|
`---> out

.----------------+-----------------+------------------+----> out
| | | |
| v v v
`- |x15 ..x12|<-(+)<-|x11.. x5 |<-(+)<-|x4 .. x0|<---(+)<-ip

another way:

.-------------->(+)------------->(+)----------------+----> out
| ^ ^ |
| | | v
`- |x15 ..x12|<--+--|x11.. x5 |<--+--|x4 .. x0|<---(+)<-ip

for simple diagrams like above uses a fixed pitch font and plenty of
whitespace. more complex drawings can be posted to
alt.binaries.schematics.electronics in some common format like gif or pdf etc...

Bye.
Jasen

5. ### SreenathGuest

The out is genrated with every ip but what we need is 16 bit for the
whole of the input.
the remainder or the 16 bit CRC.
Rgds,
Sreenath.