[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Re: [usb] crc algorithm
Hi Kwnie,
Actually, it doesn't mater what value
you need to preset, as far as encode/decode
are using the same seed. But people set it to
1's for some protocals, so everybody can
communicate each other, either in transmit side
or receive side. That's my understanding.
The result for the first diagram looks to me
is y = 1 + x^3 + x^5, but the second one is
y = 1 + x^2 + x^5. If you change the first one,
feedback from Msb -> Lsb to Msb -> B[2], actually
from 2-string feed back to single-string feedback,
it would has the same result as the second one.
Which is y = 1 + x^2 + x^5.
regards
bo
--- "kw@nie" <kwanie@pacific.net.sg> wrote:
> Bi Bo,
>
> You are right about pre-loading the register with
> '1's. it's careless of me
> to not have included it.
>
> > The first part, looks like using two-string
> > feed back instead. It will result in
> > Y = 1 + X^3 + X^5 instead of Y = 1 + X^2 + X^5 in
> > USB protocol for token packet checksum.
>
> The result is still Y = 1 + X^3 + X^5 => 2^0 + 2^3 +
> 2^5, with 2^0 being the
> data bit.
>
>
> ----- Original Message -----
> From: "Bo" <bo_ye@yahoo.com>
> To: <usb@opencores.org>
> Sent: Thursday, February 21, 2002 7:33 AM
> Subject: RE: [usb] crc algorithm
>
>
> > Hi Kwanie,
> > Thanks for the diagram.
> > I agree on the second part. Xor the X0 with
> > the MSB will yield the correct when the last bit
> > is shifted in. But need to preset all the register
> > to 1's. (correct me if I am wrong)
> > The first part, looks like using two-string
> > feed back instead. It will result in
> > Y = 1 + X^3 + X^5 instead of Y = 1 + X^2 + X^5 in
> > USB protocol for token packet checksum.
> >
> > regards
> > bo
> >
> >
> > --- "kw@nie" <kwanie@pacific.net.sg> wrote:
> > > I think I know why the binary representations,
> in
> > > the USB specification, are
> > > different from the polynomials. Attached is a
> brief
> > > explanation based on the
> > > 5-bit CRC but the principle applies for both CRC
> > > generators.
> > >
> > > Cheers,
> > > kwanie
> > >
> > >
> > >
> > >
> > > -----Original Message-----
> > > From: owner-usb@opencores.org
> > > [mailto:owner-usb@opencores.org] On Behalf
> > > Of kebloo@mitra.net.id
> > > Sent: 21 February 2002 08:34
> > > To: usb@opencores.org
> > > Subject: [usb] crc algorithm
> > >
> > > Hello,
> > >
> > > Sorry for this beginner question, but I wish
> some
> > > one could
> > > answer my curiosity...
> > >
> > > USB 1.1 specification defines generator
> polynomial
> > > of 5-bit crc
> > > as G(x) = x^5+x^2+1 and binary pattern that
> > > represent it as
> > > 00101B and 16-bit crc as G(x) = x^16+x^15+x^2+1
> and
> > > binary pattern that represent it as
> > > 1000000000000101B.
> > > My question is why the binary pattern stated
> like
> > > that and
> > > not 100101B for 5-bit crc and 11000000000000101B
> ?
> > > Thanks....
> > >
> > >
> > >
> > > Best Regard,
> > >
> > >
> > > RE Tambunan
> > > --
> > > To unsubscribe from usb mailing list please
> visit
> > > http://www.opencores.org/mailinglists.shtml
> > >
> >
> > > ATTACHMENT part 2 image/jpeg name=crc5.JPG
> >
> > __________________________________________________
> > Do You Yahoo!?
> > Yahoo! Sports - Coverage of the 2002 Olympic Games
> > http://sports.yahoo.com
> > --
> > To unsubscribe from usb mailing list please visit
> http://www.opencores.org/mailinglists.shtml
>
> --
> To unsubscribe from usb mailing list please visit
http://www.opencores.org/mailinglists.shtml
__________________________________________________
Do You Yahoo!?
Yahoo! Sports - Coverage of the 2002 Olympic Games
http://sports.yahoo.com
--
To unsubscribe from usb mailing list please visit http://www.opencores.org/mailinglists.shtml