PROTObus-MAG

Das PROTObus MAG Serial Debug Toolkit ist der grundlegende Baustein, auf dem viele weitere serielle Trigger- und Decoderoptionen von LeCroy hinzugefügt werden können. Es erweitert die Trigger- und Dekodierungsfunktionen dieser anderen Pakete erheblich, indem es Werkzeuge für eine vollständigere und schnellere Validierung und Fehlersuche von eingebetteten Designs bereitstellt. Es bietet die tiefstmögliche Einsicht.

Datenextraktions- und Grafiktools

Extrahieren Sie Daten aus dem Nachrichtenstrom des seriellen Protokolls und verwenden Sie die Verfolgungsfunktionen, um diese Daten grafisch auf dem Oszilloskop-Display darzustellen. Die digitalen Daten werden verwendet, um eine analoge Wellenform zu erzeugen, die dann mit anderen elektrischen Signalen verglichen werden kann.

Timing- und Busmessungen

Mit spezifischen Messparametern können Sie Ihr serielles Datensystem schnell und einfach charakterisieren und Gateway-Messungen durchführen. Verwenden Sie den Message-Message-Parameter, um die Zeit zwischen zwei Nachrichten auf dem Bus zu ermitteln, oder den Message-Analog-Parameter, um den Busverkehr mit einem analogen Signal zu korrelieren. Verwenden Sie die Messstatistiken und Histicons von LeCroy, um den Bereich der Messungen auf dem Protokollbus zu verstehen. Wenden Sie einen Filter auf jede Messung an, um genauere Ergebnisse zu erhalten. Identifizieren Sie eine bestimmte ID oder ID und Daten mithilfe der leistungsstarken bedingten Einrichtung für eine genauere Filterung.

Ausstattungsanforderungen

Ein Oszilloskop der LeCroy Xi- oder Zi-Serie mit installierter I2C-Option und Decode_Measure-Optionsschlüsselcodes.
3 passive Sonden
WaveSource 100 Demonstrationssignalquelle

Die Demonstrations-Signalquelle WS 100

Abbildung 1:

Eine Umrisszeichnung der Demonstrationssignalquelle WS 100. Verwenden Sie die Drucktaste, um eine von 6 Wellenformen auszuwählen

Die WS 100-Signalquelle ist eine USB-betriebene Platine mit 6 Sätzen von Ausgangswellenformen. Es gibt zwei Sätze doppelter Ausgangsanschlüsse am WS 100, die mit Ch1, CH2 und Trig gekennzeichnet sind. Tabelle 1 fasst alle verfügbaren Ausgänge zusammen. In diesem Tutorial verwenden wir die Auswahl S2 (I2C).

Tabelle 1:

Die von der WS 100-Demonstrationssignalquelle verfügbaren Signalausgänge

Die im Tutorial gezeigten Anzeigen basieren auf der folgenden Ersteinrichtung auf einem WaveRunner 6 Zi-Oszilloskop:

  1. Rufen Sie das Standard-Setup auf: Pulldown-Menü Datei > Setup abrufen > Standard abrufen.
  2. Vergewissern Sie sich, dass die Eingangskopplung an den Kanälen 1 bis 3 DC 1 MΩ beträgt: Berühren oder klicken Sie auf das Anmerkungsfeld von Kanal 1 > berühren oder klicken Sie auf das Kopplungsfeld > wählen Sie DC 1 MΩ. Wiederholen Sie dies bei Bedarf für die Kanäle 2 und 3
  3. Stellen Sie im C1-Dialogfeld der vertikalen Skalierungssteuerung auf der Frontplatte die vertikale Skalierung von Kanal 1 auf 1 V/Teilung und den vertikalen Offset auf -3 V ein. Wiederholen Sie diese Aktion für die Kanäle 2 und 3.
  4. Tippen oder klicken Sie auf das Anmerkungsfeld Trigger auf dem Display des Oszilloskops. Stellen Sie den Trigger wie folgt ein: Flankentrigger, Quelle: C1, Kopplung: DC, Flanke: Positiv, Triggerpegel: 2.5 V
  5. Drücken Sie die Taste „Normal“ im Bereich „Trigger“ auf der Vorderseite des Oszilloskops.
  6. Verbinden Sie den WS 100 mit einem USB-Anschluss auf der Vorderseite. Wenn der Assistent für das Suchen neuer Hardware angezeigt wird, klicken Sie auf die Schaltfläche Abbrechen. Wählen Sie S2 (I2C) der WaveSource100.
  7. Schließen Sie eine passive Sonde an Ch1 des Oszilloskops und den Ch1-Testpunkt des WS 100 an. Ch1 sind die Daten des I2C-Signals
  8. Schließen Sie eine passive Sonde an Ch2 des Oszilloskops und den Ch2-Testpunkt des WS 100 an. Ch2 ist der Takt des I2C-Signals.
  9. Schließen Sie eine passive Sonde an Ch3 des Oszilloskops und den TRIG-Testpunkt des WS 100 an. TRIG ist ein Triggerimpuls, der mit den I2C-Paketausgängen synchron ist.
  10. Berühren oder klicken Sie auf das Zeitbasis-Anmerkungsfeld auf der Anzeige des Oszilloskops. Stellen Sie Zeit/Division ein: 20 ms, wählen Sie Set Maximum Memory und setzen Sie Maximum Sample Points auf 2.5 MS.
  11. Drücken Sie die Stop-Taste im Triggerbereich auf der Vorderseite des Oszilloskops
  12. Damit ist die Ersteinrichtung abgeschlossen. Die Oszilloskopanzeige sollte ähnlich wie in Abbildung 2 aussehen.
  13. Schalten Sie die Spuren von Kanal 2 und 3 aus.

