0
\$\begingroup\$

I have a question regarding the alignment characters in the JESD204B data converter interface protocol.

To anyone who is familiar with this protocol. There are certain alignment that are used during CGS, ILA and normal data transmission. During normal data transmission, /F/ and /A/ characters are inserted to the data stream by the transmitter, if two octets at the same position in two neighboring frames are identical. This is done in order for the transmitter and receiver to agree on where frames and multi-frames starts and ends.

If the receiver receives an /A/ or /F/ character at an expected position, it would replace the /A/ or /F/ character with the octet in the same position from the previous frame.

Here comes my question: If /A/ or /F/ characters would appear naturally in the data stream, at the correct position, this would trigger the receiver to perform character replacement and swap the character with the octet from the previous frame. However, since this just happened to be 8 bits of data that formed an alignment character, not an actual alignment character inserted by the transmitter, would not this lead to data corruption?

\$\endgroup\$

1 Answer 1

2
\$\begingroup\$

TL;DR The /A/ and /F/ characters can't appear naturally in the data stream.

JESD204b uses 8b/10b encoding, where each possible 8-bit data value is mapped onto a 10bit symbol. This is done partly to ensure the symbols are balanced to allow AC coupling of the data lanes (max six 1's or 0's in a 10b symbol).

The second benefit of this increase in size, is that there are a number of extra possible valid symbol values that can be sent by the transmitter. It is this extra symbol space that is utilised for the control characters. So it is never possible for a data symbol to be mistaken as a control symbol (assuming no bit errors).

Or as the linked wiki article puts it:

The control symbols within 8b/10b are 10b symbols that are valid sequences of bits (no more than six 1s or 0s) but do not have a corresponding 8b data byte

\$\endgroup\$

Not the answer you're looking for? Browse other questions tagged or ask your own question.