Estados de energía NFC

El controlador de extensión de clase NFC actúa como propietario de la directiva de energía para el dispositivo, por lo que llama a WdfDeviceInitSetPowerPolicyOwnership(TRUE) durante su rutina de inicialización del dispositivo.

El controlador NFC CX admite estados de alimentación del dispositivo D0 y D3. En el diagrama de estado siguiente se muestra la transición entre los dos estados de energía. El dispositivo inactivo está en estado de alimentación D3 donde el NFCC no tiene alimentación. Cuando el modo de radio está activo y cualquier módulo como NFP (publicaciones activas o suscripciones de NFP DDI), SE (elementos seguros activos en modo de emulación de NFCSE DDI) o SmartCard está activo, el estado pasa a D0. Durante esta transición, el estado de sondeo del dispositivo se actualiza para cumplir el requisito de todos los módulos activos.

estados de energía.

Además, la lógica de detección de inactividad integrada de UMDF se usa para administrar el dispositivo. Durante la inicialización, A WdfDevice se le asigna su configuración de inactividad S0 de la siguiente manera:

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

IdleTimeout tiene como valor predeterminado 1 segundo. Esta configuración se puede configurar mediante el parámetro PowerIdleTimeout en NFC_CX_CLIENT_CONFIG. En el diagrama de estado siguiente se muestran las distintas transiciones de energía que están implícitas en el uso del método de detección de inactividad de WDF.

El controlador de cliente puede elegir ser el propietario de la directiva de energía de la pila a través del miembro IsPowerPolicyOwner de la estructura de NFC_CX_CLIENT_CONFIG . Esto puede ser útil para los transportes como USB, donde se deben configurar estados adicionales de alimentación del dispositivo.

Operaciones de administración de energía.