Einführung

Die Peripheral Sensor Interface 5 (PSI5)-Schnittstelle ist eine Hauptstütze in Automobilanwendungen für den Datenverkehr zwischen entfernten Sensoren und Mikrocontrollern. Die Schnittstelle ist ein zweiadriges, strommoduliertes Signal mit Datenraten von 125 kb/s. Teledyne LeCroy-Oszilloskope können mit softwarebasierten Decodern für eine große Anzahl serieller Datenprotokolle nach Industriestandard ausgestattet werden. Viele Standardschnittstellen, einschließlich PSI5, basieren auf den grundlegenden Bausteinen der Manchester- oder NRZ-Leitungscodierungsschemata. Im Folgenden wird die Verwendung der Decodierungssoftware für das Manchester-Protokoll von Teledyne LeCroy zum Decodieren von PSI5-Signalen beschrieben.

Über die PSI5-Physical- und Data-Link-Layer

Bevor Sie die Dekodierung des spezifischen Signals untersuchen, das für dieses Dokument verwendet wird, kann es aufschlussreich sein, einige der grundlegenden Informationen zur PSI5-Spezifikation zu behandeln. Die Basisspezifikation kann im Detail eingesehen werden unter: psi5.org.

PSI5 verwendet zwei Drähte sowohl für die Stromversorgung der Sensoren als auch für die Datenübertragung. Die ECU liefert eine vorgeregelte Spannung an den Sensor. Die Datenübertragung vom Sensor zum Steuergerät erfolgt durch Strommodulation auf den Versorgungsleitungen. Stromschwingungen werden durch das Steuergerät und die Eingangsimpedanzen der Sensoren gedämpft.

Für die Datenübertragung wird eine Manchester-Kodierung verwendet. Eine logische "0" wird durch eine ansteigende Flanke und eine logische "1" durch eine abfallende Flanke des Stroms in der Mitte eines gegebenen Bits dargestellt.

Auf der Sicherungsschicht besteht jeder PSI5-Datenrahmen aus:

  • zwei Startbits (S1 und S2), immer als „0“ codiert
  • ein Paritätsbit (P) mit gerader Parität oder drei CRC-Bits (C0, C1, C2)
  • ein Nutzdatenbereich (D0 … D[k-1]) mit k = 10.. 28 Bit

Datenrahmen müssen durch eine Lücke getrennt werden, die die Dauer eines Bits überschreitet. Die verschiedenen Teile des PSI5-Datenrahmens sind in Abbildung 1 dargestellt.

Abbildung 1:

Die Bestandteile eines PSI5-Datenrahmens (mit freundlicher Genehmigung von PSI5.org)

Begeben Sie sich auf eine Dekodierung

Beginnen Sie mit der Erfassung eines Signals. Für die Zwecke dieses Dokuments ist das untersuchte Signal ein 125-kb/s-PSI5-Signal mit einem 13-Bit-Datenrahmen, der aus zwei Startbits, 10 Datenbits und einem Paritätsbit besteht, wie in Abbildung 1 gezeigt. In diesem Fall gilt: das Signal ist strommoduliert, was typischerweise eine Sensor-zu-ECU-Kommunikation anzeigt. Umgekehrt wird die ECUto-Sensor-Kommunikation durch Spannungsmodulation auf den Versorgungsleitungen erreicht.

Abbildung 1:

Ein PSI5-Signal mit 13-Bit-Datenrahmen

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 Manchester im Popup-Menü Protokoll. Geben Sie als Nächstes die Quelle der Bildschirmaufzeichnung an. In diesem Fall wird die Aufzeichnung in Speicher 1 oder M1 gespeichert. Der Decoder funktioniert auf allen Kanälen, mathematischen Spuren und Speicherspuren. Weisen Sie im Dialogfeld „Serial Decode“ die auf dem Bildschirm angezeigte Kurve Decode 1 zu, indem Sie Decode 1 aktivieren. Drücken Sie dann die Schaltfläche Setup 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:

Figur 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 Manchester 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. Kehren Sie dann zum 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. Der konfigurierbare Manchester-Decoder unterstützt eine Vielzahl von Bitraten. Geben Sie die entsprechende Bitrate mit dem Parameter „Bitrate“ im Abschnitt „Physikalische Schicht“ der Registerkarte „Basis“ ein. Die PSI5-Spezifikation schreibt zwei feste Datenübertragungsraten von 125 kb/s oder 189 kb/s vor. Das für dieses Beispiel verwendete Signal hat eine Bitrate von 125 kb/s.

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. Bei Auswahl von Bits liegt der Bereich zwischen 1 und 100. Bei Verwendung von Sekunden liegt der Bereich zwischen 1 und 99.99 µs. Wie oben angemerkt, ist die Lücke zwischen Rahmen für PSI5 so spezifiziert, dass sie die Dauer von einem Bit überschreitet. Für die Zwecke dieses Beispiels wurde es auf 6 Bits gesetzt.

