The cyclic redundancy check (CRC) mode is available to allow detection of potential bit errors during transmission. Support for the 12-bit word CRC-12 mode is required by JESD204C, while a 3-bit word CRC-3 mode is optional. The device does not support the CRC-3 mode and therefore this section is specific to the CRC-12 mode only. The transmitter computes the CRC-12 parity bits from the scrambled data bits of the 32 blocks of a multiblock. The 12-bit CRC parity word is then transmitted in the sync header stream of the next multiblock. The receiver computes the 12-bit parity word of the received multiblock and compares it against the received 12-bit parity word of the next multiblock. A difference indicates that there is at least one error in the received data bits or in the received 12-bit parity word. The minimum latency to the detection of a bit error in the first data bit of a multiblock is 46 blocks. Enable CRC-12 mode by setting SHMODE to 0.
The mapping of the sync header stream when using the CRC-12 mode is shown in Table 8-11. CRC[x] corresponds to bit x of the 12-bit CRC word. Cmd[x] corresponds to bit x of the 7 bit command word, which are always set to 0s in the device. The 00001 bit sequence at the end of the sync header stream is the pilot signal that is used to identify the end of a multiblock. The 1s that occur throughout the sync header ensure that the pilot signal can only be seen at the end of the sync header, allowing multiblock alignment after only a single multiblock has been received. EoEMB is the end-of-extended-multiblock bit, which is set to 1 for the last multiblock of an extended multiblock.
The CRC-12 encoder takes in a multiblock of 32 scrambled blocks (2048 bits) and computes the 12-bit parity word using the generator polynomial given by Equation 10. The polynomial is sufficient to detect all 2-bit errors in a multiblock, spanning any distance, and burst error sequences of up to 12-bits in length. The probability of not detecting a 3-bit error spanning any distance in a multiblock is approximately 0.004%.
The full parity bit generation for CRC-12 is shown in Figure 8-9. The input is a 2048 bit sequence, built from the 32 scrambled blocks of a multiblock (sync header is not included). The 12-bit parity word, CRC[11:0], is taken from the Sx blocks after the full 2048 bit sequence is processed. The Sx blocks are initialized with 0s before processing each multiblock. For more information on the CRC-12 parity word generation, refer to the JESD204C standard.