MCUs, ADCs und DACs Mikrocontroller mit integrierter analoger Signalaufbereitung und Verstärkung

Autor / Redakteur: Peter Forstner* / Holger Heller

Die Welt ist analog. Bei digitaler Signalverarbeitung mit einem Mikrocontroller sind daher analoge Signale zuerst in digitale Signale umzuwandeln. Nach der digitalen Signalverarbeitung wird das digitale Ergebnis häufig in Form eines analogen Spannungswerts benötigt. Aus diesem Grund sind eine Reihe von Mikrocontrollern mit einem A/D-Wandler (ADC) ausgerüstet, einige bieten zusätzlich sogar noch D/A-Wandler (DAC). Ist der Controller zudem noch programmierbar, lassen sich eine Vielzahl von Applikationen damit abdecken.

Firmen zum Thema

( Archiv: Vogel Business Media )

Bei den ADCs ist eine breite Auswahl in Abhängigkeit von der Applikation gegeben. Die MSP430-Mikrocontroller-Familie von Texas Instruments bietet folgende Peripherie, die sich zur Wandlung analoger in digitale Signale anbietet:

  • 10- oder 12-Bit-ADCs mit sukzessiver Approximation (SAR),
  • 16-Bit-Sigma-Delta-ADCs,
  • Komparator, der über einen Timer mittels Slope-Verfahren eine A/D-Wandlung durchführt.

Bei allen Wandlern ist es meist notwendig, das Eingangssignal, z.B. von einem Sensor, an den Spannungsbereich des ADCs anzupassen. Häufig ist auch eine Impedanzwandlung des Eingangssignals hilfreich.

Bildergalerie

Jeder ADC benötigt eine bestimmte Zeit, um ein Analogsignal zu digitalisieren. Der ADC12 des MSP430, ein 12-Bit-SAR-Wandler, benötigt 13 Taktzyklen für die A/D-Wandlung. Bei Verwendung des ADC12-internen Taktgenerator mit einer Taktfrequenz von 5 MHz ergibt sich eine Wandlungszeit von 2,6 µs. Damit diese Wandlung zu einem exakten Ergebnis führt, ist die analoge Eingangsspannung während dieser Wandlungszeit konstant zu halten. Darum befindet sich vor einem ADC meist eine Sample & Hold-Schaltung. Vor der Wandlung verbindet der Schalttransistor den Eingang mit dem Sample-Kondensator, dieser wird anschließend auf den Wert der zu messenden externen Spannung aufgeladen. Die Sampling-Zeit ist abhängig von drei Faktoren (Bild 1):

  • Impedanz der externen Spannungsquelle RSource,
  • Impedanz des Schalttransistors im eingeschalteten Zustand RSwitch,
  • Kapazität des Sample-Kondensators CSample.

Die Eingangsimpedanz des ADC ist beim MSP430 vernachlässigbar, da der Wert um Größenordnungen über den Widerstandwerten der Quelle und des Schalttransistors liegt. Der Kondensator ist so lange aufzuladen, bis die Spannung am Kondensator sich um weniger als ½ LSB von dem zu messenden Spannungswert unterscheidet. Der ungünstigste Fall liegt bei einer maximalen Spannungsdifferenz zwischen Eingangsspannung und Spannung des Sample-Kondensators vor, z.B. wenn die Eingangsspannung maximal ist, während der Sample-Kondensator völlig entladen ist. Es gilt:

τ = CSample · (RSource + RSwitch); tSampleMin = τ · ln(2n+1) = τ · ln(2 · Resolution); mit n = ADC-Auflösung in Bit.

Als Beispielwerte für den ADC12 des MSP430 gelten: CSample = 40 pF und RSwitch = 2 kΩ.

Als Beispielwerte für eine Signalquelle mit 500 Ω Ausgangsimpedanz gelten: RSource = 500 Ω; tSampleMin = 40 pF · 2,5 kΩ · ln (212+1)= 100 ns · 9 = 900 ns.

Für einen 12-Bit-ADC sollte eine Sampling-Zeit von 10τ angesetzt werden, damit der Fehler sicher kleiner als ±0,5 LSB ist.

Aufgrund des Ultra-Low-Power-Designs wird beim ADC12 der MSP430-Familie eine interne Referenzspannungsquelle, die für den Sample-Kondensator notwendig ist, mit Beginn der Sample-Zeit eingeschaltet. Um dem Einschwingverhalten dieser Referenzspannungsquelle Rechnung zu tragen, verlängert sich die Sampling-Zeit um 800 ns. Daher zeigt die Formel für die Sample-Zeit im Datenblatt des MSP430 folgende Formel:

