Freigeben über


NFC-Energiezustände

Der NFC-Klassenerweiterungstreiber fungiert als Besitzer der Energierichtlinie für das Gerät, sodass WdfDeviceInitSetPowerPolicyOwnership(TRUE) während der Geräteinitialisierungsroutine aufgerufen wird.

Der NFC CX-Treiber unterstützt die Geräteleistungszustände D0 und D3. Das folgende Zustandsdiagramm zeigt den Übergang zwischen den beiden Energiezuständen. Das Gerät im Leerlauf befindet sich im D3-Energiezustand, in dem die NFCC nicht mit Strom versorgt wird. Wenn der Funkmodus aktiv ist und module wie NFP (aktive Veröffentlichungen oder Abonnements von NFP DDI), SE (aktive sichere Elemente im Emulationsmodus von NFCSE DDI) oder SmartCard aktiv sind, wechselt der Zustand zu D0. Während dieses Übergangs wird der Abrufstatus des Geräts aktualisiert, um die Anforderungen aller aktiven Module zu erfüllen.

Energiezustände.

Darüber hinaus wird die integrierte Leerlauferkennungslogik von UMDF verwendet, um das Gerät mit Energie zu managern. Während der Initialisierung werden dem WdfDevice die S0-Idle-Einstellungen wie folgt zugewiesen:

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

IdleTimeout ist standardmäßig auf 1 Sekunde festgelegt. Diese Einstellung kann über den PowerIdleTimeout-Parameter in NFC_CX_CLIENT_CONFIG konfiguriert werden. Das folgende Zustandsdiagramm veranschaulicht die verschiedenen Energieübergänge, die durch die Verwendung der WDF-Leerlauferkennungsmethode impliziert werden.

Der Clienttreiber kann über das IsPowerPolicyOwner-Element der NFC_CX_CLIENT_CONFIG-Struktur der Energierichtlinienbesitzer des Stapels sein. Dies kann für Transporte wie USB nützlich sein, bei denen zusätzliche Gerätestromzustände konfiguriert werden müssen.

Energieverwaltungsvorgänge.