Debug-Techniken Auf Fehlersuche in digitalen Systemen mit dem Oszilloskop 4000 X

Autor / Redakteur: Klaus Höing * / Dipl.-Ing. (FH) Hendrik Härter

Oszilloskope helfen im Designprozess einer Schaltung, die Signale zu überprüfen. In unserem Beitrag stellen wir Methoden vor, um einfach und zielsicher Signalanomalien zu finden und auf diese zu triggern.

Firmen zum Thema

In Touch mit dem Oszilloskop: Mit dem 4000 X von Agilent soll sich durch Berührung der Anomalie auf dem Display der Fehler eingrenzen lassen. Dabei zeigt man einfach auf die gewünschte Stelle in der Messkurve und auf dieses Ereignis wird getriggert.
In Touch mit dem Oszilloskop: Mit dem 4000 X von Agilent soll sich durch Berührung der Anomalie auf dem Display der Fehler eingrenzen lassen. Dabei zeigt man einfach auf die gewünschte Stelle in der Messkurve und auf dieses Ereignis wird getriggert.
(dataTec)

Beim Design einer Schaltung hat es der Ingenieur mit einer Vielzahl von Fehlerkombinationen zu tun. Dazu gehören selten auftretende Störimpulse, Fehler in seriellen Datenströmen beseitigen, zu lange Impuls-Anstiegs- oder -Abfallzeiten auffinden, Rauschquellen finden und selten auftretende Signalverzerrungen isolieren.

Um selten vorkommende Signalzustände aufzuspüren ist die Update-Rate eine wesentliche Spezifikation. Die Update-Rate gibt an, wie oft das zu messende Signal in einer Sekunde aufgenommen und am Bildschirm des Oszilloskops dargestellt wird. Je höher diese Rate ist, desto geringer ist die Totzeit in der das Oszilloskop „blind“ ist. Die Totzeit wird im Wesentlichen bestimmt durch die Signal-Prozess-Zeit, die zwischen den eintreffenden Triggerbedingungen verstreicht, bis eine erneute Kurvenform dargestellt werden kann. Und diese geringe Totzeit erhöht die Chance eine Signalanomalie auf dem Oszilloskop-Bildschirm zu entdecken.

Bildergalerie
Bildergalerie mit 13 Bildern

Die maximale Update-Rate des InfiniiVision 4000 X von Agilent beträgt 1 Mio Kurvenformen pro Sekunde (1 Mwfms/s) bei einer Abtastrate von 5 GS/s. Bei vielen Oszilloskopen ist die Update-Rate kleiner, wodurch sich die Beobachtungszeit für den Anwender erhöht. Ist er sich über diesen Zusammenhang nicht im Klaren, kann es vorkommen, dass entsprechende Signalfehler nicht erkannt werden und es dadurch zu Fehlfunktionen der Schaltung kommen kann. Geringe Update-Raten können dazu führen, dass das Display minuten-, sogar stundenlang beobachtet werden muss, bis man einem Störimpuls gewahr wird.

Nachdem der Störimpuls erkannt und aufgenommen wurde, interessiert seine isolierte Darstellung am Bildschirm und auch dessen Häufigkeit. Um auf einen derartigen Puls zu triggern gibt es zwei Möglichkeiten. Zum Einen die Triggerung über die neue InfiniiZone Triggerung, die im Verlauf des Textes beschrieben wird oder die Impulsbreiten-Triggerung. Dazu muss allerdings erst die Impulsbreite festgestellt werden. Wird das Oszilloskop in den „Persistence-Mode“ (sinngemäß die frühere „Nachleuchtdauer“) geschaltet, können die zuvor aufgenommenen Signale einbezogen werden und die Pulsbreite lässt sich durch die Curser bestimmen. Wird dann die Triggerung auf „positive Flanke“ und eine Pulsdauer von kleiner 30 ns eingestellt, kann dieser Störimpuls isoliert dargestellt werden.

Auffinden von Fehlern in seriellen Datenströmen

Mit dieser erweiterten Triggerbedingung sind Störimpulse sicher zu isolieren. Da sich die Triggerbedingungen auch auf die anderen Kanäle des Oszilloskops beziehen, kann man mit diesen freien Kanälen die Ursache des Störimpulses ergründen, da auch diese Signale im richtigen Zeitbezug zum Triggerereignis stehen.

