Güç değerlerini ölçme

Cihaz üreticileri, şurada 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 ve bilgi gerektiren çeşitli işlemleri gerçekleştiren donanımı kullanın. Bu işlemler sırasında güç kullanımını ölçün ve değerleri hesaplayın (uygun olduğunda diğer referans güç kullanımlarından farklılıkları belirleyin).

Güç profilinin amacı, pil tüketimini uygun şekilde tahmin etmek olduğundan güç profili değerleri akım (amper) cinsinden verilir. Android çerçevesi, akımı alt sistemin etkin olduğu süreyle çarpar ve mAh değerini hesaplar. Bu değer daha sonra uygulama veya alt sistem tarafından tüketilen pil miktarını tahmin etmek için kullanılır.

Android 7.0 ve üzeri sürümleri çalıştıran Bluetooth, modem ve kablosuz ağ kumandaları olan cihazlar değeri, yonga seti verilerinden elde edilen ek güç değerleri sağlayabilir.

Heterojen CPU'ları olan cihazlar

Heterojen mimariye sahip CPU çekirdeğine sahip cihazların 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ümenin desteklediği CPU hızları.
  • Her küme için etkin CPU güç tüketimi.

Etkin CPU güç tüketimi ile kümeler için desteklenen CPU hızları arasında ayrım yapmak üzere küme numarasını dizinin adına ekleyin. Küme sayılar, çekirdek cihaz ağacındaki CPU çekirdekleri sırasına göre atanır. Örneğin, örnek verecek olursak çekirdekler:

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

Android çerçevesi, /sys/devices/system/cpu/cpu<number>/cpufreq/stats dosyalarındaki istatistikleri okurken bu CPU çekirdek numaralarını kullanır: /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 tabloda kullanılabilen güç değeri ayarları açıklanmaktadır. AOSP'deki örnek dosya için power_profile.xml.

Ad Açıklama Örnek değer Notlar
ambient.açık Ekran kapalı değil doz/ambiyans/her zaman açık modundayken ek güç kullanılır. yaklaşık 100 mA -
screen.on Ekran en düşük parlaklıkta açıldığında kullanılan ek güç. 200 mA Dokunmatik kumanda ve ekran arka ışığı dahildir. Android'in minimum parlaklık ayarı olan %10 veya %20 yerine 0 parlaklık.
ekran.tam Ekran minimum parlaklıktayken ekran maksimum parlaklıktayken kıyasla kullanılan ek güç. 100 mA-300 mA Bu değerin bir kısmı (ekran parlaklığına bağlı olarak) "screen.on" değerini kullanabilirsiniz.
kablosuz.açık Kablosuz ağ açık ancak alım yapılmazsa ek güç kullanılır. etkili bir yoludur. 2 mA -
wifi.active Kablosuz ağ üzerinden veri gönderirken veya alırken kullanılan ek güç. 31 mA -
wifi.scan Kablosuz bağlantı, erişim noktalarını tararken kullanılan ek güç. 100 mA -
Ses DSP aracılığıyla ses kodunu çözerken/kodlamayı gerçekleştirirken kullanılan ek güç. yaklaşık 10 mA TTP ses için kullanılır.
video DSP üzerinden video kod çözme işlemi yapılırken kullanılan ek güç. yaklaşık 50 mA DSP videosu için kullanılır.
camera.avg Tipik bir kamera için kamera alt sisteminin ortalama güç kullanımı uygulamasını indirin. 600 mA Önizleme çalıştıran bir uygulama için kaba bir tahmin olarak tasarlanmıştır ve dakikada yaklaşık 10 tam çözünürlüklü resim çekmeyi başardık.
camera.flashlight Açıldığında kamera flaşı modülü tarafından kullanılan ortalama güç. 200 mA -
gps.sinyal kalitesine dayalı Sinyal gücüne bağlı olarak GPS tarafından kullanılan ek güç. Bu, birden çok değere sahip bir giriştir en zayıfdan en güçlüye doğru sinyal gücü başına bir giriş yapılmalıdır. 30 mA, 10 mA -
gps.on GPS sinyal alırken kullanılan ek güç. 50 mA -
radyo.aktif Hücresel radyo veri gönderirken/alırken kullanılan ek güç. 100 mA-300 mA -
radio.scanning Hücresel radyo baz istasyonuna çağrı gönderirken kullanılan ek güç. 1,2 mA -
radio.on Hücresel radyo açıkken kullanılan ek güç. Bu, sinyal gücü başına bir tane olmak üzere birden çok değer içeren bir giriştir (sinyal yok, zayıf, orta, güçlü). 1,2 mA Bazı radyolar, baz istasyonu aradığında ve sinyal algılamadığında gücü artırır. Değerler aynı olabilir veya sinyal gücü arttıkça azalabilir. Yalnızca bir değer sağlarsanız tüm değerler için aynı değer kullanılır güçlü yönler. İki değer sağlarsanız ilk değer sinyal yokluğu için, ikinci değer diğer tüm sinyal güçleri için kullanılır.
bluetooth.controller.idle Boştayken Bluetooth denetleyicinin ortalama akım tüketimi (mA). - Bu değerler tahmin edilmez ancak şirketin veri sayfasından alınmıştır. çok önemli. Birden fazla alma veya iletme durumu varsa ortalama olduğu anlamına gelir. Ayrıca, sistem artık Google tarafından sunulan Düşük Enerji (LE) ve Bluetooth taramaları.

