Power Management

Debugging von Ultra-Low-Power-Applikationen leicht gemacht

< zurück

Seite: 2/2

Anbieter zum Thema

EnergyTrace++-Modus erfasst die internen Zustände

Wenn im EnergyTrace++-Modus die internen Zustände eines Bausteins erfasst werden, liefert die Energiemessung nur relative Zahlen, da die erforderlichen Aktivitäten am JTAG-Port die Energiewerte mit einem Offset versehen. Die Betriebsart EnergyTrace++, die das Erfassen von Zustandsinformationen aus dem Baustein erlaubt, lässt sich jedoch abschalten, um absolute Messungen der Leistung und des Energieverbrauchs zu ermöglichen.

Nun zu einem Beispiel. Ein elektronischer Wasserzähler muss mehr als zehn Jahre mit einer Batterie auskommen, sodass es hier auf einen äußerst geringen Energieverbrauch ankommt. Der extrem sparsame FRAM-Mikrocontroller MSP430FR6989 bietet hierfür nicht nur die Unterstützung für EnergyTrace++, sondern enthält auch eine als ESI (Extended Scan Interface) bezeichnete Peripheriefunktion, die sich ideal für Flügelrad-Wasserzähler eignet.

Bildergalerie

Um die Software des Wasserzählers zu optimieren und zu debuggen, müssen die Daten für das statistische Code-Profil erfasst werden. Zu diesem Zweck ist es vorteilhaft, dass die Applikation die gleichen Aufgaben immer wieder ausführt, sodass die Daten in mehreren Durchläufen gesammelt werden können. Die resultierenden Profildaten ergeben ein Paretodiagramm, das Auskunft darüber gibt, welche Funktionen für eine weitere Optimierung ins Auge gefasst werden sollten. Dies sind jene Funktionen, auf die ein großer Prozentsatz der Laufzeit entfällt, oder jene, die mehr Energie verbrauchen als andere.

Ein Unterprogramm, das das Polling-Verfahren nutzt, könnte auf der Liste beispielsweise weit oben erscheinen. Hier kann es sinnvoll sein, das Polling-Verfahren durch eine interruptgetriebene Lösung zu ersetzen. Nach Überarbeitung der Software kann dann ein neues Profiling durchgeführt werden, um das Ergebnis mit den Resultaten früherer Durchläufe zu vergleichen und den Erfolg der Optimierung zu überprüfen (Bild 1).

Das Profiling liefert nicht nur Informationen über Funktionen, sondern auch über die Nutzung der Low-Power-Betriebsarten, indem es zeigt, wie sich Laufzeit und Energieverbrauch auf die verschiedenen Power-Modi verteilen. Auf dieser Basis lassen sich Schätzungen anstellen, welche Laufzeit die Applikation mit einer bestimmten Batterie voraussichtlich erreichen wird. Außerdem können Hinweise auf weitere Optimierungsmöglichkeiten abgelesen werden. Dies gilt insbesondere deshalb, weil die MSP430-MCUs für Peripheriemodule ein Clock-Request-Schema implementieren, das dafür sorgt, dass ein Takt aktiv bleibt, wenn er noch für den Betrieb des Moduls erforderlich ist.

Informationen über aktive Takte und Module

Deshalb kann ein Modul, das einen hochfrequenten Takt (SMCLK) benötigt, den Baustein vom Wechsel in einen Low-Power-Modus abhalten, der nur niederfrequente Takte (<50 kHz, LPM3) unterstützt. Dieser Fall steht stellvertretend für Situationen, in denen das spezielle Feature von EnergyTrace++, das Informationen über aktive Takte und Module ausgibt, rasch eine visuelle Rückmeldung darüber liefert, ob sich die Applikation im richtigen Low-Power-Modus befindet (Bild 2).

Das Zustandsdiagramm des Bausteins zeigt hier die Betriebsmodi, die aktiven Takte und die aktiven Module über die Zeit. Wenn der Baustein die Low-Power-Betriebsarten verlässt, wird erwartungsgemäß der MCLK-Takt (der Takt für die CPU) aktiv. Jedoch bleiben alle anderen Takte während der Low-Power-Modi ebenfalls aktiv und zwingen den Baustein damit, in der Betriebsart LPM1 zu bleiben und nicht in den LPM3-Modus zu wechseln, obwohl die Applikation dies angefordert hat.

Der nächste Schritt wäre jetzt, die aktiven Module genauer unter die Lupe zu nehmen, um zu verstehen, was die Takte aktiv hält. Anschließend lässt sich dieses Verhalten korrigieren. Zum Abschluss können die Resultate der korrigierten und verbesserten Applikation mit den Ergebnissen früherer Versionen verglichen werden. Für die finale Abnahme schließlich lässt sich eine absolute Energiemessung vornehmen, nachdem die Erfassung des Bausteinzustands deaktiviert wurde.

Einfacher Start mit dem Development Kit

Für Entwickler, die mehr über das Debugging von Ultra-Low-Power-Applikationen erfahren möchten, erlaubt das MSP-EXP430FR5969 LaunchPad Development Kit einen einfachen Start. Es umfasst einen Debugger mit Unterstützung für EnergyTrace++ zusammen mit einem Mikrocontroller des Typs MSP430FR5969 auf einem Board. Es ermöglicht damit einen schnellen Einstieg ins Experimentieren mit einem FRAM-basierten Ultra-Low-Power-Mikrocontroller und der neuen EnergyTrace++-Technologie – dem Quantensprung im Debugging von Ultra-Low-Power-Applikationen.

Jetzt Newsletter abonnieren

Verpassen Sie nicht unsere besten Inhalte

Mit Klick auf „Newsletter abonnieren“ erkläre ich mich mit der Verarbeitung und Nutzung meiner Daten gemäß Einwilligungserklärung (bitte aufklappen für Details) einverstanden und akzeptiere die Nutzungsbedingungen. Weitere Informationen finde ich in unserer Datenschutzerklärung. Die Einwilligungserklärung bezieht sich u. a. auf die Zusendung von redaktionellen Newslettern per E-Mail und auf den Datenabgleich zu Marketingzwecken mit ausgewählten Werbepartnern (z. B. LinkedIn, Google, Meta).

Aufklappen für Details zu Ihrer Einwilligung

* Volker Rzehak ist MSP430 Senior Systems Engineer bei Texas Instruments.

Artikelfiles und Artikellinks

(ID:43467515)