Relativ langsame serielle Schnittstellen sind eine gebräuchliche Art für den Datenaustausch zwischen Systemen, Modulen und ICs. Und immer noch schleichen sich mehr Konflikte ein als man glaubt. In dem ausgeführten Beispiel sei es ein Parity-Fehler in der Übertragung einer RS232-Schnittstelle. Wie zuvor dargestellt ist die Update-Rate wichtig – in diesem Beispiel ist sie es auch, jedoch ist sie durch das Einschalten der seriellen Dekodierung und durch das Darstellen der digitalen Kanäle verringert. Dennoch ist sie ausreichend, den fehlerhaften und im Display rot dargestellten Paritäts-Fehler (unten rechts, 31hex) zu sehen, Bild 4. Das Oszilloskop der Agilent 4000 X-Serie ist so entwickelt, dass die Update-Rate in Abhängigkeit der Einstellparameter (Speichertiefe und Abtast-Rate) möglichst groß belassen wird.

Ohne die hohe Update-Rate und die harware-mäßige Dekodierung des seriellen Signals wäre wohl der Fehler nicht sichtbar geworden. Das Identifizieren ist der erste Schritt; nun folgt die Überlegung wie man darauf triggert. Wird die Triggerung am Oszilloskop auf serielle Datenerfassung gestellt, geht das Scope davon aus, dass nach einem bestimmten Protokoll dekodiert werden muss; es kann damit auf spezifische Frames oder Datenpakete getriggert werden. In diesem vorliegenden Fall wird der Trigger auf „Rx or Tx Parity-Error“ gesetzt. Um einen besseren Überblick über die transportierten Datenpakete zu bekommen, wird gleichzeitig der Listen-Modus gewählt.

Intelligentes Speichersystem speichert nur relevante Daten

Vergleichbar mit einem Logik- bzw. Protokoll-Analysator werden die auf dem Bus transportieren Daten-Pakete und Frames in chronologischer Reihenfolge gelistet. Von weiterem Interesse ist es nun, wie häufig dieser Fehler auftritt. Zeitweise ist auf seriellen Bussen entweder ein reger Datentransfer oder es sind Leerlaufzeiten zwischen den Frames anzutreffen. Durch die möglichen Leerlaufzeiten würde der Speicher des Oszilloskops mit nutzlosen Werten beschrieben, wenn zwischen den relevanten Signalpaketen eine entsprechend lange Leerlaufzeit liegt. Das intelligente Speichersystem „segmented Memory“ der InfiniiVision 4000 X-Serie unterdrückt diese Leerlaufzeiten und speichert, zusammen mit einem Zeitstempel, nur die relevanten Daten. Damit ist es dem Oszilloskop möglich sehr viele Datenframes aufzunehmen, auf die die Triggerbedingung der „Tx und Rx“ Fehlerbedingung zutrifft. Der Anwender kann dadurch das Timing kontrollieren, um mögliche Fehlerquellen auszumachen. In diesem Beispiel werden 25 derartige Fehler aufgenommen, was nach 11,3 s abgeschlossen ist

Ergänzendes zum Thema
Einfach auf die Anomalie zeigen

Einige der beschriebenen Triggerformen hätten sehr leicht mit der neuen Technik der InfiniiScan-Zone-Trigger des 4000 X von Agilent durchgeführt werden können. Das Bild 12 stellt ein Signal dar, das zuweilen eine Signalanomalie, eine sporadische Störung, im oberen Flankenabschnitt aufweist. Das Bild zeigt auch, wie auf diese Anomalie getriggert wird, um genau dieses Signal singulär darzustellen: es wird einfach in dem Bereich, der die Signalanomalie zeigt, ein Rechteck auf dem Touch Screen gezeichnet mit der Bedingung, dass ein Teil dieses Signals durch das Rechteck verläuft. In dem sich öffnenden Fenster kann die Triggerbedingung „must intersect“ gewählt werden. Das interessierende Signal ist singulär dargestellt, um weitere Untersuchungen daran durchzuführen.

