Freigeben über


HID-über SPI-Energieverwaltung

In diesem Artikel werden die Details zur Host- und Geräteenergieverwaltung über SPI beschrieben.

Geräteinitiierte Energieoptimierungen

Das Gerät ist für die Optimierung seiner Energienutzung verantwortlich, wenn keine Energieeinstellungen auf dem Host vorhanden sind. Dadurch kann das Gerät ohne Hosteingriff in den niedrigsten Leistungszustand wechseln und gleichzeitig sicherstellen, dass das Gerät weiterhin zeitnah mit dem Host kommunizieren kann.

So erfüllen Sie geräteinitiierte Energieoptimierungen ordnungsgemäß:

  • Das Gerät ist für die Beibehaltung seines Zustands in seinen Energiesparmodi verantwortlich.
  • Alle Geräteenergieoptimierungen müssen für den Host und die Endbenutzer transparent sein.
  • Das Gerät muss auf alle Anforderungen vom Host rechtzeitig reagieren. Das Gerät ist dafür verantwortlich, sich bei Benutzer- oder Systeminteraktionen rechtzeitig in höhere Leistungsmodi zu bringen.
  • Das Gerät muss den Host über alle Eingabeberichtsänderungen verlustfrei benachrichtigen. Es dürfen keine Ereignisse verloren oder vom Gerät gelöscht werden.
  • Die unter Vom Host initiierten Energieoptimierungen beschriebenen Energiezustände gelten nicht für geräteinitiierte Energieoptimierungen.

Szenarien, in denen geräteinitiierte Energieoptimierungen im Allgemeinen bereitgestellt werden, umfassen folgendes:

  1. Das Gerät befindet sich für einen kurzen Zeitraum im Leerlauf. Das Gerät stellt fest, dass es sich im Leerlauf befindet, und versetzt sich in den niedrigsten Leistungszustand, in dem es seine interne Erfassungsfrequenz reduziert, bis die Bewegung erneut initiiert wird. Sobald die Bewegung gestartet wird, werden sofort Daten an den Host gesendet.
  2. Das Gerät reduziert seine Erfassungsfrequenz. Das Gerät reduziert die Häufigkeit, mit der nach Daten gesucht wird.

Vom Host initiierte Energieoptimierungen

Der Host ist für die Optimierung der Leistung des Gesamtsystems und des Geräts verantwortlich. Diese Methode der Energieoptimierung ist zu verwenden, wenn der Host Energieoptimierungsbenachrichtigungen für Geräte bereitstellen möchte.

Die folgenden Energiezustände werden für vom Host initiierte Energieoptimierungen definiert und dürfen nicht mit herstellerspezifischen gerätespezifischen Energieoptimierungszuständen verwechselt werden.

  • EIN
  • SLEEP (Das Gerät kann das System reaktiviert)
  • OFF (das Gerät kann das System nicht reaktiviert, die Stromversorgung kann vom Gerät entfernt werden)

Im ON-Zustand verhält sich das Gerät normal und verwendet möglicherweise geräteinitiierte Energieoptimierungen, um den Energieverbrauch zu reduzieren. Das Gerät ist dafür verantwortlich, dass es sich im On-Zustand befindet, wenn die HIDSPI-Kommunikation nach einer vom Host initiierten Zurücksetzung initiiert wird.

Der Host weist das Gerät an, durch Ausgabe des definierten Set Power Befehls aus dem On-Zustand in einen Energiesparzustand zu wechseln. Der Host wählt dies basierend auf der Energierichtlinie des Betriebssystems für das Gerät aus.

Der Host versetzt das Gerät in den SLEEP-Zustand, wenn die Plattformenergierichtlinie es dem Gerät ermöglicht, sich selbst oder das System zu reaktivieren. Die Unterstützung für SLEEP ist optional und wird für das Hostbetriebssystem über ACPI oder in einer weise angegeben, die dem Bus für einen plattformspezifischen Controller entspricht. Beim Empfang eines SET POWER SLEEP Befehls muss das Gerät sofort in einen Zustand mit niedrigerer Leistung wechseln, in dem es auf Benutzerinteraktion wartet und keine Interrupts geltend machen darf, außer um eine Aktivierung zu initiieren. Wenn das Gerät eine Eingabe erkennt, wird ein Interrupt ausgeführt und gewartet, bis der Host einen SET POWER ON Befehl sendet. Das Gerät reagiert auf den Befehl und setzt das SET POWER ON Senden von Eingaben an den Host fort.

