Güç Değerlerinin Ölçülmesi

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

Güç profillerinin değerlerini belirlemek için, aygıt 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 olduğu şekilde diğer temel güç kullanımlarından farklılıklar elde ederek).

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 etkin 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 denetleyicilerine sahip cihazlar, yonga seti verilerinden elde edilen ek güç değerleri sağlayabilir.

Heterojen CPU'lara sahip cihazlar

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

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

Kümeler için aktif CPU güç tüketimi ile desteklenen CPU hızları arasında ayrım yapmak için küme numarasını dizinin adına ekleyin. Küme numaraları, çekirdek aygıt ağacındaki 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

Android çerçevesi /sys/devices/system/cpu/cpu<number>/cpufreq/stats konumundaki sysfs dosyalarından istatistikleri okurken bu CPU çekirdek numaralarını kullanır.

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 mevcut güç değeri ayarları açıklanmaktadır. Örnek dosyayı AOSP'de görüntülemek için bkz . power_profile.xml .

İsim Tanım Örnek Değer notlar
ortam.açık Ekran kapalı yerine uyku/ortam/her zaman açık modundayken kullanılan ek güç. yaklaşık 100 mA -
ekran.açık Ekran minimum parlaklıkta açıldığında ek güç kullanılır. 200mA Dokunmatik kontrolör ve ekran arka ışığı içerir. 0 parlaklıkta, %10 veya %20 olma eğiliminde olan Android minimum değeri değil.
ekran.dolu Minimum parlaklıktaki ekrana kıyasla ekran maksimum parlaklıktayken kullanılan ek güç. 100 mA-300 mA Bu değerin (ekran parlaklığına bağlı olarak) bir kısmı, ekranın güç kullanımını hesaplamak için screen.on değerine eklenir.
wifi.açık Wi-Fi açıkken, alma, iletme veya tarama yapmadığında ek güç kullanılır. 2 mA -
wifi.aktif Wi-Fi üzerinden iletirken veya alırken kullanılan ek güç. 31 ma -
wifi.tarama Wi-Fi erişim noktalarını tararken kullanılan ek güç. 100mA -
ses DSP aracılığıyla ses kodu çözme/kodlama yapılırken kullanılan ek güç. yaklaşık 10 mA DSP sesi için kullanılır.
video DSP aracılığıyla video kodu çözerken kullanılan ek güç. yaklaşık 50 mA DSP videosu için kullanılır.
kamera.ortalama Tipik bir kamera uygulaması için kamera alt sistemi tarafından ortalama güç kullanımı. 600mA Önizleme çalıştıran ve dakikada yaklaşık 10 tam çözünürlüklü resim çeken 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üç. 200mA -
gps.signalqualitybased Sinyal gücüne bağlı olarak GPS tarafından kullanılan ek güç. Bu, en zayıftan en güçlüye doğru, sinyal gücü başına bir çoklu değer girişidir. 30 mA, 10 mA -
gps.açık GPS bir sinyal alırken kullanılan ek güç. 50mA -
radyoaktif Hücresel radyo iletirken/alırken kullanılan ek güç. 100 mA-300 mA -
radyo.tarama Hücresel radyo kuleye çağrı gönderirken kullanılan ek güç. 1,2 mA -
radyo açık Hücresel radyo açıkken kullanılan ek güç. Bu, sinyal gücü başına bir (sinyal yok, zayıf, orta, güçlü) olmak üzere çok değerli bir giriştir. 1,2 mA Bazı radyolar, bir baz istasyonu aradıklarında ve bir sinyal algılamadıklarında gücü artırır. Değerler aynı olabilir veya artan sinyal gücüyle azalabilir. Yalnızca bir değer sağlarsanız, tüm güçlü yönler için aynı değer kullanılır. İki değer sağlarsanız, birincisi sinyal yok için kullanılır, ikinci değer diğer tüm güçler için kullanılır vb.
bluetooth.denetleyici.idle Boştayken Bluetooth denetleyicisinin ortalama akım çekişi (mA). - Bu değerler tahmini değildir, ancak kontrolörün veri sayfasından alınmıştır. Birden fazla alma veya gönderme durumu varsa, bu durumların ortalaması alınır. Ayrıca, sistem artık Düşük Enerji (LE) ve Bluetooth taramaları için veri toplamaktadır.

