cancel
Showing results for 
Search instead for 
Did you mean: 

How to configure the STM32F429 CRC module to compute the CRC-CCITT standard

Mootaz Amr
Associate II
Posted on June 27, 2017 at 18:17

Hi St community

We have a custom board based on STM32F429 that runs a gateway application between a wireless transciever and an ethernet link.

To check for frames integrity we use a CRC16-CCITT algorithm, each bytes requires several process operations of XOR, shifting ... and the whole operation takes around 330�s to process a 1018 bytes frame.

The 

STM32F429 includes a CRC peripheral, documented in the AN4187 paper

http://www.st.com/content/ccc/resource/technical/document/application_note/39/89/da/89/9e/d7/49/b1/DM00068118.pdf/files/DM00068118.pdf/jcr:content/translations/en.DM00068118.pdf

 

According to the Table2, the peripheral usage significantly reduced (60 times) the computation time in comparison to an algorithmic implementation.

The example used in the paper used the 

CRC-32 standard and not the 

CRC-CCITT one.

See '

https://www.lammertbies.nl/comm/info/crc-calculation.html

Table' or attached PNG for differences.

We are looking now to optimize the CRC computation using the peripheral.

Does anyone tried to implement the 

CRC-CCITT standard using the hardware ??

Thanks for any idea, code example ...

#crc-ccitt #stm32f429
2 REPLIES 2
Posted on June 27, 2017 at 20:25

The F429 does not have a programmable CRC peripheral.

https://community.st.com/0D50X00009XkgXtSAJ

 
Tips, Buy me a coffee, or three.. PayPal Venmo
Up vote any posts that you find helpful, it shows what's working..
Posted on June 27, 2017 at 20:26

https://community.st.com/0D50X00009XkZDkSAN

 
Tips, Buy me a coffee, or three.. PayPal Venmo
Up vote any posts that you find helpful, it shows what's working..