Der Idle State, 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 die Sensor-zu-ECU-Kommunikation in PSI5 entspricht der Ruhezustand zwischen Datenrahmen dem Ruhestromverbrauch des Sensors. Somit wird der Idle State auf IdleLow gesetzt.

Die Polarität kann entweder auf Falling = 0 oder Falling = 1 eingestellt werden. Dies bestimmt, ob eine Flanke, die durch den Schwellenwert fällt, als logische 0 bzw. logische 1 decodiert wird. Die PSI5-Spezifikation schreibt vor, dass eine Flanke, die durch den Schwellwert fällt, einer logischen 1 entspricht. Daher wird Polarität für dieses Beispiel auf Falling = 1 gesetzt.

Der nächste Abschnitt dieses Dokuments behandelt die Registerkarte „Decodieren“. Um jedoch sicherzustellen, dass die Decodierung auf Bit-Ebene korrekt ist, vergrößern Sie einen Teil des decodierten Signals, indem Sie auf dem Bildschirm ein Rechteck darum ziehen. 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 der Mitte von M1 entspricht, jede binäre 1 durch einen positiven Halbbitperiodenimpuls gefolgt von einem negativen Halbbitperiodenimpuls dargestellt wird. In ähnlicher Weise wird eine binäre 0 durch einen negativen Halbbitperiodenimpuls dargestellt, gefolgt von einem positiven Halbbitperiodenimpuls. Diese Art der Signalisierung wird auch als Split-Phase-Codierung bezeichnet. In diesem Fall wird die Polarität auf physikalisches Fallen = 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 Manchester-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 Bits 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 ins Spiel, wenn Übergänge oft mitten im Bit auftreten. Aufgrund von Hardware- oder Signalausbreitungsproblemen sind diese mittleren Bits möglicherweise nicht perfekt äquidistant. Dieser Parameter wird angepasst, um Jitter-Signale besser zu dekodieren. 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. Abbildung 7 zeigt das in Wörter gruppierte PSI5-Signal mit einer vergrößerten Ansicht eines einzelnen Bursts.

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.

Innerhalb der Manchester-Decodierungssoftware gibt es Tools und Funktionen zum Gruppieren von Bits in Sync-Bits, PrePad, Datenbits und PostPad. Wiederum besteht auf der Sicherungsschicht jeder PSI5-Datenrahmen aus zwei Startbits, einem Paritäts- oder drei CRC-Bits und einem Nutzdatenbereich.

PrePad-Bits umfassen Nachrichten, Rahmensteuerbits oder Statusbits, die alle in der PSI5-Spezifikation optional sind. Die für dieses Dokument verwendete Spur hat nur zwei Startbits im PrePad-Abschnitt. In Abbildung 7 sind dies die Teile des Bitstroms, die mit einer violetten Überlagerung zu sehen sind.

Der Manchester-Decoder kann von einem bis zu 32 Datenbits parsen. Die PSI5-Spezifikation bietet 10 bis 24 Datenbits im Datenbereich A und bis zu 12 weitere Bits im optionalen Datenbereich B. Die für dieses Dokument verwendete Ablaufverfolgung hat 10 Datenbits. Diese sind mit einer blauen Überlagerung zu sehen.

PostPad-Bits dienen dazu, Informationen nach den Datenbits zu gruppieren. Der Manchester-Decoder erlaubt von null bis 32 PostPad-Bits, die einen CRC, eine Prüfsumme oder andere Protokollkonstrukte darstellen. PSI5 spezifiziert entweder ein einzelnes Paritätsbit oder drei CRC-Bits. In der für dieses Dokument verwendeten Ablaufverfolgung gibt es ein Paritätsbit. PostPad-Bits sind gelb überlagert.

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

Der konfigurierbare Manchester-Decoder von Teledyne LeCroy ist ein äußerst leistungsfähiges Werkzeug, mit dem Benutzer die Feinheiten von PSI5-Signalen sowie anderen mit dem Manchester-Schema codierten Signalen untersuchen können. Bewaffnet mit ein wenig Vorwissen über das zu testende Signal, können Benutzer die nahezu unbegrenzte Flexibilität des Decoders in Bezug auf Signalparameter nutzen, um Signale sauber zu decodieren und anzuzeigen und Daten in Bezug auf ihre physikalischen Eigenschaften zu extrahieren.