Mixed Signal

A/D-Wandler in Mikrocontroller-basierten Embedded-Systemen

Seite: 2/2

Anbieter zum Thema

Bei so vielen verfügbaren Eingangskanälen kann man sich leicht vorstellen, dass in einigen Systemen der Eingangsdynamikbereich eines oder mehrerer Eingänge nicht kompatibel zu einer einzigen Referenzspannung ist. Die „Precision32 MCUs“ bieten daher eine Verstärkerstufe am Eingang, die eine Verstärkung von 0,5x oder 1x als Teil des A/D-Wandlers bietet. Damit lässt sich das Eingangssignal so anpassen, dass es kompatibler zur VREF-Auswahl wird. Darüber hinaus bieten die 8051-basierten C8051F50x/F51x MCUs eine einstellbare Verstärkung, mit der Entwickler eine Verstärkung zwischen 0 und 1,016 wählen können. Dies hilft bei der Abschwächung des Eingangssignal-Dynamikbereichs, um diesen näher an den durch VREF definierten ADC-Endgrenzwert heranzubringen.

Wandlungszyklus des A/D-Wandlers

Das Taktsystem des A/D-Wandlers muss ebenfalls konfigurierbar sein, um die allgemeine Funktion von MCU-Anwendungen zu unterstützen. Der SAR-Wandler fällt in die Kategorie der Nyquistfrequenz-Wandler, bei denen das Nyquist-Kriterium erfüllt werden muss: Die Abtastung muss mit einer Abtastrate von mindestens der doppelten Eingangssignalbandbreite erfolgen.

Bild 1: Wandlungszyklus eines A/D-Wandlers
Bild 1: Wandlungszyklus eines A/D-Wandlers
(Bild: Silicon Labs)
Bei der Konfiguration des A/D-Wandlers müssen auch zwei Zeitvorgaben berücksichtigt werden, die sich auf den ADC-Wandlungszyklus und die anderen verfügbaren Taktquellen im MCU-System beziehen. Der Wandlungszyklus besteht aus zwei Teilen: einer Tracking- und einer Wandlungsperiode (Bild 1).

Die Trackingperiode ist der Teil des Wandlungszyklus, wenn der ADC-Eingangsschaltkreis mit dem Eingangssignal verbunden ist. Die Eingangsabtastung beginnt, wenn die Trackingperiode endet und der Eingangsschaltkreis von der Eingangsquelle getrennt wird. Dieser Moment wird durch ein digitales Steuersignal an den A/D-Wandler vorgegeben, dem so genannten „Convert-Start“ (CNVST). CNVST markiert das Ende der Trackingperiode und den Beginn der Wandlungsperiode.

Die Wandlungsperiode ist der Teil des Wandlungszyklus, bei dem der A/D-Wandler aufgefordert wird, den SAR-Algorithmus auszuführen. Der SAR-Wandler löst nacheinander je ein Bit aus dem MSB (Most Significant Bit), in der Regel den halben Wert, bis zum LSB (Least Significant Bit) auf. Jedes SAR-Entscheidungsergebnis wird an seine entsprechende Position im SAR-Register (SAR-REG) getaktet, was letztendlich das gesamte digitale Ergebnis hervorbringt. Ein n-Bit SAR-ADC benötigt n ADC-Taktzyklen, um die n-Bit Entscheidungen aufzulösen plus einige Overhead-Taktzyklen zur Synchronisierung des MCU-Systemtakts.

Die Zeit, die der A/D-Wandler aufwenden muss, um ein Eingangssignal zu verfolgen, steht in Bezug zur Eingangslast-Charakteristik des ADC, zu den Steuerungsfähigkeiten der Signalquelle und zur geforderten Messgenauigkeit. Das MCU-Datenblatt führt das ADC-Eingangsmodell auf und die Werte für Eingangskapazität, Widerstand und Leckstrom am ADC-Eingang. Für eine genaue Messung sollte genügend Trackingzeit zum Einpendeln des Eingangssignals auf besser als 0,5 LSB vorhanden sein. Ist die Trackingzeit nicht ausreichend, kann dies zu Messungenauigkeiten wie groben Signalfehlern, Übersprechen mit zuvor abgetasteten Eingangswerten und Verzerrungen führen.

