Messgerätleistung

Sie können den Gerätestromverbrauch für Android-Geräte ermitteln, die über eine Akkuanzeige verfügen, z. B. Summit SMB347 oder Maxim MAX17050 (verfügbar auf vielen Nexus-Geräten). Verwenden Sie das systeminterne Messgerät, wenn externe Messgeräte nicht verfügbar sind oder der Anschluss an ein Gerät unpraktisch ist (z. B. bei mobiler Nutzung).

Die Messungen können den Momentanstrom, die verbleibende Ladung, die Batteriekapazität zu Beginn und am Ende des Tests und mehr umfassen, abhängig von den unterstützten Eigenschaften des Geräts (siehe unten). Um optimale Ergebnisse zu erzielen, führen Sie Geräteleistungsmessungen bei lang andauernden A/B-Tests durch, bei denen derselbe Gerätetyp mit derselben Tankanzeige und demselben Strommesswiderstand verwendet wird. Stellen Sie sicher, dass die Startbatterieladung für jedes Gerät gleich ist, um ein unterschiedliches Verhalten der Ladezustandsanzeige an verschiedenen Punkten der Batterieentladekurve zu vermeiden.

Selbst bei identischen Testumgebungen ist eine hohe absolute Genauigkeit der Messungen nicht garantiert. Allerdings sind die meisten Ungenauigkeiten, die sich speziell auf die Kraftstoffanzeige und den Messwiderstand beziehen, zwischen Testläufen gleich, sodass Vergleiche zwischen identischen Geräten nützlich sind. Wir empfehlen, mehrere Tests in verschiedenen Konfigurationen durchzuführen, um signifikante Unterschiede und den relativen Stromverbrauch zwischen den Konfigurationen zu ermitteln.

Stromverbrauch ablesen

Um Stromverbrauchsdaten zu lesen, fügen Sie Aufrufe an die API in Ihren Testcode ein.

import android.os.BatteryManager;
import android.content.Context;
BatteryManager mBatteryManager =
(BatteryManager)Context.getSystemService(Context.BATTERY_SERVICE);
Long energy =
mBatteryManager.getLongProperty(BatteryManager.BATTERY_PROPERTY_ENERGY_COUNTER);
Slog.i(TAG, "Remaining energy = " + energy + "nWh");

Verfügbare Eigenschaften

Android unterstützt die folgenden Eigenschaften der Akkustandanzeige:

BATTERY_PROPERTY_CHARGE_COUNTER   Remaining battery capacity in microampere-hours
BATTERY_PROPERTY_CURRENT_NOW      Instantaneous battery current in microamperes
BATTERY_PROPERTY_CURRENT_AVERAGE  Average battery current in microamperes
BATTERY_PROPERTY_CAPACITY         Remaining battery capacity as an integer percentage
BATTERY_PROPERTY_ENERGY_COUNTER   Remaining energy in nanowatt-hours

Die meisten Eigenschaften werden aus Kernel-Power_supply-Subsystemattributen mit ähnlichen Namen gelesen. Die genauen Eigenschaften, die Auflösung der Eigenschaftswerte und die Aktualisierungshäufigkeit, die für ein bestimmtes Gerät verfügbar sind, hängen jedoch ab von:

  • Tankanzeige-Hardware, z. B. Summit SMB347 oder Maxim MAX17050.
  • Verbindung zwischen Kraftstoffanzeige und System, z. B. der Wert externer Strommesswiderstände.
  • Softwarekonfiguration des Tankanzeige-Chips, z. B. ausgewählte Werte für durchschnittliche aktuelle Berechnungsintervalle im Kernel-Treiber.

Einzelheiten finden Sie in den für Nexus-Geräte verfügbaren Eigenschaften.

Maxim-Tankanzeige

Bei der Bestimmung des Batterieladezustands über einen längeren Zeitraum korrigiert die Maxim-Kraftstoffanzeige (MAX17050, BC15) Coulomb-Zähler-Offset-Messungen. Bei Messungen, die über einen kurzen Zeitraum durchgeführt werden (z. B. Stromverbrauchsmessungstests), nimmt die Kraftstoffanzeige keine Korrekturen vor, sodass der Offset zur Hauptfehlerquelle wird, wenn die aktuellen Messungen zu klein sind (obwohl der Offset nicht durch Zeitaufwand beseitigt werden kann). Fehler vollständig).

Bei einem typischen 10-mOhm-Messwiderstandsdesign sollte der Offset-Strom besser als 1,5 mA sein, was bedeutet, dass jede Messung +/-1,5 mA beträgt (das PCB-Layout kann diese Variation ebenfalls beeinflussen). Wenn Sie beispielsweise einen großen Strom (200 mA) messen, können Sie Folgendes erwarten:

  • 2 mA (1 % Verstärkungsfehler von 200 mA aufgrund eines Verstärkungsfehlers der Kraftstoffanzeige)
  • +2 mA (1 % Verstärkungsfehler von 200 mA aufgrund eines Fehlers im Messwiderstand)
  • +1,5 mA (Strommess-Offsetfehler von der Kraftstoffanzeige)

Der Gesamtfehler beträgt 5,5 mA (2,75 %). Vergleichen Sie dies mit einem mittleren Strom (50 mA), bei dem die gleichen Fehlerprozentsätze einen Gesamtfehler von 7 % ergeben, oder mit einem kleinen Strom (15 mA), bei dem +/-1,5 mA einen Gesamtfehler von 10 % ergeben.

Für beste Ergebnisse empfehlen wir die Messung von mehr als 20 mA. Verstärkungsmessfehler sind systematisch und wiederholbar, sodass Sie ein Gerät in mehreren Modi testen und saubere relative Messungen erhalten können (mit Ausnahme des 1,5-mA-Offsets).