Android 7.0 ve üzeri artık bluetooth.active (Bluetooth A2DP aracılığıyla ses çalarken kullanılır) ve bluetooth.on (Bluetooth açıkken ancak boştayken kullanılır) için Bluetooth güç değerlerini kullanmaz.
bluetooth.denetleyici.rx Alım sırasında Bluetooth denetleyicisinin ortalama akım çekişi (mA). -
bluetooth.denetleyici.tx İletim sırasında Bluetooth denetleyicisinin ortalama akım çekişi (mA). -
bluetooth.denetleyici.voltaj Bluetooth denetleyicisinin ortalama çalışma voltajı (mV). -
modem.denetleyici.uyku Modem denetleyicisinin uykudayken çektiği ortalama akım (mA). 0 mA Bu değerler tahmini değildir, ancak kontrolörün veri sayfasından alınmıştır. Birden fazla alma durumu varsa, bu durumların ortalaması alınır. Birden fazla iletim durumu varsa, Android 9'dan itibaren her iletim durumu için bir değer belirtmek desteklenir.
modem.denetleyici.idle Modem denetleyicisinin boştayken çektiği ortalama akım (mA). -
modem.denetleyici.rx Alırken modem denetleyicisinin çektiği ortalama akım (mA). -
modem.denetleyici.tx Modem denetleyicisinin farklı RF güç seviyelerinde iletim yaparken çektiği ortalama akım (mA). Bu, iletim gücü seviyesi başına bir değer içeren çok değerli bir giriştir. 100 mA, 200 mA, 300 mA, 400 mA, 500 mA
modem.denetleyici.voltaj Modem denetleyicisinin ortalama çalışma voltajı (mV). -
wifi.denetleyici.idle Boştayken Wi-Fi denetleyicisinin ortalama akım çekişi (mA). - Bu değerler tahmini değildir, ancak kontrolörün veri sayfasından alınmıştır. Birden fazla alma veya gönderme durumu varsa, bu durumların ortalaması alınır.
wifi.denetleyici.rx Alım sırasında Wi-Fi denetleyicisinin ortalama akım çekişi (mA). -
wifi.denetleyici.tx İletim sırasında Wi-Fi denetleyicisinin ortalama akım çekişi (mA). -
wifi.denetleyici.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'deki mA girişlerine karşılık gelmelidir.
işlemci boşta CPU'lar (ve SoC) sistem askıya alma durumundayken sistem tarafından çekilen toplam güç. 3 mA -
işlemci.uyanık CPU'lar zamanlama boşta durumundayken (çekirdek boşta döngü) kullanılan ek güç; sistem sistem askıya alma durumunda değil. 50mA Platformunuz, farklı güç tüketimi seviyeleriyle kullanımda olan birden fazla boşta 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ığı daha yüksek örnekleri atarak CPU'nun en düşük tüketimde olduğu örnekleri seçin.
cpu.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ıza sabitleyin. Girişlerin sayısı ve sırası, cpu.speeds'deki 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 mimarisine sahip cihazlar için gereklidir. 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 çekirdeği sayısını temsil eder, ikinci giriş küme 1'deki CPU çekirdeği sayısını temsil eder vb.
pil kapasitesi mAh cinsinden toplam pil kapasitesi. 3000 mAh -

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

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

,

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

Güç profillerinin değerlerini belirlemek için, aygıt 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 olduğu şekilde diğer temel güç kullanımlarından farklılıklar elde ederek).

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 etkin 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 denetleyicilerine sahip cihazlar, yonga seti verilerinden elde edilen ek güç değerleri sağlayabilir.

