Einführung

Teledyne LeCroy-Oszilloskope können mit softwarebasierten Decodern für eine Vielzahl von seriellen Datenprotokollen nach Industriestandard wie beispielsweise I2C, SPI, CAN, USB und Ethernet ausgestattet werden. Obwohl viele Protokolle mit dedizierten Dekodierungstools unterstützt werden, stehen für viele noch immer keine Dekodierungstools zur Verfügung. Außerdem entwickeln viele Designer kundenspezifische oder proprietäre Protokolle, für die es keine Dekodierwerkzeuge gibt. Teledyne LeCroy bietet jetzt die branchenweit ersten konfigurierbaren Protokoll-Decodierungsfunktionen für Signale mit Manchester- und NRZ-Codierungsschemata, wodurch beispiellose Debug-Funktionen für Systeme ermöglicht werden, die eine Vielzahl von Standard- und benutzerdefinierten Protokollen verwenden. Was folgt, ist ein Tutorial in ihrer Verwendung.

Beginnen Sie mit der Erfassung eines Signals. Für die Zwecke dieses Dokuments ist das Signal ein NRZ-codiertes 1-Mb/s-Signal, das ein kundenspezifisches oder proprietäres Protokoll darstellt, wie in 1 gezeigt. Die Schritte und der Prozess für ein Manchester-Signal sind im Wesentlichen dieselben.

Abbildung 1:

Ein 1-Mb/s-NRZ-Signal

Sobald das Signal erfasst und entsprechend auf dem Oszilloskopbildschirm angezeigt wird, verwenden Sie das Dropdown-Menü „Analyse“ oben auf dem Bildschirm, um auf das Dialogfeld „Serielle Decodierung“ zuzugreifen, wie in Abbildung 2 dargestellt.

Abbildung 2:

Das Dialogfeld Serielle Dekodierung

Durch Drücken der Schaltfläche Protocol in der Zeile Decode 1 wird ein Popup-Menü mit verschiedenen Protokollen aufgerufen (was im Menü angezeigt wird, hängt davon ab, welche Softwareoptionen für die serielle Decodierung im Oszilloskop installiert sind). Die Dekodierungsoptionen sind in Abbildung 3 dargestellt:

Abbildung 3:

Das Popup-Menü „Protocol“ im Dialogfeld „Serial Decode“.

Wählen Sie NRZ im Protokoll-Popup-Menü. Geben Sie als Nächstes die Quelle der Bildschirmaufzeichnung in der Datenspalte an (in diesem Fall wird die Aufzeichnung in Speicher 1 oder M1 gespeichert). Weisen Sie im Dialogfeld Serial Decode die Kurve auf dem Bildschirm Decode 1 zu, indem Sie Decode 1 aktivieren. Drücken Sie dann die Setup-Schaltfläche für Decode 1, wodurch die Registerkarte Decode Setup im Dialogfeld geöffnet wird.

Die drei Registerkarten: Basic, Decode und Levels

Achten Sie beim Aufrufen der Registerkarte Decode Setup auf das in Abbildung 4 gezeigte Layout:

Abbildung 4:

Das Dialogfeld Dekodierungseinstellungen

Stellen Sie sicher, dass Sie das Kontrollkästchen Dekodierung anzeigen aktivieren. Beachten Sie, dass Quelle 1 (Daten) auf M1 und das Protokoll auf NRZ eingestellt ist. Die Registerkarte Basic wird standardmäßig auf der rechten Seite geöffnet. Versuchen Sie, zwischen den Registerkarten Basic, Decode und Levels zu wechseln, und kehren Sie für den nächsten Abschnitt des Tutorials zur Registerkarte Basic zurück.

Die Basis-Registerkarte

