Die Top-Themen der Elektronikbranche – 2x wöchentlich kostenfrei in Ihrem Postfach.
Sie haben sich bereits unter der angegebenen E-Mail Adresse registriert.
Bei der Registrierung ist ein Fehler aufgetreten.
Sie müssen die AGBs bestätigen.
Registrierung erfolgreich.

Bild: Pixabay

Debugging mal anders Mit dem Oszi auf Fehlersuche

13.11.2017

Wer einen integrierten A/D-Wandler in einem Mikrocontroller debuggen möchte, denkt im ersten Moment wahrscheinlich nicht an ein Oszilloskop. Dennoch kann dieses Gerät sehr hilfreich sein, um sich von der korrekten Funktionsweise des Wandlers zu überzeugen. Wie das konkret funktioniert, lässt sich anhand des Mikrocontrollers F28027 von Texas Instruments gut demonstrieren.

Sponsored Content

In Regelungssystemen, wie sie beispielsweise in Stromversorgungen oder Motoren eingesetzt werden, ist ein präzises Timing des A/D-Wandlers (ADC) entscheidend. Theoretisch ist es ganz einfach: Man muss den ADC nur mithilfe des Datenblatts gemäß der Systemanforderungen konfigurieren. Allerdings werden die in Mikrocontrollern integrierten Peripheriefunktionen immer komplexer. Entsprechend sorgfältig müssen Entwickler die zugehörigen Datenblätter auslesen, schließlich kann eine falsche Interpretation der dort vorgefundenen Informationen gravierende Folgen haben.

Charge-Bucket-Filter gegen Spannungsabfall

Der Eingang eines ADC wird in der Regel über einen Operationsverstärker oder einen Widerstandsteiler angesteuert. Ein vereinfachtes Modell des ADC-Eingangs besteht aus dem Schalterwiderstand (RON), einem Abtast- und Haltekondensator (CH) und einer parasitären Eingangskapazität (CP). Ist der Schalter (SW) während der Abtastperiode leitend, so fließt durch den ADCIN-Pin ein Strom, der CH auf das Niveau der Eingangsspannung auflädt. Aufgrund der strombegrenzenden Ausgangsimpedanz der Signalquelle führt dies zu einem Abfall der am ADCIN-Pin liegenden Spannung.

Unter Technikern hat es sich eingebürgert, noch einen Charge-Bucket-Filter (R1, C1) hinzuzufügen, dessen Kondensator als Ladungsreservoir für CH fungiert. Der Filter trägt dazu bei, den Spannungseinbruch am ADCIN-Pin während der Abtastperiode auf ein vernünftiges Maß zu begrenzen (typischerweise 5 Prozent der Referenzspannung). Seine Cut-off-Frequenz liegt weit oberhalb der Abtastfrequenz, und er soll nicht als Anti-Alias-Filter dienen.

Der normalerweise unerwünschte Spannungsabfall während der AD-Wandlung kann sich aber auch als gewinnbringend erweisen. Ein Beispiel dafür ist das Referenzdesign für einen bidirektionalen Gleichspannungswandler, in dem ein C2000-Mikrocontroller für den Spannungsregelkreis zum Einsatz kommt. Diese Anwendung erfordert ein präzise geregeltes Timing unter Einbeziehung der A/D-Wandlung. Der in den Mikrocontroller integrierte ADC ermöglicht ein automatisches sequenzielles Abtasten mehrerer Kanäle (für die in der Abbildung gezeigte Konfiguration drei Stück), wobei die einzelnen Kanäle unterschiedliche Abtast- beziehungsweise Haltezeiten und Prioritäten haben können. Dies macht eine komplexe Konfiguration mehrerer Register erforderlich. In der gezeigten ADC-Konfiguration läuft die Taktquelle für den ADC mit 25 MHz, was 40 ns pro Zyklus entspricht. Die Abtast- und Haltezeit (tADC_SH) ist auf 12 Zyklen (das heißt 480 ns) eingestellt, während die Umwandlungszeit (tADC_CONV) konstant 13 Zyklen (das heißt 520 ns) beträgt. Die komplette Umwandlung dauert also 1 µs pro Kanal, und jeder Kanal wird alle 3 µs abgetastet. In diesem Referenzdesign treibt der Operationsverstärker TLV2272-Q1 die Eingänge ADCINA1 und ADCINA3 an, während der Eingang ADCINB7 durch einen Widerstandsteiler angesteuert wird. Zur Verifizierung der Konfiguration wird C1 aus allen drei Kanälen entfernt, da die erste Version des Referenzdesigns keinen Bucket-Filter für ADCINA1 und ADCINA3 vorsieht.

