Automatisierte Energiemodellerstellung Mit MSP430 Energytrace
Total Page:16
File Type:pdf, Size:1020Kb
Bachelorarbeit Automatisierte Energiemodellerstellung mit MSP430 EnergyTrace Lennart Nicolas Kaiser 23. September 2020 Betreuer Daniel Friesel, M.Sc. Prof. Dr. Olaf Spinczyk Universität Osnabrück Institut für Informatik Arbeitsgruppe Eingebettete Softwaresysteme https://ess.cs.uos.de/ Zusammenfassung Im Rahmen dieser Bachelorarbeit wurden die Möglichkeiten untersucht mit günstiger Hardware möglichst akkurate Energiemodelle zu erstellen. Bestehende Lösungen zur Er- stellung von Energiemodellen beruhen meistens auf selbst entworfener Hardware oder auf teuren Energiemessgeräten. In dieser Arbeit wurde das MSP430FR5994 LaunchPad von Texas Instruments verwendet. Dieses LaunchPad hat EnergyTrace verbaut, eine ex- tra Einheit vor dem Prozessor, die die Energie misst. In dieser Arbeit wurde die Schnitt- stelle zur Synchronisierung der Energiedaten implementiert. Aus den synchronisierten Daten wird die durchschnittliche Leistungsaufnahme der Zustände und Transitionen bestimmt. Im Anschluss wurde geprüft wie die Qualität der erstellten Modelle ist. Der Modellfehler liegt im Mittel der geprüften Zustände bei 8% und im Maximum bei 500 µW . Wobei der absolute Fehler in Zuständen mit geringerem Energieverbrauch stärker ins Gewicht fällt. Abstract In this Bachelor thesis, the creation of accurate energy models using inexpensive hard- ware was researched. Existing solutions for creating energy models are mostly based on self-designed hardware or on expensive energy measuring devices. MSP430FR5994 LaunchPad, produced by Texas Instruments, was used for the purpose of this thesis. Energy usage is measured by the built-in EnergyTrace unit; this is an additional unit attached in front of the actual processor. In this thesis the interface for the energy data synchronization was implemented. Subsequently the average power consumption of each state and transition is calculated with the synchronization and EnergyTrace data. Afterwards the quality of the created models was checked. The model error is 8% on average for the tested conditions and a maximum of 500µW with the tested benchmarks. The absolute error is greater in states with lower energy consumption. Inhaltsverzeichnis 1. Einleitung1 2. Grundlagen3 2.1. Energie . .3 2.2. Energiemodelle . .4 2.3. dfatool . .6 2.4. MSP430 . .6 2.4.1. Hardware . .7 2.4.2. MSP430 EnergyTrace++ . .8 2.5. Logic Analyzer . .9 2.6. Keysight N6785A . 10 3. Literatur 11 3.1. MIMOSA . 11 3.2. FlockLab . 11 3.3. PowerBench . 12 3.4. SPOT . 12 4. Konzept 15 4.1. Logic Analyzer . 16 4.2. UART / Timer . 16 4.3. Barcode . 17 4.4. Synchronisierung . 17 5. Implementierung 19 5.1. Benchmarkerstellung mit dfatool . 19 5.2. Sigrok . 21 5.3. Synchronisierung . 21 5.4. Einbindung Auswertung in dfatool . 24 5.5. Algorithmen zur Genauigkeitsverbesserung . 25 6. Evaluation 27 6.1. EnergyTrace . 27 6.2. Versuchsaufbau . 30 6.3. Benchmarkerstellung . 32 6.4. Synchronisierung mit Logic Analyzer (Zustände) . 32 6.5. Synchronisierung von Transitionen . 34 6.6. Vergleich mit anderen LaunchPads . 35 6.7. Kürzere Benchmarkdauer . 36 i Inhaltsverzeichnis 6.8. Synchronisierung mit UART/Timer . 37 6.9. Algorithmen zur Genauigkeitsverbesserung . 37 6.10. Vergleich von Umwelteinflüssen . 39 6.11. Vergleich mit einer MIMOSA Messung des BME680 . 40 6.12. Zusammenfassung der Evaluationsergebnisse . 41 7. Zusammenfassung 43 7.1. Fazit . 43 7.2. Ausblick . 44 A. Anhang 45 A.1. Befehle . 45 A.2. Tabellen . 46 Literaturverzeichnis 49 Abkürzungsverzeichnis 51 Abbildungsverzeichnis 53 Tabellenverzeichnis 55 ii 1. Einleitung Eingebettete Systeme sind heutzutage in unserem Alltag überall vertreten. Bei einem Großteil dieser eingebetteten Systeme werden zur Energieversorgung Akkus oder Bat- terien verwendet. Beispiele dafür sind Smartphones, Fernbedienungen oder Außensenso- ren von Wetterstationen. Ein Laden des Akkus beziehungsweise Austausch der Batterien wird zu einem Zeitpunkt notwendig sein, auch wenn in einigen Fällen Energy-Harvesting für die Energieversorgung verwendet wird. Um die Laufzeit des Systems zu maximieren und diese zu bestimmen, sind Informationen über die im System verfügbare und be- nötigte Energie notwendig. Um Informationen über die benötigte Energie zu erhalten, bieten sich Energiemodelle an, die die energierelevanten Aktionen des Systems model- lieren. Die notwendigen Daten für solche Modelle sind nicht immer vollständig in den Datenblättern der Peripherie dokumentiert. Oft sind grobe Aktionen vermerkt, Kombi- nationen dieser Aktionen meistens nicht. Deshalb werden diese Energiemodelle mithilfe von Messungen und Handarbeit erstellt. Die dazu benötigten professionellen Energie- messgeräte sind oft sehr teuer und nicht zur automatisierten Energiemodellerstellung konzipiert worden. Ziel dieser Bachelorarbeit ist die automatische Erstellung von Energiemodellen mit- hilfe von günstiger COTS(engl. Commercial off-the-shelf, fertig kaufbar) Hardware wie dem Mikrocontroller MSP430 und einem USB Logic Analyzer. Im Rahmen dieser Ar- beit werden verschiedene Synchronisierungskonzepte weiterentwickelt und implemen- tiert. Diese Synchronisierungsverfahren sind in der Lage, den gemessenen Energiewerten den Zuständen und Transitionen zuzuordnen. Mithilfe dieser Daten und dfatool, einer Benchmarksoftware, können im Anschluss Energiemodelle erstellt werden. Es wurden zwei Synchronisierungsverfahren implementiert, die unterschiedliche Hard- warevoraussetzungen haben. Die erste Variante basiert auf der Kommunikation mit dem Mikrocontroller MSP430 und Logic Analyzer über einen IO-Pin, über den transferiert wird, ob sich der Mikrocontroller in einer Transition oder einem Zustand befindet. Die zweite Variante nutzt ausschließlich einen interner Timer von MSP430, welcher die Dauer der Transitionen bzw. Zustände misst und diese per UART an den Computer weitergibt. Im Anschluss werden diese Synchronisierungsverfahren nach verschiedenen Aspek- ten bewertet. Es wird die Genauigkeit der erstellten Energiemodelle, die Messbarkeit von Transitionen und die Auswirkungen von Umwelteinflüssen untersucht. Dazu wer- den Benchmarks (Programme für Vergleichsmaßstäbe), die mithilfe von dfatool und Graphenbeschreibungen generiert wurden, verwendet. Diese werden analysiert und mit errechneten Sollwerten oder Daten aus anderen Messreihen verglichen. Neben der Evaluation des entstandenen Modells wurde außerdem untersucht, wie ge- nau EnergyTrace arbeitet, da diese Daten als Grundlage für die Energiemodellerstellung dienen. 1 Einleitung Im Folgenden werden in Kapitel 2 zunächst die relevanten Grundlagen, insbesondere in Bezug auf die verwendete Hard- und Software, geschaffen. Im anschließenden Kapitel 3 wird ein Überblick über schon bestehende Arbeiten in diesem Themengebiet gegeben. In Kapitel 4 wird das entworfene Konzept für die in Kapitel 5 gezeigte Implementierung der beiden Ansätze vorgestellt. Eine Auswertung der Messergebnisse und der Funktionalität findet in Kapitel 6 statt. Zuletzt werden die Ergebnisse in Kapitel 7 zusammengefasst und ein Fazit gezogen. 2 2. Grundlagen In diesem Kapitel werden die Grundlagen für die Messungen und Modellierung von Energie und Leistung dargestellt. Des Weiteren werden die verwendeten Hard- und Softwarekomponenten kurz vorgestellt. So werden zunächst die elektrischen Grundlagen erläutert, im Anschluss in Abschnitt 2.2 eine Einführung in Energiemodelle gegeben. Zudem wird die verwendete Hard- und Software vorgestellt, in Abschnitt 2.4 der Mi- krocontroller MSP430 mit EnergyTrace und in Abschnitt 2.5 der zur Synchronisierung verwendete Logic Analyzer. 2.1. Energie Um feststellen zu können, wie aussagekräftig die erstellten Energiemodelle sind, wer- den diese mit realen Messergebnissen bzw. Sollwerten verglichen. Für das Verständnis, wie die Messungen in dieser Arbeit gestaltet wurden, folgt eine grobe Übersicht der elektrotechnischen Zusammenhänge. Zunächst wird der Begriff der elektrischen Leistung erläutert. Leistung P ist ein Pro- dukt aus Spannung U und Strom I, bzw. ein Quotient aus Energie E und Zeit t. P = U · I Energie ist eine fundamentale Größe in der Elektrotechnik und wird in der SI-Einheit Joule angegeben. Im klassischen Sprachgebrauch wird Energie verbraucht, physikalisch korrekt betrachtet wird sie nur umgewandelt, zum Beispiel in Wärme. Ein klassischer Energiewandler ist ein Elektromotor. Dieser wandelt elektrische Energie in kinetische Energie(Bewegungsenergie) um. Besitzt der Elektromotor eine Leistung von 100 W und wird zehn Sekunden in Betrieb genommen, werden 1000 J Energie verbraucht. Um die verbrauchte Energie zu berechnen, wird zwangsläufig die Zeit benötigt. Bei den meisten Verbrauchern verändert sich die Leistung mit der Zeit. Wird die Leistung als Funktion P (t) beschrieben und der Zeitraum von t1 bis t2 betrachtet, gilt Z t2 E = P (t)dt t1 für die umgesetzte Energie in diesem Zeitraum. Bei konstanter Leistung vereinfacht sich die Formel zu E = P · t Die meisten Messgeräte können nur die Spannung messen, weshalb ein Messwider- stand(engl. Shunt) genutzt werden muss, um die Energie zu messen. Dieser wird mit dem Verbraucher in Reihe geschaltet. Denn nach dem ohmschen Gesetz erzeugt der Strom- fluss durch den Widerstand einen proportionalen Spannungsabfall. Der Messwiderstand 3 Grundlagen 2.2 muss passend gewählt werden, da die Spannung am DUT(Verbraucher, engl. Device Under Test) verändert wird, sodass diese je nach Widerstand unter der Versorgungs- pannung liegen kann. Diese Spannung kann mit einem Analog-Digital-Wandler gemessen und daraus die verbrauchte Energie berechnet werden. Mit dieser Art der Messung kön-