Ultra-Low-Power-Mikrocontroller - Teil 2 Benchmark ULPBench entzaubert

Welcher Mikrocontroller ist wirklich energieeffizient? Der Benchmark ULPBench soll Aufschluss geben. Leider fehlen oft realitätsnahe Bedingungen. In einem in dieser Art einzigartigen Projekt hat DESIGN&ELEKTRONIK nachgemessen. Die ULP-Geschichte muss, zumindest zum Teil, neu geschrieben werden.

ULPBench folgt einem zweistufigen Ansatz: Erstens gibt es Tests zur umfassenden Messung der Mikrocontroller-Effizienz, gekennzeichnet durch gemeinsame Belastungsmuster, die portabel über 8-, 16- und 32-bit-Mikrocontroller sind, die Verwendung der Low-Power-Modi des untersuchten Mikrocontrollers, dem Fokus auf reale Anwendungen, die integrierte Hardware-Funktionen verwenden und der Analyse der Effekte von aktiven und Low-Power-Betriebsbedingungen. Zweitens gibt es den EEMBC-EnergyMonitor, bestehend aus dem EnergyMonitor-Board und der ULPBench Software. Die Funktionalität des EnergyMonitors erwartet, dass auf dem zu testenden Mikrocontroller (DUT) die ULPBench-Core-Profil-Software läuft. Die Quelltexte der ULPBench-CoreProfile-Software sind im Lieferumfang von EEMBC (Verzeichnisse: benchmarks, workloads, TES, platforms) enthalten.

Im ersten Teil dieses Beitrags wurde das erste Problem beim ULPBench angegangen, nämlich seine starre Fixierung auf eine Versorgungsspannung von 3,0 V, obwohl die meisten ULP-Controller bis hinunter auf 1,8 V betrieben werden können. Wir hatten daher mit einer Mess-Aparatur auf Basis von National Instruments USB 6353 ULPBench-Werte bis hinunter zu 1,8 V ermittelt und diese in einer Tabelle gegenübergestellt.

Das zweite Problem des ULPbench ist seine Fixierung auf eine »best case«-Umgebungstemperatur, also in der Regel 25 °C, in welcher die Hersteller ihre Werte ermitteln und in welcher auch EEMBC diese zertifiziert. Wenn man weiß, dass z. B. ein Smart-Meter eher Temperaturen zwischen 50 °C und 60 °C und industrielle Anwendungen im Zweifel 80 °C und 85 °C generieren, ist der auf der EEMBC-Website präsentierte ULPBench-Wert nur noch bedingt brauchbar.

Wir haben daher in einer Klimakammer von STMicroelectronics nachgemessen, wie sich der ULPBench bei einer Erhöhung der Umgebungstemperatur entwickelt. Auf Grund des limitierten Zeitbudgets in der Klimakammer konnten nicht alle Controller, die wir in [1] untersucht hatten, vermessen werden. Wir haben uns somit auf jeweils zwei MCUs von ST und Atmel sowie den MSP432 von Texas Instruments und den Sub-Threshold-Apollo-Controller von Ambiq Micro konzentriert.

Bereits vor Durchführung der Tests war klar, dass die Energieeffizienz mit höheren Temperaturen abnehmen würden – die Frage war nur, um wieviel. Dies hängt primär mit den Fertigungsprozessen zusammen. Bild 1 zeigt den Verlauf des ULPBench-Wertes von 25 °C bis 85 °C bei einer Versorgungsspannung von 3 V. Auffällig ist die Temperaturstabilität des STM32L0 mit ARMs Cortex-M0+, der in einem proprietären 110-nm-ULP-Prozess gefertigt wird. Während der STM32L0 unter der höheren Stromaufnahme im aktiven Modus gegenüber seinen Konkurrenten in 90- und 65-nm-Prozessen leidet (Platz 4 bei 25 °C), kommt bei diesen dann bei höheren Temperaturen die exponentielle Steigerung der Leckströme zum Tragen. Schon bei Umgebungstemperaturen ab knapp über 70 °C hat der STM32L0 die Nase vorne.

Bemerkenswert ist auch die Kurve der beiden Atmel-Controller: Deren ULPBench-Kurve sinkt im Gegensatz zu ST und TI schon bei leicht erhöhten Temperaturen stark ab, um sich dann bei höheren Temperaturen wieder mehr zu stabilisieren. Der MSP432 und der STM32L4 bleiben hingegen bis 50 °C vergleichsweise stabil, um dann den größeren Abfall bei noch höheren Temperaturen zu erfahren.