Freigeben über


Stromversorgungszustände von USB-Geräten

In diesem Artikel werden die Gerätezustände des Windows Driver Model (WDM) beschrieben, die für die Stromversorgungszuständen von USB-Geräten gemäß Abschnitt 9.1 der Universal Serial Bus 2.0-Spezifikation verwendet werden sollen.

Die Stromversorgungszustände von USB-Geräten (gemäß Abschnitt 9.1 der Universal Serial Bus 2.0-Spezifikation) lassen sich in drei allgemeine Kategorien einteilen:

  • Beigefügt: Das Gerät ist angeschlossen, aber nicht vollständig mit Strom versorgt.
  • Angetrieben: Das Gerät befindet sich in einem der Zustände der vollen Stromversorgung: Standard, Adresse oder Konfiguriert.
  • Suspendiert: Das Gerät befindet sich im Leerlauf und wird mit geringer Leistung betrieben.

Es besteht kein direkter Zusammenhang zwischen den im WDM-Leistungsmodell definierten Geräteleistungszuständen und den im USB-Standard definierten Geräteleistungszuständen. So haben beispielsweise die Begriffe Suspended und Idle in der USB-Spezifikation bestimmte Bedeutungen; im WDM-Leistungsmodell werden diese Begriffe jedoch oft anders verwendet. Windows-Client-Treiber können ein USB-Gerät in den Suspended-Status versetzen. Für weitere Informationen siehe USB Selective Suspend. Wenn ein Client-Treiber bereit ist, sein Gerät in den Ruhezustand zu versetzen, weist er den Bustreiber an, es in den Leerlauf zu versetzen. Für eine Diskussion über Leerlaufanfragen, siehe USB Selective Suspend.

Die Leistungszustände der Geräte im WDM-Modell lassen sich wie folgt zusammenfassen:

  • D0 – Der Arbeitszustand. Das Gerät ist vollständig mit Strom versorgt.
  • D1/D2 – Die Zwischenschlafzustände. Diese Zustände ermöglichen es, das Gerät für die Fernaufweckung zu aktivieren.
  • D3 – Der tiefste Schlafzustand. Geräte im Zustand D3 können nicht für Remote Wakeup aktiviert werden.

Für eine vollständige Diskussion der Leistungszustände von Geräten im WDM-Leistungsmodell siehe Device Power States.

Das WDM-Leistungsmodell verwendet den Begriff Scharfschalten von Geräten zum Fernaufwachen. Das Scharfschalten ist ein Softwarevorgang, der normalerweise, aber nicht immer, zu dem Hardwarevorgang der Aktivierung der Remote-Wakeup-Funktion eines USB-Geräts führt. Die WDM-Software-Operation, die ein Gerät für ein ferngesteuertes Aufwachen aktiviert, ist das IRP Wait Wake (IRP_MN_WAIT_WAKE). Weitere Informationen zu diesem IRP finden Sie unter Supporting Devices that Have Wake-Up Capabilities.

Eine Erklärung des Zusammenhangs zwischen dieser Software-Operation und der Aktivierung der USB-Remote-Wakeup-Funktion finden Sie unter Remote Wakeup of USB Devices.

Dieser Abschnitt enthält die folgenden Unterabschnitte:

Ändern des Stromversorgungszustands eines Nicht-Verbundgeräts

Der Energierichtlinien-Manager für ein USB-Gerät ist für die Einstellung des Energiestatus des Geräts verantwortlich. Der Power-Policy-Manager setzt den Stromversorgungszustand, indem er ein WDM-Power-IRP (IRP_MN_SET_POWER) ausgibt. Weitere Informationen über den Power Policy Manager finden Sie unter Power Policy Ownership.