Da die Wandlungsperiode meist in einem konfigurierbaren Zeitraum bezogen auf die SAR-ADC-Taktperiode stattfindet, z.B. bei jeder Bit-Entscheidung, kann die Trackingzeit als die Zeitspanne betrachtet werden, die zwischen CNVST-Anfragen auftritt und nicht für die SAR-Wandlungsperiode verwendet wird. Einfach gesagt: wenn der A/D-Wandler nicht wandelt, wird ein Tracking durchgeführt. Eine lange Zeitdauer zwischen Wandlungsanfragen führt zu übermäßigen Trackingzeiten. Die Mikrocontroller bieten daher die Möglichkeit, den Tracking-Schaltkreis zwischen Wandlungsanfragen zu deaktivieren. Damit verringert sich der Stromverbrauch.

Die Durchsatzrate bei der A/D-Wandlung ist die Frequenz, mit der Wandlungen angefordert werden. Sie wird in der Regel als fs bezeichnet. Die maximale Durchsatzrate wird durch Vorgaben wie die Mindest-Trackingzeit und die Mindest-Wandlungszeit bestimmt. Eine konstante Durchsatzrate wird erzielt, indem eine Reihe von Wandlungsstartanfragen mit gleichem Zeitabstand ausgegeben wird. Hier kommt es also auf ein konfigurierbares ADC-Taktsystem an, das zwei kritische Zeitaufgaben gleichzeitig verwalten kann.

Eine dieser Zeitaufgaben ist die Erzeugung des Takts, der während der Wandlungsperiode zur Ausführung des SAR-Algorithmus benötigt wird. Der SAR-Takt (SARCLK), der mit der Wandlungsperiode in Bezug steht, wird in der Regel vom MCU-Systemtakt abgeleitet. Die SARCLK-Konfigurierbarkeit muss MCU-Systemtakte unterstützen, die einen Frequenzbereich von weniger als 1 bis mehr 100 MHz abdecken. Aufgrund des internen Komparators im A/D-Wandlers ergibt sich ein Maximalwert, mit dem der SAR-Wandlungsalgorithmus getaktet werden kann.

Der Entwickler muss die SARCLK-Frequenz konfigurieren, um die Spezifikation der maximalen Taktrate nicht zu verletzen. Bei der anderen Zeitaufgabe handelt es sich um die Erzeugung der Abtastrate für die eigentliche Wandlung. Diese darf die maximale Durchsatzrate des A/D-Wandlers nicht verletzen, sofern eine ordnungsgemäß konfigurierte Wandlungsperiode vorgeben ist.

Apertur-Jitter und Apertur-Zeitverzögerung

Bild 2: Apertur-Jitter und -Verzögerung
Bild 2: Apertur-Jitter und -Verzögerung
(Bild: Silicon Labs)
Das Signal zum Wandlungsstart kann als Abtasttakt betrachtet werden, da es den Moment festlegt, wenn der Sample-und-Hold-Schaltkreis des A/D-Wandlers tatsächlich das Eingangssignal erfasst. Zwei bekannte Spezifikationen für Sample-und-Hold-Schaltungen sind bei der Konfiguration zeitbasierter ADC-Wandlungen zu berücksichtigen: Apertur-Jitter und Apertur-Verzögerung. Sie beeinflussen die Genauigkeit des abgetasteten Eingangs, vor allem wenn sich das Eingangssignal in Bezug auf die Apertur-Zeitverzögerungen schnell ändert (Bild 2).

Apertur-Jitter entsteht durch Ungenauigkeiten im Taktsystem (Takt-Jitter) und in anderen Schaltungen, die das Wandlungsstartsignal erzeugen. Apertur-Verzögerungen entstehen durch Schaltverzögerungen zwischen dem Wandlungsstart-Signal und dem Abtastschalter. Apertur-Jitter kann im Datenerfassungssystem zu Rauschen und Verzerrungen führen. Apertur-Verzögerungen werden intern über den MCU-Entwickler gehandhabt und sollten so gering wie möglich sein, um das Risiko von noch mehr Jitter aufgrund langer Verzögerungszeiten zu vermeiden. Apertur-Verzögerungen verursachen einen Verzögerungsfehler im Datenerfassungssystem. Eine zu lange Apertur-Verzögerung ist vergleichbar mit einem Wassertank, der überfließt, bevor das Signal „voller Tank“ ausgegeben wird.

