Kosteneffizientes Debugging von Digitalschaltungen

A/D-Wandler schnell und einfach prüfen

Mit einer Kombination aus einem Logikanalysator und einem Oszilloskop läßt sich ein A/D-Wandler schnell und einfach auf differenzielle Nichlinearität prüfen. In Verbindung mit PC-Standardsoftware erhält man eine preisgünstige und vielseitige Analysemöglichkeit.

Der vorliegende Beitrag behandelt die Datenintegrität bei der Analog-Digital-Wandlung sowie die Werkzeuge, die zu deren Charakterisierung benötigt werden. Die Arbeit geht speziell auf Fehler durch differenzielle Nichtlinearitäten ein, die „fehlende“ Digitalwerte zur Folge haben können. Mit den beschriebenen Messkonzepten können jedoch auch andere typische Fehler von A/D-Wandlern gefunden werden, etwa integrale Nichtlinearität, Offset- und Verstärkungsfehler.

Testsignal
Die Charakterisierung von Analog-Digital-Wandlern (ADC) erfolgt häufig mit Hilfe eines Sägezahnsignals. Der Spannungsbereich des Sägezahns ist so groß wie der Eingangsspannungsbereich des ADC (oder der Schaltung, an deren Ende der ADC sitzt). Wir benutzen in unserem Beispiel einen 8-Bit-ADC mit einem Eingangsspannungsbereich von 0 bis 5 V.
Ein systematischer Fehler (Quantisierungsfehler) entsteht dadurch, dass eine kontinuierliche, analoge Eingangsspannung auf eine endliche Zahl von Ausgangscodes abgebildet wird. In unserem Fall steht jeder der 256 möglichen Codes am digitalen Ausgang für einen Spannungsbereich von 19,5 mV am analogen Eingang.
In unserer Messung suchen wir nach fehlenden digitalen Ausgangswerten. Das hier angewandte Messverfahren stellt sicher, dass der ADC hinreichend Zeit zur Ausgabe des korrekten Werts für den gegebenen analogen Eingangswert hat. Hierzu wird die Anstiegsgeschwindigkeit der Eingangsspannung so gewählt, dass der ADC jeden Schritt vier Mal umsetzen kann. Der Logikanalysator muss somit am Digitalausgang 1.024 Zustände (4 x 256) erfassen. Wir möchten, dass die Eingangsspannung nach jeweils vier Taktzyklen etwa um 19,5 mV steigt. Der Takt beträgt 2 kHz, 4 Samples repräsentieren also 2 ms (500 µs x 4 Samples). Ein Durchgang über den gesamten Eingangsspannungsbereich von 5 V dauert somit 512 ms, was einer Frequenz des Sägezahns von 1,95 Hz entspricht.
Eine weitere Überlegung hinsichtlich des Mess-Systems bezieht sich auf das Rauschen auf der Eingangsspannung. Wenn das Eingangssignal beispielsweise 50 mV Rauschen enthält, sind selbst bei einem korrekt arbeitenden ADC fehlende Ausgangswerte zu erwarten. Bild 1 zeigt eine Messung des Testsignals mit einem Oszilloskop (Agilent 54645A). Das Testsignal wird von einem Funktionsgenerator (Agilent 33120A) geliefert. Eine genauere Untersuchung der Signalform in der Oszilloskop-Betriebsart „unendliche Nachleuchtdauer“ zeigt etwa 10 mV Rauschen. Dieser Rauschpegel sollte kein Problem darstellen. Wenn das Rauschen allerdings nennenswert ist und fehlende ADC-Codes zur Folge haben könnte, sollte man das Testsignal mehrfach anlegen und durchmessen. Wenn der ADC fehlerfrei arbeitet und es sich um „echtes“ (d. h. zufälliges) Rauschen handelt, sollte man die fehlenden Codes gelegentlich finden.

