Enbedded-Systeme So erhalten Embedded-Entwickler maximale MCU-Leistung bei minimalem Energieverbrauch

Autor / Redakteur: William Marshall * / Margit Kuther

Leistungsfähiger sollen Embedded-Systeme werden bei geringerem Stromverbrauch. RS Components gibt Tipps, wie Entwickler mit passenden MCUs und Energiespartechniken diesen Spagat schaffen.

Anbieter zum Thema

Energy Micro EFM32 Gecko: Die Mikrocontroller-Familie arbeitet in Spannungsbereichen von +1,8 V bis + 3,8 V mit einer maximalen Taktfrequenz von 32 MHz
Energy Micro EFM32 Gecko: Die Mikrocontroller-Familie arbeitet in Spannungsbereichen von +1,8 V bis + 3,8 V mit einer maximalen Taktfrequenz von 32 MHz

Für Entwickler wird der Stromverbrauch ein immer wichtigerer Faktor in ihren Projekten. Ein besonderes Merkmal von CMOS ist, dass signifikante Strommengen nur dann aufgenommen werden, wenn sich der Zustand eines Logikgeräts ändert.

Eine höhere Taktfrequenz führt folglich zu einem höheren durchschnittlichen Stromverbrauch. Ein einzelner MCU hat daher zwei verschiedene Beiträge zum Energiebudget zu leisten: einen statischen und einen dynamischen.

Reduktion der statischen Spannung

Ein Gerät verbraucht Energie durch Leckstrom, selbst wenn die Taktfrequenz ausgeschaltet ist. In neueren Geräten sind einzelne Schaltkreiselemente dichter zusammengepackt, was den Isolierungswiderstand reduziert und zu einem Absinken der Versorgungsspannung führt. Logik, die bei +1,8 V arbeiten kann, ist heute relativ weit verbreitet, und es gibt sogar Logik, die mit Versorgungsspannungen von nur +0,9 V auskommt.

So kann die Microchip nanoWatt XLP P-Serie von PIC-Microcontrollern im Spannungsbereich von +2,5 bis +5,5 V bis zu einer maximalen Taktfrequenz von 32 MHz arbeiten. Genügen 16 MHz, lässt sich die die Versorgungsspannung auf +1,8 V absenken, sofern auch die Peripheriegeräte die niedrige Spannung meistern. Dies führt zu einer Reduktion sowohl des spannungsabhängigen als auch des frequenzabhängigen Stromverbrauchs. Auch die EFM32-Gecko-Microcontroller-Familie von Energy Micro stellt hier ein gutes Beispiel dar. Sie arbeiten in Spannungsbereichen von +1,8 V bis + 3,8 V mit einer maximalen Taktfrequenz von bis zu 32 MHz.

Reduktion der statischen Frequenz

Fehlen Energiesparmodi, sollten Entwickler immer die niedrigstmögliche Taktfrequenz wählen, mit der die gewünschte Aufgabe in der vorgegebenen Zeit erledigt werden kann. Bei einem einfachen Gerät wie einer TV-Fernbedienung wird daher oft die „Uhrenquarz“-Frequenz von 32 kHz verwendet.

Dynamische Spannungsskalierung

Dynamische Spannungsskalierung

In komplexeren Projekten mit variabler Verarbeitungslast sind solche festen oder statischen Lösungen jedoch oft ungeeignet, weil der Hochgeschwindigkeitsbetrieb für alle Fälle beibehalten wird. Hier hilft eine als DVS (Dynamic Voltage Scaling) bekannte Technik weiter, bei der Software den Prozessorbedarf analysiert und dann die Taktfrequenz sowie die Versorgungsspannung entsprechend variiert.

Die Berechnung von Einsparungen ist dabei jedoch komplex, weil viele verschiedene Faktoren, etwa der Speichergebrauch, zu berücksichtigen sind.

Doze-Modus und Sleep-Modus

Die Designanforderungen von Mobiltelefonen haben die Entwicklung von energieeffizienten MCUs und die Akku-Technologie vorangetrieben. Einer der ersten MCUs mit einem Idle-Modus war der Intel 80C51. Aktuelle Geräte verwenden ganze Menüs von Energiesparmodi, die in den meisten Fällen bestimmte Funktionen abschalten, wenn sie nicht benötigt werden.

Die meisten Microcontroller werden heute in Echtzeit-Steuersituationen verwendet, bei denen auf kurze Aktivitätsspitzen oft längere Perioden der Inaktivität folgen. Die TV-Fernbedienung ist ein extremer Fall dafür, bei der der Prozessor vollständig abgeschaltet werden kann, bis eine Taste gedrückt wird.

Der durchschnittliche Stromverbrauch liegt daher oft kaum höher als die Entladungsrate der Batterie im Ruhezustand. Echtzeitsysteme verlassen sich heutzutage immer weniger auf einen einzelnen Zentralprozessor und häufiger auf einen zentralen, übergeordneten Controller, dem teilweise verarbeitete Daten von „intelligenten“ Sensoren zugeführt werden.

