Oszilloskope 8b/10b-Code mit dem Scope analysieren

8b/10b-Codierung
8b/10b-Codierung

Nur wenige serielle Übertragungsverfahren sind bisher auf größere Resonanz gestoßen als die 8b/10b-Codierung, die heutzutage in vielen Standards Anwendung findet: PCI Express, Serial ATA, SAS, Fibre Channel, InfiniBand, FireWire, MIPI M-PHY, HDMI, DisplayPort, CIPRI, OBSAI, XAUI, USB 3.0 und in vielen mehr. Aus diesem Grund ist es für jeden Entwickler unerlässlich, 8b/10b-codierte Signale mit Hilfe gängiger Messgeräte wie etwa einem Echtzeit-Oszilloskop analysieren zu können.

Das Ziel der 8b/10b-Leitungscodierung besteht darin, einen Gleichspannungsausgleich zu erzielen und ausreichend Zustandsänderungen zu liefern, um eine stabile Taktrückgewinnung sicherzustellen. Da der Gleichspannungsausgleich aufrechterhalten wird, können 8b/10b-Signale über Transformatoren, optische Kanäle oder wechselspannungsgekoppelte Verbindungen mit Gleichspannungs-Offset bei integrierten Schaltungen übertragen werden.

Warum die 8b/10B-Codierung so nützlich ist

Wechselspannungsgekoppelte Datensignale würden je nach Dateninhalt Gleichspannungs-Drifts aufweisen. Wie in Bild 1 zu erkennen, führt eine lange Sequenz von Einsen zu einem positiven Drift, während viele Nullen zu negativer Spannung führen. Ohne Korrektur verursacht dies Fehler auf der Empfängerseite, da ein fester Schwellenwert mit dem Driftspannungspegel des Datensignals verglichen wird.

Die 8b/10b-Leitungscodierung kompensiert diese Effekte, indem die 8-bit-Daten bestimmten 10-bit-Symbolen (oder Zeichen) zugeordnet werden. Jedes 8-bit-Wort entspricht zwei 10-bit-Zeichen, um sicherzustellen, dass das langfristige Verhältnis zwischen Einsen und Nullen nahezu 50 % beträgt (siehe Bild 2). Die unterschiedliche Anzahl von Einsen und Nullen wird als „Running Disparity“ (RD) bezeichnet und beträgt entweder +1 oder -1. Aus diesem Grund ändert sich die Codierung eines 8-bit-Datenwortes in Abhängigkeit von der Bitfolge im vorangehenden Symbol und von der Datenrate.

Da sich die seriellen Hochgeschwindigkeitssignale inzwischen im Bereich von mehreren Gigabit pro Sekunde bewegen, ist für die Verbindungen eine sehr hohe Bandbreite in der physikalischen Schicht erforderlich. Eine Methode, die Leistungsfähigkeit serieller Verbindungen zu prüfen, stellen die Konformitätsprüfungen dar. Gewöhnlich werden Konformitätsprüfungen zu Charakterisierungszwecken in der Abschlussphase der Entwicklung vorgenommen. Ist die Konformitätsprüfung erfolgreich, kann zum nächsten Schritt übergegangen werden; ist sie es nicht, muss die physikalische Schicht möglicherweise einer Fehlerbehebung unterzogen werden.

Hierbei wird im ersten Schritt häufig nach Messwerten gesucht, die außerhalb des in dem Standard definierten Bereichs liegen. Daran lässt sich möglicherweise erkennen, wo weitere Messungen vorgenommen und welche Maßnahmen ergriffen werden müssen, um das Problem zu beheben. Führt dies nicht zum gewünschten Erfolg, kann sich der Ingenieur eine Zusammenstellung aller Datenwerte und Übergänge am Bus in Form eines Augendiagramms anzeigen lassen.

Daran lassen sich einige Punkte zum Rauschen, zum Jitter und zur Signal-integrität ablesen. Auch kann damit überprüft werden, ob eine Verletzung der Maske für das Augendiagramm vorliegt. Die Vorgaben hierfür finden sich in vielen Industrienormen für Konformitätsprüfungen. Jede Art von Verschlechterung des Signals führt zu geringeren Grenzwerten bzw. zu mehr Treffern im Maskenbereich des Augendiagramms. Diese Verschlechterung kann ein Hinweis auf wesentliche Probleme in der Ausführung der physikalischen Schicht (PHY) sein. Zu den Schwierigkeiten mit der Signalintegrität, die zu einem negativen Maskentestergebnis führen können, zählen z.B. geringe Signalanstiegszeit (Bandbreite), kleine Signalamplitude (Dämpfung), starkes Überschwingen (Induktivität) und starke Jitter- und Rauschanteile sowie Übersprechen und Symbolübersprechen (Inter-Symbol Interference, ISI).

Fehlerbehebung bei Protokollfehlern

Probleme bei der PHY-Schicht verursachen häufig intermittierende Fehler. Gewöhnlich erfolgen die PHY-Überprüfung und die Protokollprüfung mit unterschiedlichen Messsystemen und unter Einsatz eines Oszilloskops bei unterschiedlichen Bedingungen.

Um die beste Signalgüte und die höchste zeitliche Auflösung sicherzustellen, sollte der Ingenieur die Verbindung am Konformitätsprüfpunkt mit einem Oszilloskop bewerten und das erfasste „analoge“ Signal in Binärwerte oder sogar Zeichen und Befehle umwandeln. Mit der Software zum Triggern und Decodieren von Protokollen (PTD) lassen sich die Signaldaten in ein Binärformat umwandeln. Dazu wird zunächst die Taktrückgewinnung vorgenommen, um anschließend die Spannungen mit einem anwender-definierten Schwellenwert und einer Hysteresekurve zu vergleichen.

Bilder: 3

Protokoll- und Signaldaten gezielt analysieren

Protokoll- und Signaldaten gezielt analysieren

Bild 3 (Bild 3 bis 5 in Bildergalarie) stellt ein Blockdiagramm der Funktionsweise der PTD-Software dar. Die von dieser errechneten Ergebnisse sind in Bild 4 zu sehen. Es sind dort zwei Tabellen abgebildet, in denen die Zeichen und das Protokoll aufgelistet werden. Das Protokoll steht zum einen mit den Zeichen und zum anderen mit den Werten 0 und 1 des erfassten Signals in Beziehung. Dadurch können Fehler im Protokoll problemlos bis zur physikalischen Schicht zurückverfolgt werden.

Mit Hilfe der Signaldarstellung in Bild 5 lässt sich leichter nachvollziehen, warum falsche Nullen und Einsen vom Empfänger möglicherweise falsch interpretiert wurden. Cursor und Zoom-Fenster können mit der Signaldarstellung des Oszilloskops synchronisiert werden, wodurch sich die Ursachen des Protokollfehlers leichter finden lassen.