قياس قيم الطاقة

يجب أن الشركات المصنعة للأجهزة توفير قوة الشخصية مكون في /frameworks/base/core/res/res/xml/power_profile.xml .

لتحديد قيم ملفات تعريف الطاقة ، استخدم الأجهزة التي تقيس الطاقة التي يستخدمها الجهاز وتنفيذ العمليات المختلفة التي تتطلب معلومات. قم بقياس استخدام الطاقة أثناء تلك العمليات وحساب القيم (اشتقاق الاختلافات من استخدامات الطاقة الأساسية الأخرى حسب الاقتضاء).

نظرًا لأن الهدف من ملف تعريف الطاقة هو تقدير استنزاف البطارية بشكل مناسب ، يتم إعطاء قيم ملف تعريف الطاقة بالتيار (أمبير). يضاعف إطار عمل Android التيار في الوقت الذي كان فيه النظام الفرعي نشطًا ويحسب قيمة mAh ، والتي تُستخدم بعد ذلك لتقدير مقدار البطارية المستنزفة بواسطة التطبيق / النظام الفرعي.

يمكن للأجهزة المزودة بوحدات تحكم Bluetooth والمودم والواي فاي التي تعمل بنظام Android 7.0 والإصدارات الأحدث توفير قيم طاقة إضافية يتم الحصول عليها من بيانات مجموعة الشرائح.

الأجهزة ذات وحدات المعالجة المركزية غير المتجانسة

يجب أن يتضمن ملف تعريف الطاقة للأجهزة التي تحتوي على أنوية CPU ذات بنية غير متجانسة الحقول الإضافية التالية:

  • عدد وحدات المعالجة المركزية (CPU) الإجمالية لكل مجموعة (معبرًا عنها بوحدة CPU.clusters.cores).
  • سرعات وحدة المعالجة المركزية التي تدعمها كل مجموعة.
  • استهلاك طاقة وحدة المعالجة المركزية النشط لكل مجموعة.

للتمييز بين استهلاك طاقة وحدة المعالجة المركزية النشط وسرعات وحدة المعالجة المركزية المدعومة للمجموعات ، قم بإلحاق رقم الكتلة باسم الصفيف. يتم تعيين أرقام الكتلة بترتيب نوى CPU في شجرة جهاز kernel. على سبيل المثال ، في بنية غير متجانسة تحتوي على مجموعتين (2) مع أربعة (4) نوى:

  • الكتلة 0 تتكون من cpu0-3
  • تتكون الكتلة 1 من وحدة المعالجة المركزية 4-7

يستخدم إطار الروبوت هذه الأرقام حدة المعالجة المركزية الأساسية عندما يقرأ احصاءات الصادرة عن sysfs الملفات في: /sys/devices/system/cpu/cpu<number>/cpufreq/stats .

مثال على وحدات المعالجة المركزية العنقودية والسرعات:

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

قيم القوة

يصف الجدول التالي إعدادات قيمة الطاقة المتاحة. لعرض ملف عينة في AOSP، انظر power_profile.xml .