Android 7.0 ve sonraki sürümlerde artık bluetooth.active için Bluetooth güç değerlerini kullanmıyor (Bluetooth A2DP üzerinden ses çalarken kullanılır) ve bluetooth.on (şurada kullanılır: Bluetooth açık ancak boşta).
bluetooth.controller.rx Alım sırasında Bluetooth denetleyicinin ortalama akım çekimi (mA) değeri. -
bluetooth.controller.tx Bluetooth denetleyicinin veri aktarırken kullandığı ortalama akım (mA). -
bluetooth.controller.voltaj Bluetooth denetleyicinin ortalama çalışma voltajı (mV). -
modem.controller.sleep Uykudayken modem denetleyicisinin ortalama akım çizimi (mA). 0 mA Bu değerler tahmini değildir ve denetleyicinin veri sayfasından alınmıştır. Birden fazla alma durumu varsa bu durumların ortalaması alınır. Birden fazla aktarım durumu varsa Android 9'dan itibaren her aktarım durumu için bir değer belirtme özelliği desteklenir.
modem.controller.idle Boştayken modem denetleyicisinin ortalama akım çizimi (mA). -
modem.controller.rx Alma sırasında modem denetleyicisinin ortalama akım çekişimi (mA). -
modem.controller.tx Farklı RF gücünde iletim yaparken modem denetleyicisinin ortalama akım çekişimi (mA) seviyelere dokunun. Bu, her iletim gücü seviyesi için bir değer içeren çok değerli bir giriştir. 100 mA, 200 mA, 300 mA, 400 mA, 500 mA
modem.controller.voltage Modem denetleyicisinin ortalama çalışma voltajı (mV). -
wifi.controller.boşta Boştayken kablosuz kumandanın ortalama akım çekişimi (mA). - Bu değerler tahmin edilmez ancak şirketin veri sayfasından alınmıştır. çok önemli. Birden fazla alma veya gönderme durumu varsa ortalama olduğu anlamına gelir.
wifi.controller.rx Alıcı modundayken kablosuz kontrol cihazının ortalama akım tüketimi (mA). -
wifi.controller.tx İletim sırasında kablosuz kumandanın ortalama akım çekişimi (mA). -
wifi.denetleyici.voltaj Wi-Fi denetleyicinin ortalama çalışma voltajı (mV). -
cpu.hız Bu, olası her CPU hızını KHz cinsinden listeleyen çok değerli bir giriştir. 125.000 KHz, 250.000 KHz, 500.000 KHz, 1000.000 KHz, 1500.000 KHz Girişlerin sayısı ve sırası, cpu.active parametresindeki mA girişleriyle eşleşmelidir.
cpu.boşta CPU'lar (ve SoC) sistem askıya alma durumundayken sistem tarafından çekilen toplam güç. 3 mA -
cpu.uyanık CPU'lar planlamada boşta durumdayken (çekirdek boşta döngüsü) kullanılan ek güç; sistem askıya alınmış durumda değildir. 50 mA Platformunuz farklı şekillerde kullanılan birden fazla boşta kalma durumuna sahip olabilir Güç tüketimi seviyeleri; daha uzun süre temsili bir boşta kalma durumu seçin zamanlayıcının boşta kalma süreleri (birkaç milisaniye). Ölçüm ekipmanınızdaki güç grafiğini inceleyin ve CPU'nun en düşük tüketimde olduğu örnekleri seçin. CPU'nun boşta çalışma durumundan çıktığı daha yüksek örnekleri çıkarın.
cpu.etkin Farklı hızlarda çalışırken CPU'ların kullandığı ek güç. 100 mA, 120 mA, 140 mA, 160 mA, 200 mA Değer, CPU raylarının farklı hızlarda çalışırken kullandığı gücü temsil eder. Çekirdekteki maksimum hızı, izin verilen hızların her birine ayarlayın ve CPU'yu bu hıza sabitleyin. Girişlerin sayısı ve sırası, cpu.speeds parametresindeki girişlerin sayısına ve sırasına karşılık gelir.
cpu.clusters.cores Her CPU kümesinin içerdiği çekirdek sayısı. 4, 2 Yalnızca heterojen CPU mimarilerine sahip cihazlar için gereklidir. Giriş sayısı ve sırası, cpu.active ve cpu.speeds için küme girişi sayısıyla eşleşmelidir. İlk giriş, daha önce küme0'daki CPU çekirdeği sayısını gösterir. İkinci giriş, Küme1'deki CPU çekirdekleri vb.
battery.capacity mA/sa cinsinden toplam pil kapasitesi. 3.000 mAh -

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

Sistem, Android 7.0 çalıştıran cihazlarda Düşük Enerji (LE) için veri toplar. ve Bluetooth ağ trafiğini (RFCOMM ve L2CAP gibi) tarar ve başlatma uygulamasıyla bu işlemleri gerçekleştirmemiz gerekir. Bluetooth taramaları ilişkili ancak toplu taramalar henüz başlatılmamış (ve Bluetooth uygulamasıyla ilişkilendirilir). Uygulama için N milisaniyelik tarama yapılırsa taramanın maliyeti N milisaniyelik rx süresidir ve N milisaniyelik işlem süresi; kalan tüm kumanda süresi şuna atanır: ağ trafiği veya Bluetooth uygulamasına bağlı olarak değişir.