- 64b66b-Code
-
Der 64b66b-Code ist ein Leitungscode, welcher ein Datenwort im Umfang von 64 Bit eindeutig auf ein Codewort von 66 Bit abbildet. Anwendung findet dieser Leitungscode im Rahmen von Gigabit-Ethernet, wie 10-Gigabit-Ethernet, 40-Gigabit-Ethernet und 100-Gigabit-Ethernet. Ein ähnlicher Leitungscode ist der 8b10b-Code.
Wie jeder Leitungscode dient er dazu, eine Nutzdatenfolge spektral an die physikalischen Anforderungen des Übertragungsmediums wie einer Leitung anzupassen. Durch die Art der Umsetzung wird insbesondere die Gleichanteilsfreiheit der erzeugten Codefolge gewährleistet, was die Übertragung über Impulstransformatoren erlaubt, welche keinen Gleichanteil im Signal passieren lassen. Impulstransformatoren werden im Bereich der physischen Ethernet-Schnittstelle zur galvanischen Trennung eingesetzt. Außerdem ist im Rahmen der 64b66b-Codierung garantiert, dass der Empfänger aus dem Codewort den Takt rückgewinnen kann. Dies ist notwendig, damit der Empfänger erkennen kann, zu welchen Zeitpunkten ein bestimmter Zustand übertragen wird.
Funktionsweise
Die 66 Bit eines Codewortes werden durch eine Präambel von 2 Bits eingeleitet. Die vier möglichen Kombinationen der Präambel bedeuten jeweils:
- Wenn die Präambel 01 ist, dann sind die folgenden 64-Bit-Nutzdaten.
- Wenn die Präambel 10 ist, folgen unmittelbar ein Type-Feld mit 8 Bit Länge mit daran anschließenden 56 Bit an Kontroll- und Steuerinformationen. Die Bedeutung richtet sich nach dem Type-Feld.
- Die Präambeln 00 und 11 werden nicht verwendet und erzeugen bei Empfang einen Fehler.
Die Verwendung von 01 bzw. 10 als gültige Präambel garantiert zum einen die Gleichanteilsfreiheit der Präambel und andererseits gewährleistet sie eine Signalflanke innerhalb der Präambel. Dadurch kann empfangsseitig mittels einer Phasenregelschleife der Symboltakt bestimmt werden.
Die 64-Bit-Nutzdaten bzw. 56 Bit an Steuer- und Kontrolldaten werden mittels eines selbstsynchronisierenden Scramblers verknüpft, wodurch die Gleichanteilsfreiheit der Datenfelder statistisch garantiert ist. Der Scrambler ist in Form eines linear rückgekoppelten Schieberegisters realisiert. Der Ansatz mittels Scrambler bei der 64b66b-Codierung ist ein wesentlicher Unterschied gegenüber der tabellenbasierenden Leitungscode 8b10b.
Quellen
- PatentView/EP1133123 64b/66b coding for packetized serial data, (engl.)
- 10 Gigabit Ethernet/FibreChannel Reference Design, Applikationsschrift, Xilinx, 2006, (engl.)
Wikimedia Foundation.