اسم وصف قيمة المثال ملحوظات
المحيطة يتم استخدام الطاقة الإضافية عندما تكون الشاشة في وضع الغفوة / المحيط / التشغيل الدائم بدلاً من إيقاف التشغيل. حوالي 100 مللي أمبير -
الشاشة مفتوحة يتم استخدام الطاقة الإضافية عند تشغيل الشاشة بالحد الأدنى من السطوع. 200 مللي أمبير يشمل وحدة تحكم تعمل باللمس وإضاءة خلفية للشاشة. عند درجة سطوع 0 ، وليس الحد الأدنى لنظام Android الذي يميل إلى أن يكون 10 أو 20٪.
شاشة كاملة يتم استخدام الطاقة الإضافية عندما تكون الشاشة في أقصى سطوع ، مقارنةً بالشاشة عند الحد الأدنى من السطوع. 100 مللي أمبير - 300 مللي أمبير يتم إضافة جزء من هذه القيمة (بناءً على سطوع الشاشة) إلى قيمة الشاشة لحساب استخدام الطاقة للشاشة.
واي فاي يتم استخدام الطاقة الإضافية عند تشغيل Wi-Fi ولكن لا يتم الاستلام أو الإرسال أو المسح. 2 مللي أمبير -
واي فاي يتم استخدام طاقة إضافية عند الإرسال أو الاستقبال عبر شبكة Wi-Fi. 31 مللي أمبير -
wifi.scan يتم استخدام الطاقة الإضافية عند بحث Wi-Fi عن نقاط الوصول. 100 مللي أمبير -
صوتي يتم استخدام طاقة إضافية عند فك / تشفير الصوت عبر DSP. حوالي 10 مللي أمبير يستخدم لصوت DSP.
فيديو يتم استخدام طاقة إضافية عند فك تشفير الفيديو عبر DSP. حوالي 50 مللي أمبير تستخدم لفيديو DSP.
camera.avg متوسط ​​استخدام النظام الفرعي للكاميرا للطاقة لتطبيق كاميرا نموذجي. 600 مللي أمبير يُقصد به كتقدير تقريبي لتطبيق يقوم بتشغيل معاينة ويلتقط ما يقرب من 10 صور بدقة كاملة في الدقيقة.
الكاميرا متوسط ​​الطاقة المستخدمة بواسطة وحدة فلاش الكاميرا عند التشغيل. 200 مللي أمبير -
يعتمد على الجودة الطاقة الإضافية التي يستخدمها نظام تحديد المواقع العالمي (GPS) بناءً على قوة الإشارة. هذا مدخل متعدد القيم ، واحد لكل قوة إشارة ، من الأضعف إلى الأقوى. 30 مللي أمبير ، 10 مللي أمبير -
GPS.on يتم استخدام طاقة إضافية عندما يلتقط GPS إشارة. 50 مللي أمبير -
مشعة يتم استخدام الطاقة الإضافية عند إرسال / استقبال الراديو الخلوي. 100 مللي أمبير - 300 مللي أمبير -
راديو يتم استخدام الطاقة الإضافية عندما يقوم الراديو الخلوي باستدعاء البرج. 1.2 مللي أمبير -
راديو يتم استخدام طاقة إضافية عند تشغيل الراديو الخلوي. هذا إدخال متعدد القيم ، واحد لكل قوة إشارة (لا توجد إشارة ، ضعيف ، معتدل ، قوي). 1.2 مللي أمبير تعمل بعض أجهزة الراديو على تعزيز الطاقة عندما تبحث عن برج خلوي ولا تكتشف إشارة. يمكن أن تكون القيم هي نفسها أو تنقص مع زيادة قوة الإشارة. إذا قمت بتوفير قيمة واحدة فقط ، فسيتم استخدام نفس القيمة لجميع نقاط القوة. إذا قمت بتوفير قيمتين ، فسيتم استخدام الأولى لعدم وجود إشارة ، ويتم استخدام القيمة الثانية لجميع نقاط القوة الأخرى ، وهكذا.
bluetooth.controller.idle متوسط ​​السحب الحالي (مللي أمبير) لوحدة تحكم Bluetooth عند الخمول. - لم يتم تقدير هذه القيم ، ولكنها مأخوذة من ورقة بيانات وحدة التحكم. إذا كان هناك عدة حالات استقبال أو إرسال ، يتم أخذ متوسط ​​هذه الحالات. وبالإضافة إلى ذلك، فإن النظام يجمع الآن بيانات عن انخفاض الطاقة (LE) ويمسح بلوتوث .

