Energiefreundliches Mikrocontroller-Design

20 Jahre Batterielebensdauer mit einer einzigen Batteriezelle?

Seite: 3/4

Anbieter zum Thema

Bild 2: Ein energiefreundlicher MCU-Core spart Energie in verschiedenen Bereichen eines kompletten Wake/Operate/Return-to-Sleep-Zyklus‘. Die blaue Fläche stellt die eingesparte Energie eines leistungsfähigen 32-Bit-Cores dar, der in weniger Zyklen als bei einem 8-Bit-Core weniger Strom im aktiven und im Sleep-Modus verbraucht. (Archiv: Vogel Business Media)

Eine Implementierung eins ARM-Cores, die niedrigste Sleep-Ströme im nA-Bereich erzielt, ist nur ein Schritt hin zu einer Niedrigenergie-Strategie. Mit der Rechenleistung eines 32-Bit-Cores ergeben sich neue Möglichkeiten, zu jeder Zeit die Energieaufnahme zu verwalten. Die Fläche unterhalb der MCU-Versorgungsstromkurve stellt über der Zeit die aus der Batterie entnommene Ladung dar (Bild 2).

Stromaufnahme während der Entwicklung überprüfen

Diese Information und der Stromverbrauch in bestimmten Situationen sind für den Entwickler von Bedeutung, wenn er die Batterielebenddauer maximieren will. Im Entwicklungskit des EFM32-Mikrocontrollers wird diese Messung explizit ausgeführt. Dieser Advanced Energy Monitor stellt einen wesentlichen Bestandteil des Kits dar (Bild 3). Das Tool misst die kontinuierliche Stromaufnahme des MCU-Cores; ein A/D-Wandler tastet die Spannung über einen Widerstand ab, und die Software des Kits integriert die Werte zu einer genauen Messung des Energieverbrauchs über der Zeit.

Bild 3: Die Energieverbrauchsüberwachung verfolgt die gesamte Ladung, die eine MCU aus der Batterie entnimmt – und zwar über den gesamten Betriebszyklus seines Embedded-Codes (Archiv: Vogel Business Media)

Ein 32-Bit-Core verbringt weniger Zeit im aktiven Zustand, um die gleiche Aufgabe zu erledigen als bei einer weniger leistungsfähigen MCU. Zusätzlich muss die bei der Berechnung benötigte Energie so niedrig wie möglich sein. Chipentwickler mit dem Schwerpunkt „Low Power“ können zahlreiche Designverfeinerungen anwenden, um ihre Ziele zu erreichen.

Dazu zählen Techniken zum Optimieren der Takt-Gating-Strukturen für die gesamte synchrone Logik des Bausteins, sowie das Organisieren des Bussystems und Speichers (SRAM und Flash), um bei einer beliebigen Transaktion das Bit-Toggling zu minimieren. Werden sämtliche Low-Power-Design-Methodologien angewendet, kann ein ARM-Cortex-M3-Core bei der Code-Abarbeitung aus dem Flash nur 180 µA/MHz verbrauchen.

Verweildauer im Aktivmodus reduzieren

Bei sorgfältiger Anwendung lassen sich die gleichen Techniken auch bei niedrigen Taktraten anwenden. Der M3-Core nutzt den Thumb2-Befehlssatz, der ebenfalls dazu beiträgt, die Aktivdauer zu reduzieren – und zwar nachdem die MCU in Betrieb gesetzt wurde und Applikationscode ausführt. Mit Merkmalen wie Dual Instruction Fetches kompakter 16-Bit-Befehle zeigt sich die Effizienz des Thumb2-Befehlssatzes.

Minimiert man das Strom-Zeiten-µs-Produkt bieten sich dem Entwickler noch weitere Möglichkeiten. So lässt sich nicht nur die Zeit minimieren, die der Core zur Verarbeitung des Applikationscodes benötigt, sondern auch die Anlaufzeit zwischen dem Wake-up-Stimulus (zeit- oder ereignisgesteuert) und der Bereitschaft der CPU, ihre eigentliche Arbeit aufzunehmen. Die Start-up-Zeit lässt sich z.B. durch Taktsignale für den Core minimieren.

(ID:349338)