EP Basics

Oszilloskop: CAN- und CAN-FD-Busse auf Fehler untersuchen

< zurück

Seite: 2/3

Anbieter zum Thema

Der Hardware-Trigger dekodiert weitere Nachrichten

Bildl 8: Mit einer DBC-Datei kann man auf bestimmte symbolische Werte reagieren. Im Beispiel auf die Nockenwellendrehzahl des Motors.
Bildl 8: Mit einer DBC-Datei kann man auf bestimmte symbolische Werte reagieren. Im Beispiel auf die Nockenwellendrehzahl des Motors.
(Bild: Teledyne LeCroy)

Die Hardware-Triggerung des Oszilloskops ist ein weiteres Werkzeug, um Nachrichten zu dekodieren. Sucht man beispielsweise nur Nachrichten mit der ID 400, dann lässt sich der Trigger so konfigurieren, dass er nach dem ID-Feld, dann nach IDs im Hexadezimalformat und dann nach ID-Werten von 400 sucht.

Löst das Oszilloskop aus, befindet sich der entsprechende Frame zum Zeitpunkt Null auf der horizontalen Achse. Mit der Ausschluss-/Einschluss-Triggerung kann man nach einem Bereich von Werten suchen. Bei CAN-Knoten lässt sich der Trigger so einstellen, dass er innerhalb eines Bereichs sucht, indem niedrige und hohe Werte entsprechend dem Zweck eingestellt werden. Umgekehrt lässt sich ein Trigger so einstellen, dass ein bestimmter Wertebereich ignoriert wird.

Mit aktivierten Hardware-Triggern des Oszilloskops kann man auf Fehler im Signal des CAN-Busses triggern. Es ist sogar möglich, auf bestimmte Arten wie ACK-Fehler zu triggern. Außerdem lässt sich das Oszilloskop auf Fehler der zyklischen Redundanzprüfung (CRC) triggern. Will man nur Fehler aufzeichnen und einzelne Frames sollen komplett ignoriert werden, dann bietet sich der sogenannte Sequenzmodus an: Hier erfasst das Oszilloskop stundenlang oder über Nacht nur Error Frames.

Ein Vorteil des Sequenzmodus ist es, dass kein Erfassungsspeicher des Oszilloskops für Frames verschwendet wird. Das Zeitfeld unten rechts im Bild 8 zeigt, dass das Oszilloskop für eine Sequenzerfassung von 20 CAN-Bus-Fehlerrahmen eingestellt ist. Die rosa, blaue und grüne hervorgehobenen Bereiche von drei verschiedenen Segmenten zeigen Fehlertypen wie ACK, CRC und ein Füllbitfehler.

CAN-Bus Fehlererkennung

Bild 9: Im Sequenzmodus erfasst das Oszilloskop nur CAN-Bus-Fehlerframes.
Bild 9: Im Sequenzmodus erfasst das Oszilloskop nur CAN-Bus-Fehlerframes.
(Bild: Teledyne LeCroy)

Durch entsprechende Aktivierung des Hardware-Triggers des Oszilloskops können wir nur auf Fehler im CAN-Bus-Signal triggern, sogar auf bestimmte Arten von Fehlern wie ACK-Fehler. Das Oszilloskop kann auch auf Fehler der zyklischen Redundanzprüfung (CRC) ausgerichtet werden.

In manchen Szenarien möchte man vielleicht nur Fehler aufzeichnen und gute Bilder komplett ignorieren. Mit einem speziellen Zeitbasismodus, dem so genannten Sequenzmodus, können wir das Oszilloskop stundenlang oder über Nacht laufen lassen und nur Fehlerbilder erfassen. Ein Vorteil des Sequenzmodus ist, dass kein Erfassungsspeicher des Oszilloskops für gute Frames verschwendet wird.

