On 23 Apr 98 at 9:49, Roy Schriftman, MS, MBA wrote:
> CRC works as follows:
>
> I send data 852963741, the sum of the digits is 45. The modem software
> will transmit 8529637415, which is an EXTRA digit. The software at the
> receiving end will sum the first nine digits in the block and compare the
> ones digit to the last digit received. If things don't match, you have a
> CRC error and the block is retransmitted.
In principle, this is a reasonable illustration. In practice, the
CRC calculation is somewhat more complex. Consider, for instance,
that if the host sends 825963415, the procedure given above still
checks out. But a real CRC will come up with a different value,
because I switched the order of the second and third digits.
In the particular case which sparked this thread, CRC failures are
probably occurring as a side-effect of the missing data reported as
Overrun errors. i.e., fix the Overruns, and the CRC errors should go
away.
[CRC is interesting in a couple of other respects, too. It's
abstract definition involves a large polynomial that looks like a lot
of work, but if you have RAM/ROM for a couple of 256-byte tables the
CPU effort becomes negligible, making it feasible to build this into
a variety of cheap equipment.]
> sorry to be so wordy its the teacher in me ;)
It's the networking/communications software engineer in me....
David G
|