Состояния питания 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, где необходимо настроить дополнительные режимы питания устройства.

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