Nhà sản xuất thiết bị phải cung cấp hồ sơ nguồn điện của 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 nguồn điện đang được thiết bị sử dụng và thực hiện các thao tác khác nhau thông tin cần thiết. Đo lường mức sử dụng điện trong các hoạt động đó và tính toán các giá trị (lấy ra sự khác biệt so với các cách sử dụng nguồn cơ sở khác khi phù hợp).
Vì mục tiêu của hồ sơ pin là ước tính mức tiêu hao pin một cách thích hợp, giá trị cấu hình nguồn được cung cấp theo dòng điện (amps). Khung Android nhân hiện tại với thời gian hệ thống phụ hoạt động và tính toán giá trị mAh, sau đó được dùng để ước tính lượng pin bị tiêu hao bởi ứng dụng hoặc hệ thống phụ.
Thiết bị có bộ điều khiển Bluetooth, modem và Wi-Fi chạy Android 7.0 và có thể cung cấp thêm giá trị công suất thu được từ dữ liệu bộ vi mạch.
Thiết bị có CPU không đồng nhất
Hồ sơ năng lượng của 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 (biểu thị bằng cpu.clusters.cores).
- Tốc độ CPU mà mỗi cụm hỗ trợ.
- Mức tiêu thụ điện năng CPU hiện tại 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à CPU được hỗ trợ tốc độ cho cụm, hãy thêm số cụm vào tên mảng. Cụm các số này được chỉ định theo thứ tự số lõi CPU trong cây thiết bị nhân. Cho ví dụ, trong một kiến trúc không đồng nhất có hai (2) cụm có bốn (4) lõi:
- cụm 0 chứa cpu0-3
- cụm 1 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 và tốc độ của cụm:
<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ị luỹ thừa
Bảng sau đây mô tả các chế độ cài đặt giá trị nguồn hiện có. Để xem tệp mẫu trong AOSP, hãy xem power_profile.xml.
Tên | Mô tả | Giá trị mẫu | Ghi chú |
---|---|---|---|
môi trường xung quanh.on | Nguồn điện bổ sung được sử dụng khi màn hình ở chế độ nghỉ/môi trường xung quanh/chế độ luôn bật thay vì tắt. | khoảng 100 mA | - |
màn hình bật | Lượng pin bổ sung tiêu thụ khi bật màn hình ở độ 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. Ở 0 độ sáng, Mức tối thiểu của Android thường là 10 hoặc 20%. |
screen.full | Lượng năng lượng tiêu thụ thêm 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) sẽ được thêm vào screen.on để tính toán mức sử dụng năng lượng của màn hình. |
Wi-Fi đang bật | Nguồn điện bổ sung được sử dụng khi Wi-Fi bật nhưng không nhận được, truyền hoặc quét. | 2 mA | - |
wifi.đang hoạt động | Nguồn điện bổ sung được sử dụng khi truyền hoặc nhận qua Wi-Fi. | 31 mA | - |
wifi.quét | Nguồn điện bổ sung được sử dụng khi Wi-Fi đang quét tìm điểm truy cập. | 100 mA | - |
âm thanh | Nguồn điện bổ sung được sử dụng khi giải mã/mã hoá âm thanh qua DSP. | khoảng 10 mA | Dùng cho âm thanh DSP. |
video | Nguồn điện bổ sung được sử dụng khi giải mã video qua DSP. | khoảng 50 mA | Dùng cho video DSP. |
camera.trung bình | Mức sử dụng pin trung bình mà hệ thống phụ của máy ảnh sử dụng cho một máy ảnh thông thường . | 600 mA | Dành cho nhu cầu ước tính sơ bộ cho một ứng dụng đang chạy bản xem trước và chụp khoảng 10 bức ảnh có độ phân giải đầy đủ mỗi phút. |
camera.flashlight | 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 | - |
dựa trên gps.signalquality | Nguồn điện bổ sung mà GPS sử dụng dựa trên cường độ tín hiệu. Đây là mục nhập nhiều giá trị, một thông số cho mỗi cường độ tín hiệu, từ yếu nhất đến mạnh nhất. | 30 mA, 10 mA | - |
CANNOT TRANSLATE | Nguồn điện bổ sung được sử dụng khi GPS đang thu 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 | Năng lượng bổ sung được sử dụng khi sóng di động được phân trang cho tháp. | 1,2 mA | - |
bật đài | Nguồn điện bổ sung được sử dụng khi bật đài di động. Đây là mục nhập nhiều giá trị, một 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ố đài phát có thể tăng công suất khi tìm trạm phát sóng nhưng lại không tăng công suất phát hiện một tín hiệu. Các giá trị có thể giữ nguyên hoặc giảm xuống khi tín hiệu tăng dần sức mạnh. Nếu bạn chỉ cung cấp một giá trị, thì giá trị đó sẽ được sử dụng cho tất cả điểm mạnh. Nếu bạn cung cấp hai giá trị, giá trị đầu tiên sẽ được dùng khi giá trị không có tín hiệu, giá trị giá trị thứ hai được sử dụng cho tất cả các điểm mạnh khác, v.v. |
bluetooth.controller.idle | Mức vẽ hiện tại trung bình (mA) của bộ điều khiển Bluetooth khi ở trạng thái rảnh. | - | Những 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, giá trị trung bình
trong số các trạng thái đó sẽ được sử dụng. Ngoài ra, hệ thống hiện thu thập dữ liệu cho
Quét tìm thiết bị Bluetooth và năng lượng thấp. Android Phiên bản 7.0 trở lên không còn sử dụng giá trị nguồn Bluetooth cho bluetooth.active (dùng khi phát âm thanh qua Bluetooth A2DP) và bluetooth.on (dùng khi Bluetooth đang bật nhưng ở trạng thái rảnh). |
bluetooth.controller.rx | Mức vẽ hiện tại trung bình (mA) của bộ điều khiển Bluetooth khi nhận. | - | |
bluetooth.điều khiển.tx | Dòng điện trung bình (mA) của bộ điều khiển Bluetooth khi truyền. | - | |
bluetooth.controller.voltage | Điện áp hoạt động trung bình (mV) của bộ điều khiển Bluetooth. | - | |
modem.điều khiển.ngủ | Dòng điện trung bình (mA) của bộ điều khiển modem khi ở chế độ ngủ. | 0 mA | Những giá trị này không được ước tính mà được lấy từ bảng dữ liệu của đơn vị kiểm soát. Nếu có nhiều trạng thái nhận dữ liệu, giá trị trung bình của các trạng thái đó sẽ được lấy. Nếu có nhiều trạng thái truyền, việc chỉ định giá trị cho mỗi trạng thái truyền được hỗ trợ kể từ Android 9. |
modem.controller.idle | Mức vẽ hiện tại trung bình (mA) của bộ điều khiển modem khi ở trạng thái rảnh. | - | |
modem.controller.rx | Dòng điện trung bình (mA) của bộ điều khiển modem khi nhận. | - | |
modem.controller.tx | Dòng điện trung bình (mA) của bộ điều khiển modem khi truyền ở mức công suất RF khác nhau cấp độ. Đây là mục có nhiều giá trị, trong đó 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.voltage | Điện áp hoạt động trung bình (mV) của bộ điều khiển modem. | - | |
wifi.điều khiển.idle | Mức vẽ hiện tại trung bình (mA) của bộ điều khiển Wi-Fi khi ở trạng thái rảnh. | - | Những 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, giá trị trung bình trong số các trạng thái đó sẽ được sử dụng. |
wifi.controller.rx | Mức vẽ hiện tại trung bình (mA) của bộ điều khiển Wi-Fi khi nhận. | - | |
wifi.điều khiển.tx | Dòng điện trung bình (mA) của bộ điều khiển Wi-Fi khi truyền. | - | |
wifi.điều khiển.đ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ột mục nhiều giá trị liệt kê mỗi tốc độ CPU có thể có theo KHz. | 125000 KHz, 250000 KHz, 500000 KHz, 1000000 KHz, 1500000 KHz | Số lượng và thứ tự của các mục phải tương ứng với các mục nhập mA trong cpu.active. |
cpu.idle | Tổng năng lượng do hệ thống tiêu thụ khi CPU (và SoC) nằm trong hệ thống trạng thái tạm ngưng. | 3 mA | - |
cpu.awake | Nguồn điện bổ sung được sử dụng khi CPU ở trạng thái lên lịch ở trạng thái rảnh (vòng lặp không hoạt động của nhân hệ điều hành); hệ thống không ở trạng thái tạm ngư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 các trạng thái khác nhau mức tiêu thụ điện năng; chọn trạng thái rảnh tiêu biểu trong thời gian dài hơn khoảng thời gian trình lập lịch biểu ở trạng thái rảnh (vài mili giây). Kiểm tra biểu đồ năng lượng đang bật thiết bị đo lường của bạn và chọn các mẫu có CPU ở mức thấp nhất mức tiêu thụ, loại bỏ các mẫu cao hơn khi CPU thoát khỏi trạng thái rảnh. |
cpu.active | Nguồn điện bổ sung mà 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ị biểu thị mức năng lượng mà đường dẫn CPU sử dụng khi chạy ở nhiều mức tốc độ. Đặt tốc độ tối đa trong nhân ở từng tốc độ và chốt cho phép CPU ở tốc độ đó. Số lượng và thứ tự của các mục tương ứng với số lượng và thứ tự của các mục trong cpu.speeds. |
cpu.clusters.cores | Số lõi trong mỗi cụm CPU. | 4, 2 | Chỉ bắt buộc đối với các thiết bị có CPU không đồng nhất . Số lượng mục nhập và đơn đặt hàng phải khớp với số lượng các 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ụm 0, mục thứ hai thể hiện số lượng lõi Các lõi CPU trong cụm 1, v.v. |
dung lượng pin | Tổng dung lượng pin tính bằng mAh. | 3000 mAh | - |
Quét tìm Bluetooth và năng lượng thấp (LE)
Đối với các thiết bị chạy Android 7.0, hệ thống sẽ thu thập dữ liệu về Năng lượng thấp (LE) quét và lưu lượng truy cập mạng Bluetooth (chẳng hạn như RFCOMM và L2CAP) và các liên kết các hoạt động này với ứng dụng khởi tạo. Có liên kết với quá trình quét tìm Bluetooth với ứng dụng đã bắt đầu quá trình quét, nhưng quét hàng loạt thì không (và được liên kết với ứng dụng Bluetooth). Đối với ứng dụng quét trong N mili giây, chi phí của 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 truy cập mạng hoặc ứng dụng Bluetooth.