Für relative Messungen von +/-100 uA hängt die erforderliche Messzeit ab von:

  • ADC-Abtastrauschen . Der MAX17050 erzeugt mit seiner normalen Werkskonfiguration eine Abweichung von +/-1,5 mA von Probe zu Probe aufgrund von Rauschen, wobei jede Probe bei 175,8 ms geliefert wird. Sie können ungefähr +/-100 uA für ein 1-minütiges Testfenster und ein sauberes 3-Sigma-Rauschen von weniger als 100 uA (oder 1-Sigma-Rauschen bei 33 uA) für ein 6-minütiges Testfenster erwarten.
  • Beispiel-Aliasing aufgrund von Lastschwankungen . Durch die Variation werden die Fehler übertrieben. Daher sollten Sie für Proben mit belastungsbedingten Variationen die Verwendung eines längeren Testfensters in Betracht ziehen.

Unterstützte Nexus-Geräte

Nexus 5
Modell Nexus 5
Kraftstoffanzeige Maxim MAX17048 Tankanzeige (ModelGauge™, kein Coulomb-Zähler)
Eigenschaften BATTERY_PROPERTY_CAPACITY
Messungen Die Tankanzeige unterstützt keine anderen Messungen als den Batterieladezustand mit einer Auflösung von %/256 (1/256 Prozent der vollen Batteriekapazität).
Nexus 6
Modell Nexus 6
Kraftstoffanzeige Maxim MAX17050-Kraftstoffanzeige (ein Coulomb-Zähler mit Maxim ModelGauge™-Anpassungen) und ein 10-MOhm-Strommesswiderstand.
Eigenschaften BATTERY_PROPERTY_CAPACITY
BATTERY_PROPERTY_CURRENT_NOW
BATTERY_PROPERTY_CURRENT_AVERAGE
BATTERY_PROPERTY_CHARGE_COUNTER
BATTERY_PROPERTY_ENERGY_COUNTER
Messungen CURRENT_NOW-Auflösung 156,25 uA, Aktualisierungszeitraum beträgt 175,8 ms.
CURRENT_AVERAGE-Auflösung 156,25 uA, Aktualisierungszeitraum konfigurierbar 0,7 s – 6,4 h, Standard 11,25 Sekunden.
Die Auflösung von CHARGE_COUNTER (akkumulierter Strom, nicht erweiterte Präzision) beträgt 500 uAh (roher Coulomb-Zählerstand, nicht durch Kraftstoffanzeige für Coulomb-Zähler-Offset angepasst, plus Eingaben vom ModelGauge m3-Algorithmus einschließlich Leerkompensation).
CHARGE_COUNTER_EXT (erweiterte Präzision im Kernel), Auflösung 8 nAh.
ENERGY_COUNTER ist CHARGE_COUNTER_EXT bei einer Nennspannung von 3,7 V.
Nexus 9
Modell Nexus 9
Kraftstoffanzeige Maxim MAX17050-Kraftstoffanzeige (ein Coulomb-Zähler mit Maxim ModelGauge™-Anpassungen) und ein 10-MOhm-Strommesswiderstand.
Eigenschaften BATTERY_PROPERTY_CAPACITY
BATTERY_PROPERTY_CURRENT_NOW
BATTERY_PROPERTY_CURRENT_AVERAGE
BATTERY_PROPERTY_CHARGE_COUNTER
BATTERY_PROPERTY_ENERGY_COUNTER
Messungen CURRENT_NOW-Auflösung 156,25 uA, Aktualisierungszeitraum beträgt 175,8 ms.
CURRENT_AVERAGE-Auflösung 156,25 uA, Aktualisierungszeitraum konfigurierbar 0,7 s – 6,4 h, Standard 11,25 Sekunden.
Die Auflösung von CHARGE_COUNTER (akkumulierter Strom, nicht erweiterte Genauigkeit) beträgt 500uAh.
CHARGE_COUNTER_EXT (erweiterte Präzision im Kernel), Auflösung 8 nAh.
ENERGY_COUNTER ist CHARGE_COUNTER_EXT bei einer Nennspannung von 3,7 V.
Kumulierte aktuelle Aktualisierungsperiode 175,8 ms.
Der ADC hat eine Quantisierung von 175 ms und eine Abtastperiode von 4 ms durchgeführt. Kann den Arbeitszyklus anpassen.
Nexus 10
Modell Nexus 10
Kraftstoffanzeige Dallas Semiconductor DS2784-Tankanzeige (ein Coulomb-Zähler) mit einem 10-MOhm-Strommesswiderstand.
Eigenschaften BATTERY_PROPERTY_CAPACITY
BATTERY_PROPERTY_CURRENT_NOW
BATTERY_PROPERTY_CURRENT_AVERAGE
BATTERY_PROPERTY_CHARGE_COUNTER
BATTERY_PROPERTY_ENERGY_COUNTER
Messungen Die Auflösung der Strommessung (Momentan und Durchschnitt) beträgt 156,3 uA.
CURRENT_NOW Die augenblickliche aktuelle Aktualisierungsperiode beträgt 3,5 Sekunden.
Der Aktualisierungszeitraum von CURRENT_AVERAGE beträgt 28 Sekunden (nicht konfigurierbar).
Die Auflösung von CHARGE_COUNTER (akkumulierter Strom, nicht erweiterte Genauigkeit) beträgt 625 uAh.
Die Auflösung von CHARGE_COUNTER_EXT (erweiterte Präzision im Kernel) beträgt 144 nAh.
ENERGY_COUNTER ist CHARGE_COUNTER_EXT bei einer Nennspannung von 3,7 V.
Die Aktualisierungsdauer beträgt für alle 3,5 Sekunden.