CRC-problem

Tip / Sign in to post questions, reply, level up, and achieve exciting badges. Know more

cross mob
Anonymous
Not applicable

 Hello All

   

I am using CRC component . The polynomial selected is x16+x15+x2+1. I am feeding the data serially via shift register.

   

When the data is 0xFF the result is perfect 0202. But when the data is other than this value the result is some junk..Can any one help in this.

0 Likes
11 Replies
Anonymous
Not applicable

how about uploading your project for people to check.

0 Likes
ETRO_SSN583
Level 9
Level 9
250 likes received 100 sign-ins 5 likes given

This might be of help -

   

 

   

http://www.cypress.com/?id=4&rID=60792

   

 

   

Regards, Dana.

0 Likes
ETRO_SSN583
Level 9
Level 9
250 likes received 100 sign-ins 5 likes given

Retract the earlier post, that was for PSOC 1.

   

 

   

Regards, Dana.

0 Likes
ETRO_SSN583
Level 9
Level 9
250 likes received 100 sign-ins 5 likes given

This ap note has a CRC example as part of the overall project discussion -

   

 

   

http://www.cypress.com/?rID=61356

   

 

   

Regards, Dana.

0 Likes
Anonymous
Not applicable

A good reference to CRC

   

 http://www.ross.net/crc/download/crc_v3.txt

   

Please noted that the seed and the direction (ie MSB first or LSB first) would affect the operation of CRC. 

   

enjoy the reading 🙂

0 Likes
Anonymous
Not applicable

 I figured out the problem.... There was problem in sending the data out and being read by CRC(setup and hold time problem).

   

Everything is working fine but i have a new problem now.....

   

CRC result is correct only for the first time(when first data byte is entered into CRC)... later on even after Stoipping the component and starting it again for second time or seeding with zeros after 1st CRC calculation the results are not proper for the second time......

   

Why is this, i will be attaching the project...

0 Likes
Bob_Marlowe
Level 10
Level 10
First like given 50 questions asked 10 questions asked

Did you use the CRC_Init() API ?

   

 

   

Bob

0 Likes
Anonymous
Not applicable

 I have used 

   

CRC_Stop and CRC_Start when calculating CRC for next time....I tried seeding 0x0000 .....i tried feeding zeros serially...... Ieven tried CRC_init() 

   

The CRC is not correct ....i dont know what to do further.....

0 Likes
Anonymous
Not applicable

 I even tried asynchronous Reset even that doesnt work...Can you please help me out in this....

0 Likes
Anonymous
Not applicable
0 Likes
Anonymous
Not applicable

 I am trying to attach the project but it is failing ...is there a size limitation.....I will try again

0 Likes