Bildergalerie
Bild 1: Dieser sporadische Glitch trat beim Beispiel gelegentlich unter sonst einwandfreien Signalen auf.
Bild 2: Beim Infiniiscan-Zonentrigger kennzeichnet der Anwender auf dem Touchscreen einen rechteckigen Bereich.
Bild 3: Bei aktivem Zonentrigger sind nur noch Signale sichtbar, die das Rechteck schneiden.
Bild 4: Per Doppelcursor kann man auf dem Multitouchscreen die Pulsbreite des Glitches bestimmen – hier sind es 40 ns.
Bild 5: Statt dem Zonentrigger ist hier ein Trigger auf die Pulsbreite gesetzt.
Bild 6: Der segmentierbare Speicher hat hier dank Pulsbreiten-Trigger 50 Glitches erfasst.
Bild 7: Per Segmentanalyse lassen sich die erfassten Glitches übereinanderlegen.
Bild 8: Der Frequenzzähler ermittelt dank Pulsbreitentrigger die Häufigkeit der Glitches.
Bild 9: Bei diesem komplexeren Signal sind dank der Überlagerung die Glitches gut erkennbar.
Bild 10: Wenn das Oszilloskop nur 1000 Messkurven pro Sekunde zeigt statt 450.000 wie in Bild 9, dann tauchen die Glitches gar nicht auf.
Bild 11: Wie in Bild 2 kann der Anwender auch bei diesem komplexeren Signal einen passenden Trigger-Bereich einzeichnen.
Bild 12: Bei aktivem Zonentrigger sind nur die Glitches zu sehen.
Bild 13: Im segmentierten Speicher sind Glitches zu finden, die sogar die Logikschwelle von 50 % der nominalen Signalamplitude überschreiten.
Bild 14: Die Farbabstufung zeigt, dass die übelsten Glitches (hellgrün) in weniger als 20 von 1000 erfassten Segmenten vorkamen. Das blaue Histogramm zeigt die Verteilung: Glitches mit kritisch großen Amplituden sind relativ selten.
Bild 15: Die übelsten Glitches haben nicht nur hohe Amplituden, sie dauern auch länger als der Durchschnitt.
Bild 16: Die übelsten Glitches haben nicht nur hohe Amplituden, sie dauern auch länger als der Durchschnitt.
Bild 17: Die übelsten Glitches haben nicht nur hohe Amplituden, sie dauern auch länger als der Durchschnitt.
Bild 18: Mit dem Cursor kann man die Pulsbreite einfach messen; die übelsten Kandidaten sind etwa 15 ns breit.
Bild 19: Überlagerung der Messkurven von zehn der schlimmsten Glitches.

Wer einen Signalfehler in seinem Design befürchtet – egal ob während der Produktentwicklung, der Validierung oder der Fehleranalyse – muss diesen zunächst einmal finden. Die Suche nach solchen Fehlern verläuft typischerweise in drei Schritten: 1. Visuelle Erkennung: feststellen, dass Signalfehler vorkommen. 2. Isolierung: fehlerhafte Signale von guten Signalen trennen. 3. Erklärung: nach Hinweisen suchen, die zur Fehlerursache führen können, etwa die Häufigkeit des Fehlers, besondere Signalmuster oder andere Hinweise.

Signalfehler erkennen und freistellen

Das erste Beispiel zeigt in Bild 1 (siehe Bildergalerie) einen sporadischen Glitch, der gelegentlich unter sonst einwandfreien Signalen auftrat. Er führte zu seltenen Fehlfunktionen. Mit einer langsamen Bildschirmaktualisierungsrate (und damit auch einer langsamen Triggerrate) eines herkömmlichen digitalen Speicheroszilloskops kann der erste Schritt – nämlich zu erkennen, dass überhaupt ein Fehler vorliegt – ziemlich lange dauern. Mit einem aktuellen Oszilloskop mit hoher Bildschirmaktualisierungsrate, etwa dem neuen DSO/MSO Infiniivision 6000 X mit 450.000 Messkurven pro Sekunde, sieht man sporadische Glitches praktisch sofort. Zum Vergleich: Wenn dieses Oszilloskop 10 s braucht, um den ersten Glitch zu erfassen, braucht ein Oszilloskop mit 1000 Messkurven pro Sekunde dafür 75 min.