Die Signalverläufe an den drei Kanälen des bidirektionalen Referenzdesigns wurden mit einem Oszilloskop des Typs Tektronix TDS5054B und einem kostengünstigen, passiven x10-Tastkopf vom Typ Tektronix P5050 (typischerweise 10 MΩ und 11,1 pF) gemessen. Dabei wurde das Oszilloskop im hochauflösenden Modus betrieben, alle Eingänge AC-gekoppelt und die Bandbreite auf 200 MHz begrenzt. Anhand der Signalspitzen der in der entsprechenden Abbildung gezeigten Signalverläufe lassen sich die tADC_SH- und tADC_CONV-Perioden eines jeden Kanals klar erkennen. Selbst das Ende der AD-Umwandlung ist sichtbar, wenn die Abtast- und Halte-Schaltung mit dem nächsten analogen Kanal verbunden wird. Die positive Auslenkung der Signalspitzen deutet darauf hin, dass die Signalspannung des vorherigen Kanals höher war und sich CH in die Schaltung hinein entlädt. Die absolute Höhe und die Form der Spitzen sind nicht relevant, da der Tastkopf die Gesamtkapazität am ADCIN-Pin maßgeblich beeinflusst. Um einen präzisen Spannungswert zu erhalten, müsste man stattdessen einen aktiven Tastkopf mit minimaler Eingangskapazität verwenden.

Fehlersuche leicht gemacht

Beim Nachbau des Referenzdesigns im Labor zeigte sich binnen fünf Minuten ein kurioser Fehler: Unerwarteterweise erfolgt alle 10 Zyklen eine Umwandlung! Den Errata zum F28027 lässt sich entnehmen, dass die erste ADC-Probe zu Beginn jeder Serie verfälscht sein könnte. Eine mögliche Abhilfe besteht darin, die Serie um eine zusätzliche Umwandlung zu ergänzen und das erste Ergebnis zu verwerfen. Alternativ kann das Timing des ADC verändert werden, indem der Overlap-Modus deaktiviert und die ADC-Taktfrequenz auf maximal 30 MHz abgesenkt wird.

Zusammenfassend lässt sich sagen, dass die hier beschriebene Technik eine kostengünstige Möglichkeit darstellt, um das Design zuverlässiger, leistungsfähiger und robuster Applikationen zu verbessern. Der zugehörige Code steht als Anhang des englischsprachigen Artikels „Debugging an integrated ADC in a microcontroller using an oscilloscope“ auf der Webseite von Texas Instruments zum Download bereit.

Bildergalerie

  • Der ADC-Eingang des F28027 lässt sich (a) durch einen Operationsverstärker oder (b) durch einen Widerstandsteiler ansteuern.

    Bild: Texas Instruments

  • Das Timing der AD-Umwandlung im Referenzdesign für einen bidirektionalen Gleichspannungswandler, bei dem drei Kanäle (ADCINA1, ADCINA3 und ADCINB7) sequenziell abgetastet werden.

    Bild: Texas Instruments

  • Die Signalverläufe an den Kanälen 1 (ADCINA3), 2 (ADCINA1) und 3 (ADCINA7) des bidirektionalen Referenzdesigns wurden mit einem Oszilloskop des Typs Tektronix TDS5054B und einem Tastkopf vom Typ Tektronix P5050 gemessen.

    Bild: Texas Instruments

  • Beim Praxistest des bidirektionalen Referenzdesigns erfolgte überraschenderweise alle 10 Zyklen eine Umwandlung.

    Bild: Texas Instruments

Firmen zu diesem Artikel
Verwandte Artikel