Примечание.
Для доступа к этой странице требуется авторизация. Вы можете попробовать войти или изменить каталоги.
Для доступа к этой странице требуется авторизация. Вы можете попробовать изменить каталоги.
Начиная с Windows 8, разработчики системного оборудования могут выбирать между двумя разными аппаратными топологиями для подсистем батареи и питания на своих платформах Windows.
Топологии оборудования
Как правило, Windows ожидает одну из двух аппаратных топологий для подсистемы питания и зарядки.
Первая топология показана на следующей блок-схеме. Эта топология, распространенная на компьютерах под управлением Windows 7, использует встроенный контроллер в платформе. Встроенный контроллер обычно выполняет несколько функций на мобильном компьютере с Windows, включая управление источником питания, управление зарядом батареи, обнаружение кнопки питания и переключателя, а также ввод с клавиатуры и мыши, совместимых с PS/2. Встроенный контроллер обычно подключается к основной микросхеме через шину LPC. Windows запрашивает и получает уведомления о сведениях подсистемы питания через интерфейс встроенного контроллера ACPI.
Вторая топология показана на следующей блок-схеме. В этой топологии используется контроллер заряда батареи и компонент датчика топлива, которые подключаются непосредственно к основному кремнию платформы через простую периферийную шину, например I²C. В этой конфигурации Windows запрашивает и получает уведомления об изменениях подсистемы питания через шину I²C. Область операций простой периферийной шины (SPB) позволяет коду метода управления ACPI во встроенном ПО обмениваться данными с контроллером заряда батареи и компонентами датчика топлива, подключенными к основной микросхеме через шину I²C.
Операция ACPI с внедренным контроллером
Платформы с батареей и подсистемой питания, подключенные к типичному встроенному контроллеру платформы, используют область операций встроенного контроллера ACPI для упрощения обмена данными между средой метода управления ACPI и оборудованием платформы.
Встроенное ПО ACPI должно определять встроенный контроллер в пространстве имен ACPI. Это определение включает в себя следующее:
- Узел Device() для встроенного контроллера.
- Объект _HID, указывающий, что устройство является встроенным контроллером.
- Объект _CRS, обозначающий ресурсы ввода-вывода для внедренного контроллера.
- Объект _GPE, определяющий SCI для внедренного контроллера.
- Область операций, описывающая сведения, содержащиеся во встроенном контроллере, к которым можно получить доступ с помощью другого кода метода управления ACPI в пространстве имен, включая состояние батареи и информационные методы.
Дополнительные сведения см. в разделе 12.11 , "Определение устройства встроенного контроллера в пространстве имен ACPI" в спецификации ACPI 5.0.
Доступ к сведениям об батарее из встроенного контроллера
Методы ACPI управляют доступом к информации из внедренного контроллера, считывая значения, описанные в области операций внедренного контроллера.
Уведомление Windows при изменении состояния батареи (встроенный контроллер)
Когда встроенный контроллер обнаруживает изменение состояния батареи, включая изменение состояния зарядки или оставшейся емкости, как указано в _BTP, встроенный контроллер создает SCI и задает бит SCI_EVT в регистре команды состояния встроенного контроллера (EC_SC). Драйвер Windows ACPI, Acpi.sys, взаимодействует с внедренным контроллером и выдает команду запроса (QR_EC) для запроса конкретных сведений об уведомлении. Встроенный контроллер задает значение байта, соответствующее выполняемой методу _QXX. Например, встроенный контроллер и встроенное ПО ACPI могут определять значение, 0x33 как обновление сведений о состоянии батареи. Когда встроенный контроллер задает значение 0x33 в качестве уведомления, Acpi.sys выполнит метод _QXX. Метод _QXX обычно выдает команду Notify(0x80) на устройстве Control Method Battery в пространстве имен.
Энергопотребление
Необходимо соблюдать особую осторожность в современных резервных системах, чтобы обеспечить достижение минимальных целей работы батареи для современного режима ожидания. В современных резервных системах номинальная мощность, потребляемая встроенным контроллером для подсистемы питания и батареи, должна быть ниже 5 милливатт. На компьютерах, использующих традиционные состояния питания S3/S4, убедитесь, что встроенный контроллер не влияет на показатели заряда батареи. Нет конкретных номинальных требований к энергопотреблению для систем, использующих S3/S4.
Операция ACPI с подсистемой зарядки, подключенной к SPB
Платформы также могут подключать батарею и подсистему питания, подключенные к набору микросхем ядра, с помощью простой периферийной шины с низким энергопотреблением( SPB), например I²C. В этих схемах область операций GENERICSerialBus ACPI используется для взаимодействия между методами управления ACPI и оборудованием подсистемы батареи. Подключение оборудования подсистемы батареи к прерыванию GPIO позволяет выполнять методы управления ACPI при изменении состояния батареи.
При подключении оборудования батареи и подсистемы питания с помощью I²C встроенное ПО ACPI должно определить следующее:
- Узел Device() для устройства контроллера GPIO, к которому подключено прерывание I²C, в том числе:
- _HID объект , описывающий идентификатор оборудования контроллера GPIO.
- _CSR объект, описывающий прерывание и аппаратные ресурсы контроллера GPIO.
- _AEI объект, который сопоставляет одну или несколько строк GPIO с выполнением метода события ACPI. Это позволяет выполнять методы ACPI в ответ на прерывания строк GPIO.
- Узел Device() для контроллера I²C, к которому подключены датчик топлива батареи и оборудование для зарядки, в том числе:
- _HID и _CSR объекты, описывающие идентификатор оборудования и ресурсы контроллера I²C.
- Область операции GenericSerialBus в область устройства I²C, описывающего виртуальную команду, регистрируется для устройства I²C.
- Определения полей в области операции GenericSerialBus. Определения полей позволяют коду ASL за пределами устройства I²C получить доступ к виртуальным регистрам команд для устройства I²C.
Описание контроллера GPIO и сопоставление линий GPIO с событиями ACPI позволяют методам управления состоянием батареи и уведомлениями выполняться при прерывании GPIO с устройства I²C. Описание области работы GenericSerialBus позволяет коду ACPI для состояния батареи обмениваться данными по шине I²C и считывать регистры и сведения из датчика топлива батареи и подсистемы зарядки.
Доступ к сведениям об батарее из подсистемы зарядки
Состояние батареи можно выполнить с помощью методов управления ACPI, отправляя и получая команды через шину I²C, к которой подключено оборудование подсистемы батареи. Код метода управления, который поддерживает методы статических сведений о состоянии и батарее, считывает и записывает данные из областей операций GenericSerialBus, описанных в пространстве имен ACPI. Код метода управления может считывать данные с устройства датчика топлива или статические сведения о емкости батареи и количестве циклов в шине I²C через область работы GenericSerialBus.
Уведомление Windows при изменении состояния батареи (оборудование подсистемы)
Оборудование подсистемы батареи может создавать прерывание при изменении состояния или из линии GPIO на ядре. Линию GPIO можно сопоставить с выполнением определенного метода управления с помощью объекта _AEI в контроллере GPIO, описанном в ACPI. При прерывании GPIO подсистема Windows ACPI выполняет метод, связанный с конкретной строкой GPIO, которая, в свою очередь, может выдать команду Notify() на устройстве Control Method Battery. Это приводит к тому, что Windows повторно оценивает состояние и статические информационные методы для обновления состояния батареи.
Индикаторы питания и зарядки
Windows предоставляет сведения об источнике питания и состоянии аккумулятора в операционной системе. Он отображается пользователю в нескольких местах, включая значок панели батареи на рабочем столе, в меню Пуск и непосредственно на экране блокировки.
Windows 8 платформы также могут представлять пользователю видимый индикатор состояния зарядки. На следующих рисунках показаны два примера пользовательского интерфейса. Используемый индикатор должен незначительно влиять на энергопотребление и взаимодействие с пользователем.
Элементы пользовательского интерфейса питания и зарядки Windows
Windows предоставляет сведения об источнике питания и состоянии зарядки в трех ключевых расположениях:
- На экране блокировки. Отображается значок батареи с источником питания и состоянием заряда.
- На индикаторе времени и даты при наведении указателя мыши на кнопку Пуск. Отображается значок батареи с источником питания и состоянием заряда.
- Значок батареи на рабочем столе. Отображается значок батареи с источником питания и состоянием заряда. Дополнительные сведения можно получить при щелчке значка батареи. сюда входят сведения о оставшейся емкости, предполагаемое оставшееся время и сведения о батарее, если в системе несколько батарей
. Для современных платформ с поддержкой резервного режима, если система находится в S0 и крышка (если она есть) не закрыта, Windows кратко освещает дисплей, когда система подключена к зарядному устройству и питание. Это позволяет пользователям видеть, как платформа реагирует на действие подключения зарядного устройства.
Индикаторы зарядки оборудования платформы
Элементы пользовательского интерфейса, встроенные в Windows, относятся к сценариям, в которых windows работает и отображается дисплей для пользователя. Однако эти индикаторы на экране не видны, когда система выключена, гибернирована, находится в спящем режиме или не работает иным образом.
Платформа может включать светодиодный индикатор, указывающий на наличие питания. Желательно, чтобы такой светодиодный индикатор не размещался на корпусе системы. Вместо этого светодиодный индикатор должен находиться на блоке питания, кабеле питания или разъеме питания. При необходимости этот светодиодный индикатор также может указывать состояние заряда для пользователя.
Если указан светодиодный индикатор, он не должен меняться по интенсивности или цвету с течением времени или иным образом мигать или мигать, так как это отвлекает пользователей. Однако он может изменить цвет, чтобы указать состояние заряда; например, желтый при зарядке, зеленый при полной зарядке или красный при сбое.
Резервная емкость аккумулятора для часов реального времени
Поддержание точного времени имеет важное значение для обеспечения отличного взаимодействия с пользователем. Кроме того, для подключения к таким службам, как Microsoft Store, требуется точное время. Все системы Windows должны поддерживать точное время в течение не менее четырех недель, даже если он отключен. Обычно для этого используется отдельный резервный аккумулятор для поддержания часов реального времени (RTC). Это не всегда возможно или практично на высоко портативных форм-факторах.
Разработчики систем могут использовать выделенный аккумулятор или зарезервировать часть main системного аккумулятора. Учитывая скромные требования к энергопотреблению RTC, относительно низкий порог резервирования обеспечит гарантии, которые соответствуют выделенным резервным батареям, которые существуют на современных компьютерах.
Рекомендации по проектированию
OSPM предоставляет системным конструкторам метод переопределения события критического заряда ос Windows. Когда батарея достигает критического уровня (в милливатт-часах), как определено методом _BIX (сведения об батарее расширена — емкость проектирования для низкой) в реализации метода управления батареи, встроенное ПО выдает команду Уведомлять оси. На этом этапе Windows выполнит аварийное завершение работы или гибернации, чтобы сохранить состояние системы.
Все конструкции должны соответствовать следующим требованиям:
- Для параметра Проектная емкость для низкой в методе _BIX должно быть задано значение не менее 675 милливатт-часов полной проектной мощности (в дополнение к емкости, необходимой для надежного выполнения критических действий).
- Указанная выше резервная емкость должна составлять менее четырех процентов от полной проектной емкости.
Производительность зарядки
Время, необходимое для полной зарядки системного аккумулятора, является проблемой для пользователя. Плата за многие системы взимается в одночасье или в другие периоды, когда пользователь не взаимодействует с системой. Однако, когда батарея полностью разрядится и пользователь хочет использовать систему в переносном режиме, производительность зарядки является основной проблемой.
Windows рекомендует, чтобы все платформы были способны заряжать системный аккумулятор от 5 до 90 процентов в течение четырех часов или менее при загрузке системы и в современном режиме ожидания с выключенным экраном.
Разработчики систем должны уделять особое внимание тарифу для систем, поддерживающих только зарядку на основе USB. Системы, которые имеют только usb-зарядку и большую емкость аккумулятора, могут не соответствовать ожиданиям клиента по производительности зарядки.
Если требуется usb-зарядка на платформах с большой емкостью батареи (более 30 ватт-часов), конструктор системы также должен предоставить вход с большим объемом питания постоянного тока и объединить в систему зарядное устройство постоянного тока высокой мощности. Это также позволяет заряжать аккумулятор платформы во время интерактивного использования, что в противном случае может быть невозможным, учитывая низкую входную мощность и высокое энергопотребление платформы только для зарядки USB с большой емкостью батареи.