Mit der neuen Infiniivision-6000-X-Serie setzt Agilent einen neuen Maßstab für das Preis/Leistungsverhältnis bei Bandbreiten bis zu 6 GHz. Per Touchscreen lassen sich viele Funktionen sehr benutzerfreundlich nutzen.

Mit der neuen Infiniivision-6000-X-Serie setzt Agilent einen neuen Maßstab für das Preis/Leistungsverhältnis bei Bandbreiten bis zu 6 GHz. Per Touchscreen lassen sich viele Funktionen sehr benutzerfreundlich nutzen.Agilent

Wenn tatsächlich Glitches vorhanden sind, möchte man sie von den guten Signalen trennen. Moderne Oszilloskope haben dafür eine komplexe Triggerfunktion. Diese einzustellen, erfordert aber oft eine erhebliche Fachkenntnis, vor allem wenn die gesuchten Signalfehler komplex sind. Mit dem hardwarebasierten Infiniiscan-Zonentrigger, den es ausschließlich bei den Oszilloskopen der 6000-X-Serie gibt, ist die Signalfreistellung hingegen ganz einfach: Der Anwender zeichnet auf dem Touchscreen einen Kasten um das Signal, das er freigestellt haben möchte, wählt dann „muss Kasten schneiden“ oder „darf Kasten nicht schneiden“, und schon zeigt das Oszilloskop nur noch Messkurven, die diese Bedingung erfüllen. Die Bilder 2 und 3 verdeutlichen die Vorgehensweise im Beispielfall. Weil der Infiniiscan-Zonentrigger der 6000-X-Serie hardwarebasiert ist, kann er pro Sekunde bis zu 160.000 Messkurven durchsuchen. Ein softwarebasierter Zonentrigger kann dagegen pro Sekunde nur etwa 1000 Messkurven durchsuchen.

Hinweise zur Ursache des Glitches sammeln

Hat man einen Fehler freigestellt, gilt es, Hinweise auf seine Ursache zu sammeln und zu analysieren. Per Doppelcursor kann man auf dem Multitouchscreen die Pulsbreite des Glitches bestimmen. Bild 4 zeigt, dass er etwa 40 ns breit ist. Mit diesem Wissen kann man auf den Glitch auch auf andere Weise triggern. Eigentlich möchte man ja wissen, ob der Glitch mehr als nur einmal auftritt, und wenn ja, wie oft. Im Beispielfall eignet sich dazu ein Trigger auf die Pulsbreite. Man kann ihn auf Pulsbreiten „größer als“, „kleiner als“ oder „zwischen den Grenzen“ einstellen. Bild 5 zeigt eine Triggereinstellung auf „weniger als 50 ns Pulsbreite“.

Aber was verrät, wie oft der Glitch auftritt? Segmentierbarer Speicher ist ein Standardmerkmal der 6000-X-Serie. Er kann selektiv interessante Signalabschnitte erfassen und speichern, ohne für uninteressante Signalabschnitte, in denen nichts passiert, Speicherplatz zu opfern. Jedes Speichersegment hat einen Zeitstempel relativ zum ersten Triggerereignis; man kann anhand dieser Zeitstempel durch eine Liste aller Speichersegmente scrollen. Segmentierbarer Speicher ist eine ideale Lösung für den Fall, dass man einen sehr seltenen Glitch mit langen inaktiven Phasen dazwischen vermutet. Man setzt nun segmentierten Speicher und den Pulsbreitentrigger ein, um herauszubekommen, wie oft dieser Glitch auftritt.

Reise in die Vergangenheit

Bild 6 zeigt das Resultat der Erfassung von 50 Glitches. Aus der Liste rechts auf dem Bildschirm sind die Zeitstempel jedes Speichersegments ersichtlich. Die Liste zeigt, dass die Glitches periodisch auftreten, nämlich alle 42 ms, also mit einer Frequenz von 23,8 Hz. Möglicherweise ist der Glitch also Folge einer Einstreuung eines 23,8-Hz-Signals.

Auf einen Blick

Der Artikel schlägt eine grundlegende Methode zur Fehlersuche bei selten auftretenden Glitches, nicht-monotonen Flanken und instabilen Signalen vor. Er beschreibt, warum eine hohe Bildschirmaktualisierungsrate wichtig ist, wie der in Hardware implementierte Infiniiscan-Zonentrigger das Freistellen eines Signalfehlers beschleunigt, wie der Anwender dank segmentiertem Speicher mit Darstellung in Farbstufen mehr Einsicht in seine Signale erhält und wie ein Zähler, der Triggerereignisse addiert, bei der Fehlersuche hilft.