Die vom Bustreiber ergriffenen Maßnahmen hängen von der Leistungsstufe des Geräts ab, die der Power Policy Manager anfordert. Im Folgenden sind die Aktionen aufgeführt, die der Bustreiber bei jeder Stufe der eingestellten Leistungsanforderung durchführt:

  • D0

    Der Busfahrer nimmt folgende Aufgaben wahr:

    1. Stellt sicher, dass alle vorgeschalteten USB-Hubs mit Strom versorgt werden und bereit sind, Anfragen zu empfangen.
    2. Nimmt den Anschluss wieder auf, indem es die Funktion PORT_SUSPEND löscht, wenn der USB-Anschluss des Geräts gesperrt ist.
    3. Schließt das Idle-IRP des Geräts mit STATUS_SUCCESS ab, falls eines anhängig ist.
    4. Entschärfen Sie das Gerät für die Fernweckung, wenn es scharfgeschaltet war.
  • D1/D2

    Der Busfahrer nimmt folgende Aufgaben wahr:

    1. Weckt das Gerät aus der Ferne auf, wenn ein Wait Wake IRP (IRP_MN_WAIT_WAKE) anhängig ist.
    2. Setzt den USB-Anschluss des Geräts durch Setzen der Funktion PORT_SUSPEND aus.
  • D3

    Der Busfahrer nimmt folgende Aufgaben wahr:

    1. Setzt den USB-Anschluss des Geräts durch Setzen der Funktion PORT_SUSPEND aus.
    2. Beendet das Wait-Wake-IRP des Geräts mit STATUS_POWER_STATE_INVALID, falls eines anhängig ist.
    3. Beendet das Idle-IRP des Geräts (IOCTL_INTERNAL_USB_SUBMIT_IDLE_NOTIFICATION) mit STATUS_POWER_STATE_INVALID, falls eines anhängig ist.

Ändern des Stromversorgungszustands eines Verbundgeräts

Ein Client-Treiber für eine Schnittstelle auf einem zusammengesetzten Gerät muss den Stromversorgungsstatus des zusammengesetzten Geräts mit den Client-Treibern für die anderen Schnittstellen auf dem Gerät teilen. Daher kann ein Client-Treiber für eine Schnittstelle das Verbundgerät nicht in einen niedrigeren Stromversorgungszustand versetzen, ohne dass dies Auswirkungen auf andere Schnittstellen des Geräts hat. Der USB Generic Parent Driver (Usbccgp.sys) führt die folgenden Aktionen aus, wenn der Client-Treiber einer Schnittstelle eine IRP_MN_SET_POWER-Anfrage sendet.

  • D0

    Der Busfahrer nimmt folgende Aufgaben wahr:

    1. Stellt sicher, dass alle vorgeschalteten USB-Hubs mit Strom versorgt werden und bereit sind, Anfragen zu empfangen.
    2. Nimmt den Anschluss wieder auf, indem es die Funktion PORT_SUSPEND löscht, wenn der USB-Anschluss des Geräts gesperrt ist.
    3. Schließt das Idle-IRP des Client-Treibers mit STATUS_SUCCESS ab, falls eines anhängig ist.
  • D1/D2

    Der Busfahrer unternimmt nichts.

  • D3

    Der Busfahrer nimmt folgende Aufgaben wahr:

    1. Beendet das Wait Wake IRP (IRP_MN_WAIT_WAKE) des Client-Treibers mit STATUS_POWER_STATE_INVALID, falls eines anhängig ist.
    2. Beendet das Idle-IRP des Client-Treibers (IOCTL_INTERNAL_USB_SUBMIT_IDLE_NOTIFICATION) mit STATUS_POWER_STATE_INVALID, falls eines anhängig ist.

Der generische übergeordnete Treiber setzt den USB-Anschluss für das Gerät aus, wenn eine der folgenden Bedingungen erfüllt ist:

  • Das System geht in einen Zustand mit geringerer Leistung über.
  • Die Client-Treiber für alle Funktionen auf dem Verbundgerät haben die selektive Aussetzung eingeleitet.