🚀 go-pugleaf

RetroBBS NetNews Server

Inspired by RockSolid Light RIP Retro Guy

Article View: be.comp.programming
Article #16204

Re: CRC probleem? hoe zit het met de Belgische programmeurs?

#16204
From: Joris Spriet
Date: Wed, 31 May 2000 00:00
55 lines
2390 bytes
Heynderickx Steven wrote in message <8h0kiu$h6r$1@nereid.worldonline.nl>...
>Hi  Everyone,
>
>I am trying to understand a technical memo I have recieved, I need to
figure
>out how to make a CRC for a string of bits. The technical info in the memo
>says the following:
>
[..]

>1+X^(-1)+X^(-5)+X^(-7)


>its initial state is B"1111111".

[..]
>Does anybody understand this?


Toch een beetje.

Ik refereer naar
=>http://www.phanderson.com/PIC/16C84/crc.html waar
de berekening van een 8-bit crc check-sum uitgelegd wordt
=>http://gaia.cs.umass.edu/kurose/ethernet/ec.htm voor wat theorie
=>http://huizen2.dds.nl/~noway66/programming/crc.htm een tutorial

Het boek "C programmer's Guide To Serial Communications" ISBN 0-672-22584-0
geeft een mooie uitleg, en toont hoe je verschillende CRC's kunt
implementeren.


Het basis principe is uiteindelijk altijd de rest berekening van een
Euclidische deling, (je weet wel: zoals op school op een blad papier)
maar in plaats van de aftrekking, gebruik je een XOR.  Om het proces te
versnellen, wordt veelal een lookup table aangemaakt met daarin al
alle mogelijke restwaarden opgeslagen voor 0 tot en met 255 (dit is het
waarden bereik van een byte).  Dan moet je enkel nog een XOR uitvoeren.
Dat gaat uiteraard sneller dan telkens een deling/modulo berekening
uit te voeren.
De gebruikte 'veelterm' is hier zoals aangegeven 1+X^(-1)+X^(-5)+X^(-7)
en het schuifregister wordt voor elk 'datagram' van 10 databytes+
1 crcbyte ge�nitialiseerd op 0xFF.
Het mooie aan het systeem is, wanneer je de 10 bytes data door het
schuifregister 'gejaagd' hebt, je exact de waarde van de 11e byte (de
8-bit crc) uitkomt.  Als je hiermee een XOR uitvoert is het resultaat dan
nul !
Is het resultaat NIET nul, dan is er een fout geslopen in de ontvangen data.


Hope this helps

Joris Spriet
j.spriet@unicall.be
Technical Details
Message-ID: <8h34mo$7j$1@trex.antw.online.be>
Path: arc1-ca.pugleaf.net!unknown!not-for-mail
References: <8h0kiu$h6r$1@nereid.worldonline.nl>

Show Full Headers
Complete Article Headers
X-Google-Language: DUTCH,ASCII
X-Google-Thread: fcea4,2167cb167627d6bf
X-Google-Attributes: gidfcea4,public
From: "Joris Spriet" <j.spriet@unicall.be>
Subject: Re: CRC probleem? hoe zit het met de Belgische programmeurs?
Date: 2000/05/31
Message-ID: <8h34mo$7j$1@trex.antw.online.be>
X-Deja-AN: 629457293
References: <8h0kiu$h6r$1@nereid.worldonline.nl>
Organization: Customer of Online Internet
X-MimeOLE: Produced By Microsoft MimeOLE V4.72.3110.3
Newsgroups: be.comp.programming