Die Nano-Watt-XLP-P-Contoller-Serie kann im Spannungsbereich von +2,5 bis +5,5 V bis zu einer maximalen Taktfrequenz von 32 MHz arbeiten.

Die Nano-Watt-XLP-P-Contoller-Serie kann im Spannungsbereich von +2,5 bis +5,5 V bis zu einer maximalen Taktfrequenz von 32 MHz arbeiten.RS Components

Ein besonderes Merkmal von CMOS ist, dass es signifikante Strommengen nur dann aufnimmt, wenn sich der Zustand eines Logikgatters ändert. Dies bedeutet, dass eine höhere Taktfrequenz zu einem entsprechend höheren durchschnittlichen Stromverbrauch für einen Mikrocontroller führt. Eine einzelne MCU leistet daher zwei verschiedene Beiträge zum Energiebudget: einen statischen und einen dynamischen.

Reduktion der statischen Spannung und Frequenz

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 beispielsweise Microchips Nano-Watt-XLP-P-Serie von PIC-Mikrocontrollern im Spannungsbereich von +2,5 bis +5,5 V bis zu einer maximalen Taktfrequenz von 32 MHz arbeiten. Wenn 16 MHz für eine Anwendung ausreichen, dann kann die Versorgungsspannung auf +1,8 V sinken, sofern die Peripheriegeräte ebenfalls mit dieser niedrigen Spannung auskommen. Dies führt zu einer Reduktion sowohl des spannungsabhängigen als auch des frequenzabhängigen Stromverbrauchs. Auch die EFM32-Gecko-Mikrocontroller-Familie von Energy Micro ist da ein Beispiel. Sie arbeitet in Spannungsbereichen von +1,8 bis + 3,8 V mit einer maximalen Taktfrequenz von 32 MHz.

Wenn keine speziellen Energiesparmodi verfügbar sind, sollte der Betreiber immer darauf abzielen, die niedrigst-mögliche Taktfrequenz zu wählen, mit der sich die Aufgabe in der vorgegebenen Zeit erledigen lässt. Bei einfachen Geräten wie einer TV-Fernbedienung wird daher oft die Uhrenquarzfrequenz von 32 kHz verwendet.

Dynamische Spannungsskalierung

Die Mikrocontroller EFM-32-Gecko arbeiten in Spannungsbereichen von +1,8 bis + 3,8 V mit einer maximalen Taktfrequenz von bis zu 32 MHz.

Die Mikrocontroller EFM-32-Gecko arbeiten in Spannungsbereichen von +1,8 bis + 3,8 V mit einer maximalen Taktfrequenz von bis zu 32 MHz.RS Components

In komplexeren Situationen sind solche festen oder statischen Umsetzungen jedoch möglicherweise nicht geeignet, weil die Verarbeitungslast variabel sein kann und der Hochgeschwindigkeitsbetrieb daher – für alle Fälle – beibehalten wird. In solchen Situationen bietet sich die DVS-Technik (Dynamic Voltage Scaling) an. Dabei analysiert eine eigene Software den aktuellen Prozessorbedarf variiert dann die Taktfrequenz sowie die Versorgungsspannung entsprechend. Das Berechnen von Einsparungen ist dabei jedoch komplex, weil verschiedene Faktoren, wie auch der Speichergebrauch, Berücksichtigung finden müssen.

Doze- und Sleep-Modus

Frühe Mikroprozessoren hatten keine speziellen Betriebsmodi, möglicherweise, weil ihre Verarbeitungsleistung so niedrig war, dass ein Einschlafen des Prozessors unwahrscheinlich erschien. Dies änderte sich jedoch mit der Einführung batteriebetriebener, tragbarer Digitalgeräte. Die Designanforderungen von Mobiltelefonen haben seitdem die Entwicklung von energieeffizienten MCUs und die Akku-Technologie vorangetrieben. Eine der ersten MCUs mit Idle-Modus war der Intel 80C51. Neue Geräte verwenden heute ganze Bündel von Energiesparmodi, die oft bestimmte Funktionen abschalten, wenn diese nicht benötigt werden. Die meisten Mikrocontroller finden heute in Echtzeit-Steuersituationen Verwendung. Auf kurze Aktivitätsspitzen folgen hier oft längere Perioden der Inaktivität. Die TV-Fernbedienung zeigt, dass der Prozessor vollständig ausgeschaltet sein kann, bis auf Tastendruck die Aktivierung erfolgt. Der durchschnittliche Stromverbrauch liegt daher oft kaum höher als die Entladungsrate der Batterie im Ruhezustand.

Auf einen Blick

Energiekosten stehen heutzutage weit oben auf der Tagesordnung und da die Verbreitung elektronischer Geräte weiter zunimmt, wissen Entwickler, dass der Stromverbrauch ein wichtiger Faktor in ihren Projekten sein wird. Die Nachfrage nach stromsparenden, batteriebetriebenen Geräten hat schon vor einigen Jahren zur Entwicklung energieeffizienter Chips geführt. Kombiniert man diese mit energiesparender Software tragen sie dazu bei, den Stromverbrauch von netzbetriebenen Geräten signifikant zu senken.