tSampleMin = τ · ln(2n+1) + 800 ns.

Analoge Signalaufbereitung

Analoge Signalaufbereitung mit Operationsverstärkern kann bei verschiedensten Problemstellungen das Messsignal an den ADC-Eingang anpassen:

  • Impedanzanpassung:Die Werte für CSample und RSwitch sind vom MSP430 vorgegeben und können vom Entwickler nicht mehr beeinflusst werden. Der Entwickler hat aber über die Impedanz der Spannungsquelle RSource Einfluss auf die Sampling-Zeit. Schaltet man hier einen OPV als Impedanzwandler zwischen die Spannungsquelle (z.B. Sensor) und den Sample & Hold-Eingang, so wird die Impedanz der Quelle RSource als auch die Sample-Zeit reduziert.

Amplitudenanpassung und Offsetverschiebung: Häufig sind auch die Amplitude und der Gleichspannungspegel der Spannungsquelle über einen vorgeschalteten OPV an den Spannungsbereich des ADC-Eingangs anzupassen.

  • Strom-Spannungs-Konvertierung:ADCs messen Spannungen. Ist jedoch ein Strom zu messen, so ist ein OPV auch als Strom-Spannungswandler einsetzbar. Dies ermöglicht dem ADC auch das Messen von Strömen.
  • Anpassung von differenziellen Signalen:Verschiedene Sensoren werden in Brückenschaltung verwendet. Hier ist es notwendig die Spannungsdifferenz einer Brücke für den Eingang des ADC aufzubereiten.
  • Minimierung von Störsignalen durch Frequenzfilterung: Wird ein OPV zur Signalanpassung vor den ADC-Eingang geschaltet, kann hier zusätzlich zu den genannten Funktionen ein Tiefpass, Hochpass oder Bandpass implementiert werden. Damit ist es möglich, Störsignale bereits vor der A/D-Wandlung zu reduzieren.

MCUs mit integriertem OPV

Die Ultra-Low-Power MCUs MSP430FG437, MSP430FG438 und MSP430FG439 von TI bieten für die Signalaufbereitung drei integrierte OPVs. Damit steht analoge Signalaufbereitung ohne externe Bauteile zur Verfügung, was ein kompakteres Design und eine reduzierte Fehlerhäufigkeit gewährleistet.

Für unterschiedliche Applikationen muss es möglich sein, einen OPV mit verschiedens-ten Beschaltungen versehen zu können. Um alle Forderungen zu erfüllen, ist jeder der drei integrierten OPVs mit flexiblen, analogen Eingangsmultiplexern bestückt. Weiterhin stehen eine Reihe integrierter, per Software wählbarer Rückkoppelwiderstände zur Verstärkungseinstellung zur Verfügung. Interne Signale, wie die Ausgänge der beiden integrierten 12-Bit-DACs oder die Ausgänge der anderen beiden Verstärker können per Software mit den Eingängen des OPVs verbunden werden. Der Ausgang jedes OPVs lässt sich per Programmierung an den Eingang des ADC12-Sample & Hold anschließen. Auf Wunsch kann aber auch jeder der beiden Eingänge und der Ausgang des OPVs individuell über Pins nach außen geführt werden. Somit ist es möglich, über externe Zusatzbeschaltungen, wie Widerstände und Kondensatoren, einen Tiefpass, Hochpass, Bandpass usw. zu implementieren. Das Blockschaltbild eines OPVs ist in Bild 2 dargestellt.

Externe Bausteine überflüssig

Durch die verschiedenen Möglichkeiten der softwareprogrammierbaren Verbindungen und Rückkopplungen ergibt sich eine Reihe möglicher Beschaltungen, ohne dass dazu externe Bauteile notwendig sind. Eine Auswahl zeigt Bild 3. Eine einfach zu realisierende Anwendung eines internen OPV ist die Impedanzwandlung (Bild 3A). Per Software lässt sich der Ausgang mit dem Minus-Eingang des OPV verbinden. Das zu messende Eingangssignal liegt am Pin P6.0/A0/OA0I0 an und verbindet diesen per Software mit dem Plus-Eingang des Verstärkers. Den Ausgang programmiert man gleichzeitig an den Eingang des ADC12-Sample & Hold. Ohne externe Bauteile lässt sich damit eine deutlich verkürzte Sampling-Zeit erzielen. Bei einer Ausgangsspannung von 0,2 V ≤ VO/P(OAx) ≤ AVCC - 0,2 V beträgt die Ausgangsimpedanz des OPV 0,4 ≤, was erheblich nieder-ohmiger ist als bei den meisten Sensoren.