Weitere Einsichten gewinnt, wer die Speichersegmente in Farbstufen darstellen lässt. Die Funktion „Segmentanalyse“ kann alle Segmente übereinanderlegen und (wenn die Option „Farbstufenanalyse“ eingeschaltet ist) in Farbstufen darstellen. Die Farbabstufung liefert eine dreidimensionale quantitative Ansicht der Messkurven je nach der Häufigkeit des Vorkommens. Sie ist ideal, um abweichende Signale optisch zu erkennen (Bild 7).

Im Beispielfall hat man mittels segmentiertem Speicher bei 20 GSample/s innerhalb von 2 s ganze 50 Glitches erfasst. Ein herkömmliches Oszilloskop ohne segmentierten Speicher hätte für eine vergleichbare Aufzeichnung 40 GPunkte Speicher gebraucht (2 s · 20 GSample/s = 40 GPunkte).

Zehnstelliger Frequenz- und Ereigniszähler

Die Oszilloskope der Infiniivision-6000-X-Serie bieten eine weitere Möglichkeit zu bestimmen, wie oft ein bestimmter Glitch auftritt. Sie verfügen dazu über einen zehnstelligen Frequenz- und Ereigniszähler, der die Flanken und Triggerereignisse zählt. Bild 8 zeigt beispielsweise, wie der Zähler die Frequenz misst, mit der Triggerereignisse auftreten. Wie erwartet, zeigt der Zähler die Frequenz 23,8 Hz an.

Das bisher dargestellte Testobjekt und seine Fehler waren ziemlich einfach. Es handelte sich um ein Taktsignal mit einem selten, aber periodisch auftretenden Glitch. Das nächste Beispiel zeigt den gleichen Arbeitsablauf bei der Fehlersuche mit komplexeren Glitches in verschiedenen Größen.

Komplexeres Signal

Die Bilder 9 und 10 zeigen das fehlerhafte Signal über eine Minute, erfasst mit einer Bildschirmaktualisierungsrate von 450.000 beziehungsweise 1000 Messkurven pro Sekunde. In der Darstellung mit 450.000 Messkurven pro Sekunde sind (außer dem Jitter) die Glitches unmittelbar zu sehen. Die Darstellung mit 1000 Messkurven pro Sekunde zeigt zwar den Jitter, aber keine Glitches. Der Messung mit langsamer Bildschirmaktualisierungsrate sind die entscheidenden Glitches des Testobjekts also völlig entgangen.

Die Bilder 11 und 12 zeigen, wie man mit einem Infiniiscan-Zonentrigger das beobachtete Glitch-Signal schnell freistellen kann. Es zeigt sich, dass die Glitches verschiedene Amplituden aufweisen, einige überschreiten sogar die Logikschwelle von 50 % der nominalen Signalamplitude.

Wie im letzten Beispiel bietet sich nun segmentierten Speicher an, um mit hoher Abtastrate tausend Glitches zu erfassen. Damit lassen sich genauere Details ermitteln, da man nun ja weiß, wie selten und unregelmäßig sie auftreten. Man schaltet „unendliche Nachleuchtdauer“ ein und legt für eine schnelle Analyse alle tausend Speichersegmente übereinander. Bild 13 zeigt, dass die größten Glitches über der Logikschwelle liegen, man also möglicherweise ein Problem mit der Datenintegrität hat.

Nützliche Farbcodierung

Wie im ersten Beispiel gezeigt, liefern die Darstellungen mit Farbstufen und Histogrammen Statistikdaten über Signale und Glitches. In Bild 14 zeigt die Farbabstufung, dass die übelsten Glitches (hellgrün gefärbt) in weniger als 20 von 1000 erfassten Segmenten vorkamen, also in weniger als 2 % der Fälle. Das blaue Histogramm zeigt die Verteilung an und verrät damit, dass Glitches mit kritisch großen Amplituden sehr viel seltener auftraten als Glitches mit kleinen, weniger schädlichen Amplituden.

Man kann mit der scrollbaren Liste oder dem Navigationsmenü schnell durch die Segmente gehen und so die Kurvenform der schlimmsten Glitches herausbekommen. Die Bilder 15 bis 17 zeigen, dass die übelsten Glitches nicht nur hohe Amplituden aufweisen, sondern auch breiter sind als kleinere Glitches. Mit dem Cursor kann man die Pulsbreite einfach messen. Es zeigte sich, dass die übelsten Kandidaten etwa 15 ns breit waren (Bild 18).

