Поделиться через


Состояния питания NFC

Драйвер расширения класса NFC выступает в качестве владельца политики питания для устройства, поэтому он вызывает WdfDeviceInitSetPowerPolicyOwnership(TRUE) во время процедуры инициализации устройства.

Драйвер NFC CX поддерживает состояния питания устройства D0 и D3. На схеме состояний ниже показан переход между двумя состояниями питания. Устройство в режиме простоя находится в состоянии питания D3, при котором nfcC не имеет питания. Если переключатель активен и все модули, такие как NFP (активные публикации или подписки из NFP DDI), SE (активные безопасные элементы в режиме эмуляции из NFCSE DDI) или SmartCard активны, состояние переходит на D0. Во время этого перехода состояние опроса устройства обновляется в соответствии с требованиями всех активных модулей.

состояния питания.

Кроме того, встроенная логика обнаружения простоя UMDF используется для управления устройством. Во время инициализации WdfDevice назначается его параметры простоя S0 следующим образом:

WdfDeviceAssignS0IdleSettings(
    IdleCannotWakeFromS0,
    PowerDeviceD3,
    IdleTimeout,
    IdleAllowUserControl,
    WdfUseDefault
);

Значение IdleTimeout по умолчанию — 1 секунда. Этот параметр можно настроить с помощью параметра PowerIdleTimeout в NFC_CX_CLIENT_CONFIG. На приведенной ниже схеме состояния показаны различные переходы питания, которые подразумеваются при использовании метода обнаружения простоя WDF.

Драйвер клиента может быть владельцем политики управления питанием с помощью элемента IsPowerPolicyOwnerструктуры NFC_CX_CLIENT_CONFIG . Это может быть полезно для транспортов, таких как USB, где необходимо настроить дополнительные состояния питания устройства.

Операции управления питанием.