Warum brauchen wir Bit-Scrambling, wenn wir 8b/10b verwenden?

Ich möchte das Gegenteil dieser Frage stellen .

Hier sind der Zweck der Bit-Scrambler:

  • Verschlüsseln, aber LFSR (und andere verwendete) Bit-Scrambler sind zerbrechlich .
  • Clock-Recovery, aber es wird von der 8b/ gemacht
  • DC-Offset, aber das wird vom 8b/10b gemacht.
  • (Sind da irgendwelche?)

Warum brauchen wir Bit-Scrambling, wenn wir 8b/10b verwenden?

Scrambling verbessert die Widerstandsfähigkeit gegen den Verlust mehrerer Bits hintereinander aufgrund eines einzelnen Rauschereignisses?
@tomnexus Ich glaube nicht. Beispielsweise können CRCs längere Burst-Sequenzen erkennen als verteilte Fehler. Es würde helfen, Burst-Fehler zwischen separaten Datenblöcken zu verteilen (wie sie beispielsweise in CD-ROMs verwendet werden), aber in einer solchen Situation bietet das Scrambling keinen Vorteil - Sie können einfach ein festes Interleaving-Muster verwenden. Könnte eine Form der Fehlererkennung / -wiederherstellung sein, die ich jedoch übersehe.

Antworten (2)

Um auf die ursprüngliche Frage zu verweisen, wird es in SATA verwendet, um die vom Bus emittierte EMI zu reduzieren. Wenn Sie sich die Funktionsweise der 8b/10b-Codierung ansehen, werden Sie feststellen, dass es durchaus möglich ist, dasselbe 10b-Wort für bestimmte 8b-Eingabewerte in der gesamten Nachricht zu codieren.

Beispielsweise wird die Eingabe 00100011 immer zu 1001110001 codiert. Eine Nachricht, die vollständig aus 0x23 Bytes besteht, erzeugt also eine sich wiederholende Sequenz von:

1001110001100111000110011100011001110001...

Diese periodische Sequenz konzentriert die Signalenergie auf eine kleine Anzahl von Harmonischen. Angesichts der Art und Weise, wie EMV-Tests durchgeführt werden (mit Blick auf Emissionen in schmalen Bändern), machen Sie sich im Grunde das Leben schwerer, indem Sie zulassen, dass sich die Gesamtenergie so konzentriert. Indem Sie die Daten verschlüsseln, eliminieren Sie diese Art periodischer Vorkommnisse statistisch und stellen sicher, dass die Signalenergie immer gleichmäßig über die verfügbare Kanalbandbreite verteilt wird.

Es gibt Byte-Folgen, was auch bei Bit-Scrambling den gleichen Effekt ergibt. (Eine Byte-Folge gleicher Bytes entschlüsseln.) Aber es stimmt wohl, dass wir häufiger gleiche Bytes senden als diese speziellen Byte-Folgen.

Ich habe einen weiteren Aspekt im Dokument des UG476 von Xilinx gefunden.

Der DFE-Modus muss in 8B/10B-Anwendungen oder dort, wo keine Datenverschlüsselung verwendet wird, sorgfältig in Betracht gezogen werden. Um sich richtig an Daten anzupassen, erfordert die automatische Anpassung im DFE-Modus, dass eingehende Daten zufällig sind. Beispielsweise sind in einer XAUI-Anwendung die Nutzlastdaten des Benutzers unverschlüsselt und 8B/10B-codiert. Während die Nutzlast des Benutzers im Allgemeinen zufällig ist, ist der Frequenzinhalt der Daten von Natur aus durch die Codierung begrenzt, und im Protokoll ist nichts definiert, um das Auftreten wiederholter Muster zu verhindern. Diese wiederholten Muster können dazu führen, dass die automatischen Anpassungsalgorithmen von der idealen Entzerrungseinstellung abweichen.