Durch eine leichte Änderung der Programmierung lassen sich in den Rückkopplungszweig zwei Widerstände, ein Widerstand zwischen Ausgang und Minus-Eingang und ein Widerstand zwischen dem Minus-Eingang und VSS (0 V) schalten (Bild 3B). Das Signal RBOTTOM (Bild 2) ist hierzu über den Multiplexer OAFCx und den Schalter OAFBRx (Bild 2) und VSS zu programmieren. Dies bewirkt neben einer Impedanzwandlung gleichzeitig eine Spannungsverstärkung des Eingangssignals. Das integrierte Widerstandsnetzwerk ermöglicht die Programmierung eines Spannungsverstärkungsfaktors zwischen 1 und 16.

Verbindet man einen Anschluss des zweiten Widerstands per Programmierung statt mit VSS mit dem Pin P6.2/A2/OA0I1, so lässt sich mit einer externen Spannung der Offset des Verstärkers einstellen (Bild 3C).

Verbindet man den Pin P6.2/A2/OA0I1 nun mit dem Ausgang des MSP430-internen DAC12, so kann der Offset per Software programmiert werden.

OPV für präzise Verstärkung

Im letzten Beispiel werden alle drei internen OPVs zu einem Instrumentenverstärker kombiniert (Bild 3D). Dieser weist einen hochohmigen, differenziellen Eingang mit einem niederohmigen, Single-ended-Ausgang auf. Er findet Verwendung zur präzisen Verstärkung von differenziellen Signalen bei gleichzeitiger starker Gleichtaktunterdrückung. Die Spannungsverstärkung wird durch Auswahl geeigneter Rückkoppelwiderstände eingestellt. Im gezeigten Beispiel ist die Spannungsverstärkung 15, welche sich jedoch durch Software beliebig einstellen lässt. Typische Anwendungen für Instrumentenverstärker sind die Messung differenzieller Spannungen, Signalaufbereitung bei Brückenschaltungen, Messungen mit Dehnungsmessstreifen und die Verstärkung kleinster Spannungen.

Da jeder der drei Anschlüsse eines integrierten OPVs sich auch über einen Pin nach außen schalten lässt, sind der Beschaltung nahezu keine Grenzen gesetzt. Dabei ist es durchaus möglich, die nach außen gelegten Pins gleichzeitig auch intern im MSP430 zu verwenden. So kann der Ausgang des Verstärkers zum einen mit dem Eingang des ADC verbunden werden, während man ihn gleichzeitig für externe Beschaltung mit einem Pin verbindet.

Ein Beispiel hierzu findet sich in (Bild 4). Die Fotodiode liefert einen Strom in Abhängigkeit vom eingestrahlten Licht. Die externe Rückkopplung in Form einer parallel geschalteten RC-Kombination stellt zum einen den Pegel der Ausgangsspannung ein und wirkt gleichzeitig als Tiefpass. Durch die interne Verwendung des DAC als programmierbare Referenzspannung am Plus-Eingang des OPV ist es möglich, den Offset über Software einzustellen. Das Ausgangssignal des Operationsverstärkers kann extern weiterverwendet werden. Es ist aber auch möglich den Ausgang MSP430-intern direkt mit dem Sample & Hold-Eingang des ADC zu verbinden.

MCU mit OPV

In einen Mikrocontroller eingebaute Operationsverstärker ermöglichen die analoge Signalaufbereitung ohne externe Bauteile zu implementieren. Dies spart zum einen Platz auf der Platine und weniger Bauteile reduzieren gleichzeitig die Fehlerhäufigkeit des Gesamtsystems. Um weitestgehend ohne externe Bauteile, wie Widerstände auszukommen ist es notwendig, dass diese ebenfalls im Mikrocontroller integriert sind. Durch die Möglichkeit interne Signalpfade extrem flexibel zu programmieren ist es mit dem MSP430FG43x möglich eine große Anzahl von Applikationen abzudecken.

*Peter Forstner ist Member Group Technical Staff für MSP430 Applications Central Europe bei Texas Instruments in Freising.

(ID:214982)