מדידת ערכי הספק

יצרני התקנים חייבים לספק פרופיל כוח רכיב ב /frameworks/base/core/res/res/xml/power_profile.xml .

כדי לקבוע ערכים לפרופילי צריכת חשמל, השתמש בחומרה המודדת את ההספק בו משתמש המכשיר ובצע את הפעולות השונות שלשמן יש צורך במידע. מדוד את צריכת החשמל במהלך פעולות אלה וחשב את הערכים (הפקת הבדלים משימושי כוח בסיסיים אחרים בהתאם לצורך).

מכיוון שמטרתו של פרופיל הספק היא לאמוד את צריכת הסוללה כראוי, ערכי פרופיל ההספק ניתנים בזרם (אמפר). מסגרת האנדרואיד מכפילה את הזרם בזמן שלפיו תת -המערכת הייתה פעילה ומחשב את ערך mAh, המשמש לאחר מכן להערכת כמות הסוללה שרוקנה היישום/תת -המערכת.

התקנים עם בקרי Bluetooth, מודם ו- Wi-Fi שבהם פועל אנדרואיד 7.0 ומעלה יכולים לספק ערכי הספק נוספים המתקבלים מנתוני ערכת השבבים.

מכשירים עם מעבדים הטרוגניים

פרופיל ההספק למכשירים עם ליבות מעבד בארכיטקטורה הטרוגנית חייב לכלול את השדות הנוספים הבאים:

  • מספר כל המעבדים לכל אשכול (מבוטא ב- cpu.clusters.cores).
  • מהירויות מעבד נתמכות על ידי כל אשכול.
  • צריכת חשמל של מעבד פעיל לכל אשכול.

כדי להבדיל בין צריכת חשמל של מעבד פעיל לבין מהירויות מעבד נתמכות עבור אשכולות, צרף את מספר האשכול לשם המערך. מספרי אשכול מוקצים בסדר ליבות המעבד בעץ מכשיר הליבה. לדוגמה, בארכיטקטורה הטרוגנית שיש לה שני (2) אשכולות עם ארבע (4) ליבות:

  • cluster0 מורכב מ- cpu0-3
  • אשכול 1 מורכב מ- cpu4-7

המסגרת של Android משתמשת במספרים מעבד ליבה אלה כשזה קורא הסטטיסטיקה מן 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 .

שֵׁם תיאור ערך לדוגמה הערות
ambient.on הספק נוסף המשמש כשהמסך במצב דממה/סביבה/תמיד מופעל במקום כבוי. בסביבות 100 mA -
מסך דולק עוצמה נוספת המשמשת כאשר המסך מופעל בהירות מינימלית. 200 mA כולל בקר מגע ותאורה אחורית לתצוגה. בבהירות 0, לא המינימום של Android שנוטה להיות 10 או 20%.
מסך. מלא הספק נוסף המשמש כשהמסך בהירות מקסימלית, בהשוואה למסך בהירות מינימלית. 100 mA-300 mA חלק מערך זה (המבוסס על בהירות המסך) מתווסף לערך screen.on לחישוב צריכת החשמל של המסך.
wifi.on כוח נוסף המשמש כאשר Wi-Fi מופעל אך אינו מקבל, משדר או סורק. 2 mA -
wifi.active כוח נוסף המשמש בעת שידור או קבלה באמצעות Wi-Fi. 31 mA -
wifi.scan כוח נוסף המשמש כאשר Wi-Fi סורק אחר נקודות גישה. 100 mA -
שֶׁמַע כוח נוסף המשמש בעת פענוח/קידוד אודיו באמצעות DSP. בסביבות 10 mA משמש לאודיו DSP.
וִידֵאוֹ כוח נוסף המשמש לפענוח וידאו באמצעות DSP. בסביבות 50 mA משמש לסרטון DSP.
ממוצע מצלמה צריכת חשמל ממוצעת על ידי מערכת המשנה של המצלמה ליישום מצלמה טיפוסי. 600 mA מיועד כהערכה גסה לאפליקציה שמריצה תצוגה מקדימה ולוכדת בערך 10 תמונות ברזולוציה מלאה לדקה.
מצלמה. פנס הספק ממוצע בו משתמש מודול הבזק המצלמה כשהוא מופעל. 200 mA -
gps.signalquality מבוסס הספק נוסף המשמש את ה- GPS מבוסס על עוצמת האות. זהו ערך בעל ערך רב, אחד לכל עוצמת אות, מהחלש לחזק ביותר. 30 mA, 10 mA -
gps.on כוח נוסף המשמש כאשר ה- GPS רוכש אות. 50 mA -
רַדִיוֹאַקטִיבִי כוח נוסף המשמש כאשר רדיו סלולרי משדר/קולט. 100 mA-300 mA -
רדיו. סריקה כוח נוסף המשמש כאשר רדיו סלולרי מחפש את המגדל. 1.2 mA -
radio.on כוח נוסף המשמש כאשר הרדיו הסלולרי מופעל. זהו ערך בעל ערך רב, אחד לכל עוצמת האות (ללא אות, חלש, בינוני, חזק). 1.2 mA מכשירי רדיו מסוימים מגבירים את הכוח כאשר הם מחפשים מגדל תאים ואינם מזהים אות. ערכים יכולים להיות זהים או לרדת עם הגברת חוזק האות. אם אתה מספק ערך אחד בלבד, אותו ערך משמש לכל נקודות החוזק. אם אתה מספק שני ערכים, הראשון משמש לאי-אות, הערך השני משמש לכל שאר נקודות החוזק וכן הלאה.
bluetooth.controller.idle משיכה הנוכחית הממוצעת (mA) של בקר ה- Bluetooth כאשר היא לא פעילה. - ערכים אלה אינם נאמדים, אך נלקחים מגליון הנתונים של הבקר. אם יש מספר מדינות קבלה או שידור, הממוצע של אותן מצבים נלקח. בנוסף, המערכת עכשיו אוספת נתונים עבור Low Energy (LE) וסריקות Bluetooth .