Bild 20: Entlang der X-Achse sind 1000 Segmentzeitstempel aufgetragen, die Y-Achse zeigt die Zeitdifferenz zum nächsten Glitch. Manche Glitches folgen ihren Vorgängern relativ schnell, andere hingegen erst nach mehr als einer Sekunde Pause.

Bild 20: Entlang der X-Achse sind 1000 Segmentzeitstempel aufgetragen, die Y-Achse zeigt die Zeitdifferenz zum nächsten Glitch. Manche Glitches folgen ihren Vorgängern relativ schnell, andere hingegen erst nach mehr als einer Sekunde Pause.Agilent

Den Trigger präzisieren

Bild 19 zeigt eine Überlagerung von nur zehn Messkurven, und zwar der schlimmsten Glitches, die der Anwender mit der Kombination aus segmentiertem Speicher und einem Pulsbreitentrigger erfasst hatte. Alle Glitches überschreiten die Logikschwelle von 50 % der Nominalamplitude, könnten somit für das Problem mit der Datenintegrität verantwortlich sein.

Manchmal liefert eine weitere Analyse, etwa mit einer Tabellenkalkulation, neue Einsichten. Man kann die Zeitstempel der Speichersegmente problemlos auf einen USB-Speicherstick übertragen oder über ein lokales Netz. Bild 20 zeigt ein Diagramm der Zeitdifferenz von 1000 Segmentzeitstempeln. Die Y-Achse stellt die Zeit zwischen jeweils benachbarten Segmenten dar. Es ist erkennbar, dass manche Glitches ihren Vorgängern relativ schnell folgen, andere hingegen erst nach mehr als einer Sekunde Pause auftreten. Anders als im ersten Beispiel, in dem die Glitches periodisch auftraten, kommen die Glitches hier zufällig.

Bild 21: Selbe Darstellung wie Bild 20, aber beschränkt auf die zehn schlimmsten Glitches. Auch hier ist keine Regelmäßigkeit zu erkennen.

Bild 21: Selbe Darstellung wie Bild 20, aber beschränkt auf die zehn schlimmsten Glitches. Auch hier ist keine Regelmäßigkeit zu erkennen.Agilent

Bild 21 zeigt die gleiche Analyse für die zehn schlimmsten Glitches. Das Schaubild verrät, dass manche dieser schlimmsten Glitches binnen 5 s ihren Vorgängern folgen, wohingegen andere fast 25 s später kamen. Wiederum kann man daraus schließen, dass auch die schlimmsten Glitches zufällig auftreten und nicht etwa infolge der Einstreuung eines periodischen Signals.

Flotte Fehlersuche

Oszilloskope mit langsamer Bildschirmaktualisierungsrate verpassen möglicherweise wichtige Informationen. Mit einer schnellen Bildschirmaktualisierungsrate wie den 450.000 Messkurven pro Sekunde der neuen Infiniivision-6000-X-Serie ist dieses Risiko erheblich kleiner. Ausgefeilte Triggerfunktionen sind mächtige Werkzeuge, um fehlerhafte Signale freizustellen und der hardwarebasierte Infiniiscan-Zonentrigger bringt die Anwenderfreundlichkeit dieser Funktionen auf ein neues Niveau: „Wenn du es sehen kannst, kannst du auch darauf triggern.“

Hat man einen seltenen Glitch erst einmal isoliert, erwies sich bei beiden Beispielen segmentierbarer Speicher als wertvolles Werkzeug, um weitere Einsichten in fehlerhafte Signale zu gewinnen. Die Zeitstempel zeigen die Zeitbeziehung zwischen den Segmenten, die Navigationsfunktion ermöglicht ein schnelles und gezieltes Aufsuchen sowie weiteres Studium jedes Segments. Farbstufen und Histogramm auf segmentiertem Speicher liefern einen statistischen Überblick. In manchen Fällen ist segmentierter Speicher die einzige Methode, um viele Ereignisse zu erfassen, weil ein herkömmlicher kontinuierlicher Speicher bereits voll wäre, bevor man alle fraglichen Glitches erfasst hätte. Der zehnstellige Frequenz- und Ereigniszähler ist als alternativer Ansatz zur Fehlersuche ein großartiges Werkzeug, um die relative Häufigkeit von Signalfehlern herauszufinden.