Đo giá trị công suất

Các nhà sản xuất thiết bị phải cung cấp cấu hình nguồn thành phần trong /frameworks/base/core/res/res/xml/power_profile.xml .

Để xác định giá trị cho cấu hình nguồn, hãy sử dụng phần cứng đo công suất mà thiết bị đang sử dụng và thực hiện các thao tác khác nhau cần có thông tin. Đo mức sử dụng năng lượng trong các hoạt động đó và tính toán các giá trị (tìm ra sự khác biệt so với mức sử dụng năng lượng cơ bản khác nếu phù hợp).

Vì mục tiêu của cấu hình nguồn là ước tính mức tiêu hao pin một cách thích hợp nên các giá trị cấu hình nguồn được đưa ra dưới dạng dòng điện (ampe). Khung Android nhân dòng điện với thời gian hệ thống con hoạt động và tính toán giá trị mAh, sau đó được sử dụng để ước tính lượng pin mà ứng dụng/hệ thống con tiêu hao.

Các thiết bị có bộ điều khiển Bluetooth, modem và Wi-Fi chạy Android 7.0 trở lên có thể cung cấp các giá trị năng lượng bổ sung thu được từ dữ liệu chipset.

Các thiết bị có CPU không đồng nhất

Cấu hình nguồn cho các thiết bị có lõi CPU có kiến ​​trúc không đồng nhất phải bao gồm các trường bổ sung sau:

  • Tổng số CPU cho mỗi cụm (được biểu thị bằng cpu.clusters.cores).
  • Tốc độ CPU được hỗ trợ bởi mỗi cụm.
  • Tiêu thụ năng lượng CPU hoạt động cho mỗi cụm.

Để phân biệt giữa mức tiêu thụ điện năng của CPU đang hoạt động và tốc độ CPU được hỗ trợ cho các cụm, hãy thêm số cụm vào tên của mảng. Số cụm được gán theo thứ tự lõi CPU trong cây thiết bị hạt nhân. Ví dụ: trong một kiến ​​trúc không đồng nhất có hai (2) cụm với bốn (4) lõi:

  • cluster0 bao gồm cpu0-3
  • cluster1 bao gồm cpu4-7

Khung Android sử dụng các số lõi CPU này khi đọc số liệu thống kê từ các tệp sysfs trong: /sys/devices/system/cpu/cpu<number>/cpufreq/stats .

Ví dụ về CPU cụm và tốc độ:

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

Giá trị năng lượng

Bảng sau mô tả các cài đặt giá trị nguồn có sẵn. Để xem tệp mẫu trong AOSP, hãy xem power_profile.xml .