אנדרואיד 7.0 ואילך כבר לא משתמשים בערכי הספק של Bluetooth עבור bluetooth.active (בשימוש בעת הפעלת שמע באמצעות Bluetooth A2DP) ו- bluetooth.on (בשימוש כאשר Bluetooth פועל אך אינו פעיל).
bluetooth.controller.rx ציור זרם ממוצע (mA) של בקר ה- Bluetooth בעת הקבלה. -
bluetooth.controller.tx מתיחת זרם ממוצעת (mA) של בקר ה- Bluetooth בעת שידור. -
bluetooth.controller.voltage מתח הפעלה ממוצע (mV) של בקר ה- Bluetooth. -
modem.controller.sleep ציור זרם ממוצע (mA) של בקר המודם כשהוא ישן. 0 mA ערכים אלה אינם נאמדים, אך נלקחים מגליון הנתונים של הבקר. אם יש מספר מצבי קבלה, הממוצע של אותן מדינות נלקח. אם יש מספר מצבי שידור, נתמך ציון ערך לכל מצב שידור החל מ- Android 9.
modem.controller.idle מתיחת זרם ממוצעת (mA) של בקר המודם כשהוא לא פעיל. -
modem.controller.rx מתיחת זרם ממוצעת (mA) של בקר המודם בעת קבלה. -
modem.controller.tx מתיחת זרם ממוצעת (mA) של בקר המודם בעת שידור ברמות עוצמה שונות של RF. זהו ערך בעל ערך רב עם ערך אחד לרמת הספק שידור. 100 mA, 200 mA, 300 mA, 400 mA, 500 mA
modem.controller.voltage מתח הפעלה ממוצע (mV) של בקר המודם. -
wifi.controller.idle משיכה הנוכחית הממוצעת (mA) של בקר ה- Wi-Fi כשהיא פעילה. - ערכים אלה אינם נאמדים, אך נלקחים מגליון הנתונים של הבקר. אם יש מספר מדינות קבלה או שידור, הממוצע של אותן מצבים נלקח.
wifi.controller.rx ציור זרם ממוצע (mA) של בקר ה- Wi-Fi בעת קבלה. -
wifi.controller.tx מתיחת זרם ממוצעת (mA) של בקר ה- Wi-Fi בעת שידור. -
wifi.controller.voltage מתח הפעלה ממוצע (mV) של בקר ה- Wi-Fi. -
מהירות המעבד זהו ערך בעל ערך רב המפרט כל מהירות מעבד אפשרית ב- KHz. 125000 KHz, 250000 KHz, 500000 KHz, 1000000 KHz, 1500000 KHz מספר וסדר הערכים חייב להתאים לערכי mA ב- cpu.active.
cpu.idle הספק הכולל שנמשך על ידי המערכת כאשר מעבדים (ו- SoC) נמצאים במצב השעיית מערכת. 3 mA -
cpu.awake כוח נוסף המשמש כאשר מעבדים נמצאים במצב תזמון סרק (לולאת סרק ליבה); המערכת אינה במצב השעיית מערכת. 50 mA לפלטפורמה שלך יש יותר ממצב סרק אחד בשימוש עם רמות צריכת חשמל שונות; בחר מצב סרק מייצג לתקופות ארוכות יותר של סרק מתזמן (מספר אלפיות השנייה). בחן את גרף ההספק בציוד המדידה שלך ובחר דוגמאות בהן המעבד נמצא בצריכה הנמוכה ביותר שלו, וזרק דגימות גבוהות יותר היכן שהמעבד יצא סרק.
cpu.active הספק נוסף המשמש את המעבדים בעת הפעלה במהירויות שונות. 100 mA, 120 mA, 140 mA, 160 mA, 200 mA ערך מייצג את העוצמה המשמשת את מסילות המעבד בעת הפעלה במהירויות שונות. הגדר את המהירות המרבית בגרעין לכל אחת מהמהירויות המותרות והצמד את המעבד במהירות זו. מספר וסדר הערכים תואמים את מספר וסדר הערכים ב- cpu.speeds.
cpu.clusters.cores מספר הליבות שכל אשכול מעבד מכיל. 4, 2 נדרש רק עבור מכשירים עם ארכיטקטורות CPU הטרוגנית . מספר הערכים והסדר צריכים להתאים למספר ערכי האשכול עבור המהירות cpu.active ו- cpu.speeds. הערך הראשון מייצג את מספר ליבות המעבד באשכול 0, הערך השני מייצג את מספר ליבות המעבד באשכול 1 וכן הלאה.
קיבולת סוללה קיבולת הסוללה הכוללת ב- mAh. 3000 מיליאמפר / שעה -

סריקות Low Energy (LE) ו- Bluetooth

עבור מכשירים שבהם פועל אנדרואיד 7.0, המערכת אוספת נתונים עבור סריקות נמוכות (LE) ותעבורת רשת בלוטות '(כגון RFCOMM ו- L2CAP) ומשייכת פעילויות אלה ליישום היזום. סריקות Bluetooth משויכות ליישום שיזם את הסריקה, אך סריקות אצווה אינן (אלא משויכות ליישום Bluetooth). עבור יישום הסורק עבור N אלפיות השנייה, עלות הסריקה היא N מילישניות של זמן rx ו- N אלפיות השנייה של tx; כל זמן הבקר שנותר מוקצה לתעבורת רשת או ליישום Bluetooth.