Electronic – Why do we need bit scrambling when using 8b/10b

communicationencoderserial

I want to ask the opposite of this question.

Here are the purpose of the bit scramblers:

  • Encrypt, but LFSR (and other used) bit-scramblers are breakable.
  • Clock recovery, but it is done by the 8b/
  • DC offset, but it is done by the 8b/10b.
  • (Are there any?)

Why do we need bit scrambling when using 8b/10b?

Best Answer

To refer to the original question, in SATA it is used to reduce the EMI emitted by the bus. If you look at the way 8b/10b encoding works, you'll see that it is entirely possible to have the same 10b word encoded throughout the message for certain 8b input values.

For example, the input 00100011 always encodes to 1001110001. So a message that consists entirely of 0x23 bytes will create a repeating sequence of:

1001110001100111000110011100011001110001...

This periodic sequence concentrates the signal energy into a small number of harmonics. Given the way EMC tests are conducted (looking at emissions within narrow bands) you are basically making life harder for yourself by allowing the overall energy to concentrate like this. By scrambling the data you statistically eliminate these sorts of periodic occurrences, and ensure that the signal energy is always spread out evenly across the available channel bandwidth.