[comp.dcom.modems] CRC CCITT V.41 algorithm/function needed

ranjit@hpcilzb.HP.COM (Ranjit Padmanabhan) (05/20/88)

  I am in the  process  of  writing  a  synchronous  driver  to  implement
  SDLC/HDLC,  for  an  IBM-PC.  One of the requirements is that the driver
  provide a routine to calculate the frame checksum using the  CCITT  V.41
  polynomial :
                              16    12    5
                             X   + X   + X  + 1
  I've heard of the existence of a lookup table algorithm for implementing
  this  calculation  in software. Does anyone know the reference or of any
  other easy way for me to do this. Even better, does anyone have a  func-
  tion written in C that would do this, and could I have a copy ?

  Thanks a lot,
  Ranjit

  ranjit%hpdtc@hplabs.HP.COM    -or-    ...!hplabs!hpdtc!ranjit

jbh@mibte.UUCP (James Harvey) (06/03/88)

In article <1710001@hpcilzb.HP.COM>, ranjit@hpcilzb.HP.COM (Ranjit Padmanabhan) writes:
> 
>   I am in the  process  of  writing  a  synchronous  driver  to  implement
>   SDLC/HDLC,  for  an  IBM-PC.  One of the requirements is that the driver
>   provide a routine to calculate the frame checksum using the  CCITT  V.41
>   polynomial :
>                               16    12    5
>                              X   + X   + X  + 1
>   I've heard of the existence of a lookup table algorithm for implementing
>   this  calculation  in software. Does anyone know the reference or of any
>   other easy way for me to do this. Even better, does anyone have a  func-
>   tion written in C that would do this, and could I have a copy ?
> 
>   ranjit%hpdtc@hplabs.HP.COM    -or-    ...!hplabs!hpdtc!ranjit

I have a book on doing AX-25 packet radio in Z-80 software called
"Synchronous Packet Radio Using the Software Approach" from
Richcraft Engineering.  In their packet program they use the
lookup table method of generating CRC polynomials.  The reference
given for the method is an article by Aram Perez in the July 1983
'IEEE Micro Journal' titled 'Byte-wise CRC Calculations'. The
Richcraft book does not discuss the root method in theoretical
detail but describes the Machine Language routine which does the
SDLC CRC in the packet program.  It is only 27 bytes long.
 
-- 

Jim Harvey                        |      "Ask not for whom the bell
Michigan Bell Telephone           |      tolls and you will only pay
29777 Telegraph                   |      Station-to-Station rates."
Southfield, Mich. 48034           | 

   ihnp4!mibte!jbh   or try   ulysses!gamma!mibte!jbh