لم يعد Android 7.0 والإصدارات الأحدث تستخدم قيم طاقة Bluetooth لـ bluetooth.active (تُستخدم عند تشغيل الصوت عبر Bluetooth A2DP) و bluetooth.on (تُستخدم عندما تكون Bluetooth قيد التشغيل ولكنها في وضع الخمول).
bluetooth.controller.rx متوسط ​​السحب الحالي (مللي أمبير) لوحدة تحكم Bluetooth عند الاستلام. -
bluetooth.controller.tx متوسط ​​السحب الحالي (مللي أمبير) لوحدة تحكم Bluetooth عند الإرسال. -
bluetooth.controller.voltage متوسط ​​جهد التشغيل (mV) لوحدة تحكم Bluetooth. -
modem.controller.sleep متوسط ​​السحب الحالي (مللي أمبير) لوحدة تحكم المودم عند النوم. 0 مللي أمبير لم يتم تقدير هذه القيم ، ولكنها مأخوذة من ورقة بيانات وحدة التحكم. إذا كانت هناك حالات استقبال متعددة ، فسيتم أخذ متوسط ​​هذه الحالات. في حالة وجود حالات إرسال متعددة ، يتم دعم تحديد قيمة لكل حالة إرسال بدءًا من Android 9.
modem.controller.idle متوسط ​​السحب الحالي (مللي أمبير) لوحدة تحكم المودم عند الخمول. -
modem.controller.rx متوسط ​​السحب الحالي (مللي أمبير) لوحدة تحكم المودم عند الاستلام. -
modem.controller.tx متوسط ​​السحب الحالي (مللي أمبير) لوحدة تحكم المودم عند الإرسال عند مستويات طاقة RF مختلفة. هذا إدخال متعدد القيم بقيمة واحدة لكل مستوى قدرة إرسال. 100 مللي أمبير ، 200 مللي أمبير ، 300 مللي أمبير ، 400 مللي أمبير ، 500 مللي أمبير
modem.controller.voltage متوسط ​​جهد التشغيل (بالسيارات) لوحدة تحكم المودم. -
wifi.controller.idle متوسط ​​السحب الحالي (مللي أمبير) لوحدة تحكم Wi-Fi عند الخمول. - لم يتم تقدير هذه القيم ، ولكنها مأخوذة من ورقة بيانات وحدة التحكم. إذا كان هناك عدة حالات استقبال أو إرسال ، يتم أخذ متوسط ​​هذه الحالات.
wifi.controller.rx متوسط ​​السحب الحالي (مللي أمبير) لوحدة تحكم Wi-Fi عند الاستلام. -
wifi.controller.tx متوسط ​​السحب الحالي (مللي أمبير) لوحدة تحكم Wi-Fi عند الإرسال. -
wifi.controller.voltage متوسط ​​جهد التشغيل (mV) لوحدة تحكم Wi-Fi. -
سرعة وحدة المعالجة المركزية هذا إدخال متعدد القيم يسرد كل سرعة ممكنة لوحدة المعالجة المركزية بالكيلو هرتز. 125000 كيلو هرتز ، 250000 كيلو هرتز ، 500000 كيلو هرتز ، 1000000 كيلو هرتز ، 1500000 كيلو هرتز يجب أن يتوافق عدد وترتيب الإدخالات مع إدخالات mA في cpu.active.
وحدة المعالجة المركزية إجمالي الطاقة التي يسحبها النظام عندما تكون وحدات المعالجة المركزية (و SoC) في حالة تعليق النظام. 3 مللي أمبير -
وحدة المعالجة المركزية. تنبيه الطاقة الإضافية المستخدمة عندما تكون وحدات المعالجة المركزية في حالة جدولة الخمول (حلقة نواة الخمول) ؛ النظام ليس في حالة تعليق النظام. 50 مللي أمبير قد تحتوي منصتك على أكثر من حالة خمول واحدة مع مستويات مختلفة من استهلاك الطاقة ؛ اختر حالة خمول تمثيلية لفترات أطول من خمول المجدول (عدة مللي ثانية). افحص الرسم البياني للطاقة على معدات القياس الخاصة بك واختر عينات حيث تكون وحدة المعالجة المركزية عند أدنى استهلاك لها ، وتجاهل العينات الأعلى حيث خرجت وحدة المعالجة المركزية من الخمول.
وحدة المعالجة المركزية طاقة إضافية تستخدمها وحدات المعالجة المركزية عند التشغيل بسرعات مختلفة. 100 مللي أمبير ، 120 مللي أمبير ، 140 مللي أمبير ، 160 مللي أمبير ، 200 مللي أمبير تمثل القيمة الطاقة المستخدمة بواسطة قضبان وحدة المعالجة المركزية عند التشغيل بسرعات مختلفة. عيّن السرعة القصوى في النواة لكل من السرعات المسموح بها وربط وحدة المعالجة المركزية بهذه السرعة. يتوافق عدد وترتيب الإدخالات مع عدد وترتيب الإدخالات في وحدة المعالجة المركزية (cpu.speeds).
cpu.clusters.cores عدد النوى التي تحتوي عليها كل مجموعة وحدة المعالجة المركزية. 4 ، 2 مطلوب فقط من أجل الأجهزة مع أبنية CPU غير متجانسة . يجب أن يتطابق عدد الإدخالات والترتيب مع عدد إدخالات الكتلة لكل من cpu.active و cpu.speeds. يمثل الإدخال الأول عدد أنوية وحدة المعالجة المركزية في الكتلة 0 ، ويمثل الإدخال الثاني عدد نوى وحدة المعالجة المركزية في المجموعة 1 ، وهكذا.
قدرة البطارية سعة البطارية الإجمالية ماه. 3000 مللي أمبير -

فحص الطاقة المنخفضة (LE) والبلوتوث

بالنسبة للأجهزة التي تعمل بنظام Android 7.0 ، يقوم النظام بجمع البيانات لعمليات المسح منخفضة الطاقة (LE) وحركة مرور شبكة Bluetooth (مثل RFCOMM و L2CAP) ويربط هذه الأنشطة بتطبيق البدء. ترتبط عمليات فحص Bluetooth بالتطبيق الذي بدأ الفحص ، ولكن عمليات المسح المجمعة ليست كذلك (بل ترتبط بدلاً من ذلك بتطبيق Bluetooth). بالنسبة إلى تطبيق مسح ضوئي لـ N مللي ثانية ، تكون تكلفة الفحص N مللي ثانية من وقت rx و N مللي ثانية من وقت tx ؛ يتم تعيين كل وقت التحكم المتبقي لحركة مرور الشبكة أو تطبيق Bluetooth.