Die MCU, die mit Sensoren verbunden ist, wird etwa in festen Zeitintervallen analoge Messungen einlesen, bestimmte DSP-Operationen ausführen und die Ergebnisse dann an einen seriellen Bus übermitteln. In diesem Fall wird der Sensor-MCU zu jedem Messungsintervall von einem Timer aufgeweckt. Für Entwickler stellt sich nun die Frage: sollen sie einen einfachen 8-Bit- oder einen schnellen 32-Bit-Microcontroller, etwa mit einem Cortex-M0-Kern auswählen?

32-Bit-MCU contra 8-Bit-MCU

32-Bit-MCU contra 8-Bit-MCU

Auf den ersten Blick scheint die 8-Bit-MCU effizienter zu sein, weil sie kostengünstig ist und für den größten Teil der verfügbaren Verarbeitungszeit voll im Einsatz steht. Doch das 32-Bit-Gerät könnte einen niedrigeren durchschnittlichen Stromverbrauch erzielen, weil es die Aufgabe schneller abwickelt und dann „einschläft“. Aber auch diese Methode muss gut durchdacht eingesetzt werden.

Denn es wird eine optimale Taktfrequenz geben, die nicht unbedingt die höchste verfügbare Frequenz zu sein braucht. Mit anderen Worten: die schnellstmögliche Abwicklung der Aufgabe mit der höchsten Taktfrequenz führt nicht immer zum niedrigsten durchschnittlichen Stromverbrauch. Glücklicherweise wird ein Großteil der verbesserten Verarbeitungsgeschwindigkeit im Vergleich zum alten 8-Bit-Gerät auf einen leistungsfähigeren Anweisungssatz zurückzuführen sein, z. B. mit Einzyklus-32-Bit-Multiplikation.

Aber Entwickler sollten nicht verzweifeln, wenn sie ein altes Design auf 8051-Basis verbessern müssen, ohne dabei die Softwarekompatibilität zu opfern: am 8051-Kern wurden dramatische Verbesserungen in Bezug auf Ausführungseffizienz (weniger Taktzyklen pro Anweisung) und Gesamt-Taktfrequenz vorgenommen. Die Produktreihe von Silicon Laboratories bietet z. B. Einzyklus-Anweisungen bei bis zu 100 MIPs.

Bedeutung der Aufwachzeit

Werden Sleep-Modi verwendet, ist die Aufwachzeit ein wichtiger Faktor. Oszillatoren können Millisekunden benötigen, um einen stabilen Ausgang zu generieren, und dies stellt verschwendete Zeit und unnötigen Stromverbrauch dar. Bei kurzen Lastzyklen wird die MCU daher gerade aufgewacht sein, wenn schon die nächste Aufweckanweisung eingeht.

Die Microchip nanoWatt-MCUs bieten einen „Doze“-Modus, in dem die Taktfrequenz des Prozessors niedriger ist als die der Peripheriegeräte. Dies ist für Situationen geeignet, in denen das Peripheriegerät mit voller Geschwindigkeit arbeiten muss, während der Prozessor auf einen Peripherie-Interrupt wartet.

Energiesparende Stromversorgungen

Energiesparende Stromversorgungen

Ist das Microcontrollersystem nun für niedrigen Stromverbrauch konzipiert, stellt sich die Frage: wie steht es mit der Stromversorgung selbst? Alte Hasen entscheiden sich möglicherweise für einen Linearregler der Serie 78xx. Obwohl diese weiterhin beliebt sind, werden sie mittlerweile als veraltet angesehen.

Es empfiehlt sich stattdessen einen neueren LDO-Typ (Low Dropout) zu wählen, auch wenn dieser etwas teurer ist. Ein 7805-Regler mit +5 Volt Ausgang hat eine Dropout-Spannung von 2 Volt, d. h. der Regler benötigt mindestens eine Eingangsspannung von +7 Volt. Bei der maximalen Stromstärke von 1 A werden folglich mindestens 2 Watt als Wärme verschwendet, so dass ein Kühlkörper fast unvermeidlich ist. Bei einem LDO-Gerät wird der Dropout auf beispielsweise 300 mV abgesenkt. In diesem Fall kann ein Netztrafo mit niedrigerer Spannung verwendet werden, was den Verbrauch weiter senkt.

Verwendung von Schaltreglern

Wer einen Schaltregler für noch größere Effizienz verwendet, sollte bedenken, dass der Nennwert der Stromversorgung den Spitzen- und nicht den Durchschnittswerten für den Stromverbrauch entsprechen muss. Verwenden Sie schließlich Pull-Ups auf allen nicht verwendeten E/A-Eingängen. Rauschen auf einem potenzialfreien Eingang kann interne Schaltkreise schalten.

Selbst wenn die resultierenden Signale blockiert werden, so dass keine unerwünschten Operationen erfolgen, tragen sie dennoch zum dynamischen Gesamtstrom bei. Einige Geräte verwenden interne „schwache Pull-Ups“, aber in Bezug auf deren Effizienz scheinen die Meinungen geteilt zu sein, so dass viele Entwickler bei externen Widerständen bleiben.

* * Dr. William Marshall ... ist Product Management-Content Editor bei RS Components in der britischen Niederlassung Corby

Artikelfiles und Artikellinks

(ID:30852680)