Erfassung des digitalen ADC-Ausgangssignals
Logikanalysatoren haben zwei grundsätzliche Betriebsarten zum Erfassen von Daten: eine asynchrone (Timing-Analyse) und eine synchrone (Zustandsanalyse).
Die asynchrone Betriebsart ähnelt einem Oszilloskop. Die X-Achse repräsentiert die Zeit, die Y-Achse die Spannung. Dennoch unterscheidet sich ein Logikanalysator grundlegend von einem Oszilloskop: Erstens kann er wesentlich mehr Kanäle überwachen als ein Oszilloskop. Oszilloskope haben gewöhnlich zwei oder vier Kanäle – Logikanalysatoren haben 16 bis mehrere hundert Eingangskanäle. Zweitens stellen Oszilloskope die Spannung des Eingangskanals sehr genau dar – nämlich als analoge Signalform. Der Logikanalysator erfasst nur logische Werte, liefert also nur die Information, ob die momentane Eingangsspannung über oder unter einem bestimmten Schwellenwert liegt.
In der synchronen Betriebsart erfasst der Logikanalysator bei jeder Flanke eines externen Taktsignals den momentanen Eingangswert. In unserem Beispiel wird der Logikanalysator durch den Sampling-Takt des ADC getaktet. Der Vorteil dieser Methode ist, dass Daten nur dann erfasst werden, wenn der externe Takt angibt, dass die Daten gültig sind. Wie bei allen synchronen Systemen müssen die Eingangsdaten im Bereich der Taktflanke eine zeitlang stabil sein, damit sie der Logikanalysator korrekt aufzeichnen kann. Die Mindestzeit, in der die Daten stabil bleiben müssen, wird als „Setup-/Hold“-Fenster des Logikanalysators bezeichnet.
In unserem Beispiel werden bei der positiven Flanke des Sampling-Taktes die Daten des vorigen analogen Eingangssignals erfasst. Datenblätter von ADCs enthalten gewöhnlich eine Spezifikation für die Setup/Hold-Zeit der Daten relativ zum Sampling-Takt. Für eine korrekte Messung muss der ADC die Daten stabil halten, bis der Logikanalysator sie erfasst hat, oder anders ausgedrückt: die Setup/Hold-Zeit des ADC muss länger sein als die des Logikanalysators.
Bild 2 zeigt das ADC-Ausgangssignal auf dem Bildschirm des Logikanalysators. Das primäre (obere) Fenster zeigt, wie der Logikanalysator beim ersten Wert 00 am ADC-Ausgang getriggert wird. Der Ausgang des ADC zählt vom Wert 00 an hoch. Die Absolutzeit steht in der Spalte ganz rechts. Der Bereich zwischen den Marken „X“ und „O“ zeigt die vier Samples, die beim ADC-Ausgangswert „2“ erfasst wurden.
Bei der Suche nach fehlenden Digitalwerten sind die Triggerfähigkeiten eines Logikanalysators äußerst hilfreich. Der Logikanalysator wird so konfiguriert, dass er auf einen bestimmten Digitalwert, beispielsweise hexadezimal 43, triggert. Wenn der Logikanalysator niemals triggert, kann man sicher sein, dass der betreffende Wert am Ausgang nicht auftritt. Unter Verwendung eines kontinuierlichen, sägezahnförmigen Eingangssignals lässt sich auf diese Weise feststellen, ob bestimmte digitale Ausgangswerte nicht vorkommen. Das gilt auch, wenn das Rauschen des Eingangssignals größer ist als die Schrittweite des ADC (wie in Bild 2 dargestellt).
In der synchronen Betriebsart bieten Logikanalysatoren die Möglichkeit, die Triggerung durch einen Ereigniszähler zu qualifizieren. Ein solcher Ereigniszähler gibt an, dass der Logikanalysator getriggert werden soll, wenn ein bestimmter Wert zum n-ten Mal anliegt. Wenn wir in unserem Beispiel den Verdacht haben, dass ein Digitalwert in einem bestimmten Bereich fehlt, sollte der Logikanalysator so konfiguriert werden, dass er auf den vorigen oder nächsten Wert triggert, sofern dieser Wert mehr als viermal auftritt, vielleicht sechs- oder achtmal. Falls der Logikanalysator dann tatsächlich triggert, deutet dies darauf hin, dass ein bestimmter Digitalwert zwar nicht fehlt, aber zu selten auftritt.

Analyse der erfassten Daten
Bei Bedarf lassen sich die vom Logikanalysator erfassten Daten mit einer Software wie Microsoft Excel nachbearbeiten. Der Logikanalysator Agilent LogicWave unterstützt den Datenexport in einem gängigen Format (mit Tabulatoren als Trennzeichen), das direkt von Excel gelesen werden kann (Bild 2).
Nach dem Einlesen in Excel können die Daten mit einer idealen Sägezahnspannung verglichen werden. Bild 3 zeigt einen Teil einer Tabelle, in der eine ideale Sägezahnspannung den Ausgangswerten des ADC gegenübergestellt wird. Zu beachten ist, dass – bedingt durch differenzielle Nichtlinearität – ein bestimmter ADC-Code fehlt. Mit zusätzlicher PC-Software (Agilent BenchLink) lässt sich auch die Signalform des Oszilloskops speichern und darstellen. Damit können mehrere Ansichten der gleichen Sägezahnspannung dargestellt und verglichen werden: die Idealversion, die vom Oszilloskop gemessenen Spannung und das vom Logikanalysator erfasste ADC-Ausgangssignal. Auf diese Weise lässt sich die ADC-Wandlung umfassend analysieren.
Autoren: Steve Warntjes und Eberhard Zierer von Agilent Technologies

Agilent Technologies
Tel. (0049-7031) 464-1955
Fax (0049-7031) 464-3379
ESonline 01000

Bildtexte:
Bild 1: Messung des Testsignals mit einem Oszilloskop Agilent 54645A. Das Testsignal wird von einem Funktionsgenerator Agilent 33120A geliefert.
Bild 2: Der Logikanalysator Agilent LogicWave unterstützt den Datenexport in einem gängigen Format, das direkt von Excel gelesen werden kann.
Bild 3: Teil einer Tabelle, in der eine ideale Sägezahnspannung den Ausgangswerten des ADC gegenübergestellt wird.
Bild 4: Beim LogicWave wurde bewusst auf Visualisierungs- und Darstellungs-Einheiten verzichtet. Man nutzt stattdessen den ohnehin überall vorhandenen Desktop-PC oder Laptop.

Kasten:
Querverweis
Eine gute Darstellung der Details der Analog-Digital-Wandlung findet sich in dem Applikationsbericht SLAA013 von Texas Instruments („Understanding Data Converters“), der im Internet unter der Adresse www.ti.com/sc/docs/psheets/abstract/apps/slaa013.htm
eingesehen werden kann.

michaela_marchesani@agilent.com