Güç Değerlerinin Ölçülmesi

Cihaz üreticileri bir bileşen güç profili sağlamalıdır /frameworks/base/core/res/res/xml/power_profile.xml .

Güç profillerinin değerlerini belirlemek için, cihaz tarafından kullanılan gücü ölçen donanımı kullanın ve bilgi gerektiren çeşitli işlemleri gerçekleştirin. Bu işlemler sırasında güç kullanımını ölçün ve değerleri hesaplayın (uygun şekilde diğer temel güç kullanımlarından farklılıklar türeterek).

Bir güç profilinin amacı, pil tüketimini uygun şekilde tahmin etmek olduğundan, güç profili değerleri akım (amper) olarak verilir. Android çerçevesi, akımı alt sistemin aktif olduğu zamanla çarpar ve daha sonra uygulama/alt sistem tarafından tüketilen pil miktarını tahmin etmek için kullanılan mAh değerini hesaplar.

Android 7.0 ve sonraki sürümleri çalıştıran Bluetooth, modem ve Wi-Fi denetleyicileri olan cihazlar, yonga seti verilerinden elde edilen ek güç değerleri sağlayabilir.

Heterojen CPU'lara sahip cihazlar

Heterojen mimariye sahip CPU çekirdekli cihazlar için güç profili aşağıdaki ek alanları içermelidir:

  • Her küme için toplam CPU sayısı (cpu.clusters.cores olarak ifade edilir).
  • Her küme tarafından desteklenen CPU hızları.
  • Her küme için aktif CPU güç tüketimi.

Aktif CPU güç tüketimi ile kümeler için desteklenen CPU hızları arasında ayrım yapmak için, dizinin adına küme numarasını ekleyin. Küme numaraları, çekirdek aygıt ağacında CPU çekirdeklerinin sırasına göre atanır. Örneğin, dört (4) çekirdeğe sahip iki (2) kümeye sahip heterojen bir mimaride:

  • küme0, cpu0-3'ten oluşur
  • küme1, cpu4-7'den oluşur

O istatistik okuduğunda Android çerçeve bu işlemci çekirdek numaralarını kullanan sysfs : dosyaların /sys/devices/system/cpu/cpu<number>/cpufreq/stats .

Küme CPU'ları ve hızları örneği:

<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>

Güç değerleri

Aşağıdaki tablo, mevcut güç değeri ayarlarını açıklar. AOSP örnek dosyayı görüntülemek için bkz power_profile.xml .

İsim Açıklama Örnek Değer Notlar
ortam.on Ekran kapalı yerine uyku/ortam/her zaman açık modundayken kullanılan ek güç. yaklaşık 100 mA -
ekran.on Ekran minimum parlaklıkta açıldığında kullanılan ek güç. 200 mA Dokunmatik kontrolör ve ekran arka ışığı içerir. 0 parlaklıkta, %10 veya %20 olma eğiliminde olan Android minimum seviyesi değil.
ekran.dolu Minimum parlaklıktaki ekrana kıyasla ekran maksimum parlaklıktayken kullanılan ek güç. 100 mA-300 mA Ekranın güç kullanımını hesaplamak için bu değerin bir kısmı (ekran parlaklığına dayalı olarak) screen.on değerine eklenir.
wifi.on Wi-Fi açıldığında, ancak alma, iletme veya tarama yapmadığında kullanılan ek güç. 2mA -
wifi.aktif Wi-Fi üzerinden iletirken veya alırken kullanılan ek güç. 31 mA -
wifi.scan Wi-Fi, erişim noktalarını tararken kullanılan ek güç. 100 mA -
ses DSP aracılığıyla ses kod çözme/kodlama sırasında kullanılan ek güç. yaklaşık 10 mA DSP ses için kullanılır.
video DSP aracılığıyla video kod çözme sırasında kullanılan ek güç. yaklaşık 50 mA DSP videosu için kullanılır.
kamera.avg Tipik bir kamera uygulaması için kamera alt sistemi tarafından ortalama güç kullanımı. 600 mA Önizleme çalıştıran ve dakikada yaklaşık 10 tam çözünürlüklü resim yakalayan bir uygulama için kaba bir tahmin olarak tasarlanmıştır.
kamera. el feneri Açıkken kamera flaş modülü tarafından kullanılan ortalama güç. 200 mA -
gps.sinyal kalitesine dayalı Sinyal gücüne dayalı olarak GPS tarafından kullanılan ek güç. Bu, sinyal gücü başına bir tane olmak üzere, en zayıftan en güçlüye doğru çok değerli bir giriştir. 30 mA, 10 mA -
gps.on GPS bir sinyal alırken kullanılan ek güç. 50 mA -
radyoaktif Hücresel radyo iletirken/alırken kullanılan ek güç. 100 mA-300 mA -
radyo.tarama Hücresel radyo kuleye çağrı yaparken kullanılan ek güç. 1.2 mA -
radyo.on Hücresel radyo açıkken kullanılan ek güç. Bu, sinyal gücü başına bir tane olmak üzere çok değerli bir giriştir (sinyal yok, zayıf, orta, güçlü). 1.2 mA Bazı radyolar, baz istasyonu aradıklarında gücü artırır ve bir sinyal algılamazlar. Değerler aynı olabilir veya artan sinyal gücü ile azalabilir. Yalnızca bir değer sağlarsanız, tüm kuvvetler için aynı değer kullanılır. İki değer sağlarsanız, ilki sinyal olmaması için, ikinci değer diğer tüm güçler için kullanılır ve bu böyle devam eder.
bluetooth.controller.idle Boştayken Bluetooth denetleyicisinin ortalama akım çekişi (mA). - Bu değerler tahmin edilmez, ancak kontrolörün veri sayfasından alınır. Birden fazla alma veya gönderme durumu varsa, bu durumların ortalaması alınır. Buna ek olarak, sistem şimdilik veri toplar Low Energy (LE) ve Bluetooth taramaları .

