Embedded-Systeme Neues Tool revolutioniert die Messung der Leistungsaufnahme

Fast jeder Entwickler kennt das Szenario: Man hat ein definiertes Power-Budget und fängt an, einen Mikrocontroller zu programmieren. Am Ende muss man nach dem Anklemmen eines Multimeters enttäuscht feststellen, dass die Applikation das Power-Budget überschreitet. Mit PowerScale können nun zielgerichtet Code-Optimierungen vorgenommen werden.

Das Tool „PowerScale“ der Infineon- Tochter Hitex ist auf der Embedded World 2010 mit dem Embedded Award in der Kategorie „Tools“ ausgezeichnet worden. PowerScale mit ACMTechnologie (ACM – Active Current Measurement) erlaubt es, die Leistungsaufnahme in Relation zum abgearbeiteten Programm zu messen. Damit lässt sich die Software von Embedded- Systemen in Bezug auf die Leistungsaufnahme optimieren. Bisher können die Entwickler auf Werkzeuge für Fehlersuche und Code-Optimierung in Bezug auf Geschwindigkeit (Performance Profiling) oder Codegröße (Code Density) zurückgreifen. Im Automobil-Geschäft steht immer öfter die Leistungsaufnahme im Fokus, dank des E-Car- bzw. Hybrid- Hypes wird sich diese Anforderung zukünftig noch wesentlich verstärken. In der Hardware werden daher mit teils erheblichem Aufwand vielfältige Möglichkeiten wie Peripherieabschaltung, Voltage Scaling, Clock Scaling oder Teilnetzbetrieb bereitgestellt. Damit ergibt sich eine Matrix an Varianten, die durch die Software gesteuert werden müssen. Hierfür stehen dem Entwickler bisher kaum geeignete Werkzeuge zur Verfügung.

Was leistet PowerScale?

Zunächst kann der Entwickler überprüfen, ob die Embedded-Applikation die Stromspareigenschaften des Prozessors optimal ausnutzt. Die Energiedaten können reproduzierbar dargestellt werden, so dass die Energieoptimierung direkt in den Entwicklungsprozess integriert werden kann. Besonders interessant erscheint, dass eine ACM-Probe für Strommessungen im Bereich über sechs Größenordnungen mit automatischer Bereichsumschaltung vorgenommen werden kann. Damit lassen sich Ströme von 200 nA bis 500 mA bei 12 V messen. Gerade die Messung von Strömen im nA-Bereich ist zunehmend relevant, wenn man z.B. an die Ruheströme von 8-bit-MCUs denkt. Mit der Standard-Probe können Messungen bis zu 50 V, also z.B. für „Power over Ethernet“-Versorgungen, vorgenommen werden, der Strommessbereich beträgt 1 mA bis 1 A. Erhältlich sind ein Adapter für die Versorgung über Ethernet oder USB und eine Software zur konfigurierbaren Anzeige der Messungen, die den Namen „intuitiv“ verdient hat, wie man sich am Hitex-Messestand in Nürnberg überzeugen konnte. Eine offene API-Schnittstelle ermöglicht die Integration der Anzeigen in beliebige Debugger oder andere Software- Pakete, die ARM-Software-Schmiede Keil arbeitet nach Aussage ihres Geschäftsführers Reinhard Keil schon an einer Integration in die μVision-IDE. Ein Tool wie PowerScale gibt es bisher noch nicht. Es gibt zwar Produkte, die Ähnliches leisten, sich aber signifikant von PowerScale unterscheiden und diverse Nachteile aufweisen. Ein Speicher-Oszilloskop etwa ist nicht nur sehr teuer, es kann den Messbereich nicht aktiv umschalten wie die ACM-Probe. Es kann zudem keine Statistiken des Verbrauches ausgeben, ein schneller Vorher/Nachher-Vergleich bei einer Firmware-Änderung ist also nicht möglich. Andere Tools zeichnen einen „Analog Trace“ auf. Sie messen Spannungen meist mit 12 bis 16 bit Auflösung und lassen dabei keine dynamische Umschaltung der Messbereiche zu. Da sie in der Regel auf dem Trace-System eines Mikrocontrollers aufsetzen, ist der Einsatz nicht möglich, wenn der Mikrocontroller keine Trace-Möglichkeiten hat. Und wie sieht es mit Tools für Analogmessungen aus? Diese messen mit bis zu 20-bit-A/D-Wandlern ohne Bereichsumschaltung, wodurch die Messung im unteren Bereich sehr ungenau wird, und sie erlauben keine Zuordnung zu Software-Events.

Differenzierte Leistungsmessung

Das Bild zeigt eine Beispielanwendung. Hierbei handelt es sich um eine Handheld-Applikation mit einem LCDisplay, bei der über Solar-Zellen eine Pufferbatterie geladen wird. Probe 1 misst Strom und Spannung der Solar- Zellen-Versorgung, Probe 2 misst Strom und Spannung der 5-V-Versorgung des LC-Displays, Probe 3 misst Strom und Spannung der 3-V-Versorgung des Mikrocontrollers und der Echtzeit-Uhr und „last but not least“ misst Probe 4 Strom und Spannung der 3-V-Versorgung des Flash-Speichers, die bei Nichtbenutzung des Speichers durch den Mikrocontroller abgeschaltet wird. Es dürfte nur eine Frage der Zeit sein, wann nach Keil auch weitere Tool-Anbieter eine PowerScale- Schnittstelle implementieren.