Die Registerkarte Basic, rechts in Abbildung 4 dargestellt, bietet alle grundlegenden Steuerelemente, die erforderlich sind, um eine ordnungsgemäße Decodierung auf Bitebene zu ermöglichen. Die konfigurierbaren Manchester- und NRZ-Decoder unterstützen eine Vielzahl von Bitraten. Geben Sie die entsprechende Bitrate über das Feld „Bitrate“ im Abschnitt „Physikalische Schicht“ der Registerkarte „Basis“ ein. Die Timeout-Definition für die Lücke zwischen Bursts umfasst zwei Parameter, Units und # Bits. Ersteres kann entweder auf Bits oder Sekunden eingestellt werden. Wenn Bits ausgewählt ist, reicht der Bereich von 1 bis 100. Wenn Seconds verwendet wird, reicht der Bereich von 1 bis 99.99 μs.

Der Ruhezustand, der die Timeout-Definitionsparameter ergänzt, kann entweder auf IdleHigh, IdleLow oder Don't Care gesetzt werden. Das Einstellen des Ruhezustands hilft dabei, die Trennungslücke zwischen Datenbursts genau zu definieren.

Für NRZ kann die Polarität entweder auf Low = 0 oder Low = 1 gesetzt werden. Für Manchester kann sie entweder auf fallend = 0 oder fallend = 1 gesetzt werden. Die Logikpegel des Manchester-Protokolls von 0 oder 1 werden durch Flankenübergänge bestimmt, während die Logikpegel des NRZ-Protokolls durch Spannungspegel bestimmt werden. In beiden Fällen bestimmt die Polaritätseinstellung, ob eine Flanke, die durch den Schwellenwert fällt, als logische 0 oder logische 1 dekodiert wird.

Der nächste Abschnitt dieses Tutorials behandelt die Registerkarte „Decodieren“. Um jedoch sicherzustellen, dass die Decodierung auf Bitebene korrekt ist, klicken Sie auf die Registerkarte Decodieren und stellen Sie den Datenmodus vorübergehend auf Wörter ein. Vergrößern Sie dann einen Teil des decodierten Signals, indem Sie auf dem Bildschirm ein Rechteck darum zeichnen. Dadurch wird eine vergrößerte Ansicht dieses Teils geöffnet, wie im unteren Teil der Bildschirmaufnahme in Abbildung 5 dargestellt.

Abbildung 5:

Überprüfen der korrekten Bit-Level-Decodierung mit einer gezoomten Ansicht

Beachten Sie, dass in der gezoomten Ansicht Z1, die dem hervorgehobenen Abschnitt in M1 entspricht, alle Bitübergänge mit den Signalübergängen ausgerichtet sind und die logische Interpretation der Bits mit den Einstellungen übereinstimmt, die auf der physikalischen Ebene auf der Registerkarte „Basis“ vorgenommen wurden. In diesem Fall wird Polarity auf Physical Low = 1 gesetzt.

Tippen Sie auf das Z1-Anmerkungsfeld und deaktivieren Sie Trace On oben links. Schließen Sie das Dialogfeld „Zoom“ und öffnen Sie das Dialogfeld „Decodierung einrichten“ erneut, indem Sie auf die NRZ-Datentabelle tippen. Stellen Sie auf der Registerkarte „Decodieren“ den Datenmodus wieder auf „Wörter“ ein.

Die Dekodier-Registerkarte

Die nächste Reihe von Schritten behandelt die Registerkarte „Decodieren“ (Abbildung 6), auf der die Decodierung auf Wortebene eingerichtet wird. Beachten Sie zunächst, dass beim Umschalten des Datenmodus auf Bits alle Parameter auf Wortebene auf der Registerkarte ausgegraut sind. Wenn Sie den Datenmodus wieder auf Wörter umschalten, werden sie alle aktiviert.

Abbildung 6:

Die Registerkarte „Decodieren“ im Dialogfeld „Decodierungseinstellungen“.