Diese große Anzahl an Frames lässt sich mit dem segmentierten Speicher aufnehmen, um sie einzeln zu analysieren und die Fehlerursache ausfindig zu machen. Mit einem traditionellen Oszilloskop bräuchte man einen Speicher von 50 MSa. Nachdem jeder dieser Frames mit einem Zeitstempel versehen ist, wann er nach dem initialen Trigger aufgetreten ist, kann nacheinander die Zeitzuordung und die zugehörige Zustandsbestimmung durchgeführt werden. Der segmentierte Speicher in Verbindung mit der Signal-Dekodierung macht es für den Anwender besonders bequem eine Fehlersuche durchzuführen.

Zu geringe Anstiegs- und Abfallzeiten

Zuweilen gibt es Anstiegszeiten, die viel zu lang sind, verglichen mit der Mehrheit der aufgenommenen Flanken. Bild 7 zeigt eine derartige Situation. Im unteren Teil des Displays wird das schmale Segment dargestellt, das im oberen Teil durch das Rechteck aus der Signalfolge gekennzeichnet ist. Nun lässt sich wieder wie im ersten Beispiel auswählen, ob über die Vorgabe einer Anstiegszeit getriggert wird oder ob die Anstiegszeit über das setzen von Cursor geschieht.

Eine weitere Möglichkeit ist die der automatischen Messung, die auch gleich statistische Werte für die Anstiegszeit liefert wie z. B. die maximale, die minimale und die am häufigsten gemessene Anstiegszeit. Auch statistische Werte werden mitgeliefert wie z. B. die Standard-Abweichung und die Anzahl der Messungen, auf die sich diese statistischen Werte beziehen, Bild 7. Die statistische Funktion hilft nun festzulegen, welche Anstiegszeit als Triggerbedingung festgelegt werden muss. Untersucht werden sollen die Pulse mit sehr großer Anstiegszeit. Damit muss der Trigger auf „positive Flanke“ und einen Wert von > 120 ns gesetzt werden.

Wird mit diesen Bedingungen eine Messung durchgeführt, Bild 9, kann man erkennen, wie viele derartige Pulse mit einer zu großen Anstiegszeit aufgetreten sind. In diesem Beispiel sind es 15, wobei der 12. Fehler angezeigt wird. In der oberen Hälfte des Diaplays wird durch die kleinen weißen Dreiecke dargestellt, wo der Fehler auftritt und es sieht in diesem Fall danach aus, dass der Fehler äquidistant erscheint.

Das Rauschen aus dem Signal erfassen

Es gibt Signale, die von einem Rauschen überlagert sind. Interessant zu wissen, woher dieses Rauschen stammt. Ein einfacher Weg diese Frage zu beantworten ist, die FFT (Fast Fourier Transformation) anzuwenden. Die FFT transformiert das Zeitsignal in den Frequenzbereich und stellt die beteiligten Frequenz-Komponenten und ihre jeweilige Amplitude dar. Bild 10 zeigt das Signal im Zeitbereich und Bild 11 dasselbe Signal im Frequenzbereich.

In Bild 11 ist das Spektrum des Signals aus Bild 10 dargestellt. Die linke Hälfte des violett dargestellten Signals zeigt die Grundwelle mit den entsprechenden Harmonischen des Rechtecksignals. Die rechte Hälfte gibt Aufschluss über den höherfrequenten Anteil des Signals, der, ausgemessen mit den Cursor, in einem Radio-Frequenzbereich von 88 bis 106 MHz liegt. Offensichtlich strahlt ein Sender in die Schaltung ein und verursacht dieses Rauschen.

Einige der in diesem Beitrag beschriebenen Triggerformen hätten auch sehr leicht mit der neuen Technik der InfiniiScan Zone Trigger durchgeführt werden können. An einem Beispiel sei dieses verdeutlicht; Bild 12. Es stellt das Signal dar, das zuweilen eine Signalanomalie, eine sporadische Störung, im oberen Flankenabschnitt aufweist. Bild 12 zeigt auch, wie auf diese Anomalie getriggert wird, um genau dieses Signal singulär darzustellen: es wird einfach in dem Bereich, der die Signalanomalie zeigt ein Rechteck auf dem Touch Screen gezeichnet mit der Bedingung, dass ein Teil dieses Signals durch das Rechteck verläuft.

* Klaus Höing ist für die Öffentlichkeitsarbeit bei dataTec in Reutlingen zuständig.

(ID:38009010)