Sporadisch auftretende Fehler kosten bei der Entwicklung neuer Produkte oft viel Zeit. Besonders aufwendig und langwierig ist die Fehlersuche an protokollbasierenden Bussen oder anderen gepulsten Signalen, bei denen die Kommunikationspausen zwischen den einzelnen Datenpaketen sehr lang sein können. Im Beispiel in Bild 1, Zeile 1, sendet ein Sensor seine Messwerte über den I2C-Bus. Die Übertragung eines Protokollpakets dauert 400 µs, der Sensor sendet aber nur alle 10 ms ein neues Paket. Die dabei auftretenden Fehler sollen analysiert werden. Das Mittel der Wahl für die Fehlersuche an der I2C-Schnittstelle ist ein Oszilloskop. Bis auf das R&S RTM2000 haben die meisten Oszilloskope dieser Klasse nur einen sehr begrenzten Speicher. Dadurch ist die Aufzeichnungslänge für die Analyse von Fehlern und deren Vorgeschichte typischerweise auf wenige Millisekunden begrenzt.
Nachteile der Single-Shot-Aufzeichnung
Normalerweise erreicht der Anwender eine lange Aufzeichnungsdauer in zwei Schritten. Erst wählt er eine passend große Zeitbasis, zum Beispiel 20 ms/Div, was in diesem Beispiel 19 Protokollpaketen des zu untersuchenden Beispielsensors entspricht. Dann löst er einen Single Shot aus, also eine einzige Akquisition. Damit verhindert er, dass das aufgezeichnete Signal vom nächsten Trigger-Ereignis überschrieben wird.
Eckdaten
Die Option „History und segmentierter Speicher“ (RTM-K15) für das Oszilloskop R&S RTM2000 erweitert den Erfassungsspeicher auf 460 MSample und teilt ihn in beliebig viele einzelne Segmente. Ein Trigger sorgt dafür, dass jedes Segment einen weiteren relevanten Ausschnitt des Signals aufnimmt. Damit verschwenden die Signalpausen keinen Speicher; ein exakter Zeitstempel verrät bei der anschließenden Analyse, von wann genau der Signalausschnitt stammt. Sinnvoll ist dieses Vorgehen bei seriellen Protokollen, wenn nur selten Datenpakete übertragen werden.
Dieses Vorgehen hat zwei entscheidende Nachteile, die die Analyse sporadischer Fehler besonders in gepulsten Signalen mit steilen Flanken erschweren. Zum einen führt der große Anteil an nicht relevanter Inaktivität dazu, dass das Oszilloskop nur wenige der interessierenden Protokollpakete aufzeichnet (Zeile 2 in Bild 1). Der andere Nachteil liegt in der notwendigen Begrenzung der Abtastrate. Bei 2 MSample Speicher und einer Abtastrate von 2 GSample/s liegt die maximale Aufzeichnungsdauer bei nur 1 ms, reicht also gerade genau für ein Protokollpaket des Beispielsensors; das nächste Paket wird aufgrund der Kommunikationspause von 10 ms verpasst.
Die gewünschten 200 ms, also 20 ms/Div für 10 Divisions, lassen sich nur dann aufzeichnen, wenn man die Abtastrate auf 10 MSample/s senkt – das ist allerdings zu gering für eine stabile Decodierung des I2C-Signals, geschweige denn für die Suche nach Signalintegritätsfehlern. Deshalb ist es für solche Analysen wichtig, ein Oszilloskop mit tiefem Speicher zu nutzen, wie ihn das Universal-Oszilloskop R&S RTM2000 (Bild 2) bietet.
Die standardmäßig verfügbaren 20 MSample erlauben es, die Abtastrate im Beispiel auf 100 MSample/s anzuheben und damit die 19 Protokollpakete lückenlos aufzuzeichnen und zu analysieren. Signalfehler lassen sich so zwar untersuchen, doch ist die Wahrscheinlichkeit nicht besonders groß, dass Entwickler mit diesem Setup den Fehler tatsächlich finden, da das Gerät nur sehr wenige Pakete aufzeichnet. Die weitaus bessere Lösung ist die neue Option „History und segmentierter Speicher“ RTM-K15.
Vorteile der segmentierten Aufzeichnung
Der Lösungsansatz lautet, die Aufzeichnung auf die Datenpakete zu beschränken. Dazu müssen Entwickler einen dedizierten Protokolltrigger definieren, beispielsweise die Triggerung auf das Startsymbol des I2C-Busses. Bild 3 gibt einen Überblick über die vom RTM2000 unterstützten Protokolle.
Die Option „History und segmentierter Speicher“ unterstützt die Fehleranalyse an zwei zentralen Punkten. Zum einen erweitert sie den zur Verfügung stehenden Speicher für analoge und digitale Kanäle auf 460 MSample; zum anderen teilt sie den Speicher in Abschnitte gleicher Größe. Die Zahl der Segmente lässt sich in verschiedenen Stufen an die Aufgabenstellung anpassen (Bild 4). Das Oszilloskop stellt sicher, dass der Speicher optimal ausgeschöpft ist. Für ein serielles Protokoll gibt zum Beispiel die maximale Paketlänge im Signal vor, wie lange eine Aufzeichnung dauert. Ab dem Triggerzeitpunkt passt so jeweils der zu untersuchende Signalabschnitt in den Speicher. Die Zeiträume ohne Aktivität hingegen werden nicht erfasst (Zeile 3 in Bild 1). Ein wichtiges Detail für die anschließende Analyse: das RTM2000 speichert den Zeitpunkt des Triggerereignisses mit einer Auflösung von 3,2 ns.
Für den Beispielsensor ergibt sich als gewünschte Aufzeichnungslänge 500 µs pro Segment: 400 µs für das Protokollpaket und je 50 µs zeitlichen Puffer davor und danach (Bild 5). Für 500 µs und eine Segmentlänge von 10 kSample – das entspricht einer Abtastrate von 20 MSample/s – ergibt sich eine stabile Decodierung. Mit den 45.000 verfügbaren Segmenten kann das Oszilloskop also knapp acht Minuten der Kommunikation aufzeichnen. Als Triggerkriterium eignet sich beim seriellen Protokolltrigger „Protocol Start“.
History-Modus für die Analyse
Mit der History-Funktion der Option RTM-K15 können Anwender nachträglich auf alle Aufzeichnungen zugreifen. Zur Analyse stehen sämtliche Werkzeuge des Oszilloskops bereit, beispielsweise die Quick-Meas-Funktion, Maskentests oder Protokolldecodierung (Zeile 4 in Bild 1). Um beispielsweise eine fehlerhafte Abweichung des Clock-Signals des Beispielsensors zu finden, bietet sich der zum Standardfunktionsumfang des RTM2000 gehörende Maskentest an. Die Maske lässt sich mit wenigen Tasten aus einem korrekt übertragenen Clock-Signal erstellen oder von einem USB-Stick laden. Über das Play-Kommando der History-Funktion (unten in Bild 5) vergleicht das Gerät alle 45.000 Segmente automatisch mit der Maske, wertet Verletzungen statistisch aus und, falls dies im Maskentest aktiviert ist, hält das Oszilloskop bei einer Maskenverletzung an und zeigt den Signalverlauf an der Stelle.
Schnellen Zugang zu den vor dem fehlerhaften Segment liegenden Aufzeichnungen bietet die Erfassungstabelle, die alle Segmente mit ihrem jeweiligen Zeitstempel auflistet (links unten in Bild 5). So sind Nachwirkungen vorausgegangener Signale schnell isoliert. Eine anschließende Analyse der Triggerzeitpunkte aller fehlerhaften Segmente ermöglicht es zudem, Periodizitäten zu entdecken. Selbstverständlich lassen sich alle Segmente für die Offline-Analyse auf einem PC speichern.
Entdecken Anwender im Standardbetrieb einen Fehler und vermuten den entscheidenden Hinweis zur Lösung in der Vorgeschichte, hilft das RTM2000 mit installierter RTM-K15 ebenfalls weiter: Es speichert die Daten immer mit Zeitsempel in den Segmenten. So sind sie stets über die History-Funktion zugänglich.
Aufs Wesentliche konzentrieren
Im Zusammenspiel von seriellen Trigger- und Decodier-Optionen mit der Option RTM-K15 ergeben sich entscheidende Analysevorteile. Der große Speicher von 460 MSample und die flexible Einstellbarkeit von Segmenten erweitern die effektive Aufzeichnungslänge von Millisekunden auf Minuten oder mehr.
Mit der History-Funktion können Anwender alle Aufzeichnungen nachträglich betrachten und auswerten. Zeitstempel mit einer Auflösung von 3,2 ns ermöglichen eine genaue zeitliche Zuordnung von Signalereignissen. Über die Erfassungstabelle lassen sich einzelne markierte Segmente direkt für die Anzeige auswählen. Alternativ spielt die History-Funktion alle Segmente automatisch ab. Zur Analyse des fehlerhaften Segments stehen sämtliche Werkzeuge des Oszilloskops zur Verfügung, zum Beispiel die Quick-Meas-Funktion, Maskentests, FFT oder Protokolldecodierung.
(lei)