Примечание
Для доступа к этой странице требуется авторизация. Вы можете попробовать войти или изменить каталоги.
Для доступа к этой странице требуется авторизация. Вы можете попробовать изменить каталоги.
Ожидается, что платформы Windows будут предоставлять свои устройства батареи и адаптеры переменного тока во встроенном ПО через ACPI, используя стандартизированные интерфейсы методов управления, как описано в спецификации ACPI.
Каждая мобильная платформа Windows должна иметь один источник питания и одну или несколько батарей. Сведения из этих подсистем используются для передачи состояния питания пользователю. Это состояние включает в себя такие сведения, как сведения о том, работает ли платформа от питания переменного тока или постоянного тока, уровень заряда для каждой батареи и состояние зарядки батареи. Диспетчер питания Windows объединяет эти сведения и делает их доступными для счетчика батареи Windows и других компонентов управления питанием.
В этом разделе описывается, как платформа должна предоставлять сведения о подсистеме питания диспетчеру управления питанием Windows. Дополнительные сведения см. в главе 10, Устройства с источником питания в спецификации ACPI.
Примечание
Некоторые сведения, описанные в этой статье, относятся к Windows и не подробно описаны в последней спецификации ACPI.
Объект источника питания ACPI
Встроенное ПО ACPI должно предоставлять и реализовывать одно устройство источника питания ACPI в разделе 10.3 спецификации ACPI. Этот объект должен сообщать о себе с идентификатором оборудования (_HID) acPI0003.
Примечание Для систем с несколькими источниками питания все физические источники питания должны быть мультиплексированы через один объект устройства питания в ACPI. Этот объект должен представлять составное состояние входных данных питания для системы. Клиентские системы не должны предоставлять несколько объектов устройств источника питания. (В серверных системах с несколькими источниками питания могут присутствовать дополнительные объекты источника питания.)
Этот объект также должен реализовывать метод Power Source (_PSR). Этот метод возвращает состояние источника питания и сообщает, находится ли источник питания в режиме "в сети" (питание переменного тока) или в автономном режиме (питание от батареи). Метод _PSR должен сообщать о сети (питание переменного тока), только если система подключена к main энергопотреблению. При изменении состояния _PSR платформа должна создать прерывание и команду Notify(0x80) на устройстве в пространстве имен ACPI. Это необходимо выполнить сразу после того, как платформа обнаружит изменение физического состояния.
Методы управления батареей ACPI
Встроенное ПО ACPI должно предоставлять и реализовывать объект метода управления ACPI для каждой батареи в системе в соответствии с разделом 10.2 спецификации ACPI. Каждое устройство батареи должно выполнять все указанные ниже действия.
- Идентифицируйте себя с помощью идентификатора оборудования (_HID) "PNP0C0A".
- Реализуйте метод Status (_STA), чтобы указать, что устройство включено, отключено или отсутствует.
- Отчеты о статических сведениях с помощью расширенного метода сведений о батарее (_BIX).
- Сообщите о состоянии батареи с помощью метода управления Состояние батареи (_BST).
- Поддержка событий уровня заряда с помощью механизма точки поездки батареи (_BTP).
При необходимости устройство батареи может реализовать номер единицы слота (_SUN) или указать порядок заряда батареи для отображения в пользовательском интерфейсе.
В следующем обсуждении представлены подробные сведения об этих методах и описаны их требования для Windows.
Реализация ACPI статических сведений о батарее
Встроенное ПО ACPI должно реализовать метод _BIX для каждой батареи, чтобы предоставить статические сведения о батарее, включая проектную емкость, число циклов и серийный номер. В следующей таблице подробно описаны определения полей, описанные в разделе 10.2.2 спецификации ACPI, и перечислены требования к этим сведениям для Windows.
Разделы | Описание | Требования, относящиеся к Windows |
---|---|---|
Редакция | Указывает _BIX редакцию. | Должно быть задано значение 0x0. |
Блок питания | Определяет, являются ли единицы измерения, сообщаемые оборудованием, миллиамперами и миллиамперами или милливатт-часами. | Необходимо задать значение 0x0, чтобы указать, что единицы измерения — милливатты и милливатт-часы. Это значение не должно изменяться во время выполнения. |
Проектная емкость | Указывает исходную емкость аккумулятора в милливатт-часах. | Должно быть задано точное значение и не может быть задано значение 0x0 или 0xFFFFFFFF. Это значение не должно изменяться во время выполнения. |
Последний полный заряд батареи | Указывает текущую полную емкость заряда батареи. | Должно быть задано точное значение и не может быть задано значение 0x0 или 0xFFFFFFFF. Это значение должно обновляться при каждом увеличении количества циклов времени. Это значение должно оставаться постоянным при разрядке батареи. Рекомендуется обновлять это значение, только когда батарея достигает полной зарядки. |
Технология аккумулятора | Указывает, является ли аккумулятор перезаряжаемым или одноразовым. | Необходимо задать значение 0x1, чтобы указать, что аккумулятор можно перезаряжать. |
Конструктор напряжения | Указывает конструктивное напряжение батареи. | Должно быть задано конструктивное напряжение батареи при новых значениях в милливольтах. Не должно быть задано значение 0x0 или 0xFFFFFFFF. Это значение не должно изменяться во время выполнения. |
Проектная емкость предупреждения | Указывает уровень предупреждения о низком уровне заряда батареи, предоставленном изготовителем оборудования. | Windows игнорирует это значение. |
Проектная емкость с низким значением | Указывает критический уровень заряда батареи, при котором Windows должна немедленно завершить работу или выполнить режим гибернации перед выключением системы. | Для параметра должно быть задано значение от 0 до 5 процентов от проектной емкости аккумулятора. |
Степень детализации емкости аккумулятора 1 | Указывает минимальное изменение оставшихся расходов, которое может быть обнаружено оборудованием между проектной емкостью предупреждения и проектной мощностью низкой. | Для параметра должно быть задано значение, не превышающее 1 процент от проектной емкости аккумулятора. |
Степень детализации емкости аккумулятора 2 | Указывает минимальное изменение оставшейся платы, которое может быть обнаружено оборудованием между последней полной емкостью заряда и проектной емкостью предупреждения. | Должно быть задано значение не более 75 милливатт (приблизительно 0,25 % от 25 ватт-часовой батареи). (1/400) проектной емкости аккумулятора. |
Число циклов | Указывает количество циклов батареи. Значение должно быть больше 0x0. | Не должно быть задано значение 0xFFFFFFFF. |
Точность измерения | Указывает точность измерения емкости батареи. | Должно быть задано значение 95 000 или выше, что указывает на точность 95 процентов или выше. |
Максимальное время выборки | Максимальное поддерживаемое время выборки между двумя последовательными _BST вычислений, которое показывает разницу в оставшейся емкости. | Никаких конкретных требований. |
Минимальное время выборки | Минимальное поддерживаемое время выборки между двумя последовательными оценками _BST, которое показывает разницу в оставшейся емкости. | Никаких конкретных требований. |
Максимальный интервал усреднения | Максимальный интервал усреднения в миллисекундах, поддерживаемый датчиком топлива батареи. | Никаких конкретных требований. |
Минимальный интервал усреднения | Минимальный интервал усреднения в миллисекундах, поддерживаемый датчиком топлива батареи. | Никаких конкретных требований. |
Номер модели | Номер модели батареи, предоставленный OEM. | Не должно иметь значение NULL. |
Серийный номер | Серийный номер батареи, предоставленный изготовителем оборудования. | Не должно иметь значение NULL. |
Тип батареи | Сведения о типе батареи, предоставляемые изготовителем оборудования. | Никаких конкретных требований. |
Сведения о изготовителе оборудования | Информация, предоставляемая изготовителем оборудования. | Никаких конкретных требований. |
В дополнение к этим требованиям встроенное ПО платформы должно создавать прерывание и команду Notify(0x81) на устройстве батареи в пространстве имен ACPI при изменении каких-либо данных о состоянии батареи в _BIX. Сюда входит последняя полная емкость заряда, проектная емкость и количество циклов. Это должно быть выполнено сразу после обнаружения изменения состояния платформой.
Последняя полная емкость заряда представляет предполагаемое количество энергии, которую аккумулятор, как ожидается, будет храниться при последней полной зарядке батареи. В Windows предполагается, что это значение обновляется только при зарядке батареи. Таким образом, последнее значение полной емкости заряда не должно изменяться во время разрядки батареи. Рекомендуется обновлять его только при достижении полной зарядки батареи.
Реализация ACPI сведений о состоянии батареи в режиме реального времени
Встроенное ПО ACPI должно реализовать метод _BST для каждой батареи, чтобы предоставлять сведения о состоянии батареи в режиме реального времени, включая оставшуюся емкость и текущую скорость стока. В следующей таблице подробно рассматриваются определения полей, описанные в разделе 10.2.2.6 спецификации ACPI, и перечислены требования к этим сведениям для Windows.
Разделы | Описание | Требования, относящиеся к Windows |
---|---|---|
Состояние батареи | Указывает, заряжается ли батарея, разряжается или находится в критическом состоянии. | Состояние батареи должно сообщать о зарядке, только если аккумулятор заряжается. Аналогичным образом, состояние батареи должно сообщать о разрядке только в том случае, если батарея разрядится. Аккумулятор, который не заряжается и не разряжается, не должен сообщать ни о бите. |
Частота заряда батареи | Обеспечивает текущую скорость стока в милливаттах от батареи. | Значение должно быть больше 0x0 и меньше 0xFFFFFFFF. Должен быть точным в пределах значения Точности измерения в _BIX. |
Оставшаяся емкость батареи | Обеспечивает оставшуюся емкость батареи в милливатт-часах. | Значение должно быть больше 0x0 и меньше 0xFFFFFFFF. Должен быть точным в пределах значения Точности измерения в _BIX. |
Напряжение заряда батареи | Указывает текущее напряжение на клеммах батареи. | Значение должно находиться в диапазоне от 0x0 до 0xFFFFFFFF в милливольтах. |
При изменении каких-либо данных в _BST платформа должна создать прерывание и notify(0x80) на устройстве батареи в пространстве имен ACPI. Это необходимо выполнить сразу после обнаружения изменения физического состояния платформой. Сюда входит любое изменение в поле Состояние батареи для разряда зарядки (Bit0) или разряда (Bit1).
Кроме того, платформа должна реализовать _BTP-Battery Trip Point-method. _BTP позволяет Windows указать оставшийся порог емкости, который при превышении приводит к тому, что платформа создает прерывание и уведомление (0x80) на устройстве батареи в пространстве имен ACPI. Метод _BTP не позволяет Windows периодически опрашивать батарею.
Методы управления аккумулятором для ос Windows
Спецификация ACPI предоставляет методы управления для конкретного устройства и операционной системы с помощью метода Device-Specific или _DSM. _DSM описано в разделе 9.14.1 спецификации ACPI.
Windows 8 поддерживает следующие методы _DSM для устройств Control Method Battery.
Направление скорости теплового заряда
Разделы | Значение | Описание |
---|---|---|
UUID | 4c2067e3-887d-475c-9720-4af1d3ed602e | GUID, указывающий расширения для поддержки драйвера батареи метода управления Windows. |
Идентификатор редакции | 0 | Первая редакция этой возможности. |
Индекс функции | 0x1 | Установите регулирование заряда батареи. |
Аргументы | Предел температуры | Целочисленное значение от 0 до 100, указывающее предел теплового заряда. Значение 40 процентов указывает, что батарея должна быть заряжена на 40 процентов от максимальной скорости. Значение 0 процентов указывает на то, что зарядка батареи должна быть остановлена до тех пор, пока этот метод не будет вызван снова. |
Возвращаемые значения | Нет | Н/Д |
Обслуживаемый пользователем аккумулятор
Разделы | Значение | Описание |
---|---|---|
UUID | 4c2067e3-887d-475c-9720-4af1d3ed602e | GUID, указывающий расширения для поддержки драйвера батареи метода управления Windows. |
Идентификатор редакции | 0 | Первая редакция этой возможности. |
Индекс функции | 0x2 | Указывает, что это _DSM для OSPM, чтобы определить, является ли устройство батареи пригодным для обслуживания пользователя. |
Аргументы | None | Аргументы не требуются. |
Возвращаемые значения | Пакет, содержащий одно целое число. | 0x0, если батарея не поддерживает обслуживание пользователя и не может быть заменена конечным пользователем или может быть заменена конечным пользователем с помощью дополнительных инструментов. 0x1, если батарея может быть заменена конечным пользователем без дополнительных инструментов. |
Требуется зарядка сторожевой
Разделы | Значение | Описание |
---|---|---|
UUID | 4c2067e3-887d-475c-9720-4af1d3ed602e | GUID, указывающий расширения для поддержки драйвера батареи метода управления Windows. |
Идентификатор редакции | 0 | Первая редакция этой возможности. |
Индекс функции | 0x3 | Указывает, что этот _DSM для OSPM, чтобы определить, требуется ли периодический сброс сторожевой батареи для поддержания высокой текущей зарядки и период, в который необходимо сбросить сторожевой модуль. |
Аргументы | None | Аргументы не требуются. |
Возвращаемые значения | Пакет, содержащий одно целое число. | 0x0, если аккумулятор не требует обслуживания сторожевой. Значения, включая 0x0000001e и 0x12C указывают максимальный интервал проверки в секундах. Все остальные значения игнорируются и обрабатываются как 0x0, а сброс сторожевой службы не требуется. Если указан допустимый интервал наблюдения, Windows будет выполнять метод _BST с интервалом, не превышающим значение наблюдателя, указанное, когда для параметра BatteryState в методе _BST задано значение зарядки. Динамическое обновление этого значения не поддерживается. |
Windows предоставляет подробное представление системных батарей в настольном приложении для лотка. Каждый аккумулятор вместе с текущим состоянием отображается в пользовательском интерфейсе. В следующем примере пользовательского интерфейса показаны две батареи.
Порядок, в котором windows отображает батареи, можно указать встроенное ПО. Это достигается с помощью метода Номер пользователя слота (_SUN), как определено в разделе 6.1.11 спецификации ACPI. Метод _SUN возвращает целое число, представляющее уникальный идентификатор батареи. Windows перечисляет каждый объект батареи в порядке возрастания на основе значения метода _SUN.
Если какой-либо объект батареи содержит метод _SUN, то все объекты батареи также должны предоставлять метод _SUN. Windows не поддерживает тот случай, когда некоторые батареи имеют _SUN метод, а другие — нет. Если _SUN объектов не указано, Windows сортирует батареи по полному пути к экземпляру устройства; Эта конфигурация поддерживается, но не рекомендуется.