Google is committed to advancing racial equity for Black communities. See how.
Cette page a été traduite par l'API Cloud Translation.
Switch to English

Mesure des valeurs de puissance

Les fabricants de périphériques doivent fournir un profil d'alimentation des composants dans /frameworks/base/core/res/res/xml/power_profile.xml .

Pour déterminer les valeurs des profils d'alimentation, utilisez un matériel qui mesure la puissance utilisée par l'appareil et effectuez les différentes opérations pour lesquelles des informations sont nécessaires. Mesurez la consommation d'énergie pendant ces opérations et calculez les valeurs (en dérivant les différences par rapport aux autres utilisations de l'énergie de base, le cas échéant).

Comme le but d'un profil de puissance est d'estimer la décharge de la batterie de manière appropriée, les valeurs du profil de puissance sont données en courant (ampères). Le framework Android multiplie le courant par le temps pendant lequel le sous-système était actif et calcule la valeur mAh, qui est ensuite utilisée pour estimer la quantité de batterie déchargée par l'application / le sous-système.

Les appareils dotés de contrôleurs Bluetooth, modem et Wi-Fi exécutant Android 7.0 ou version ultérieure peuvent fournir des valeurs de puissance supplémentaires obtenues à partir des données du chipset.

Appareils dotés de processeurs hétérogènes

Le profil d'alimentation des périphériques avec des cœurs de processeur d'architecture hétérogène doit inclure les champs supplémentaires suivants:

  • Nombre total de processeurs pour chaque cluster (exprimé en cpu.clusters.cores).
  • Vitesses du processeur prises en charge par chaque cluster.
  • Consommation d'énergie du processeur actif pour chaque cluster.

Pour faire la différence entre la consommation d'énergie du processeur actif et les vitesses de processeur prises en charge pour les clusters, ajoutez le numéro de cluster au nom de la baie. Les numéros de cluster sont attribués dans l'ordre des cœurs de processeur dans l'arborescence des périphériques du noyau. Par exemple, dans une architecture hétérogène qui a deux (2) clusters avec quatre (4) cœurs:

  • cluster0 se compose de cpu0-3
  • cluster1 se compose de cpu4-7

Le framework Android utilise ces numéros de cœur de processeur lorsqu'il lit les statistiques des fichiers sysfs dans: /sys/devices/system/cpu/cpu<number>/cpufreq/stats .

Exemple de processeurs et de vitesses de cluster:

<array name="cpu.active.cluster0">
<value>200</value>
<value>300</value>
<value>400</value>
</array>
<array name="cpu.speeds.cluster0">
<value>600000</value>
<value>800000</value>
<value>1200000</value>
</array>

<array name="cpu.active.cluster1">
<value>400</value>
<value>500</value>
<value>600</value>
</array>
<array name="cpu.speeds.cluster1">
<value>800000</value>
<value>1200000</value>
<value>1400000</value>
</array>

Valeurs de puissance

Le tableau suivant décrit les paramètres de valeur de puissance disponibles. Pour afficher l'exemple de fichier dans AOSP, consultez power_profile.xml .

