Progettazione hardware del sottosistema di alimentazione e batteria
A partire da Windows 8, i progettisti hardware di sistema possono scegliere tra due topologie hardware diverse per le batterie e i sottosistemi di alimentazione nelle piattaforme Windows.
Topologie hardware
In genere, Windows prevede una delle due topologie hardware per il sottosistema di alimentazione e ricarica.
La prima topologia è illustrata nel diagramma a blocchi seguente. Questa topologia, comune nei PC che eseguono Windows 7, usa un controller incorporato nella piattaforma. Il controller incorporato esegue in genere più funzioni in un PC Windows mobile, tra cui il controllo del codice sorgente di alimentazione, la gestione della carica della batteria, il rilevamento del pulsante di alimentazione/interruttore e la tastiera compatibile con PS/2 e l'input del mouse. Il controller incorporato è in genere connesso al silicio principale tramite il bus LPC (Low Pin Count). Le query di Windows e vengono notificate informazioni sul sottosistema di alimentazione tramite l'interfaccia controller incorporata ACPI.
La seconda topologia è illustrata nel diagramma a blocchi seguente. Questa topologia usa un controller di carica della batteria e un componente del misuratore di carburante, che sono connessi direttamente al silicio principale della piattaforma su un semplice bus periferico, ad esempio I²C. In questa configurazione, le query di Windows e vengono notificate le modifiche del sottosistema di alimentazione tramite le comunicazioni sul bus I²C. Un'area operativa SPB (Simple Peripheral Bus) consente al codice del metodo DI CONTROLLO ACPI nel firmware di comunicare con il controller di carica della batteria e i componenti del misuratore di carburante connessi al silicio principale su un bus I²C.
Operazione ACPI con un controller incorporato
Le piattaforme che hanno la batteria e il sottosistema di alimentazione connessi al tipico controller incorporato della piattaforma usano l'area dell'operazione controller incorporata ACPI per facilitare le comunicazioni tra l'ambiente del metodo di controllo ACPI e l'hardware della piattaforma.
Il firmware ACPI deve definire il controller incorporato nello spazio dei nomi ACPI. Questa definizione include quanto segue:
- Nodo Device() per il controller incorporato.
- Oggetto _HID che indica che il dispositivo è un controller incorporato.
- Oggetto _CRS per indicare le risorse di I/O per il controller incorporato.
- Oggetto _GPE che definisce sci per il controller incorporato.
- Un'area operativa che descrive le informazioni contenute nel controller incorporato a cui è possibile accedere da altri codici del metodo di controllo ACPI nello spazio dei nomi, tra cui lo stato della batteria e i metodi informativi.
Per altre informazioni, vedere la sezione 12.11, "Definizione di un dispositivo controller incorporato nello spazio dei nomi ACPI", nella specifica ACPI 5.0.
Accesso alle informazioni sulla batteria dal controller incorporato
I metodi di controllo ACPI accedono alle informazioni dal controller incorporato leggendo i valori descritti nell'area operativa del controller incorporato.
Notifica a Windows quando lo stato della batteria cambia (controller incorporato)
Quando il controller incorporato rileva una modifica dello stato della batteria, inclusa una modifica dello stato di ricarica o della capacità rimanente, come specificato da _BTP, il controller incorporato genera una sci e imposta il SCI_EVT bit nel comando stato del controller incorporato (EC_SC). Il driver ACPI di Windows, Acpi.sys, comunica con il controller incorporato e rilascia un comando di query (QR_EC) per richiedere informazioni specifiche sulla notifica da rilasciare. Il controller incorporato imposta un valore di byte corrispondente al metodo _QXX da eseguire. Ad esempio, il controller incorporato e il firmware ACPI possono definire il valore 0x33 essere un aggiornamento alle informazioni sullo stato della batteria. Quando il controller incorporato imposta il valore 0x33 come notifica, Acpi.sys eseguirà il metodo _QXX. Il metodo _QXX genera in genere un comando Notify(0x80) nel dispositivo Control Method Battery nello spazio dei nomi.
Consumo di energia elettrica
È necessario prestare particolare attenzione ai sistemi di standby moderni per garantire che vengano raggiunti obiettivi minimi di durata della batteria per la standby moderna. Nei sistemi di standby moderni, la potenza nominale utilizzata dal controller incorporato per il sottosistema di alimentazione e batteria deve essere inferiore a 5 milliwatt. Nei PC che usano gli stati di alimentazione S3/S4 tradizionali, assicurarsi che il controller incorporato non influisca sugli obiettivi di durata della batteria. Non esistono requisiti di alimentazione nominale specifici per i sistemi che usano S3/S4.
Operazione ACPI con un sottosistema di ricarica con connessione SPB
Le piattaforme possono anche connettere la batteria e il sottosistema di alimentazione connessi al chipset principale usando un bus di periferica semplice a bassa potenza (SPB), ad esempio I²C. In questi progetti, l'area operativa genericSerialBus ACPI viene usata per comunicare tra i metodi di controllo ACPI e l'hardware del sottosistema della batteria. La connessione dell'hardware del sottosistema della batteria a un interruzione GPIO consente l'esecuzione di metodi di controllo ACPI quando lo stato della batteria cambia.
Quando l'hardware del sottosistema di alimentazione e batteria è connesso tramite I²C, il firmware ACPI deve definire quanto segue:
- Nodo Device() per il dispositivo controller GPIO a cui è connesso l'interruzione I²C, tra cui:
- _HID oggetto che descrive l'ID hardware del controller GPIO.
- _CSR oggetto che descrive le risorse di interruzione e hardware del controller GPIO.
- _AEI oggetto che esegue il mapping di una o più righe GPIO all'esecuzione del metodo di evento ACPI. Ciò consente l'esecuzione dei metodi ACPI in risposta agli interruzioni della riga GPIO.
- Nodo Device() per il controller I²C a cui è connesso il misuratore del carburante della batteria e l'hardware di ricarica, tra cui:
- _HID e _CSR oggetti che descrivono l'ID hardware e le risorse del controller I²C.
- Area dell'operazione GenericSerialBus nell'ambito del dispositivo I²C che descrive i registri dei comandi virtuali per il dispositivo I²C.
- Definizioni di campo nell'area dell'operazione GenericSerialBus. Le definizioni di campo consentono al codice ASL all'esterno del dispositivo I²C di accedere ai registri dei comandi virtuali per il dispositivo I²C.
La descrizione del controller GPIO e il mapping delle linee GPIO agli eventi ACPI consente di eseguire metodi di controllo per lo stato della batteria e la notifica quando viene generato un interruzione GPIO da un dispositivo I²C. La descrizione dell'area operativa GenericSerialBus consente al codice ACPI di comunicare sullo stato della batteria tramite il bus I²C e leggere i registri e le informazioni dal sottosistema di ricarica e misuratore del carburante della batteria.
Accesso alle informazioni sulla batteria dal sottosistema di ricarica
Lo stato della batteria può essere eseguito dai metodi di controllo ACPI inviando e ricevendo comandi sul bus I²C a cui è connesso l'hardware del sottosistema della batteria. Il codice del metodo di controllo esegue il backup dello stato e dei metodi di informazioni statiche della batteria legge e scrive i dati dalle aree dell'operazione GenericSerialBus descritte nello spazio dei nomi ACPI. Il codice del metodo di controllo può leggere i dati dal dispositivo del misuratore di carburante o informazioni statiche sulla capacità della batteria e il conteggio del ciclo sul bus I²C tramite l'area dell'operazione GenericSerialBus.
Notifica a Windows quando lo stato della batteria cambia (hardware del sottosistema)
L'hardware del sottosistema della batteria può generare un interruzione quando lo stato cambia o da una linea GPIO sul silicio principale. La riga GPIO può essere mappata a un'esecuzione specifica del metodo di controllo usando l'oggetto _AEI nel controller GPIO descritto in ACPI. Quando si verifica l'interruzione GPIO, il sottosistema ACPI di Windows esegue il metodo associato alla riga GPIO specifica, che può a sua volta emettere un comando Notify() nel dispositivo Batteria del metodo di controllo. In questo modo Windows restituisce nuovamente lo stato e i metodi di informazione statici per aggiornare lo stato della batteria.
Indicatori di alimentazione e ricarica
Windows fornisce indicazioni sullo stato di alimentazione e batteria nel sistema operativo. Questo viene presentato all'utente in diverse posizioni, tra cui l'icona della barra della batteria sul desktop, nel menu Start e direttamente nella schermata Di blocco.
Windows 8 piattaforme può anche presentare un indicatore visibile all'utente dello stato di ricarica. Le figure seguenti mostrano due esempi di interfaccia utente. L'indicatore usato deve avere un impatto minimo sul consumo di energia e sull'esperienza utente.
Elementi dell'interfaccia utente di Alimentazione e ricarica di Windows
Windows fornisce un'indicazione dello stato di alimentazione e ricarica in tre posizioni chiave:
- Nella schermata di blocco. Viene visualizzata un'icona della batteria con la fonte di alimentazione e lo stato di carica.
- Nell'indicatore ora e data quando si passa il puntatore del mouse sul pulsante Start. Viene visualizzata un'icona della batteria con la fonte di alimentazione e lo stato di carica.
- Icona della batteria sul desktop. Viene visualizzata un'icona della batteria con la fonte di alimentazione e lo stato di carica. Altre informazioni sono disponibili quando si fa clic sull'icona della batteria; ciò include la capacità rimanente, il tempo stimato rimanente e i dettagli per batteria se il sistema ha più batterie
. Per le piattaforme moderne in standby, se il sistema è in S0 e il coperchio (se presente) non è chiuso, Windows si accende brevemente il display quando il sistema è connesso al caricatore e l'alimentazione viene applicata. Ciò consente agli utenti di visualizzare la piattaforma rispondere all'azione di connessione del caricatore.
Indicatori di ricarica hardware della piattaforma
Gli elementi dell'interfaccia utente incorporati in Windows riguardano gli scenari in cui Windows è in esecuzione e la visualizzazione è visibile all'utente. Tuttavia, questi indicatori sullo schermo non sono visibili quando il sistema è arrestato, ibernato, dormendo o altrimenti non in esecuzione.
Una piattaforma può includere un LED per indicare che l'alimentazione è presente. Si preferisce che un LED di questo tipo non sia posizionato sullo chassis del sistema. Invece, il LED deve essere sul mattoni di alimentazione, cavo di alimentazione o connettore di alimentazione. Facoltativamente, questo LED può anche indicare lo stato di addebito all'utente.
Se viene fornito un LED, non deve variare in intensità o colore nel tempo o in caso contrario lampeggiare o lampeggiare, perché presenta una distrazione agli utenti. Può tuttavia cambiare colore per indicare lo stato dell'addebito; ad esempio, giallo quando si carica, verde quando si carica completamente o rosso quando si verifica un errore.
Capacità della batteria di riserva dell'orologio in tempo reale
Mantenere il tempo accurato è essenziale per offrire un'esperienza utente ottimale. Inoltre, è necessario tempo accurato per connettersi ai servizi, ad esempio Microsoft Store. Tutti i sistemi Windows devono mantenere tempo accurato per un periodo di almeno quattro settimane, anche quando disattivato. In genere questa operazione viene eseguita usando una batteria di backup separata per mantenere l'orologio in tempo reale (RTC). Questo non è sempre possibile o pratico su fattori di forma altamente portabili.
I progettisti di sistema possono usare una batteria dedicata o riservare una parte della batteria principale del sistema. Dato che i requisiti di alimentazione modesti del RTC, una soglia di riserva relativamente bassa fornirà garanzie che corrispondono alle batterie di backup dedicate esistenti nei PC odierni.
Linee guida di progettazione
OSPM fornisce un metodo per le finestre di progettazione del sistema per eseguire l'override dell'evento della batteria critica del sistema operativo Windows. Quando la batteria raggiunge un livello critico (in milliwatt ore), come definito dal metodo _BIX (Battery Information Extended - Design Capacity for Low) nell'implementazione del metodo Control, il firmware invia un comando Notify al sistema operativo. A quel punto, Windows eseguirà un arresto di emergenza o un'ibernazione per mantenere lo stato del sistema.
Tutti i progetti devono soddisfare i requisiti seguenti:
- Il metodo Design Capacity for Low nel metodo _BIX deve essere impostato su almeno 675 milliwatt-hours della capacità di progettazione completa (oltre alla capacità necessaria per eseguire in modo affidabile l'azione critica).
- La capacità di riserva precedente deve essere inferiore al quattro% della capacità di progettazione completa.
Prestazioni di ricarica
Il tempo necessario per caricare completamente la batteria di sistema è una preoccupazione per l'utente. Molti sistemi vengono addebitati durante la notte o durante altri periodi in cui l'utente non interagisce con il sistema. Tuttavia, quando la batteria è completamente scaricata e l'utente vuole usare il sistema in modo portatile, le prestazioni di ricarica sono un problema principale.
Windows consiglia che tutte le piattaforme siano in grado di caricare la batteria di sistema dal 5 al 90% entro quattro ore o meno quando il sistema viene avviato e in standby moderno con lo schermo disattivato.
I progettisti di sistemi devono prestare particolare attenzione alla tariffa di addebito per i sistemi che supportano solo l'addebito basato su BUS seriale universale (USB). I sistemi con ricarica USB solo e capacità di batteria di grandi dimensioni potrebbero non soddisfare le aspettative del cliente per le prestazioni di ricarica.
Se la ricarica USB è necessaria su piattaforme con capacità di batteria di grandi dimensioni (maggiore di 30 watt), la finestra di progettazione del sistema deve anche fornire un input DC ad alta potenza e raggruppare un caricatore DC ad alta potenza con il sistema. Ciò consente anche la ricarica della batteria della piattaforma durante l'uso interattivo, che potrebbe essere altrimenti impossibile dato la potenza di input insufficiente e il consumo elevato di energia di una piattaforma di sola carica USB con capacità di batteria di grandi dimensioni.