Der Host versetzt das Gerät in den OFF-Zustand, wenn die Kommunikation mit dem Gerät nicht mehr erforderlich ist. ACPI (oder plattformspezifischer Controller) muss so konfiguriert werden, dass ein kalter OFF-Zustand bereitgestellt wird. Beim Empfang eines SET POWER OFF Befehls wechselt das Gerät sofort in den Zustand der niedrigsten Leistung und beendet die Kommunikation mit dem Host. Um das Gerät in den Ein-Zustand zu versetzen, initiiert der Host eine Zurücksetzung, an der der Initialisierungsprozess beginnt.

Für ACPI-aufgezählte Geräte müssen die folgenden Leistungszustände implementiert werden:

  • D0 – Normaler Arbeitszustand
  • D2 – Wird für den SLEEP-Zustand verwendet, falls unterstützt. Das Gerät sollte die Aktivierungsunterstützung aus diesem Energiezustand angeben.
  • D3 : Dies sollte für den OFF-Zustand verwendet werden. Das Gerät sollte keine Aktivierungsunterstützung aus diesem Energiezustand angeben.

Für plattformspezifische Controller können alternative D-Zustandszuordnungen verwendet werden, um den Strombedarf der Controllerhardware zu berücksichtigen.

Die D-Zustandszuordnungen auf Plattformebene sind nicht sichtbar oder werden nicht an das Gerät übermittelt.

Verantwortlichkeiten für den Host- und Gerätestromzustand

In der folgenden Tabelle werden die Eigenschaften angegeben, denen ein Gerät und ein Host folgen müssen:

Betriebszustand Verantwortung des Gastgebers Geräteverantwortung
ON – Beheben Sie Interrupts und E/A-Probleme für das Gerät nach Bedarf. - Nach einem Zurücksetzen
im Ein-/Aus-Zustand : Prozess, aber keine Antwort auf einen SET POWER SLEEP Befehl oder SET POWER OFF vom Host bereitstellen.
SCHLAFEN – Anweisen des Geräts, in den SLEEP-Zustand zu wechseln.
- Festlegen des Gerätes in den Zustand EIN, wenn das Gerät über die Interruptleitung warnung.
- Wenn ein Host mit dem Gerät kommunizieren muss, gibt er vor jedem anderen Befehl einen SET POWER Befehl (an EIN) aus.
– Heben Sie die Unterbrechungslinie auf, wenn sie behauptet wird, bevor der Host Energieoptimierungen initiiert hat.
– Senden sie einen Interrupt an den Host, um die Wartung anzufordern. Das Gerät darf den Interrupt dann nicht erneut überprüfen, bis der Host einen SET POWER Befehl gesendet hat, um in den EIN-Zustand zu gelangen, auf den das Gerät reagiert hat. An diesem Punkt sollte das Gerät den Interrupt erneut geltend machen, um den Host über einen ausstehenden Eingabebericht zu benachrichtigen.
– Reduzieren Sie die Stromaufnahme auf ein absolutes Minimum, um den Zustand aufrechtzuerhalten und optional remote Wake zu unterstützen.
– Antworten Sie auf Befehle SET POWER ON vom Host.
OFF – Anweisen des Geräts, in den OFF-Zustand zu wechseln.
– Weisen Sie die Plattform an, um das Gerät in den OFF-Zustand zu versetzen.
- Versetzen Sie das Gerät in diesen Zustand, wenn es nicht in der Lage sein sollte, sich selbst aufzuwecken.
– Heben Sie die Unterbrechungslinie auf, wenn sie behauptet wird, bevor der Host Energieoptimierungen initiiert hat.
– Das Gerät kann in diesem Zustand keine Aktivierung initiieren oder Interrupts bereitstellen.
– Reduzieren Sie die Leistungsaufnahme auf ein absolutes Minimum. Es ist nicht erforderlich, den Zustand beizubehalten.
- Behandeln Sie einen Übergang AUS -> EIN wie bei einem regulären Einschalten.

Weitere Informationen

Gerätestromzustände