Bei modernen Mikrocontrollern ist der Wandlungsstart über interne und externe Trigger möglich. Zu den internen Triggern zählen On-Demand-Anfragen vom Programmcode oder verschiedene Überlaufanzeigen der Timer-Peripherie. Externe Wandlungstrigger werden über die I/Os des Mikrocontrollers empfangen und direkt an den ADC-Abtastschaltkreis weitergegeben.

MCUs von Silicon Labs führen keine erneute Synchronisierung externer Wandlungsstartsignale vor der Abtastung durch, da dies zu Apertur-Jitter und somit zu Messfehlern führen würde.

Somit ist eine genaue Zeitbasis zur Erzeugung eines stabilen Wandlungsstart-Timings erforderlich. Mikrocontroller bieten eine Reihe integrierter Taktquellen oder es stehen externe Quellen zur Verfügung, von denen der Systemtakt gewählt wird. Der Entwickler muss eine Taktquelle mit ausreichender Genauigkeit wählen, damit die Anforderungen des Datenerfassungssystems erfüllt werden. Bei schnellen Eingangssignalen kann hier zum Beispiel ein sehr genauer Quarzoszillator zum Einsatz kommen. Gleichstromsignale oder sehr langsame Eingangssignale sind eher tolerant gegenüber Taktfehlern, benötigen aber dennoch genügend Einschwingzeit zwischen den Wandlungen.

Zwei sehr nützliche Funktionen sind der Burst-Modus und der Post-Track-Modus. Der Burst-Modus erzeugt ein kumuliertes oder gemitteltes Ergebnis aus einer programmierbaren Anzahl aufeinanderfolgender ADC-Wandlungen, die über eine einzige Wandlungsanfrage ausgelöst werden.

Der Post-Track-Modus ändert den Ablauf der Wandlungsstartanfrage und entlastet den Mikrocontroller vom Trackingzeitmanagement. Der Wandlungsstart markiert normalerweise das Ende der Trackingperiode und den Beginn der Wandlungsperiode. Im Post-Track-Modus löst die Wandlungsstartanfrage jedoch den Start einer Trackingperiode aus. Diese wird über einen programmierbaren Zeitraum weitergeführt, der auf der vorkonfigurierten SAR-ADC-Taktperiode basiert, und erst dann beginnt die Wandlung.

Burst-Mode- und Post-Track-Funktionen

Bild 3: ADC Burst Mode, 4x Datenerfassung innerhalb eines Systemtakts
Bild 3: ADC Burst Mode, 4x Datenerfassung innerhalb eines Systemtakts
(Bild: Silicon Labs)
Burst-Modus und Post-Tracking lassen sich konfigurieren, um ein kumuliertes A/D-Wandlungsergebnis mit einem einzigen MCU-Taktzyklus für Mikrocontroller mit niedriger Betriebsfrequenz zu erhalten. Damit lassen sich Systemzyklen einsparen und der Stromverbrauch sinkt (Bild 3).

Die 8- und 32 Bit Mixed-Signal-Mikrocontroller von Silicon Labs bieten einen ADC-Ausgangsdaten-Fensterkomparator. Die ADC-Ausgangsdaten werden mit programmierbaren Ober- und Untergrenzen verglichen und können automatisch Programmunterbrechungen erzeugen – für ADC-Ausgangsdaten, die innerhalb, außerhalb, über oder unter den festgelegten Grenzwerten liegen. Mit dem Datenfensterkomparator lässt sich der A/D-Wandler so konfigurieren, dass er eigenständig überprüft, wann „der Tank voll ist“. Der Komparator gibt dann einen Interrupt an das MCU-Programm aus. Erhält die MCU diesen Interrupt, kann sie ihren Betrieb unterbrechen und zu einer Aufgabe wechseln, die das „Tanksystem“ genauer steuert.

* Douglas Piasecki arbeitet als Design Manager Microcontroller Products bei Silicon Laboratories in Austin, USA.

(ID:38114780)