Android 7.0 ve sonraki sürümleri artık bluetooth.active (Bluetooth A2DP üzerinden ses çalınırken kullanılır) ve bluetooth.on (Bluetooth açıkken ancak boştayken kullanılır) için Bluetooth güç değerlerini kullanmaz.
bluetooth.controller.rx Alırken Bluetooth denetleyicisinin ortalama akım çekişi (mA). -
bluetooth.controller.tx İletim sırasında Bluetooth denetleyicisinin ortalama akım çekişi (mA). -
bluetooth.kontrolör.voltaj Bluetooth denetleyicisinin ortalama çalışma voltajı (mV). -
modem.denetleyici.uyku Uyurken modem denetleyicisinin ortalama akım çekişi (mA). 0 mA Bu değerler tahmin edilmez, ancak kontrolörün veri sayfasından alınır. Birden fazla alma durumu varsa, bu durumların ortalaması alınır. Birden çok iletim durumu varsa, Android 9'dan başlayarak her iletim durumu için bir değer belirtilmesi desteklenir.
modem.controller.idle Boştayken modem denetleyicisinin ortalama akım çekişi (mA). -
modem.denetleyici.rx Alırken modem denetleyicisinin ortalama akım çekişi (mA). -
modem.denetleyici.tx Farklı RF güç seviyelerinde iletim yaparken modem denetleyicisinin ortalama akım çekişi (mA). Bu, iletim gücü seviyesi başına bir değere sahip çok değerli bir giriştir. 100 mA, 200 mA, 300 mA, 400 mA, 500 mA
modem.kontrolör.voltaj Modem denetleyicisinin ortalama çalışma voltajı (mV). -
wifi.controller.idle Boştayken Wi-Fi denetleyicisinin ortalama akım çekişi (mA). - Bu değerler tahmin edilmez, ancak kontrolörün veri sayfasından alınır. Birden fazla alma veya gönderme durumu varsa, bu durumların ortalaması alınır.
wifi.controller.rx Alırken Wi-Fi denetleyicisinin ortalama akım çekişi (mA). -
wifi.controller.tx İletim sırasında Wi-Fi denetleyicisinin ortalama akım çekişi (mA). -
wifi.kontrolör.voltaj Wi-Fi denetleyicisinin ortalama çalışma voltajı (mV). -
işlemci hızları Bu, olası her CPU hızını KHz cinsinden listeleyen çok değerli bir giriştir. 125000 KHz, 250000 KHz, 500000 KHz, 1000000 KHz, 1500000 KHz Girişlerin sayısı ve sırası, cpu.active içindeki mA girişlerine karşılık gelmelidir.
cpu.idle CPU'lar (ve SoC) sistem askıya alma durumundayken sistem tarafından çekilen toplam güç. 3mA -
cpu.uyanık CPU'lar zamanlama boş durumundayken (çekirdek boşta döngüsü) kullanılan ek güç; sistem, sistem askıya alma durumunda değil. 50 mA Platformunuz, farklı güç tüketimi seviyelerinde kullanımda olan birden fazla boş duruma sahip olabilir; daha uzun zamanlayıcı boşta kalma süreleri (birkaç milisaniye) için temsili bir boşta durumu seçin. Ölçüm ekipmanınızdaki güç grafiğini inceleyin ve CPU'nun boşta kaldığı yüksek örnekleri atarak CPU'nun en düşük tüketiminde olduğu örnekleri seçin.
işlemci.aktif Farklı hızlarda çalışırken CPU'lar tarafından kullanılan ek güç. 100 mA, 120 mA, 140 mA, 160 mA, 200 mA Değer, farklı hızlarda çalışırken CPU rayları tarafından kullanılan gücü temsil eder. Çekirdekteki maksimum hızı izin verilen hızların her birine ayarlayın ve CPU'yu bu hızda sabitleyin. Girişlerin sayısı ve sırası, cpu.speeds cinsinden girişlerin sayısı ve sırasına karşılık gelir.
cpu.clusters.cores Her CPU kümesinin içerdiği çekirdek sayısı. 4, 2 Sadece cihazlar için gerekli heterojen CPU mimarileri . Giriş sayısı ve sıra, cpu.active ve cpu.speeds için küme girişlerinin sayısıyla eşleşmelidir. İlk giriş, küme 0'daki CPU çekirdeklerinin sayısını temsil eder, ikinci giriş, küme1'deki CPU çekirdeklerinin sayısını temsil eder ve bu şekilde devam eder.
pil.kapasite mAh cinsinden toplam pil kapasitesi. 3000 mAh -

Düşük Enerji (LE) ve Bluetooth taramaları

Android 7.0 çalıştıran cihazlar için sistem, Düşük Enerji (LE) taramaları ve Bluetooth ağ trafiği (RFCOMM ve L2CAP gibi) için veri toplar ve bu etkinlikleri başlatan uygulama ile ilişkilendirir. Bluetooth taramaları, taramayı başlatan uygulamayla ilişkilendirilir, ancak toplu taramalar ilişkilendirilmez (ve bunun yerine Bluetooth uygulamasıyla ilişkilendirilir). N milisaniyelik bir uygulama taraması için, taramanın maliyeti N milisaniye rx zamanı ve N milisaniye tx zamanıdır; kalan tüm denetleyici süresi ağ trafiğine veya Bluetooth uygulamasına atanır.