Abbildung 2:

Die erfassten I2C-Signale Kanal 1 sind die Daten, Kanal 2 ist die Uhr und Kanal 3 ist der Trigger

Verwenden Sie das Pulldown-Menü Analysis und wählen Sie Serial Decode (Abbildung 3) oder drücken Sie die Decode-Schaltfläche neben dem WavePilot SuperKnob (nur WaveRunner 6 Zi). Dadurch wird das Dialogfeld Serial Decode geöffnet.

Abbildung 3:

Aktivieren Sie im Dialogfeld Serial Decode das Kontrollkästchen Decode 1 Decode On.
Wählen Sie das Decode 1-Protokoll als I2C aus.
Falls noch nicht ausgewählt, wählen Sie C1 und C2 als Quellkanäle.
Aktivieren Sie schließlich das Kontrollkästchen Link to Trigger On, wie in Abbildung 4 gezeigt.

Abbildung 4:

Einrichten der I2C-Decodierung mithilfe des seriellen Decodierungsdialogfelds

Wechseln Sie zur Registerkarte Dekodierungseinstellungen.
Setzen Sie den Eintrag „Table # Rows“ auf 9.
Schalten Sie den Zoom ein, indem Sie die Zoom-Taste auf der Vorderseite drücken oder die Zoom-Taste auf dem WavePilot SuperKnob berühren.
Klicken oder berühren Sie einen beliebigen Eintrag in der Dekodierungstabelle, ein Popup-Fenster erscheint und bietet Ihnen fünf Auswahlmöglichkeiten, wie in Abbildung 5 gezeigt:

Abbildung 5:

Verwenden der verlinkten Dekodierungstabelle

Aus – Deaktiviert die serielle Dekodierung
Zoom – Schalten Sie Zoom ein und erweitern Sie die ausgewählte Dekodierung
Setup – Aktivieren Sie das Dialogfeld Serial Decode
Exportieren – Speichern Sie die Dekodiertabelle im .CSV-Format
Messen – Wählen Sie eine dekodierbezogene Messung aus (optional, erfordert ProtoSync Measure and Graph)
Wählen Sie Zoom. Beachten Sie, dass die Zoomspur aktualisiert wird, um die ausgewählte Dekodierung anzuzeigen.
Sie können auch den WavePilot SuperKnob verwenden, um durch die Dekodiertabellenauswahl zu scrollen.

Serielle Triggerung

Serielle Triggerung Berühren oder klicken Sie auf das Anmerkungsfeld Trigger oder drücken Sie die Schaltfläche Setup in der Triggergruppe auf der Frontplatte. Dadurch wird das Trigger-Dialogfeld angezeigt. Wir haben den Trigger bereits mit dem seriellen Dekodierungs-Setup verknüpft, sodass die Registerkarte „I2C“ wie in Abbildung 6 dargestellt angezeigt wird.

Abbildung 6:

Das serielle Dekodierungs-Trigger-Setup für I2C

