Blick ins Kerngehäuse Der Cortex-M3 im Vergleich zu ARM 7 – Stromverbrauch

Gegenüber seinem Vorgänger ARM7 ist der Cortex-M3 mit weit ausgeklügelteren Stromsparmechanismen ausgestattet. Bei der Nutzung dieser Modi ist abzuwägen, wie lange es dauert und wie viel Strom es kostet, den Controller aus dem Schlaf aufzuwecken. Dazu ist es gut, genau Bescheid zu wissen, wie welcher Modus funktioniert.

Nicht nur die gestiegenen Energiekosten, sondern auch das wachsende Verantwortungsbewusstsein für unsere Umwelt lenken den Blick auf den Stromverbrauch von Geräten, die ans Stromnetz angeschlossen sind. Bei dicht gepackten Geräten ist die Erwärmung ein Problemfaktor, der mit reduzierter Stromaufnahme verbessert wird. Bei kabellosen Geräten spielt die Batterie- oder Akkulebensdauer eine wichtigere Rolle. Da das Kernstück von modernen Geräten meistens ein Mikrocontroller ist, hat er den größten Einfluss auf den Stromverbrauch.

Der STM32 ist ein besonders stromsparender Controller. Seine Eigenschaften und Mechanismen zum Einsparen von Strom werden hier näher betrachtet. In den Marketing- und Datenblättern der Mikrocontroller stehen Tabellen mit Stromverbrauchszahlen der Power-Down-Modi in mA oder ìA und Vergleiche von mW/MHz im Betriebszustand. Was der Mikrocontroller im Gerät dann bei einer Applikation wirklich verbraucht, ist daraus leider nicht so einfach abzulesen. Das hängt im Wesentlichen auch davon ab, was die Applikation tun muss und was „schlafen gelegt“ werden kann und beim „Aufwecken“ dann wieder restauriert werden muss.

Stromverbrauch – Ruhestrom und Performance als Eckdaten

Ein Gerät wie z.B. eine Fernbedienung oder ein Messgerät für den Energieverbrauch eines Raumheizkörpers hat zu bestimmten Zeitpunkten (durch Tastendruck oder Timer bestimmt) eine von der Vergangenheit weitgehend unabhängige Funktion durchzuführen. Eine Fernbedienung sendet das Infrarotsignal, das der Taste entspricht. Ein Verbrauchsmessgerät misst die aktuellen Temperaturwerte und summiert dies zum Verbrauchswert. Danach kann das Gerät sich wieder in einen Stromsparmodus schalten bis zum nächsten Event und kann fast alles Vergangene vergessen. Ein Gerät mit komplexerer Kommunikation wie WLAN, Bluetooth oder ZigBee muss sich nach dem Aufwecken aus dem Ruhezustand an mehr erinnern, denn der Zustand ist stark von der vorausgegangenen Kommunikation abhängig, wie z.B. die Anmeldung an ein Hostsystem.

Außerdem muss natürlich der Kommunikationskanal wachsam sein, um ja keine Message zu verpassen. Ein Gerät mit sehr vielen Echtzeit-Einflüssen hat eher kurze Stromsparpausen bei fast kontinuierlich laufender Applikation. Gegebenenfalls kann noch Strom gespart werden, indem die Frequenz heruntergefahren wird, falls das der Performance- Bedarf erlaubt. Der Gesamtstromverbrauch ist das Integral des Stromverbrauchs über die Zeit. Damit gehen nicht nur die Stromverbräuche der verschiedenen Modi direkt ein, sondern auch die Ausführungszeiten besonders der Modi, die viel Strom verbrauchen, und damit indirekt auch wieder die Performance.

Bei höherer Performance kann die Zeit des höheren Verbrauchs kleiner gehalten werden. Insbesondere bei Applikationen, die sehr lange Zeit im Ruhemodus verharren, wie Fernbedienung und Verbrauchsmessgerät, spielen neben den Peaks der hohen Performance diese Ruheströme die größere Rolle. Es ist also beides gefragt: Schnelligkeit und Low-Power. Die Performance des STM32 wurde bereits in einem vorausgehenden Artikel beschrieben, auf den Stromverbrauch geht dieser Artikel ein.