Condividi tramite


HID tramite risparmio energia SPI

Questo articolo identifica i dettagli relativi al risparmio energia dell'host e del dispositivo tramite SPI.

Ottimizzazioni dell'alimentazione avviate dal dispositivo

Il dispositivo è responsabile dell'ottimizzazione dell'utilizzo della potenza in assenza di impostazioni di alimentazione dall'host. Ciò consente al dispositivo di entrare nello stato di alimentazione più basso senza l'intervento dell'host, assicurando al tempo stesso che il dispositivo possa continuare a comunicare con l'host in modo tempestivo.

Per rispettare correttamente le ottimizzazioni dell'alimentazione avviate dal dispositivo:

  • Il dispositivo è responsabile del mantenimento dello stato nelle modalità a basso consumo.
  • Tutte le ottimizzazioni dell'alimentazione dei dispositivi devono essere trasparenti per l'host e gli utenti finali.
  • Il dispositivo deve rispondere a tutte le richieste dall'host in modo tempestivo. Il dispositivo è responsabile dell'attivazione di modalità di alimentazione più elevate per le interazioni di utenti o sistemi in modo tempestivo.
  • Il dispositivo deve notificare all'host qualsiasi modifica del report di input in modo senza perdita di dati. Nessun evento deve essere perso o eliminato dal dispositivo.
  • Gli stati di alimentazione descritti in Ottimizzazioni alimentazione avviate dall'host non si applicano alle ottimizzazioni dell'alimentazione avviate dal dispositivo.

Gli scenari in cui le ottimizzazioni dell'alimentazione avviate dal dispositivo vengono in genere distribuite includono quanto segue:

  1. Il dispositivo è inattiva per un breve intervallo di tempo. Il dispositivo determina che è inattiva e si inserisce nello stato di potenza più basso in cui riduce la frequenza di rilevamento interna fino a quando il movimento non viene avviato nuovamente. Non appena viene avviato il movimento, i dati vengono inviati immediatamente all'host.
  2. Il dispositivo riduce la frequenza di rilevamento. Il dispositivo riduce la frequenza con cui esegue l'analisi dei dati.

Ottimizzazioni dell'alimentazione avviate dall'host

L'host è responsabile dell'ottimizzazione della potenza del sistema complessivo e del dispositivo. Questo metodo di ottimizzazione alimentazione deve essere usato quando l'host desidera fornire notifiche di ottimizzazione alimentazione ai dispositivi.

Gli stati di alimentazione seguenti sono definiti per le ottimizzazioni dell'alimentazione avviate dall'host e non devono essere confusi con gli stati di ottimizzazione dell'alimentazione avviati dal dispositivo specifici del fornitore.

  • ON
  • SLEEP (Il dispositivo può riattivare il sistema)
  • OFF (il dispositivo non può riattivare il sistema, l'alimentazione potrebbe essere rimossa dal dispositivo)

Nello stato ON, il dispositivo si comporta normalmente e può usare ottimizzazioni dell'alimentazione avviate dal dispositivo per ridurre il consumo di energia. Il dispositivo è responsabile dello stato ON quando vengono avviate le comunicazioni HIDSPI, dopo l'avvio di un ripristino dell'host.

L'host indica al dispositivo di immettere uno stato di alimentazione insufficiente dallo stato ON eseguendo il comando definito Set Power . L'host sceglierà di eseguire questa operazione in base ai criteri di risparmio energia del sistema operativo per il dispositivo.

L'host inserisce il dispositivo nello stato SLEEP quando i criteri di risparmio energia della piattaforma consentono al dispositivo di riattivare se stesso o il sistema. Il supporto per SLEEP è facoltativo ed è indicato al sistema operativo host tramite ACPI o in modo appropriato per il bus per un controller specifico della piattaforma. Al momento della ricezione di un SET POWER SLEEP comando, il dispositivo deve entrare immediatamente in uno stato di potenza inferiore, in cui attenderà l'interazione dell'utente e non deve asserire interrupt, tranne per avviare una riattivazione. Se il dispositivo rileva l'input, asserisce un interrupt e attende che l'host invii un SET POWER ON comando. Il dispositivo risponde al SET POWER ON comando e riprende l'invio dell'input all'host.

L'host inserisce il dispositivo nello stato OFF quando la comunicazione con il dispositivo non è più necessaria. ACPI (o controller specifico della piattaforma) deve essere configurato per fornire uno stato OFF sporadico. Al momento della ricezione di un SET POWER OFF comando, il dispositivo entra immediatamente nello stato di potenza più bassa e arresta la comunicazione con l'host. Per portare il dispositivo allo stato ON, l'host avvia una reimpostazione, a quel punto inizia il processo di inizializzazione.

Per i dispositivi enumerati ACPI, è necessario implementare i seguenti stati di alimentazione:

  • D0 : stato di lavoro normale
  • D2: usato per lo stato SLEEP, se supportato. Il dispositivo deve indicare il supporto della riattivazione da questo stato di alimentazione.
  • D3: deve essere usato per lo stato OFF. Il dispositivo non deve indicare il supporto della riattivazione da questo stato di alimentazione.

Per i controller specifici della piattaforma, è possibile usare mapping di stato D alternativi per tenere conto dei requisiti di alimentazione dell'hardware del controller.

I mapping dello stato D a livello di piattaforma non sono visibili o comunicati al dispositivo.

Responsabilità dello stato di alimentazione dell'host e del dispositivo

La tabella seguente identifica le proprietà di un dispositivo e un host devono seguire:

Stato di alimentazione Responsabilità dell'host Responsabilità del dispositivo
ON - Risolvere gli interrupt e i problemi di I/O al dispositivo in base alle esigenze. - Essere nello stato di alimentazione ON dopo un ripristino
- Processo, ma non fornire una risposta a un SET POWER SLEEP comando o SET POWER OFF dall'host.
DORMIRE - Indica al dispositivo di immettere lo stato SLEEP.
- Impostazione dello stato ON del dispositivo se il dispositivo avvisa tramite la riga di interruzione.
- Se un host deve comunicare con il dispositivo, invia un SET POWER comando (a ON) prima di qualsiasi altro comando.
- Decertire la riga di interruzione se asserta, prima che l'host avvii le ottimizzazioni dell'alimentazione.
- Inviare un interrupt all'host per richiedere la manutenzione. Il dispositivo non deve quindi rivalutare l'interrupt finché l'host non ha inviato un SET POWER comando per entrare nello stato ON, a cui il dispositivo ha risposto, a quel punto il dispositivo deve ripetere l'asserzione dell'interrupt per notificare all'host qualsiasi report di input in sospeso.
- Ridurre l'alimentazione a un minimo assoluto per mantenere lo stato e, facoltativamente, supportare la riattivazione remota.
- Rispondere a un SET POWER ON comando dall'host.
OFF - Indica al dispositivo di immettere lo stato OFF.
- Indirizzare la piattaforma allo stato OFF del dispositivo.
- Inserire il dispositivo in questo stato quando non deve essere in grado di svegliarsi.
- Decertire la riga di interruzione se asserta, prima che l'host avvii le ottimizzazioni dell'alimentazione.
- Il dispositivo non sarà in grado di avviare la riattivazione o fornire interruzioni in questo stato.
- Ridurre l'alimentazione a un minimo assoluto. Non è necessario mantenere lo stato.
- Considera una transizione OFF -> ON come sarebbe una normale alimentazione.

Vedi anche

Stati di alimentazione del dispositivo