Nom La description Exemple de valeur Remarques
ambient.on Puissance supplémentaire utilisée lorsque l'écran est en mode somnolent / ambiant / toujours allumé au lieu d'être éteint. environ 100 mA -
allume l'écran Puissance supplémentaire utilisée lorsque l'écran est allumé avec une luminosité minimale. 200 mA Comprend un contrôleur tactile et un rétroéclairage de l'écran. À 0 luminosité, pas le minimum d'Android qui a tendance à être de 10 ou 20%.
screen.full Puissance supplémentaire utilisée lorsque l'écran est à la luminosité maximale, par rapport à l'écran à la luminosité minimale. 100 mA à 300 mA Une fraction de cette valeur (basée sur la luminosité de l'écran) est ajoutée à la valeur screen.on pour calculer la consommation d'énergie de l'écran.
wifi.on Puissance supplémentaire utilisée lorsque le Wi-Fi est activé mais pas en réception, en transmission ou en numérisation. 2 mA -
wifi.active Puissance supplémentaire utilisée lors de la transmission ou de la réception via Wi-Fi. 31 mA -
wifi.scan Puissance supplémentaire utilisée lorsque le Wi-Fi recherche les points d'accès. 100 mA -
l'audio Puissance supplémentaire utilisée lors du décodage / encodage audio via DSP. environ 10 mA Utilisé pour l'audio DSP.
vidéo Puissance supplémentaire utilisée lors du décodage vidéo via DSP. environ 50 mA Utilisé pour la vidéo DSP.
camera.avg Consommation d'énergie moyenne par le sous-système de caméra pour une application de caméra typique. 600 mA Conçu comme une estimation approximative pour une application exécutant un aperçu et capturant environ 10 images en pleine résolution par minute.
camera.flashlight Puissance moyenne utilisée par le module flash de l'appareil photo lorsqu'il est allumé. 200 mA -
gps.signalqualitybased Puissance supplémentaire utilisée par le GPS en fonction de la force du signal. Il s'agit d'une entrée à valeurs multiples, une par force de signal, du plus faible au plus fort. 30 mA, 10 mA -
gps.on Puissance supplémentaire utilisée lorsque le GPS acquiert un signal. 50 mA -
radioactif Puissance supplémentaire utilisée lorsque la radio cellulaire transmet / reçoit. 100 mA à 300 mA -
balayage.radio Puissance supplémentaire utilisée lorsque la radio cellulaire recherche la tour. 1,2 mA -
radio.on Puissance supplémentaire utilisée lorsque la radio cellulaire est allumée. Il s'agit d'une entrée à valeurs multiples, une par force de signal (pas de signal, faible, modéré, fort). 1,2 mA Certaines radios augmentent la puissance lorsqu'elles recherchent une tour cellulaire et ne détectent pas de signal. Les valeurs peuvent être identiques ou diminuer avec l'augmentation de la force du signal. Si vous ne fournissez qu'une seule valeur, la même valeur est utilisée pour toutes les forces. Si vous fournissez deux valeurs, la première est utilisée pour l'absence de signal, la deuxième valeur est utilisée pour toutes les autres forces, et ainsi de suite.
bluetooth.controller.idle Consommation de courant moyenne (mA) du contrôleur Bluetooth lorsqu'il est inactif. - Ces valeurs ne sont pas estimées, mais extraites de la fiche technique du contrôleur. S'il existe plusieurs états de réception ou d'émission, la moyenne de ces états est prise. De plus, le système collecte désormais des données pour les scans Low Energy (LE) et Bluetooth .

Android 7.0 et versions ultérieures n'utilisent plus les valeurs de puissance Bluetooth pour bluetooth.active (utilisé lors de la lecture audio via Bluetooth A2DP) et bluetooth.on (utilisé lorsque Bluetooth est activé mais inactif).
bluetooth.controller.rx Consommation de courant moyenne (mA) du contrôleur Bluetooth lors de la réception. -
bluetooth.controller.tx Consommation de courant moyenne (mA) du contrôleur Bluetooth lors de la transmission. -
bluetooth.controller.voltage Tension de fonctionnement moyenne (mV) du contrôleur Bluetooth. -
modem.controller.sleep Consommation moyenne de courant (mA) du contrôleur de modem en veille. 0 mA Ces valeurs ne sont pas estimées, mais extraites de la fiche technique du contrôleur. S'il y a plusieurs états de réception, la moyenne de ces états est prise. S'il existe plusieurs états de transmission, la spécification d'une valeur pour chaque état de transmission est prise en charge à partir d'Android 9.
modem.controller.idle Consommation de courant moyenne (mA) du contrôleur de modem lorsqu'il est inactif. -
modem.controller.rx Consommation moyenne de courant (mA) du contrôleur de modem lors de la réception. -
modem.controller.tx Consommation de courant moyenne (mA) du contrôleur de modem lors de la transmission à différents niveaux de puissance RF. Il s'agit d'une entrée à valeurs multiples avec une valeur par niveau de puissance d'émission. 100 mA, 200 mA, 300 mA, 400 mA, 500 mA
modem.controller.voltage Tension de fonctionnement moyenne (mV) du contrôleur de modem. -
wifi.controller.idle Consommation de courant moyenne (mA) du contrôleur Wi-Fi lorsqu'il est inactif. - Ces valeurs ne sont pas estimées, mais extraites de la fiche technique du contrôleur. S'il existe plusieurs états de réception ou d'émission, la moyenne de ces états est prise.
wifi.controller.rx Consommation de courant moyenne (mA) du contrôleur Wi-Fi lors de la réception. -
wifi.controller.tx Consommation de courant moyenne (mA) du contrôleur Wi-Fi lors de la transmission. -
wifi.controller.voltage Tension de fonctionnement moyenne (mV) du contrôleur Wi-Fi. -
cpu.speeds Il s'agit d'une entrée à valeurs multiples qui répertorie chaque vitesse de processeur possible en KHz. 125000 KHz, 250000 KHz, 500000 KHz, 1000000 KHz, 1500000 KHz Le nombre et l'ordre des entrées doivent correspondre aux entrées mA dans cpu.active.
cpu.idle Puissance totale consommée par le système lorsque les processeurs (et le SoC) sont en état de suspension du système. 3 mA -
cpu.awake Puissance supplémentaire utilisée lorsque les CPU sont en état d'inactivité de planification (boucle d'inactivité du noyau); le système n'est pas en état de suspension du système. 50 mA Votre plate-forme peut avoir plusieurs états d'inactivité en cours d'utilisation avec différents niveaux de consommation d'énergie; choisissez un état inactif représentatif pour de plus longues périodes d'inactivité du planificateur (plusieurs millisecondes). Examinez le graphique de puissance de votre équipement de mesure et choisissez des échantillons où le processeur est à sa plus faible consommation, en éliminant les échantillons plus élevés là où le processeur est resté inactif.
cpu.active Puissance supplémentaire utilisée par les processeurs lors de l'exécution à différentes vitesses. 100 mA, 120 mA, 140 mA, 160 mA, 200 mA La valeur représente la puissance utilisée par les rails du processeur lors de l'exécution à différentes vitesses. Définissez la vitesse maximale du noyau sur chacune des vitesses autorisées et fixez le processeur à cette vitesse. Le nombre et l'ordre des entrées correspondent au nombre et à l'ordre des entrées dans cpu.speeds.
cpu.clusters.cores Nombre de cœurs que contient chaque cluster de CPU. 4, 2 Requis uniquement pour les périphériques dotés d' architectures de processeur hétérogènes . Le nombre d'entrées et l'ordre doivent correspondre au nombre d'entrées de cluster pour les cpu.active et cpu.speeds. La première entrée représente le nombre de cœurs de processeur dans cluster0, la deuxième entrée représente le nombre de cœurs de processeur dans cluster1, et ainsi de suite.
capacité de la batterie Capacité totale de la batterie en mAh. 3000 mAh -

Analyses Low Energy (LE) et Bluetooth

Pour les appareils exécutant Android 7.0, le système collecte des données pour les analyses Low Energy (LE) et le trafic réseau Bluetooth (tel que RFCOMM et L2CAP) et associe ces activités à l'application de départ. Les analyses Bluetooth sont associées à l'application qui a lancé l'analyse, mais les analyses par lots ne le sont pas (et sont plutôt associées à l'application Bluetooth). Pour une analyse d'application pendant N millisecondes, le coût de l'analyse est de N millisecondes de temps rx et de N millisecondes de temps tx; tout le temps restant du contrôleur est affecté au trafic réseau ou à l'application Bluetooth.