Drücken Sie die Setup-Taste.

Es stehen 8 Triggertypen zur Auswahl. Wir richten einen Trigger basierend auf der I2C-Adresse und dem Dateninhalt ein.

Drücken Sie die Schaltfläche mit der Bezeichnung Addr+Data im Abschnitt Triggertyp des I2C-Trigger-Setups.
Die ausgegrauten Bereiche im Adress-Setup und im Datenmuster-Setup werden aktiviert.

Geben Sie im Address Setup den Wert 20 in das Adressfeld ein.

Stellen Sie die Datenmuster-Setup-Felder auf die in Abbildung 6 gezeigten Werte ein: Datenbedingung – Größer als oder gleich; An Position – Wert; Byte-Position – 14; Länge – 3 Byte; Datenwert – 313830.

Drücken Sie die Single-Taste in der Trigger-Gruppe. Das Oszilloskop sollte einmal auslösen und dann zu Stop gehen.

Tippen oder klicken Sie auf das Anmerkungsfeld Zoom (Z1) Trace. Wenn das Dialogfeld „Zoom“ angezeigt wird, drücken Sie die Schaltfläche „Zoom zurücksetzen“. Dadurch wird der Zoom zurückgesetzt, sodass der Auslösepunkt auf dem Bildschirm zentriert ist. Verwenden Sie die Schaltfläche Horizontal In, um die Zoomspur zu erweitern. Die Spur erweitert sich um den Triggerpunkt herum, sodass wir das Paket sehen können, das mit dem Triggerpunkt ausgerichtet ist, wie in Abbildung 7 gezeigt. Verwenden Sie bei Bedarf eine horizontale Verzögerung auf dem FP, um das decodierte Paket zu positionieren.

Abbildung 7:

Anzeige des dem Triggerpunkt entsprechenden Pakets

Ihre Anzeige sollte Abbildung 7 ähneln. Nur Pakete mit der Adresse 20 und mit Datenwerten gleich oder größer als x313830 in den letzten 3 Datenbytes lösen den Bereich aus.

Verwenden Sie das Pulldown-Menü „Zeitbasis“ und wählen Sie „Horizontales Setup“ oder berühren Sie das Anmerkungsfeld „Zeitbasis“, um auf das Dialogfeld „Zeitbasis“ zuzugreifen. Ändern Sie die Einstellung Zeit/Teilung auf 10 ms/Teilung.

Drücken Sie die Single-Taste in der Trigger-Gruppe. Das Oszilloskop sollte einmal auslösen und dann zu Stop gehen.

Die leistungsstärkste Funktion des PROTObus MAG Serial Debug Toolkit ist die Fähigkeit, digitale Daten aus der seriellen Datennachricht mithilfe der Message-to-Value-Messung zu extrahieren. Einige Beispiele für die Nützlichkeit dieser Fähigkeit sind: Anzeigen von Daten von einem Temperatursensor oder -regler, die über einen I2C- oder SPI-Bus gesendet werden; I- und Q-modulierte Funkfrequenzsignalinformationen, die über DigRF 3G gesendet werden; oder Raddrehzahlinformationen, die von einem Antiblockiersystem (ABS) verwendet und über CAN gesendet werden. Die Fähigkeit, die eingebetteten digitalen Daten in der seriellen Datennachricht in einen analogen Wert umzuwandeln und eine analoge Wellenformdarstellung der Daten anzuzeigen, ist eine einzigartige Funktion, die das PROTObus MAG Serial Debug Toolkit zu einer Notwendigkeit für Ingenieure macht, die serielle Protokolle debuggen.

Unser I2C-Signal vom WS-100-Demoboard hat eine eingebettete Nachricht: „LeCroy I2C nnn“. Die letzten drei Ziffern sind ein einfacher Zähler. Wir verwenden den Message to Value-Parameter, um die Zählerwerte grafisch darzustellen.

Sie können die Message to Value auf verschiedene Weise hervorrufen. Die erste besteht darin, auf eine der Zeilen in der Dekodiertabelle zu zeigen oder sie zu berühren. Dadurch wird das in Abbildung 5 gezeigte Dekodierungs-Popup angezeigt. Wählen Sie „Messen“ aus. Dies führt zu dem in Abbildung 8 gezeigten Popup „Select Operation to apply on decoder output“. In diesem Popup können Sie einen der neun PROTObus MAG-Parameter oder den Wizard „Seriell codierte Daten als analoge Wellenform anzeigen“ auswählen. Die Funktion jeder dieser Auswahlen wird wie folgt zusammengefasst:

Abbildung 8:

Die Auswahl der Decoder-Ausgangsoperationen bietet neun PROTObus MAG-Parameter und die Funktion „View Encoded Data as Analog“ (Kodierte Daten als Analog anzeigen).

Digital-zu-Analog-Decodierungsausgabeoperationen

Seriell codierte Daten als analoge Wellenform anzeigen – Richtet automatisch einen Message-to-Value-Parameter ein und verfolgt dann die zugewiesene Messung. Dabei wird eine Digital-Analog-Umwandlung (DAC) der eingebetteten digitalen Daten durchgeführt und die digitalen Daten werden als analoge Wellenform angezeigt.

Nachricht an Wert - Extrahieren und konvertieren Sie einen bestimmten Teil der Daten/Nutzdaten in der Nachricht und zeigen Sie ihn als analogen Wert an.

Timing-Decodierungs-Ausgangsoperationen

MsgToAnalog (Nachricht an Analog) - Berechnet die Zeitdifferenz von einer Protokollnachricht bis zum Überschreiten eines Schwellenwerts auf einem analogen Signal.

AnalogToMsg (Analog zu Nachricht) - Berechnet die Zeitdifferenz vom Überschreiten eines Schwellenwerts auf einem analogen Signal bis zu einer Protokollnachricht.

MsgToMsg (Nachricht zu Nachricht) - Berechnet die Zeitdifferenz von einer Protokollnachricht zu einer anderen Protokollnachricht.

DeltaMsg (Delta-Nachricht) - Berechnet den Zeitunterschied zwischen zwei Nachrichten auf einer einzelnen decodierten Zeile.

Time@Msg (Zeit bei Nachricht) - Zeit vom Auslösen bis zu jeder Protokollnachricht (Erfüllung festgelegter Bedingungen).

Andere Dekodierungsausgabeoperationen

BusLoad - Berechnet die Last benutzerdefinierter Nachrichten auf dem Bus (in Prozent).

MsgBitrate - Berechnet die Bitrate von benutzerdefinierten Nachrichten auf dekodierten Spuren.

NumMessages (Anzahl der Nachrichten) - Berechnet die Anzahl der Nachrichten, die einer benutzerdefinierten Definition in dekodierten Ablaufverfolgungen entsprechen.

Wählen Sie „Seriell codierte Daten als analoge Wellenform anzeigen“. Sie werden ein weiteres Popup-Fenster sehen, in dem Sie gefragt werden, in welche Funktionsspur (F1-F8) Sie die Spur des Parameters Message to Value (MsgToVal) platzieren möchten. Wählen Sie die Spur F1.

Als Alternative zur Verwendung des Setup-Assistenten können Sie Decode setup auswählen und die Registerkarte Measure/Graph auswählen, wie in Abbildung 9 gezeigt:

Abbildung 9:

Verwenden der Registerkarte „Messen/Grafik“ im Dialogfeld „Serielle Dekodierung“, um Decodermessungen/Grafiken einzurichten

Beachten Sie, dass die Registerkarte Measure/Graph Setup dokumentiert, was wir gerade eingerichtet haben. Es wendet den Message to Value-Parameter auf Decode 1 an und zeigt ihn als Parameter P1 an. Die Spur von P1 wird in Math Trace F1 angezeigt.

Das Diagrammfeld der Registerkarte „Measure/Graph Setup“ ermöglicht die Auswahl von drei verschiedenen Plots: Track, Trend oder Histogram.

Die Track-Funktion zeichnet die Parameterwerte als Funktion der Zeit synchron mit der Quellwellenform auf.

Die Trendfunktion protokolliert einfach die Parameterwerte und zeigt einen Wert für jede durchgeführte Messung. Es ist ein Plot von Parameterwerten gegen die Messungsnummer.

Das Histogramm teilt die gemessenen Parameterwerte ein und zeichnet die Anzahl der Messungen innerhalb jedes Klassenbereichs als Funktion des nominellen Klassenwerts auf.

In unserem Beispiel verwenden wir die Track-Funktion.