Heterojen CPU'lara sahip cihazlar

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

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

Kümeler için aktif CPU güç tüketimi ile desteklenen CPU hızları arasında ayrım yapmak için küme numarasını dizinin adına ekleyin. Küme numaraları, çekirdek aygıt ağacındaki 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

Android çerçevesi /sys/devices/system/cpu/cpu<number>/cpufreq/stats konumundaki sysfs dosyalarından istatistikleri okurken bu CPU çekirdek numaralarını kullanır.

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 mevcut güç değeri ayarları açıklanmaktadır. Örnek dosyayı AOSP'de görüntülemek için bkz . power_profile.xml .

İsim Tanım Örnek Değer notlar
ortam.açık Ekran kapalı yerine uyku/ortam/her zaman açık modundayken kullanılan ek güç. yaklaşık 100 mA -
ekran.açık Ekran minimum parlaklıkta açıldığında ek güç kullanılır. 200mA Dokunmatik kontrolör ve ekran arka ışığı içerir. 0 parlaklıkta, %10 veya %20 olma eğiliminde olan Android minimum değeri değil.
ekran.dolu Minimum parlaklıktaki ekrana kıyasla ekran maksimum parlaklıktayken kullanılan ek güç. 100 mA-300 mA Bu değerin (ekran parlaklığına bağlı olarak) bir kısmı, ekranın güç kullanımını hesaplamak için screen.on değerine eklenir.
wifi.açık Wi-Fi açıkken, alma, iletme veya tarama yapmadığında ek güç kullanılır. 2 mA -
wifi.aktif Wi-Fi üzerinden iletirken veya alırken kullanılan ek güç. 31 ma -
wifi.tarama Wi-Fi erişim noktalarını tararken kullanılan ek güç. 100mA -
ses DSP aracılığıyla ses kodu çözme/kodlama yapılırken kullanılan ek güç. yaklaşık 10 mA DSP sesi için kullanılır.
video DSP aracılığıyla video kodu çözerken kullanılan ek güç. yaklaşık 50 mA DSP videosu için kullanılır.
kamera.ortalama Tipik bir kamera uygulaması için kamera alt sistemi tarafından ortalama güç kullanımı. 600mA Önizleme çalıştıran ve dakikada yaklaşık 10 tam çözünürlüklü resim çeken 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üç. 200mA -
gps.signalqualitybased Sinyal gücüne bağlı olarak GPS tarafından kullanılan ek güç. Bu, en zayıftan en güçlüye doğru, sinyal gücü başına bir çoklu değer girişidir. 30 mA, 10 mA -
gps.açık GPS bir sinyal alırken kullanılan ek güç. 50mA -
radyoaktif Hücresel radyo iletirken/alırken kullanılan ek güç. 100 mA-300 mA -
radyo.tarama Hücresel radyo kuleye çağrı gönderirken kullanılan ek güç. 1,2 mA -
radyo açık Hücresel radyo açıkken kullanılan ek güç. Bu, sinyal gücü başına bir (sinyal yok, zayıf, orta, güçlü) olmak üzere çok değerli bir giriştir. 1,2 mA Bazı radyolar, bir baz istasyonu aradıklarında ve bir sinyal algılamadıklarında gücü artırır. Değerler aynı olabilir veya artan sinyal gücüyle azalabilir. Yalnızca bir değer sağlarsanız, tüm güçlü yönler için aynı değer kullanılır. İki değer sağlarsanız, birincisi sinyal yok için kullanılır, ikinci değer diğer tüm güçler için kullanılır vb.
bluetooth.denetleyici.idle Boştayken Bluetooth denetleyicisinin ortalama akım çekişi (mA). - Bu değerler tahmini değildir, ancak kontrolörün veri sayfasından alınmıştır. Birden fazla alma veya gönderme durumu varsa, bu durumların ortalaması alınır. Ayrıca, sistem artık Düşük Enerji (LE) ve Bluetooth taramaları için veri toplamaktadır.

