Velocity Reviews - Computer Hardware Reviews

Velocity Reviews > Newsgroups > Programming > VHDL > CRC polynomal calculation

Reply
Thread Tools

CRC polynomal calculation

 
 
Runar Gjelsvik
Guest
Posts: n/a
 
      04-28-2004
Hi,

I was looking at this site posted somewhere earlier:

http://www.easics.be/webtools/crctool

The thing I'm wondering is how do you calculate what polynom to use? I'm
planning on serially send a data frame of about 72 bits. I was thinking of
using manchester encoding and CRC.

I'm new at this CRC stuff, so I've got problems with understanding the
polynom. Hope anyone can understand my problem and help me.

Thanks in advance

Regards

Runar


 
Reply With Quote
 
 
 
 
Kai Harrekilde-Petersen
Guest
Posts: n/a
 
      04-28-2004
"Runar Gjelsvik" <(E-Mail Removed)> writes:

> I was looking at this site posted somewhere earlier:
>
> http://www.easics.be/webtools/crctool
>
> The thing I'm wondering is how do you calculate what polynom to use? I'm
> planning on serially send a data frame of about 72 bits. I was thinking of
> using manchester encoding and CRC.


The polynomials are selected from a pool of mathematically test
polynomials. In your case, I'd pick one of the wellknown ones,
e.g. the CRC32 used in Ethernet (and a lot of other places).

The longer CRC that you use, the better coverage (error detection) you
get. In general, the probability for an undetected single-bit error is
(2^N)-1:1 for an N bit CRC. This requires that the length of the frame
you send is less than 2^(N-1)*N bit, IIRC.

Regards,


Kai
 
Reply With Quote
 
 
 
 
Allan Herriman
Guest
Posts: n/a
 
      04-29-2004
On Wed, 28 Apr 2004 18:29:29 GMT, Kai Harrekilde-Petersen
<(E-Mail Removed)> wrote:

>"Runar Gjelsvik" <(E-Mail Removed)> writes:
>
>> I was looking at this site posted somewhere earlier:
>>
>> http://www.easics.be/webtools/crctool
>>
>> The thing I'm wondering is how do you calculate what polynom to use? I'm
>> planning on serially send a data frame of about 72 bits. I was thinking of
>> using manchester encoding and CRC.

>
>The polynomials are selected from a pool of mathematically test
>polynomials. In your case, I'd pick one of the wellknown ones,
>e.g. the CRC32 used in Ethernet (and a lot of other places).
>
>The longer CRC that you use, the better coverage (error detection) you
>get.


Good advice so far.

>In general, the probability for an undetected single-bit error is
>(2^N)-1:1 for an N bit CRC. This requires that the length of the frame
>you send is less than 2^(N-1)*N bit, IIRC.


Any CRC will detect a single bit error in a frame of any length.

Even parity (equiv to 1 bit CRC) will detect a single bit error in
arbitrarily long frames.

I listed some CRC error detection properties here:
http://groups.google.com/groups?thre...5god%404ax.com

Regards,
Allan.
 
Reply With Quote
 
 
 
Reply

Thread Tools

Posting Rules
You may not post new threads
You may not post replies
You may not post attachments
You may not edit your posts

BB code is On
Smilies are On
[IMG] code is On
HTML code is Off
Trackbacks are On
Pingbacks are On
Refbacks are Off


Similar Threads
Thread Thread Starter Forum Replies Last Post
String::CRC crc function returns incorrect result, why? `Zidane Tribal Perl 1 07-28-2007 08:01 PM
String::CRC crc function returns incorrect result, why? `Zidane Tribal Perl Misc 3 07-27-2007 11:41 AM
CRC calculation edi.fraiman@gmail.com VHDL 4 02-26-2007 12:52 PM
crc-8 and crc-16 code... Mamut C++ 5 02-22-2007 02:22 PM
CRC calculation mike7411@gmail.com Python 2 05-05-2006 10:50 AM



Advertisments