Verwenden Sie das Mess-Pulldown-Menü, um den Messaufbau anzuzeigen. Schalten Sie die Parameter P1 und P2 aus. Aktivieren Sie die Statistik, indem Sie das Kontrollkästchen „Statistik“ auf der rechten Seite des Dialogfelds aktivieren.

Gehen Sie zur Registerkarte P3. Wählen Sie die Registerkarte Main auf der rechten Seite. Der Filter sollte auf Any eingestellt sein, damit können wir den Nachrichteninhalt aller I2C-Datenpakete messen. Die andere mögliche Auswahl besteht darin, einen ID-Wert festzulegen, der nur Pakete mit bestimmten Adressen betrachtet.

Gehen Sie zur rechten Registerkarte Wert. Richten Sie es wie in Abbildung 10 gezeigt ein: Startposition, 112; # Bits 24; Kodierung, unsigniert; Einheiten keine.

Abbildung 10:

Einstellen des MsgToVal-Parameters zum Lesen des 3-stelligen Zählers am Ende der Datenzeichenfolge

Diese Einstellungen begrenzen den Parameter MsgToVal auf das Lesen der drei Datenpakete ganz rechts.

Abbildung 11:

Vergleich der ausgewählten Datenpaketanzahl mit dem gemessenen Wert

Schließen Sie den Dialog „Messen“. Die Anzeige sollte Abbildung 11 ähneln. Beachten Sie, dass F1 eine Treppenwellenform zeigt, die den sich ändernden Zählwert in den letzten drei Ziffern der neun erfassten seriellen Pakete widerspiegelt. Der MsgToVal-Parameter dekodiert das Hex dieser Ziffern. In der hervorgehobenen Tabellenauswahl ist der Hexadezimalwert der letzten drei Ziffern x313833, umgerechnet auf die Basis 10 ist der Wert 3,225,651 oder 3.235651E6.

Verwenden Sie das Dialogfeld Messen, um P3 auszuschalten. Schalten Sie F1 und die Zoom-Spur Z1 aus.

Verwenden der anderen dekodierbezogenen Messungen

Ändern Sie die Timebase-Einstellung auf 2 ms/Division. Schalten Sie Kanal 3 ein. Lösen Sie das Oszilloskop einmal aus.

Rufen Sie das Dialogfeld Serial Decode auf, indem Sie auf eine der Zeilen in der Decodiertabelle klicken und Setup auswählen. Wählen Sie die Registerkarte Measure/Graph und konfigurieren Sie die Messung wie in Abbildung 12 gezeigt.

Abbildung 12:

Einrichten der Analog-zu-Nachrichten-Timing-Messung

Die analoge Signalquelle ist das Triggersignal auf Kanal 3. Quelle 2 ist Decodierung 1. Berühren Sie die Messgrafik und es öffnet sich das Auswahl-Popup, das wir in Abbildung 8 gesehen haben. Wählen Sie „Analog to Message“. Das Ziel ist Parameter P1. Wenn Sie fertig sind, drücken Sie Anwenden und Konfigurieren. Dadurch wird das P1-Setup wie in Abbildung 13 dargestellt angezeigt.

Abbildung 13:

Konfigurieren des Parameters „Analog to Message“.

Auf der Registerkarte Main im P1-Messdialog können wir einen Filter für den Decodierungseingang festlegen. Dies kann Any sein, wie in diesem Fall, oder ein bestimmtes ID-Feld oder ID plus Datenfeld.

Auf der Registerkarte „Analog“ können wir den Schwellenwert für das analoge Signal einrichten. Es ist standardmäßig auf den Amplitudenpegel von 50 % eingestellt.

Die Registerkarte „Holdoff“ ermöglicht es dem Benutzer, Pakete zu ignorieren, die innerhalb einer bestimmten Zeit oder einer bestimmten Anzahl von Paketen (Ereignissen) auftreten.

Einfache Markierungen, die in unserem Beispiel eingeschaltet sind, verwenden die blau gestrichelten Linien, um anzuzeigen, wo die Messung durchgeführt wird. In Abbildung 13 wird die Zeit vom analogen Impuls auf P3 bis zum Triggerpunkt innerhalb des Datenpakets gemessen.

Sie sollten mit mehreren verschiedenen Messungen experimentieren, um Erfahrungen mit der Einrichtung zu sammeln.

Damit ist dieses Tutorial abgeschlossen.