Bild 9 zeigt eine Bildschirmaufnahme eines solchen Szenarios. Das Zeitbasis-Deskriptionsfeld unten rechts zeigt, dass das Oszilloskop für eine Sequenzerfassung von 20 CAN-Bus-Fehlerrahmen eingestellt ist. Die rosa, blaue und grüne Hervorhebung von drei verschiedenen Segmenten zeigt eine Vielzahl von Fehlertypen: ACK-Fehler, CRC-Fehler und ein Füllbitfehler. Jedes Segment enthält einen einzelnen CAN-Bus-Fehler, und die Segmente sind mit einem Zeitstempel versehen, so dass sich Muster in Bezug auf die Fehlerzeitpunkte erkennen lassen.

Umgekehrt könnte man den Sequenzmodus verwenden, um nur gute Bilder zu erfassen. Vielleicht sind Sie nur an den Motormeldungen interessiert; der Sequenzmodus kann diese unter Ausschluss aller anderen Meldungen erfassen.

Durchführung von CAN-Bus-spezifischen Messungen

Bild 10: Ein Pop-up-Menü mit spezifischen CAN-Bus-Messungen.
Bild 10: Ein Pop-up-Menü mit spezifischen CAN-Bus-Messungen.
(Bild: Teledyne LeCroy)

Nachdem Signaldekodierung und Triggerung behandelt wurden, ist das nächste Thema das der CAN-Bus-spezifischen Messungen. Bild 10 zeigt ein Menü mit CAN-spezifischen Parametern. Digital zu Analog ermöglicht die Anzeige der kodierten Daten als analoge Wellenform. Zum Beispiel können Reifendruckdaten auf der Y-Achse mit der Zeit auf der X-Achse aufgetragen werden, um den Reifendruck über die Zeit zu betrachten.

Message to Analog ermöglicht die Messung der Zeit zwischen einer Meldung und einem darauf folgenden Steuersignal; Analog to Message misst die Zeit zwischen einem Steuersignal und einer darauf folgenden Meldung. Im ersten Fall möchten Sie vielleicht, dass die Airbags ausgelöst werden, wenn die Fahrzeuggeschwindigkeit plötzlich abfällt. Die Geschwindigkeit wird in einer Nachricht kodiert, die unter bestimmten Bedingungen ein analoges Steuersignal für die Auslösung der Airbags erzeugt.

Natürlich ist das Timing zwischen diesen Ereignissen entscheidend; Message to Analog ermöglicht die Beobachtung dieses Timings. Im letzteren Fall sollte ein analoges Signal, das beispielsweise durch das Herunterkurbeln eines Fensters erzeugt wird, wiederum eine Nachricht erzeugen, die anderen Systemen mitteilt, dass das Fenster geöffnet ist. Analog to Message würde das Timing dieser Ereignisse messen.

Jetzt Newsletter abonnieren

Verpassen Sie nicht unsere besten Inhalte

Mit Klick auf „Newsletter abonnieren“ erkläre ich mich mit der Verarbeitung und Nutzung meiner Daten gemäß Einwilligungserklärung (bitte aufklappen für Details) einverstanden und akzeptiere die Nutzungsbedingungen. Weitere Informationen finde ich in unserer Datenschutzerklärung.

Aufklappen für Details zu Ihrer Einwilligung

Bild 11: Der Bildschirmausschnitt zeigt das Setup für die Zeitmessung von CAN-Nachrichten.
Bild 11: Der Bildschirmausschnitt zeigt das Setup für die Zeitmessung von CAN-Nachrichten.
(Bild: Teledyne LeCroy)

Eine CAN-zu-CAN-Messung kann über zwei CAN-Busse hinweg durchgeführt werden. Eine Nachricht lässt sich mit der hexadezimalen ID 200 auf Bus 1 und eine mit der ID 400 auf Bus 2 betrachten und das Timing zwischen den beiden Nachrichten messen.