Echtzeitsysteme verlassen sich immer weniger auf einen einzelnen Zentralprozessor und häufiger auf einen zentralen, übergeordneten Controller, der teilweise verarbeitete Daten von intelligenten Sensoren erhält. Die MCU, die mit den Sensoren verbunden ist, wird wahrscheinlich in festen Zeitintervallen analoge Messungen einlesen, DSP-Operationen ausführen und die Ergebnisse dann an einen seriellen Bus übermitteln. In diesem Fall wird die Sensor-MCU zu jedem Messintervall von einem Timer aufgeweckt. Jetzt wird es interessant: Eignet sich ein einfacher 8-Bit- oder ein schneller 32-Bit-Mikrocontroller mit beispielsweise einem Cortex-M0-Kern bessert?

Auf den ersten Blick sollte die 8-Bit-MCU effizienter sein, weil sie kostengünstig ist und für den größten Teil der verfügbaren Verarbeitungszeit voll im Einsatz steht. Bei einer genaueren Untersuchung könnte es sich aber herausstellen, dass das 32-Bit-Gerät einen niedrigeren durchschnittlichen Stromverbrauch erzielt, weil es die Aufgabe schneller abwickelt und dann einschläft. Aber auch diese Methode will gut durchdacht eingesetzt sein, da es eine optimale Taktfrequenz gibt, 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 wie mit Einzyklus-32-Bit-Multiplikation. Aber es ist kein Grund zu verzweifeln, wenn ein altes Design auf 8051-Basis verbessert werden muss, ohne 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 etwa Einzyklus-Anweisungen bei bis zu 100 MIPS.

Wenn Sleep-Modi Einsatz finden, 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 eben erst aufgewacht sein, wenn schon die nächste Aufweckanweisung eingeht.

Microchips Nano-Watt-MCUs haben einen Doze-Modus, in dem die Taktfrequenz des Prozessors niedriger ist als die der Peripheriegeräte. Das ist für Situationen geeignet, in denen das Peripheriegerät mit voller Geschwindigkeit arbeiten muss, während der Prozessor auf einen Peripherie-Interrupt wartet.

Leistungsdichte

Die besten Geschichten schreibt das Leben: Im Jahr 1976 kam der Cray 1 auf den Markt. Dieser Rechner galt als Supercomputer aufgrund seiner Prozessorleistung von 160 MIPS bei 80 MHz Taktfrequenz. Prozessorleistung war jedoch nicht der einzige Bereich, in dem der Cray 1 alle Rekorde brach: er benötigte eine Stromversorgung von 115 kW und war in einem Gehäuse untergebracht, das etwa die Größe einer normalen Telefonzelle hatte. Um zu verhindern, dass das Gerät aufgrund der Hitze, das es entwickelte, zusammenschmolz, war eine leistungsfähige Kühlanlage auf Freon-Basis in die Struktur integriert.

Für einen Vergleich mit heutzutage verfügbarer Technik eignet sich der Parallax-Propeller-Mikrocontroller. Dieses Gerät hat zwar nur einen 32-Bit-Bus im Vergleich zu den 64 Bit des Cray-Computers, aber er leistet ebenfalls 160 MIPs bei einer Taktfrequenz von 80 MHz. Der bedeutende Unterschied (außer seinen Abmessungen) liegt jedoch in der Stromabnahme, mit der sich diese Leistung erzielen lässt. Der Propeller hat einen durchschnittlichen Stromverbrauch von nur einem Watt und viele neuere Geräte erzielen noch bessere Werte. Der 64-Bit-Dual-Core-Intel-Atom-basierte PC verbraucht so wenig Strom, dass die stromerkennende Steckdosenleiste, an die er angeschlossen ist, nicht einmal verzeichnet, dass der PC eingeschaltet ist.

Die Entwicklung von VLSI führte zwangsläufig zu Computern mit einem wesentlich besseren Verhältnis von Verarbeitungsleistung zu Stromabnahme. Frühere NMOS-Chiptechnologien wurden durch CMOS ersetzt, was noch niedrigere Anforderungen an die Stromversorgung versprach.

Energiesparende Stromversorgungen

Ist nun das Mikrocontrollersystem für niedrigen Stromverbrauch konzipiert, stellt sich die Frage nach der Stromversorgung. Das kann möglicherweise ein Linearregler der Serie 78xx sein, aber obwohl diese beliebt sind, sehen viele Entwickler sie mittlerweile als veraltet an. Es empfiehlt sich anstelle dessen einen LDO-Typ (Low Dropout) zu wählen, auch wenn dieser etwas teurer ist.

Ein 7805-Regler mit +5-V-Ausgang hat eine Dropout-Spannung von 2 V; er benötigt also mindestens eine Eingangsspannung von +7 V. Das heißt, dass bei der maximalen Stromstärke von 1 A mindestens 2 W als Wärme verschwendet werden und ein Kühlkörper fast unvermeidlich ist. Bei einem LDO-Gerät sinkt der Dropout auf vielleicht 300 mV. Hier lässt sich ein Netztrafo mit niedrigerer Spannung verwenden, was den Verbrauch weiter senkt. Für einen Schaltregler spricht die noch größere Effizienz. Allerdings muss der Nennwert der Stromversorgung den Spitzen- und nicht den Durchschnittswerten für den Stromverbrauch entsprechen.

Sinnvoll ist das Verwenden von Pull-Ups auf allen nicht verwendeten E/A-Eingängen. Rauschen auf einem potenzialfreien Eingang kann interne Schaltkreise schalten, und 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 gehen die Meinungen auseinander, so dass viele Entwickler bei externen Widerständen bleiben.