2.7.3.3 CRC Handling

A CRC checksum can be calculated and appended to the data originating from the DFIFO. Data from the SFIFO cannot be used as a source for the CRC calculation. The checksum is calculated on the raw bit stream from the DFIFO and is appended directly to the last data bit. All subsequent manipulations, such as Manchester coding or polarity inversion, are also applied to the CRC checksum.

The CRC module includes many configuration options:

  • The CRC length can be set to 4-bit, 8-bit or 16-bit
  • An arbitrary polynomial can be chosen
  • Up to 255 bits at the beginning of the DFIFO data stream can be skipped (excluded from the CRC calculation)
  • The initialization value of the CRC register can be set to an arbitrary value

The checksum calculation can be enabled independently for path A and path B of each service in the eepServices.TMCR2x.TMCRCE variables.

The CRC length can be configured independently for path A and path B of each service in the eepServices.TMCR2x.TMCRCL[1:0] variables.

Address Service0 Name Bit 7 Bit 6 Bit 5 Bit 4 Bit 3 Bit 2 Bit 1 Bit 0
0x0126 TMCR2A TMMSB TMSSE TMPOL TMNRZE TMCRCL[1:0] TMCRCE
0x0127 TMCR2B TMMSB TMSSE TMPOL TMNRZE TMCRCL[1:0] TMCRCE

The CRC polynomial can be configured independently for path A and path B of each service in the eepServices.TMCPx[1:0] variables.

Address Service0 Name Bit 7 Bit 6 Bit 5 Bit 4 Bit 3 Bit 2 Bit 1 Bit 0
0x012E TMCPA[0] TMCPL[7:0]
0x012F TMCPA[1] TMCPH[7:0]
0x0130 TMCPB[0] TMCPL[7:0]
0x0131 TMCPB[1] TMCPH[7:0]

The number of bits to skip for CRC calculation can be set independently for path A and path B of each service in the eepServices.TMCSBx variables.

Address Service0 Name Bit 7 Bit 6 Bit 5 Bit 4 Bit 3 Bit 2 Bit 1 Bit 0
0x0136 TMCSBA TMCSB[7:0]
0x0137 TMCSBB TMCSB[7:0]

The initialization value of the CRC register can be configured independently for path A and path B of each service in the eepServices.TMCIx[1:0] variables.

Address Service0 Name Bit 7 Bit 6 Bit 5 Bit 4 Bit 3 Bit 2 Bit 1 Bit 0
0x0132 TMCIA[0] TMCIL[7:0]
0x0133 TMCIA[1] TMCIH[7:0]
0x0134 TMCIB[0] TMCIL[7:0]
0x0135 TMCIB[1] TMCIH[7:0]