Was ist der Zweck der 8b / 10b-Codierung?

8

In der physischen Schicht von USB 3.0 befindet sich ein 8b / 10b-Encoder .

Wikipedia sagt, dass dies den DC-Offset eliminiert, während das Tutorial, das ich lese, sagt

Es ist ein übliches Codierungsschema in seriellen Hochgeschwindigkeitsentwürfen

Was ist der Zweck dieser Codierung im Zusammenhang mit USB? Welche anderen Anwendungen und Vorteile bietet diese Codierung bei anderen Gerätetypen?

Vorac
quelle
Es stellt sich später im Tutorial heraus, dass dies erklärt wird. Immer noch neugierig, in welchen anderen Bereichen diese Codierung verwendet wird.
Vorac
2
Können Sie ihre Erklärung erläutern, warum?
Andyz Smith

Antworten:

9

Die einfache Antwort für eine Codierung wie 8b / 10b besteht darin, dass sichergestellt wird, dass der codierte Datenstrom mindestens eine bestimmte Anzahl von Datenübergängen aufweist. Ohne eine solche Codierung würde ein langer Strom von Nullen oder Einsen dazu neigen, so auszusehen, als würde man versuchen, Gleichstrom durch den Kanal zu senden.

Die gleiche Philosophie gilt für die Manchester-Codierung, bei der die über den Kanal zu übertragende Nettobandbreite das Zweifache der tatsächlichen Datenbandbreite beträgt. Die für 8b / 10b angepriesenen Vorteile bestehen darin, dass die verwendete Übertragungsbandbreite viel geringer ist als die von Manchester auferlegte 2X.

Man möchte DC durch den Kanal aus einer Reihe von Gründen vermeiden. Während jeder Übertragungskanal unterschiedliche Arten von Anforderungen hat, besteht die Hauptüberlegung darin, dass Gleichstrom nicht sehr gut durch kondensator- oder transformatorgekoppelte Schaltkreise fließt. Die andere große Überlegung, selbst für direkt gekoppelte Schaltungen, ist, dass Übergänge erforderlich sind, um eine PLL-Schaltung auf der Empfängerseite synchronisieren zu können, damit die Taktung wiederhergestellt werden kann, um das Stroboskopieren der Datenbits zum richtigen Zeitpunkt zu ermöglichen.

Michael Karas
quelle
und der Grund, warum es wichtig ist, dass es nicht wie DC aussieht ...?
Andyz Smith
Siehe hinzugefügten Kommentar in Antwort ....
Michael Karas
1
"Gleichstrom geht nicht sehr gut durch kondensator- oder transformatorgekoppelte Schaltkreise" - könnte genauso gut die letzten beiden Wörter weglassen :)
Mels
Ich wäre ein wenig besorgt, wenn es vor dem empfindlichen Signaldetektor einen Transformator oder einen Kondensator in einem digitalen Hochgeschwindigkeitsübertragungsdesign gäbe, aber ja, ich bin bei Ihnen und das Takten und Stroboskopieren ist das, woran ich wirklich denke. Ich meine, das ist der Hauptunterschied zwischen synchroner und asychroner Übertragung. und der Grund, warum asynchron immer wieder gewählt wird, obwohl es aufgrund seiner Rauschbeständigkeit Bits verschwendet.
Andyz Smith
@AndyzSmith "Die elektrischen Aspekte jedes Pfades werden als Sender, Kanal und Empfänger charakterisiert. Diese stellen zusammen eine unidirektionale Differentialverbindung dar. Jede Differentialverbindung ist mit Kondensatoren auf der Senderseite der Differentialverbindung wechselstromgekoppelt." USB 3.0, Abschnitt 3.2.1
Vorac
2

Abgesehen von den netten Eigenschaften, die von anderen erwähnt wurden, sind die anderen guten Dinge, die 8b10b Ihnen bietet: 1. Einfache Unterscheidung zwischen Verbindungssteuerung und Datensymbolen am Empfänger 2. Einfache Erkennung von ~ 75% der Fehler.

Es ist auch überraschend einfach, 8b10b-Sender und -Empfänger in programmierbarer Logik zu bauen. Das ursprüngliche IBM-Patent spezifiziert alle erforderlichen Logikoperationen (und wenn Sie dafür zu faul sind, hat Chuck Benz dies in Verilog für Sie erledigt).

Wikipedia hat auch eine sehr nützliche Seite zu 8b10b.

markt
quelle
1

Dies wird später im verknüpften Lernprogramm auf Seite 15 erläutert.

Die aufgeführten Gründe für die Anwendung dieser Codierung auf USB 3.0 sind:

  • Taktwiederherstellung - ohne die Codierung würden lange Streams von 1s oder 0s wie DC aussehen
  • Fehlererkennung - Wenn der Empfänger das 10-Bit-Symbol decodiert, gibt es viele unmögliche Symbole. Das Empfangen eines von ihnen signalisiert einen Fehler.

Ein Kollege hat eine andere Hypothese. Umschreibung:

Das Kabel hat Induktivität und Kapazität. Dies glättet die Angriffsfront der Impulse. Das Senden einer einzelnen 1 würde den Bus in einem bestimmten elektrischen Zustand belassen, während das Senden mehrerer 1s ihn in einem anderen elektrischen Zustand belassen würde (näher am stationären Zustand). Folglich hat das Senden von 0 Nachwörtern in beiden Szenarien ein unterschiedliches Potenzial.


Drittens ist hier ein Zitat aus dem Standard, Abschnitt 3.2.1

Der Empfänger benötigt genügend Übergänge, um Takt und Daten aus dem Bitstrom zuverlässig wiederherzustellen. Um sicherzustellen, dass im Bitstrom unabhängig vom übertragenen Dateninhalt angemessene Übergänge auftreten, codiert der Sender Daten und Steuerzeichen unter Verwendung eines 8b / 10b-Codes in Symbole.

Vorac
quelle