Anbieter zum Thema
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
Artikelfiles und Artikellinks
(ID:30852680)