Hi,
I am using CRC module in KEA-128(SKEAZ128) - 48 Mhz.
I am having certain doubts in CRC
1)what is seed value in CRC?
2)what is the difference between seed and data value?
3)Is CRC_GPOLY register used in normal CRC calculation?
4)what is transpose in CRC . Is it like flipping the MSB into LSB?
5) Is CRC_CTRL[WAS] = 1 is the asserted state and Is CRC_CTRL[WAS] = 0 is the deasserted state?
6)For normal CRC calculation do i need to set the CRC_GPOLY register? If so why?
7)which CRC algorithm are we using in KEA-128(SKEAZ128) ?
8)How CRC is calculated in KEA-128?
9)what algorithm is used for calculation of CRC in KEA-128?
Hello Vignesh,
About your questions, I can reply:
1) Seed value depends on CRC standard that is used, by default, this register contains a 0xFFFFFFFF. You can modify this value by writing a 1 to CTRL[WAS] and then writing the new seed value to CRC_DATA and clearing CTRL[WAS].
2)Seed is the initial value needed for CRC algorithm and data value is the value to which CRC calculation will be applied.
3) CRC_GPOLY register specifies the polynomial used for CRC calculation, it also depends on standard that will be used.
4) Transponse in CRC is explained in more details in attached document due there are different transpose types.
5) CRC_CTRL[WAS] specifies if next data that will be written to CRC_DATA is in fact a seed value or data value.
6) Yes, you need to specifiy polynomial used in CRC calculation. There are standards that use different polynomial so this value is configurable.
7) CRC algorithm depends on seed value and polynomial used. In attached document you can find a table in which different CRC calculations are listed with their proper seed and polynomial value besides their transpose type.
8) You can look at these post where a little explanation in how this is calculated is given: http://cache.freescale.com/files/microcontrollers/doc/app_note/AN4657.pdf and http://www.nxp.com/files/microcontrollers/doc/app_note/AN3795.pdf .
9) Same as 7.
I hope this can help you!
Best Regards,
Isaac
----------------------------------------------------------------------------------------------------------------------------------------
Note: If this post answers your question, please click the Correct Answer button. Thank you!
----------------------------------------------------------------------------------------------------------------------------------------