Schauen wir uns das Setup für eine Zeitmessung von CAN-Nachrichten an. In Bild 11 ist der Parameter 1 (P1) DeltaCAN, der das Timing zwischen Hex-ID-200-Nachrichten auf dem Bus misst. In der DBC-Datei würde dies das Timing zwischen Airbag-Sensor-Nachrichten darstellen. Diese Deltazeit variiert, und die Statistiktabelle zeigt uns die Statistik für diese Zeit zwischen ID 200-Nachrichten.

Weitere CAN-bezogene Messungen

Parameter 3 (P3) ist eine andere Zeitmessung: Zeit@CAN. Dieser Parameter konzentriert sich auf die Hex-ID 410 und misst das Timing dieser Nachrichten in Bezug auf den Auslösepunkt (Zeit Null). Die Statistik zeigt uns, dass die Zeitmessung in einem Bereich von -40,6 ms bis 48,1 ms liegt, und liefert auch die statistische Verteilung dieser Zeitmessungen.

Wir sehen einige angewandte Grafikfunktionen. Unten links in der Tabelle mit den Messstatistiken befindet sich ein Histogramm (in grün) der DeltaCAN-Messung der Zeiten zwischen Hex-ID-200-Nachrichten. Die meisten treten in der Mitte auf, aber es gibt Ausreißer, bei denen die Werte zwischen hohen und niedrigen Werten liegen.

Die blaue Wellenform auf der rechten Seite stellt den Trend von Time@CAN dar. Stellen Sie sich dies wie einen Datenlogger vor, der die Time@CAN-Werte aufzeichnet. Sie zeigt uns die Variation der einzelnen Messungen in chronologischer Reihenfolge (Chronologie auf der X-Achse; Zeitmessung auf der Y-Achse). Die Histogramme geben einen Einblick in die Zeitmessung im Vergleich zur Anzahl der Vorkommnisse. Wäre diese Verteilung gaußförmig oder zufällig, wäre die Trendlinie flach.

Viele andere CAN-bezogene Messungen sind möglich, einschließlich einer Gesamtzählung aller CAN-Nachrichten, einer Zählung von Nachrichten mit einer bestimmten ID zusammen mit ihrem Timing und so weiter. Wir können die mathematische Funktion Trend auf eine bestimmte ID anwenden. Wenn wir den Prozentsatz der CAN-Last oder die Busauslastung wissen wollen, können wir dies für alle Nachrichten oder für eine bestimmte ID messen.

Verfolgung und Trending von CAN-to-Value

Die Verwendung der mathematischen Operatoren Track und Trend des Oszilloskops für die CAN-to-Value-Messung kann wertvolle Informationen über die Funktionalität eines CAN-Busses liefern. In diesem Beispiel (Bild 12) ist das zu prüfende Gerät ein CAN-FD-Gerät, das eine Zählerschaltung erzeugt, die Nachricht für Nachricht in Hexadezimalwerten hochzählt.

Ausgehend von Hexadezimalziffer 00 wurde der Zähler aufwärts gezählt, bis er Hexadezimalziffer ff erreichte und dann auf 00 zurückgesetzt wurde. Mit der Funktion „Track“ ist es relativ einfach, diese Rückstellung zu lokalisieren. In Biild 12 ist die blaue F7-Spur diese Track-Funktion, mit Daten auf der Y-Achse und Zeit auf der X-Achse.

In ähnlicher Weise kann man Tracks und Trends verwenden, um ein Gefühl für den CAN-Bus-Verkehr im Zusammenhang mit den Sensordaten zu bekommen. Bild 13 zeigt zum Beispiel einen Test eines Thermoelements, bei dem der Ingenieur den Sensor einfach festhält und seine Temperatur erhöht. Die Daten werden über den CAN-Bus übertragen. Rechts in der Mitte des Oszilloskop-Displays befindet sich die Trendfunktion, die zeigt, wie die Sensordaten im Laufe der Zeit ansteigen und abfallen. Darüber befindet sich eine statistische Verteilung der Temperaturdaten des Thermoelements. Analysen dieser Art können auf Bewegungssensoren, Lenkwinkel oder die Ausgabe jedes anderen Sensors angewendet werden.

(ID:48675944)