Der PowerTrace-Ausgang wird in Timer-Ticks gedruckt.
tx
- die Anzahl der Ticks das Funkgerät im Sendemodus gewesen ist (ENERGEST_TYPE_TRANSMIT
)
rx
- die Anzahl der Ticks das Funk wurde im Empfangsmodus (ENERGEST_TYPE_LISTEN
)
cpu
- die Anzahl der Ticks die CPU hat im aktiven Modus gewesen (ENERGEST_TYPE_CPU
)
cpu_idle
- die Anzahl der Ticks die CPU im Leerlaufmodus (ENERGEST_TYPE_LPM
)
012 wurden
Die Elemente des Paars tx
und rx
sind exklusiv, ebenso wie cpu
und idle
- das System kann niemals gleichzeitig in beiden Modi sein. Es sind jedoch auch andere Kombinationen möglich, zum Beispiel gleichzeitig cpu
und tx
. Die Summe von cpu
und idle
ist die Gesamtbetriebszeit des Systems.
Die Dauer des Timers eines Ticks ist plattformabhängig und definiert als RTIMER_ARCH_SECOND
Konstante. 32768 Ticks pro Sekunde sind ein typischer Wert dieser Konstante - daher kommt die Zahl in Ihrer Gleichung.Zum Beispiel:
ticks_in_tx_mode = energest_type_time(ENERGEST_TYPE_TRANSMIT);
seconds_in_tx_mode = ticks_in_tx_mode/RTIMER_ARCH_SECOND;
Um den durchschnittlichen Stromverbrauch (in Milliampère, mA) zu berechnen, multiplizieren jeweils tx
, rx
, cpu
, cpu_idle
mit dem jeweiligen Stromverbrauch in diesem Modus in mA (erhalten die Werte aus dem Datenblatt des Knotens), summieren sie und dividieren durch RTIMER_ARCH_SECOND
:
current = (tx * current_tx_mode + rx * current_rx_mode + \
cpu * current_cpu + cpu_idle * current_idle)/RTIMER_ARCH_SECOND
Um die Ladung (in millicoulumbs, mC) zu berechnen, multiplizieren den durchschnittlichen Stromverbrauch mit der Dauer der Messung (Knotens Betriebszeit) in Sekunden:
charge = current * (cpu + cpu_idle)/RTIMER_ARCH_SECOND
Zur Berechnung des Stromes (in Milliwatt, mW) multiplizieren Sie den durchschnittlichen Stromverbrauch mit der Spannung des Systems, zum Beispiel 3 Volt, wenn aus einem Paar AA-Batterien:
power = current * voltage
schließlich den Energieverbrauch (in Millijoules, mJ) zu berechnen, die Leistung mit der Dauer in Sekunden multiplizieren oder die Ladung mit der Spannung des Systems multiplizieren:
energy = charge * voltage
Die erste Formel oben berechnet den Energieverbrauch für die Kommunikation; der zweite: für die Berechnung.
Diese site könnte hilfreich sein, um die Zahlen zu brechen.
Wo haben Sie diese Fallstudie gefunden, erklären Sie bitte die Quelle dieser Bilder oder Papier. Im Allgemeinen gibt es keine Regeln für eine gute Energieberechnung. Es hängt von den eingeschalteten Peripheriegeräten, dem verwendeten Prozessor, der Geschwindigkeit usw. ab. –