ARMs Cortex-M4 auch im Ultra-Low-Power-Bereich Laut ULPBench: Derzeit energieeffizientester Mikrocontroller vorgestellt

Die Ergebnisse der Energieverbrauchs-Messungen mittels des EEMBC-Benchmarks ULPBench.
Die Ergebnisse der Energieverbrauchs-Messungen mittels des EEMBC-Benchmarks ULPBench.

Der Halbleiterhersteller STMicroelectronics hat mit dem STM32L4-Mikrocontroller den höchsten Wert beim ULPBench erzielt und schlägt sogar die FRAM-basierten MSP430 von Texas Instruments. Wie ist das möglich?

Normalerweise arbeiten Mikrocontroller für Ultra-Low-Power-Anwendungen mit 8-, 16- oder kleinen 32-bit-Cores wie ARMs Cortex-M0/M0+. STMicroelectronics hat dem STM32L4 einen ARM Cortex-M4-Core spendiert, der bis zu für diese Anwendungen extrem hohen 80 MHz getaktet wird - üblich sind eher 32 MHz.

Mit Energiespartechniken wie dynamischer Spannungs-Skalierung zur Anpassung der Leistungsaufnahme an die jeweils abgerufene Rechenleistung, eine intelligente Architektur mit FlexPowerControl sowie sieben Power-Management-Modi mit Sub-Mode-Optionen (dabei handelt es sich um die Betriebsarten Stop, Standby und Shutdown mit einer bis auf 30 nA abgesenkten Stromaufnahme) und dem sogenannten Batch-Acquisition-Mode (BAM), der im Low-Power-Modus einen effizienten Datenaustausch mit Kommunikations-Peripherie ermöglicht, hat ST den Controller im aktiven Modus auf eine Leistungsaufnahme von 100 µA/MHz heruntergebracht, ein für einen Cortex-M4-Chip bemerkenswerten Wert. Da der M4 natürlich deutlich schneller rechnet als alle bisher mit dem ULPBench getesteten Controller und somit schneller wieder in den Sleep-Modus überführt werden kann, ist das Integral der momentanen Leistungsaufnahme x Laufzeit, was ja die Energiemenge bestimmt, extrem niedrig. Mit 123,5 Punkten beim ULPBench, der mit dem ARM-Compiler V5.04. und bei einer Taktfrequenz von 24 MHz erreicht wurde, wird die gesamte Konkurrenz düpiert, bislang markierte der FRAM-Controller von TI mit MSP430-Core und knapp 120 Punkten die Spitze. Klar ist, der Cache, den ST ART Accelerator nennt und der die Zero-Wait-State-Verarbeitung aus dem Flash-Speicher heraus erlaubt, ist ebenso hilfreich beim Energiesparen, da die Zugriffe auf den Flash-Speicher reduziert werden. Mit 3,38 Coremark/Mhz erreicht der ST-Controller eine Rechenleistung von über 80 Coremark, ein MSP430 liegt bei 0,65 Coremark/MHz und muss daher bei 8 MHz (Taktfrequenz, die bei ULPBench verwendet wurde) und absolut 5,2 Coremark kalkulatorisch ohne Berücksichtigung von Latenzzeiten bei Speicherzugriffen etc. 16x länger im aktiven Modus bleiben als der ST32L4, um die gleiche Aufgabe abzuarbeiten.

Dual-Bank-Flash-Speicher von bis zu 1 MB unterstützt auch anspruchsvollere Anwendungen und bietet Read-While-Write-Fähigkeit. Zusätzlich sind 128 KB SRAM-Speicher vorhanden. Zu den digitalen Peripheriefunktionen gehört eine USB OTG Full Speed-Funktion mit eigener Stromversorgung. Kunden können die USB-Kommunikation somit auch dann aufrechterhalten, wenn die Versorgungsspannung des Systems auf 1,8 V abgesenkt ist. Zusätzlich ist eine als DFSDM (Digital Filter for Sigma-Delta Modulators) bezeichnete Peripheriefunktion zum Anschluss von externen Sigma-Delta-Modulatoren oder PDM-Mikrofonen (Pulsdichtemodulation) vorhanden. Zu den analogen Peripheriefunktionen gehören drei 12-Bit-A/D-Wandler mit bis zu 5 MSPS Abtastraten. Diese können aber auch mit niedrigen Abtastratenbetrieben werden, um die Stromaufnahme auf den zweistelligen Mikroampere-Bereich zu drücken, oder eben mit maximaler Geschwindigkeit, um eine rasche Rückkehr in den Ultra-Low-Power-Modus zu ermöglichen. Mit Hardware-Oversampling kommen die A/D-Wandler auf eine Auflösung bis zu 16 Bit. Eingebaut ist ferner ein Spannungsreferenz-Puffer, der eine Referenz für die A/D- und D/A-Wandler sowie über den URef+-Pin auch für externe Bauelemente zur Verfügung stellt. Hinzu kommen zwei 12-Bit-D/A-Wandler mit Sample-and-Hold-Funktion. Diese können auch in den tiefen Stromspar-Betriebsarten des Mikrocontrollers aktiv bleiben, wenn die Gesamt-Stromaufnahme auf wenige hundert Nanoampere reduziert ist. Als weitere analoge Peripheriefunktionen sind zwei Ultra-Low-Power-Komparatoren verfügbar, die nicht mehr als 300 nA aufnehmen, sowie zwei Operationsverstärker mit externem oder internem Feedback-Routing und PGA-Fähigkeit (Programmable Gain Amplifier).

Die intelligente Architektur des STM32L4 ermöglicht gleichzeitige Transfers zwischen dem Core, den DMA-Controllern, den Speichern und den Peripheriefunktionen. Ein weiterer Aspekt der intelligenten Architektur ist die FlexPowerControl-Eigenschaft. Sie kommt dem energiesparenden Design entgegen, indem sie die I/O-Pegel hält, während sich der Baustein im Low-Power-Zustand befindet, wobei das SRAM im Standby-Status gehalten wird und unabhängige Stromversorgungen für bestimmte Peripheriefunktionen und I/Os verwaltet werden. In den STM32L486 ist ein hardwaremäßiger Kryptografie-Coprozessor (AES 256-Bit) integriert. Gemeinsam mit weiteren STM32L4-Eigenschaften wie den Manipulationsschutz-Eingängen wird hier eine Plattform auch für sicherheitsorientierte Anwendungen wie etwa Smart Meter angeboten. Für Anwendungen, in denen wie etwa bei beengten Platzverhältnissen oder hohen Umgebungstemperaturen die Wärmeentwicklung problematisch sein kann, sind spezielle Hochtemperatur-Versionen für bis zu 125 °C verfügbar. 

Die STM32L4-Serie zielt angesichts der genannten Peripherieelemente und Eigenschaften wenig überraschend auf intelligente vernetzte Applikationen und IoT-Anwendungen (Internet of Things), sowie auf  eine Vielzahl von Industrie-, Medizin- und Consumer-Produkten. Die Bemusterung der STM32L4-Produkte für Leitkunden hat bereits begonnen. Die allgemeine Einführung ist für das zweite Quartal 2015 vorgesehen. Der STM32L476 kostet ab 3,40 US-Dollar im LQFP64-Gehäuse (ab 10.000 Stück).