Tên Sự miêu tả Giá trị mẫu Ghi chú
môi trường xung quanh.on Nguồn bổ sung được sử dụng khi màn hình ở chế độ ngủ đông/môi trường xung quanh/luôn bật thay vì tắt. khoảng 100 mA -
màn hình.on Nguồn bổ sung được sử dụng khi màn hình được bật ở độ sáng tối thiểu. 200 mA Bao gồm bộ điều khiển cảm ứng và đèn nền màn hình. Ở độ sáng 0, không phải mức tối thiểu của Android, có xu hướng là 10 hoặc 20%.
màn hình.full Năng lượng bổ sung được sử dụng khi màn hình ở độ sáng tối đa, so với màn hình ở độ sáng tối thiểu. 100 mA-300 mA Một phần của giá trị này (dựa trên độ sáng màn hình) được thêm vào giá trị screen.on để tính mức sử dụng năng lượng của màn hình.
wifi.on Nguồn điện bổ sung được sử dụng khi Wi-Fi được bật nhưng không nhận, truyền hoặc quét. 2 mA -
wifi.active Nguồn bổ sung được sử dụng khi truyền hoặc nhận qua Wi-Fi. 31 mA -
wifi.scan Nguồn điện bổ sung được sử dụng khi Wi-Fi đang quét các điểm truy cập. 100 mA -
âm thanh Nguồn bổ sung được sử dụng khi giải mã/mã hóa âm thanh qua DSP. khoảng 10 mA Được sử dụng cho âm thanh DSP.
băng hình Nguồn bổ sung được sử dụng khi giải mã video qua DSP. khoảng 50 mA Được sử dụng cho video DSP.
máy ảnh.avg Mức sử dụng năng lượng trung bình của hệ thống con camera cho một ứng dụng camera thông thường. 600 mA Mục đích là ước tính sơ bộ cho một ứng dụng chạy bản xem trước và chụp khoảng 10 ảnh có độ phân giải đầy đủ mỗi phút.
máy ảnh.đèn pin Công suất trung bình mà mô-đun đèn flash của máy ảnh sử dụng khi bật. 200 mA -
gps.signalqualitybased Năng lượng bổ sung được GPS sử dụng dựa trên cường độ tín hiệu. Đây là mục nhập có nhiều giá trị, mỗi giá trị cho mỗi cường độ tín hiệu, từ yếu nhất đến mạnh nhất. 30 mA, 10 mA -
gps.on Năng lượng bổ sung được sử dụng khi GPS thu được tín hiệu. 50 mA -
radio.active Nguồn điện bổ sung được sử dụng khi truyền/nhận sóng vô tuyến di động. 100 mA-300 mA -
radio.scanning Nguồn điện bổ sung được sử dụng khi đài phát thanh di động đang nhắn tin cho tòa tháp. 1,2 mA -
đài phát thanh.on Nguồn điện bổ sung được sử dụng khi sóng di động được bật. Đây là mục nhập có nhiều giá trị, mỗi giá trị cho mỗi cường độ tín hiệu (không có tín hiệu, yếu, trung bình, mạnh). 1,2 mA Một số bộ đàm tăng công suất khi tìm kiếm tháp di động và không phát hiện thấy tín hiệu. Các giá trị có thể bằng hoặc giảm khi cường độ tín hiệu tăng. Nếu bạn chỉ cung cấp một giá trị thì giá trị đó sẽ được sử dụng cho tất cả các điểm mạnh. Nếu bạn cung cấp hai giá trị, giá trị đầu tiên được sử dụng cho không có tín hiệu, giá trị thứ hai được sử dụng cho tất cả các cường độ khác, v.v.
bluetooth.controller.idle Mức rút dòng điện trung bình (mA) của bộ điều khiển Bluetooth khi không hoạt động. - Các giá trị này không được ước tính mà được lấy từ bảng dữ liệu của bộ điều khiển. Nếu có nhiều trạng thái nhận hoặc truyền thì lấy trung bình của các trạng thái đó. Ngoài ra, hệ thống hiện còn thu thập dữ liệu để quét Năng lượng thấp (LE) và Bluetooth .