Der Parameter First Transition Used (FTU) berücksichtigt Elemente, die der eigentlichen Datennutzlast vorausgehen können. Diese können solche Elemente wie eine Präambel oder eine Synchronisationssequenz enthalten. Die Standardeinstellung für FTU ist Null; er kann in Schritten von 400 bis maximal XNUMX reichen.

Der Bit-Stretch-Tolerance-Parameter kommt direkter ins Spiel bei der Manchester-Decodierung, wo Übergänge oft in der Mitte des Bits auftreten. Aufgrund von Hardware- oder Signalausbreitungsproblemen sind diese mittleren Bits möglicherweise nicht perfekt äquidistant. Dieser Parameter wird angepasst, um Jitter-Signale besser zu decodieren. Nach dem Festlegen der Bitrate auf der Registerkarte Basis muss die Bit-Stretch-Toleranz möglicherweise von der Standardeinstellung von 20 % angepasst werden, um eine stabile Decodierung zu erreichen.

Unten auf der Registerkarte „Decodieren“ befindet sich eine Reihe von Parametern zum Gruppieren von Bits zu Wörtern. Fig. 7 zeigt das NRZ-codierte 1-Mbit/s-Signal, das in seine Bestandteile gruppiert ist.

Abbildung 7:

Ein im Wortmodus dekodiertes Manchester-Signal

Der erste Schritt in diesem Prozess besteht darin, sicherzustellen, dass der Datenmodus auf Wörter eingestellt ist. Sowohl die NRZ als auch Manchester bieten die gleichen Tools und Fähigkeiten, um Bits in Sync-Bits, PrePad, Datenbits und PostPad zu gruppieren. PrePad-Bits (von null bis 32) können Adressen, Präambeln, Unteradressen oder anderen Inhalt umfassen. In Abbildung 7 sind dies die Teile des Bitstroms, die mit einer violetten Überlagerung zu sehen sind. Datenbits in Zahlen von 1 bis 32 bestehen aus einzelnen Wörtern. Sie sind mit einer blauen Überlagerung zu sehen. PostPad-Bits dienen dazu, Informationen nach den Datenbits zu gruppieren. PostPad-Bits sind von null bis 32 nummeriert und können einen CRC, eine Prüfsumme oder andere Protokollkonstrukte darstellen. PostPad-Bits werden mit einem gelben Overlay angezeigt.

Die Level-Registerkarte

Die letzte der drei Registerkarten im Dialogfeld Decode Setup ist die Registerkarte Level (siehe Abbildung 8).

Abbildung 8:

Die Registerkarte „Pegel“ im Dialogfeld „Decodierungseinstellungen“.

Pegel können entweder mit prozentualen oder absoluten Spannungswerten eingestellt werden, wie durch die Einstellung „Pegeltyp“ bestimmt. Die Pegeleinstellung selbst bestimmt den Schwellenwert, den Übergänge überschreiten müssen, um als Übergänge gezählt zu werden. Der Standardwert ist 50 % bzw. 1.5 V für prozentuale bzw. absolute Pegeltypen.

Hystereseeinstellungen werden verwendet, um verrauschte Signale mit Spitzen zu berücksichtigen, die falsche Übergänge erzeugen können, wenn sie den Pegelschwellenwert überschreiten. Es erscheint als blau schattiertes Band, das vertikal auf der Pegeleinstellung zentriert ist. Der Standardwert für die Hysterese beträgt 15 %, kann aber von null bis 50 % variiert werden.

Fazit

Die konfigurierbaren Manchester- und NRZ-Decoder von Teledyne LeCroy sind äußerst leistungsfähige Werkzeuge, mit denen Benutzer die Feinheiten von mit diesen Schemata codierten Signalen untersuchen können. Bewaffnet mit ein wenig Vorwissen über das zu testende Signal, können Benutzer die nahezu unbegrenzte Flexibilität der Decoder in Bezug auf Signalparameter nutzen, um Signale sauber zu decodieren und anzuzeigen und Daten in Bezug auf ihre physikalischen Eigenschaften zu extrahieren.