Android 7.0 ve üzeri artık bluetooth.active (Bluetooth A2DP aracılığıyla ses çalarken kullanılır) ve bluetooth.on (Bluetooth açıkken ancak boştayken kullanılır) için Bluetooth güç değerlerini kullanmaz.
bluetooth.denetleyici.rx Alım sırasında Bluetooth denetleyicisinin ortalama akım çekişi (mA). -
bluetooth.denetleyici.tx İletim sırasında Bluetooth denetleyicisinin ortalama akım çekişi (mA). -
bluetooth.denetleyici.voltaj Bluetooth denetleyicisinin ortalama çalışma voltajı (mV). -
modem.denetleyici.uyku Modem denetleyicisinin uykudayken çektiği ortalama akım (mA). 0 mA Bu değerler tahmini değildir, ancak kontrolörün veri sayfasından alınmıştır. Birden fazla alma durumu varsa, bu durumların ortalaması alınır. Birden fazla iletim durumu varsa, Android 9'dan itibaren her iletim durumu için bir değer belirtmek desteklenir.
modem.denetleyici.idle Modem denetleyicisinin boştayken çektiği ortalama akım (mA). -
modem.denetleyici.rx Alırken modem denetleyicisinin çektiği ortalama akım (mA). -
modem.denetleyici.tx Modem denetleyicisinin farklı RF güç seviyelerinde iletim yaparken çektiği ortalama akım (mA). Bu, iletim gücü seviyesi başına bir değer içeren çok değerli bir giriştir. 100 mA, 200 mA, 300 mA, 400 mA, 500 mA
modem.denetleyici.voltaj Modem denetleyicisinin ortalama çalışma voltajı (mV). -
wifi.denetleyici.idle Boştayken Wi-Fi denetleyicisinin ortalama akım çekişi (mA). - Bu değerler tahmini değildir, ancak kontrolörün veri sayfasından alınmıştır. Birden fazla alma veya gönderme durumu varsa, bu durumların ortalaması alınır.
wifi.denetleyici.rx Alım sırasında Wi-Fi denetleyicisinin ortalama akım çekişi (mA). -
wifi.denetleyici.tx İletim sırasında Wi-Fi denetleyicisinin ortalama akım çekişi (mA). -
wifi.denetleyici.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'deki mA girişlerine karşılık gelmelidir.
işlemci boşta CPU'lar (ve SoC) sistem askıya alma durumundayken sistem tarafından çekilen toplam güç. 3 mA -
işlemci.uyanık CPU'lar zamanlama boşta durumundayken (çekirdek boşta döngü) kullanılan ek güç; sistem sistem askıya alma durumunda değil. 50mA Platformunuz, farklı güç tüketimi seviyeleriyle kullanımda olan birden fazla boşta 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ığı daha yüksek örnekleri atarak CPU'nun en düşük tüketimde olduğu örnekleri seçin.
cpu.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ıza sabitleyin. Girişlerin sayısı ve sırası, cpu.speeds'deki 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 mimarisine sahip cihazlar için gereklidir. 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üme0'daki CPU çekirdeği sayısını temsil eder, ikinci giriş küme1'deki CPU çekirdeği sayısını temsil eder vb.
pil kapasitesi mAh cinsinden toplam pil kapasitesi. 3000 mAh -

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

Android 7.0 çalıştıran cihazlarda sistem, Düşük Enerji (LE) taramaları ve Bluetooth ağ trafiği (RFCOMM ve L2CAP gibi) için veri toplar ve bu etkinlikleri başlatan uygulamayla ilişkilendirir. Bluetooth taramaları, taramayı başlatan uygulamayla ilişkilidir, ancak toplu taramalar değildir (ve bunun yerine Bluetooth uygulamasıyla ilişkilendirilir). N milisaniye tarama yapan bir uygulama 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.