Ultra-Low-Power-Mikrocontroller 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 verschiedene durch gemeinsame Belastungsmuster gekennzeichnete Tests zur umfassenden Messung der Mikrocontroller-Effizienz, die portabel über 8-, 16- und 32-bit-MCUs sind. Dazu werden mit dem Fokus auf reale Anwendungen die Low-Power-Modi des untersuchten Mikrocontrollers verwendet und die Effekte von aktiven und Low-Power-Betriebsbedingungen analysiert. Zweitens gibt es den sogenannten EEMBC-Energy-Monitor, bestehend aus dem Energy-Monitor-Board und der ULPBench-Software. Die Funktionalität des Energy-Monitors erwartet, dass auf dem zu testenden Mikrocontroller (DUT) die ULPBench-Core-Profil-Software läuft. Die Quelltexte der ULPBench-Core-Profil-Software sind im Lieferumfang von EEMBC enthalten (Verzeichnisse: benchmarks, work¬loads, TES, platforms).

Bilder: 3

Design&Elektronik ULPBench-Messworkshop

Testaufbau

Fixiert auf 3,0 V und 25 °C

Das erste Problem beim ULPBench ist seine Fixierung auf die Versorgungsspannung von 3,0 V, obwohl die meisten ULP-Controller bis hinunter auf 1,8 V betrieben werden können. Es braucht ja nicht viel Fantasie, sich auszumalen, dass mit sinkender Versorgungsspannung auch die Leistungsaufnahme sinkt und höhere ULPBench-Werte zu erwarten sind.

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

ULPBench-Wert-Ermittlung zwischen 3,0 und 1,8 V

DESIGN&ELEKTRONIK hat in einem ersten Schritt ULPBench-Werte bei geringeren Versorgungspannungen ermittelt. Herzstück der Messhardware (Bild 1) war ein USB 6353 von National Instruments, das u. a. folgende Spezifikationen umfasste:

  • 32 Analogeingänge; 1,25 MSamples/s mit 1 Kanal, 1,0 MSamples/s Multikanal; 16 bit Auflösung; ±10 V
  • Vier Analogausgänge; 2,86 MSamples/s; 16 bit Auflösung; ±10 V
  • 48 Digital-I/Os
  • Vier 32-bit-Zähler/Timer für PWM, Encoder, Frequenz, Event-Zähler u.v.m.

Die Software wurde mit Hilfe von NIs »Signal Express« [1] entwickelt, das mehr als 850 Funktionen für Signalmessungen, Filter und Zeit-Frequenz-Transformationen bereitstellt. Es handelt sich um ein ereignisgesteuertes System, so dass die Programme über Benutzer-Interaktionen mit Maus, Tastatur u. a. gesteuert werden können. Dazu ist Signal Express zu allen Labview-Add-Ons für spezielle Anwendungen oder Hardware-Integration kompatibel. Die einfache Kontaktierung mit dem zu messenden MCU-Board zeigt Bild 2, die Testumgebung Bild 3. Das Board wird über die gleiche 2-Draht-Schnittstelle verbunden, wie dies auch mit dem EEMBC-Energy-Monitor der Fall ist.

Testmessungen bei 3,0 V zeigten eine maximale Abweichung von 5 % von den mit den Energy-Monitor ermittelten Werten, konkret beim MSP432 im DC/DC-Wandler-Betrieb, wo wir einen ULPBench-Wert von 158,9 gegenüber dem Energy-Monitor mit 152,5 ermittelten. Bei den meisten Controllern lagen die Differenzen zwischen 0,1 % und 2 %. Dem Ziel, den Verlauf der Energieeffizienz über die Versorgungsspannung zu messen und festzustellen, wie weit man die Versorgungsspannung überhaupt reduzieren darf, bevor der Controller nicht mehr ordnungsgemäß arbeitet, tun diese Abweichungen keinen Abbruch.