Android 7.0 trở lên không còn sử dụng các giá trị nguồn Bluetooth cho bluetooth.active (được sử dụng khi phát âm thanh qua Bluetooth A2DP) và bluetooth.on (được sử dụng khi Bluetooth bật nhưng không hoạt động).
bluetooth.controller.rx Mức rút dòng điện trung bình (mA) của bộ điều khiển Bluetooth khi nhận. -
bluetooth.controller.tx Dòng điện rút ra trung bình (mA) của bộ điều khiển Bluetooth khi truyền. -
bluetooth.controller.volt Điện áp hoạt động trung bình (mV) của bộ điều khiển Bluetooth. -
modem.controller.sleep Dòng điện rút ra trung bình (mA) của bộ điều khiển modem khi ở chế độ ngủ. 0 mA Các giá trị này không được ước tính mà được lấy từ bảng dữ liệu của bộ điều khiển. Nếu có nhiều trạng thái nhận thì lấy trung bình của các trạng thái đó. Nếu có nhiều trạng thái truyền, việc chỉ định giá trị cho từng trạng thái truyền sẽ được hỗ trợ bắt đầu từ Android 9.
modem.controller.idle Dòng điện rút ra trung bình (mA) của bộ điều khiển modem khi không hoạt động. -
modem.controller.rx Dòng điện rút ra trung bình (mA) của bộ điều khiển modem khi nhận. -
modem.controller.tx Dòng điện rút ra trung bình (mA) của bộ điều khiển modem khi truyền ở các mức công suất RF khác nhau. Đây là mục nhập có nhiều giá trị với một giá trị cho mỗi mức công suất phát. 100 mA, 200 mA, 300 mA, 400 mA, 500 mA
modem.controller.điện áp Điện áp hoạt động trung bình (mV) của bộ điều khiển modem. -
wifi.controll.idle Dòng điện rút ra trung bình (mA) của bộ điều khiển Wi-Fi khi không hoạt động. - Các giá trị này không được ước tính mà được lấy từ bảng dữ liệu của bộ điều khiển. Nếu có nhiều trạng thái nhận hoặc truyền thì lấy trung bình của các trạng thái đó.
wifi.controll.rx Dòng điện rút ra trung bình (mA) của bộ điều khiển Wi-Fi khi nhận. -
wifi.controll.tx Dòng điện rút ra trung bình (mA) của bộ điều khiển Wi-Fi khi truyền. -
wifi.controller.điện áp Điện áp hoạt động trung bình (mV) của bộ điều khiển Wi-Fi. -
cpu.speeds Đây là mục nhập có nhiều giá trị liệt kê từng tốc độ CPU có thể có tính bằng KHz. 125000 KHz, 250000 KHz, 500000 KHz, 1000000 KHz, 1500000 KHz Số lượng và thứ tự các mục phải tương ứng với các mục mA trong cpu.active.
cpu.idle Tổng công suất mà hệ thống tiêu thụ khi CPU (và SoC) ở trạng thái tạm dừng hệ thống. 3 mA -
cpu.awake Nguồn điện bổ sung được sử dụng khi CPU ở trạng thái không hoạt động theo lịch trình (vòng lặp nhàn rỗi của hạt nhân); hệ thống không ở trạng thái tạm dừng hệ thống. 50 mA Nền tảng của bạn có thể có nhiều trạng thái không hoạt động đang được sử dụng với mức tiêu thụ điện năng khác nhau; chọn trạng thái không hoạt động đại diện cho thời gian không hoạt động của bộ lập lịch lâu hơn (vài mili giây). Kiểm tra biểu đồ công suất trên thiết bị đo lường của bạn và chọn các mẫu trong đó CPU có mức tiêu thụ thấp nhất, loại bỏ các mẫu cao hơn trong đó CPU không hoạt động.
cpu.active Nguồn điện bổ sung được CPU sử dụng khi chạy ở các tốc độ khác nhau. 100 mA, 120 mA, 140 mA, 160 mA, 200 mA Giá trị thể hiện công suất được sử dụng bởi các đường ray CPU khi chạy ở các tốc độ khác nhau. Đặt tốc độ tối đa trong kernel theo từng tốc độ được phép và cố định CPU ở tốc độ đó. Số lượng và thứ tự các mục tương ứng với số lượng và thứ tự các mục trong cpu.speeds.
cpu.clusters.cores Số lõi mỗi cụm CPU chứa. 4, 2 Chỉ bắt buộc đối với các thiết bị có kiến ​​trúc CPU không đồng nhất . Số mục và thứ tự phải khớp với số mục nhập cụm cho cpu.active và cpu.speeds. Mục nhập đầu tiên biểu thị số lõi CPU trong cụm0, mục nhập thứ hai biểu thị số lõi CPU trong cụm1, v.v.
dung lượng pin Tổng dung lượng pin tính bằng mAh. 3000 mAh -

Quét năng lượng thấp (LE) và Bluetooth

Đối với các thiết bị chạy Android 7.0, hệ thống sẽ thu thập dữ liệu về các lần quét Năng lượng thấp (LE) và lưu lượng truy cập mạng Bluetooth (chẳng hạn như RFCOMM và L2CAP) và liên kết các hoạt động này với ứng dụng khởi tạo. Quét Bluetooth được liên kết với ứng dụng đã bắt đầu quét nhưng quét hàng loạt thì không (và thay vào đó được liên kết với ứng dụng Bluetooth). Đối với quá trình quét ứng dụng trong N mili giây, chi phí quét là N mili giây thời gian rx và N mili giây thời gian tx; tất cả thời gian còn lại của bộ điều khiển được gán cho lưu lượng mạng hoặc ứng dụng Bluetooth.