Datasheet
TMC5062 DATASHEET (Rev. 1.11 / 2017-MAY-16) 23
www.trinamic.com
5.2 CRC Calculation
An 8 bit CRC polynomial is used for checking both read and write access. It allows detection of up to
eight single bit errors. The CRC8-ATM polynomial with an initial value of zero is applied LSB to MSB,
including the sync- and register addressing byte. The synchronization byte is assumed to always be
correct. The TMC5062 responds only to correctly transmitted datagrams. It increases its datagram
counter for each correctly received write access datagram.
Hint:
The CRC can be calculated within a CPU using a bit-wise cyclic XOR calculation of incoming and
outgoing bits accumulated to an 8 bit CRC register. You find the algorithm in the TMC5062-EVAL
evaluation board firmware.
CRC = (CRC << 1) OR (CRC.7 XOR CRC.1 XOR CRC.0 XOR [new incoming bit])
-- CRC.n is meant to extract bit n from the 8 bit CRC register
For a parallel 8 bit calculation of CRC in your CPU, you can use a look-up table. Additional algorithms
can be found in literature.