Partager via


Batterie et charge

Expérience utilisateur de charge de batterie

Cette rubrique décrit les recommandations relatives à la batterie et à la charge dans Windows 10. Tous les appareils exécutant Windows ont une expérience de charge de batterie cohérente, quel que soit le facteur de forme, le jeu d’instructions ou l’architecture de plateforme. Par conséquent, les utilisateurs bénéficient d’une expérience cohérente et de qualité avec la charge de la batterie.

  1. Le chargement se produit toujours lorsqu’il est connecté au chargeur.

    À l’exception des cas de défaillance de la batterie, un appareil exécutant Windows est toujours capable de charger la batterie chaque fois qu’il est connecté au chargeur.

  2. Windows peut toujours démarrer lorsqu’il est connecté au chargeur.

    • Windows 10 pour les éditions de bureau (Famille, Professionnel, Entreprise et Éducation) :

      Si l’appareil est dans l’état S5 (arrêt), il peut toujours démarrer dans Windows lorsqu’il est connecté au chargeur, quel que soit le niveau de charge de la batterie et la présence de la batterie, si la batterie est amovible.

    • Windows 10 Mobile :

      Une batterie doit être présente et avoir un niveau de charge suffisant pour que le système puisse démarrer.

  3. Le matériel gère de manière autonome la charge.

    Le matériel charge la batterie de l’appareil sans avoir besoin d’un microprogramme, de Windows, de pilotes ou d’autres logiciels s’exécutant sur le ou les processeurs main. Cette exigence s’applique uniquement aux Windows 10 pour les systèmes d’éditions de bureau. Windows 10 Mobile systèmes peuvent nécessiter la prise en charge d’une application de charge UEFI et/ou d’autres composants logiciels pour charger la batterie.

  4. La charge s’arrête automatiquement lorsque la batterie est complètement chargée ou lorsqu’une erreur se produit.

    Le matériel cesse automatiquement de charger lorsque la batterie est complètement chargée. Cela s’effectue sans nécessiter de microprogrammes, de Windows, de pilotes ou d’autres logiciels s’exécutant sur le ou les processeurs main. En cas d’erreur thermique ou de batterie, la charge est également automatiquement arrêtée.

Le chargement se produit lorsqu’il est connecté au chargeur

Les utilisateurs s’attendent à ce que leur appareil se charge chaque fois qu’il est connecté au chargeur. Par conséquent, le matériel doit toujours essayer de charger la batterie chaque fois que l’appareil est connecté au chargeur, quel que soit l’état d’alimentation. Cette attente est vraie dans tous les états d’alimentation, notamment actif (S0), veille (S3), veille (S4), arrêt (S5), arrêt (G2/G3) et S0 Inactif. La charge peut s’arrêter une fois que la batterie est complètement chargée ou si une erreur se produit.

Nous déconseillons une conception qui charge la batterie à un débit réduit lorsque Windows ou le microprogramme n’a pas été démarré ou en cours d’exécution. Par exemple, la batterie peut se charger à un rythme plus lent lorsque le système est complètement éteint et connecté au chargeur et charger à un rythme plus rapide lorsque l’appareil est démarré et que le microprogramme ACPI peut être utilisé pour surveiller la batterie régulièrement.

Enfin, une conception peut charger la batterie à un débit inférieur lorsque le système est dans un état thermique. Dans ce scénario, la chaleur peut être réduite en ralentissant ou en éliminant complètement la charge de la batterie. Les conditions thermiques sont l’exception dans toute bonne conception de système.

Windows est toujours démarrable lorsqu’il est connecté à l’alimentation secteur

  • Windows 10 pour éditions de bureau

    Les utilisateurs s’attendent à ce qu’ils puissent démarrer immédiatement et utiliser leur appareil chaque fois qu’il est connecté au chargeur. Par conséquent, l’appareil doit toujours démarrer et être entièrement utilisable lorsqu’il est connecté à l’alimentation secteur. Cela est vrai quel que soit le niveau de charge de la batterie, l’état de la batterie/du chargeur et la présence de la batterie (si la batterie est amovible).

    Si l’appareil a besoin d’une capacité de batterie minimale pour démarrer le microprogramme et Windows, le matériel doit s’assurer que la capacité de la batterie est toujours réservée par la plateforme. La capacité de la batterie réservée ne doit pas être exposée à Windows.

  • Windows 10 Mobile

    Lorsque le système est connecté à l’alimentation secteur et que la batterie est présente, le système doit essayer de démarrer sur le système d’exploitation, tant que la batterie a suffisamment de charge pour alimenter le système pendant le processus de démarrage.

Le matériel gère de manière autonome la charge

Comme indiqué ci-dessus, les utilisateurs s’attendent à ce que leur appareil se charge lorsqu’il est connecté au chargeur. Par conséquent, le matériel doit charger la batterie sans nécessiter de microprogramme, de Windows, de pilotes ou d’autres logiciels s’exécutant sur le ou les processeurs main, car un ou plusieurs de ces composants peuvent ne pas être opérationnels ou se trouver dans un état d’erreur à un moment donné. Cette exigence s’applique uniquement aux Windows 10 pour les systèmes d’éditions de bureau. Windows 10 Mobile systèmes peuvent nécessiter la prise en charge d’une application de charge UEFI et/ou d’autres composants logiciels pour charger la batterie.

La charge s’arrête automatiquement lorsqu’elle est entièrement chargée ou lorsqu’une erreur se produit

Le matériel cesse automatiquement de charger lorsque la batterie est complètement chargée ou si une erreur s’est produite. Comme pour la charge, cela doit être effectué sans nécessiter de microprogrammes, windows, pilotes ou autres logiciels s’exécutant sur le ou les processeurs main. De plus, le matériel est requis pour se conformer à toutes les conditions réglementaires de sécurité de la batterie.

Indicateurs d’alimentation et de charge

Windows fournit une source d’alimentation et un indicateur de status batterie à l’aide d’icônes que l’utilisateur peut voir à plusieurs endroits. Les emplacements incluent l’icône d’état du système de batterie et l’écran de verrouillage.

Un appareil peut également avoir un indicateur physique tel qu’une LED indiquant le status de charge. Cet indicateur doit avoir peu d’impact sur la consommation d’énergie.

Icônes d’alimentation et de chargement Windows

Windows affiche la source d’alimentation et les status de charge dans trois emplacements :

  • Sur l’écran de verrouillage :

    Windows affiche une icône de batterie avec la source d’alimentation et charge status.

  • Barre d’état système du bureau (Windows 10 pour les éditions de bureau uniquement) :

    Windows affiche une icône de batterie avec une source d’alimentation et status de charge. Lorsque l’utilisateur clique sur l’icône de batterie, il peut afficher des informations telles que la capacité restante, le temps restant estimé et les détails par batterie (s’il est équipé de plusieurs batteries).

  • Barre d’état (référence SKU mobile uniquement) :

    Windows affiche une icône de batterie avec une source d’alimentation et status de charge. Lorsque l’utilisateur balaye vers le bas à partir du haut de l’écran pour développer le centre de notifications, il peut afficher le pourcentage de batterie réel.

  • Paramètres de l’économiseur de batterie :

    Dans la page Paramètres de l’économiseur de batterie (Paramètres -> Système -> Économiseur de batterie), Windows affiche le pourcentage global de la batterie, la status de la batterie (charge et décharge) et le temps restant estimé de charge/décharge.

Pour les plateformes capables de S0 Inactif, si l’affichage est visible, Windows allume brièvement l’écran lorsque le système est connecté au chargeur ou déconnecté pour informer l’utilisateur d’un changement de source d’alimentation.

Indicateurs de charge du matériel de plateforme

Les icônes intégrées à Windows concernent uniquement les scénarios où Windows est en cours d’exécution et où l’affichage est visible par l’utilisateur. Toutefois, les indicateurs à l’écran ne sont pas visibles lorsque le système est à l’arrêt ou à l’état S0 Inactif où l’affichage est désactivé. Étant donné que l’utilisateur ne peut pas voir les signaux visuels à l’écran, la plateforme peut inclure un indicateur de charge physique pour indiquer que l’alimentation est présente.

La section suivante fournit nos recommandations pour l’implémentation de claviers et de souris/pavés tactiles sur les plateformes S0 Inactive avec des solutions d’ancrage. Cette section traite également des défis et des principes ainsi que des solutions potentielles. Les deux solutions potentielles s’appliquent aux docks fixes mobiles et a/C alimentés.

Exposition du sous-système d’alimentation et de charge à Windows

Chaque appareil mobile exécutant Windows comprend une ou plusieurs batteries et une source d’alimentation telle qu’un adaptateur secteur. Les informations de ces sous-systèmes transmettent des status de gestion de l’alimentation à l’utilisateur. Le status inclut la capacité restante de la batterie à tout moment, l’état de l’adaptateur secteur et la charge de la batterie, ainsi que le temps restant estimé de la batterie. Les informations du sous-système d’alimentation sont exposées dans le compteur de batterie Windows et d’autres utilitaires de diagnostic de gestion de l’alimentation.

La section suivante fournit nos recommandations pour l’implémentation de claviers et de souris/pavés tactiles sur les plateformes S0 Inactive avec des solutions d’ancrage. Cette section traite également des défis et des principes ainsi que des solutions potentielles. Les deux solutions potentielles s’appliquent aux docks fixes mobiles et a/C alimentés.

Topologies matérielles de sous-système d’alimentation standard

En règle générale, Windows attend l’une des deux topologies matérielles pour le sous-système d’alimentation et de charge.

La figure suivante illustre la première topologie qui utilise le contrôleur incorporé de la plateforme, qui est courant dans les appareils existants exécutant Windows. Le contrôleur incorporé effectue plusieurs fonctions dans un appareil mobile, notamment le contrôle de la source d’alimentation, la gestion de la charge de la batterie, la détection des boutons/commutateurs d’alimentation et l’entrée clavier et souris compatibles PS/2. Le contrôleur incorporé est généralement connecté au silicium du cœur via le bus LPC (Low Pin Count). Windows interroge et est informé des informations du sous-système d’alimentation par le biais de l’interface de contrôleur incorporé ACPI.

sous-système d’alimentation et de charge avec un contrôleur incorporé

La figure suivante illustre la deuxième topologie, qui utilise un contrôleur de charge de batterie et un composant de jauge de carburant connecté directement au silicium central de la plateforme via un bus périphérique léger comme I²C. Dans cette configuration, Windows interroge et est averti des modifications du sous-système d’alimentation via des communications sur le bus I²C. Au lieu d’utiliser un pilote de périphérique pour la batterie ou le sous-système de charge, l’environnement de la méthode de contrôle ACPI est étendu avec la prise en charge d’une région d’opération de périphérique simple (SPB). La région de fonctionnement SPB permet au code de la méthode de contrôle ACPI de communiquer avec le contrôleur de charge de la batterie et les composants de jauge de carburant connectés au silicium central sur I²C.

sous-système d’alimentation et de charge à l’aide du contrôleur de plateforme

Modèle de pilote du sous-système d’alimentation et de batterie

Windows dispose d’un modèle de pilote de périphérique de batterie et de sous-système d’alimentation robuste. Les informations de gestion de l’alimentation sont transmises au gestionnaire de l’alimentation Windows par le biais d’un pilote de périphérique de batterie, puis agrégées et exposées à l’interface utilisateur Windows par le biais des IRP du périphérique de batterie et d’un ensemble d’API logicielles de gestion de l’alimentation.

Le modèle de pilote de batterie est un modèle de port/miniport, autrement dit, le modèle de batterie et les interfaces sont définis de telle sorte que les nouveaux types de batterie puissent être exposés via un miniport. Toutefois, dans la pratique, il n’y a que deux miniports qui ont une utilisation significative dans l’écosystème Windows : le pilote miniport de batterie prenant en charge les batteries de la méthode de contrôle ACPI et le pilote de miniport de batterie HID pour les périphériques USB sans interruption d’alimentation (UPS).

modèle de pilote de système d’alimentation et de batterie

Tous les PC sont censés exposer les batteries et le sous-système de charge via l’interface de méthode de contrôle ACPI. L’interface miniport de batterie ne doit pas être utilisée pour les sous-systèmes de charge de batterie spécifiques à la plateforme. Il existe des méthodes de contrôle définies par la spécification ACPI qui permettent à Windows d’interroger les informations sur la batterie et les status. De même, il existe un modèle piloté par les événements pour permettre à la plateforme matérielle d’informer Windows des modifications de la batterie et de la source d’alimentation, par exemple une transition entre secteur et batterie.

Interrogation d’état

Le gestionnaire d’alimentation Windows demande régulièrement status informations de la batterie, y compris la capacité de charge restante et le taux actuel de vidange. Cette demande provient du gestionnaire d’alimentation, un composant d’interface utilisateur de niveau supérieur ou d’une application. Le gestionnaire d’alimentation transforme la demande en paquet de demande d’E/S (IRP) sur le ou les périphériques de batterie. Lorsque la batterie est exposée via l’interface de méthode de contrôle ACPI, le pilote de batterie de la méthode de contrôle (cmbatt.sys) exécute les méthodes de contrôle ACPI appropriées. Dans le cas de status informations, la méthode _BST (batterie status) est exécutée.

La méthode _BST nécessite que le microprogramme ACPI obtienne des informations actuelles à partir du sous-système d’alimentation, puis empaquette ces informations dans une mémoire tampon au format spécifié par la spécification ACPI. Le code spécifique requis pour accéder à la batterie status à partir du contrôleur incorporé ou du chargeur de batterie connecté via I²C est contenu dans le microprogramme ACPI et fait partie du code comprenant la méthode _BST. Le résultat net de la méthode _BST est la mémoire tampon d’informations requises qui est retournée au pilote de batterie de la méthode de contrôle. Le pilote de batterie de la méthode de contrôle convertit enfin la mémoire tampon au format requis par le pilote de batterie et le gestionnaire d’alimentation Windows.

Notification des changements d’état

Le sous-système d’alimentation et de batterie génère plusieurs notifications à Windows pour les changements d’état, y compris les transitions du secteur à l’alimentation de la batterie. L’interrogation par Windows de ces changements d’état n’est pas pratique compte tenu de la fréquence élevée à laquelle l’interrogation est requise. Par conséquent, la plateforme matérielle doit utiliser un modèle piloté par les événements pour notifier Windows lorsque l’état de la batterie change considérablement.

Lorsque le status de la batterie change, y compris la capacité restante ou la charge status, le microprogramme ACPI émet une notification(0x80) sur le périphérique de batterie de la méthode de contrôle. Le pilote batterie de la méthode de contrôle Windows évalue ensuite la méthode _BST et retourne les informations mises à jour au gestionnaire d’alimentation.

Lorsque les données statiques de la batterie changent, y compris la dernière capacité de charge complète, la capacité de conception et le nombre de cycles, le microprogramme ACPI émet une notification (0x81) sur le périphérique de batterie de la méthode de contrôle. Le pilote batterie de la méthode de contrôle Windows évalue ensuite la méthode _BIX et retourne les informations mises à jour au gestionnaire d’alimentation.

La plateforme interrompt l’environnement du microprogramme ACPI via l’interruption de contrôle du système (SCI) dans le cas d’une plateforme équipée d’un contrôleur incorporé et par le biais d’un GPIO dans le cas de plateformes avec du matériel de sous-système de batterie connecté directement au silicium du cœur.

Opération ACPI avec un contrôleur incorporé

Les plateformes dont la batterie et le sous-système d’alimentation sont connectés au contrôleur incorporé classique utilisent la région d’opération du contrôleur incorporé ACPI pour faciliter les communications entre l’environnement de la méthode de contrôle ACPI et le matériel de la plateforme.

Le microprogramme ACPI doit définir le contrôleur incorporé dans l’espace de noms ACPI, comme décrit dans la section 12.11.1 de la spécification ACPI, notamment :

  • Nœud Device() pour le contrôleur incorporé.
  • Objet _HID qui indique que l’appareil est un contrôleur incorporé.
  • Objet _CRS pour désigner les ressources d’E/S pour le contrôleur incorporé.
  • Objet _GPE qui définit la SCI pour le contrôleur incorporé.
  • Une région d’opération décrivant les informations contenues dans le contrôleur intégré auxquelles peuvent accéder d’autres codes de méthode de contrôle ACPI dans l’espace de noms, y compris l’état de la batterie et les méthodes d’informations.

Les détails complets sont décrits dans la section 12 de la spécification ACPI.

Accès aux informations de batterie à partir du contrôleur incorporé

La méthode de contrôle ACPI accède aux informations du contrôleur incorporé en lisant les valeurs décrites dans la région d’opération du contrôleur incorporé.

Notification du système d’exploitation lorsque l’état de la batterie change

Lorsque le contrôleur incorporé détecte une modification de l’état de la batterie, y compris une modification de l’état de charge ou de la capacité restante spécifiée par _BTP, le contrôleur incorporé génère une SCI et définit le bit SCI_EVT dans le registre status de commandes (EC_SC) du contrôleur incorporé. Le pilote WINDOWS ACPI communique avec le contrôleur incorporé et émet une commande de requête (QR_EC) pour demander des informations spécifiques sur la notification à émettre. Le contrôleur incorporé définit ensuite une valeur d’octet correspondant à la méthode _QXX à exécuter. Par exemple, le contrôleur incorporé et le microprogramme ACPI peuvent définir la valeur 0x33 comme une mise à jour des informations de status de la batterie. Lorsque le contrôleur incorporé définit la valeur 0x33 comme notification, le pilote ACPI exécute la méthode _QXX. Le contenu de la méthode _QXX est généralement une notification(0x80) sur le périphérique batterie de la méthode de contrôle dans l’espace de noms.

Fonctionnement ACPI avec un système de charge connecté I²C

Les plateformes peuvent également connecter leur batterie et leur sous-système d’alimentation connectés au chipset principal via un bus série de faible consommation, tel que I²C. Dans ces conceptions, la région d’opération ACPI GenericSerialBus est utilisée pour communiquer entre les méthodes de contrôle ACPI et le matériel du sous-système de batterie. La connexion du matériel du sous-système de batterie à une interruption GPIO permet d’exécuter les méthodes de contrôle ACPI lorsqu’une batterie status change.

Lorsque le matériel du sous-système de batterie et d’alimentation est connecté via I²C, le microprogramme ACPI doit définir :

  • Nœud Device() pour l’appareil de contrôleur GPIO auquel l’interruption I²C est connectée, notamment :

    • _HID objet décrivant l’ID matériel du contrôleur GPIO.
    • Objet _CSR décrivant les ressources matérielles et d’interruption du contrôleur GPIO.
    • _AEI objet qui mappe une ou plusieurs lignes GPIO à l’exécution de méthode d’événement ACPI. Cela permet aux méthodes ACPI d’être exécutées en réponse aux interruptions de ligne GPIO.
  • Nœud Device() pour le contrôleur I²C auquel la jauge de carburant de la batterie et le matériel de charge sont connectés, notamment :

    • _HID et _CSR objets décrivant l’ID matériel et les ressources du contrôleur I²C.
    • Une operationRegion GenericSerialBus dans l’étendue de l’appareil I²C décrivant les registres de commandes virtuelles pour l’appareil I²C.
    • Définitions de champ dans GenericSerialBus OperationRegion. Les définitions de champ permettent au code ASL en dehors de l’appareil I²C d’accéder aux registres de commandes virtuelles pour l’appareil I²C.

La description du contrôleur GPIO et le mappage des lignes GPIO aux événements ACPI permettent d’exécuter les méthodes de contrôle pour l’status de la batterie et la notification lorsqu’une interruption GPIO d’un appareil I²C est déclenchée. La description de la région de fonctionnement GenericSerialBus permet au code ACPI pour les status de la batterie de communiquer sur le bus I²C et de lire les registres et les informations à partir de la jauge de carburant de la batterie et du sous-système de charge.

Accès aux informations sur la batterie à partir du système de charge

Le status de batterie peut être exécuté par les méthodes de contrôle ACPI en envoyant et en recevant des commandes sur le bus I²C auquel le matériel du sous-système de batterie est connecté. Le code de méthode de contrôle qui sauvegarde les méthodes d’informations statiques status et batterie lit et écrit des données à partir des régions d’opération GenericSerialBus décrites dans l’espace de noms ACPI. Le code de la méthode de contrôle lit les données de l’appareil de jauge de carburant ou des informations statiques sur la capacité de la batterie et le nombre de cycles sur le bus I²C via la région de fonctionnement GenericSerialBus.

Notification de Windows lorsque l’état de la batterie change

Une interruption peut être générée par le matériel du sous-système de batterie lorsque l’état change et que l’interruption est physiquement connectée à une ligne GPIO sur le silicium du cœur. La ligne GPIO peut être mappée à une exécution de méthode de contrôle spécifique à l’aide de l’objet _AEI sous le contrôleur GPIO décrit dans ACPI. Lorsque l’interruption GPIO se produit, le sous-système Windows ACPI exécute la méthode associée à la ligne GPIO spécifique qui peut à son tour effectuer une notification() sur le périphérique de batterie de la méthode de contrôle, ce qui amène Windows à réévaluer les méthodes d’informations statiques et status pour mettre à jour la batterie status.

Implémentation ACPI de l’objet d’alimentation

Le microprogramme ACPI doit implémenter un périphérique de source d’alimentation ACPI. Cet objet doit se signaler lui-même avec un ID matériel (_HID) « ACPI0003 ». Cet objet doit également implémenter la méthode ACPI _PSR (Power Source). Cette méthode retourne la status de la source d’alimentation et indique si la source d’alimentation est actuellement en ligne (alimentation secteur) ou hors connexion (sur batterie). Toutes les sources d’alimentation d’entrée du système doivent être multiplexées via une seule méthode _PSR. Par exemple, _PSR devez acheminer en ligne si le système est alimenté via un connecteur de barillet DC ou un connecteur de station d’accueil distinct. N’utilisez pas plusieurs périphériques de source d’alimentation ACPI.

La méthode _PSR ne doit signaler en ligne (alimentation secteur) que lorsque le système est connecté à l’alimentation secteur. Lorsque l’état de _PSR change, la plateforme doit générer une interruption et une notification(0x80) sur l’appareil dans l’espace de noms ACPI. Cette opération doit être effectuée immédiatement après la détection du changement d’état physique par la plateforme.

Implémentation ACPI des informations statiques de batterie

Le microprogramme ACPI doit implémenter la méthode _BIX ACPI pour chaque batterie qui fournit des informations statiques sur la batterie, notamment la capacité de conception, le nombre de cycles et le numéro de série. Le tableau ci-dessous développe les définitions des champs décrits dans la spécification ACPI et énumère les exigences spécifiques à Windows pour ces informations.

Champ Description Exigences propres à Windows
Révision Indique _BIX révision Doit être défini sur 0x0
Unité d’alimentation Détermine les unités signalées par le matériel. Soit : MA/MAh ou mW/mWh. Doit être défini sur 0x0 pour indiquer que les unités sont mW/mWh
Capacité de conception Indique la capacité d’origine de la batterie en mWh Doit être défini sur une valeur précise et ne peut pas être 0x0 ou 0xFFFFFFFF
Dernière capacité de charge complète Indique la capacité de charge totale actuelle de la batterie

Doit être défini sur une valeur précise et ne peut pas être 0x0 ou 0xFFFFFFFF

Cette valeur doit être mise à jour chaque fois que le nombre de cycles augmente.

Technologie de batterie Indique si la batterie est rechargeable ou à usage unique. Doit être défini sur 0x1 pour indiquer que la batterie est rechargeable
Tension de conception Indique la tension de conception de la batterie

Doit être défini sur la tension de conception de la batterie lorsqu’elle est neuve en mV.

Ne doit pas être défini sur 0x0 ou 0xFFFFFFFF.

Capacité théorique d’Avertissement Indique un niveau d’avertissement de batterie faible fourni par l’OEM. Cette valeur est ignorée par Windows.
Capacité théorique de Faible Indique le niveau critique de batterie auquel Windows doit immédiatement arrêter ou mettre en veille prolongée avant que le système ne s’éteigne. Doit être définie sur une valeur comprise entre 0x0 et 5 % de la capacité de conception de la batterie.
Granularité de la capacité de la batterie 1 Indique la quantité minimale de changement de charge restante qui peut être détectée par le matériel entre la capacité théorique d’Avertissement et la capacité théorique de Faible. Doit être défini sur une valeur ne dépassant pas 1 % de la capacité de conception de la batterie.
Granularité de la capacité de la batterie 2 Indique la quantité minimale de changement de charge restante qui peut être détectée par le matériel entre la Dernière capacité en pleine charge et la capacité théorique d’Avertissement. Doit être défini sur une valeur ne dépassant pas 75 mW (environ 0,25 % d’une batterie de 25Whr), ce qui correspond à (1/400) de la capacité de conception de la batterie.
Nombre de cycles Indique le nombre de cycles de la batterie. Doit être défini sur une valeur supérieure à 0x0. Ne doit pas être défini sur 0xFFFFFFFF.
Précision des mesures Indique la précision de la mesure de capacité de la batterie. Doit être défini sur 95 000 ou plus, ce qui indique une précision de 95 % ou supérieure.
Durée maximale d’échantillonnage Durée d’échantillonnage maximale prise en charge entre deux évaluations _BST successives, qui indique une différence dans la capacité restante. Aucune exigence spécifique.
Durée minimale d’échantillonnage Durée minimale prise en charge de l’échantillonnage entre deux évaluations _BST successives qui montreront une différence dans la capacité restante Aucune exigence spécifique.
Intervalle de moyenne maximale Intervalle de moyenne maximal, en millisecondes, pris en charge par la jauge de la batterie. Aucune exigence spécifique.
Intervalle de moyenne minimale Intervalle de moyenne minimal, en millisecondes, pris en charge par la jauge de la batterie. Aucune exigence spécifique.
Numéro de modèle Numéro de modèle de batterie fourni par OEM Ne doit pas avoir la valeur Null.
Numéro de série Numéro de série de la batterie fournie par OEM Ne doit pas avoir la valeur Null.
Type de batterie Informations sur le type de batterie fournie par l’OEM Aucune exigence spécifique.
Informations OEM Informations fournies par l’OEM Aucune exigence spécifique.

Implémentation ACPI des informations d’état en temps réel de la batterie

Le microprogramme ACPI doit implémenter la méthode de _BST ACPI pour chaque batterie, qui fournit des informations de status en temps réel sur la batterie, y compris la capacité restante et le taux de drainage actuel. Le tableau ci-dessous développe les définitions des champs décrits dans la spécification ACPI et énumère les exigences spécifiques à Windows pour ces informations.

Champ Description Exigences propres à Windows
État de la batterie Indique si la batterie est actuellement chargée, en cours de décharge ou est dans un état critique. L’État de la batterie doit signaler le chargement uniquement si la batterie est en cours de chargement. De même, l’état de la batterie DOIT signaler la décharge uniquement si la batterie est en cours de décharge. Une batterie qui n’est ni en cours de charge ni en cours de décharge ne doit signaler aucun bit.
Taux de présentation de la batterie Fournit le taux actuel de drainage en mW à partir de la batterie.

Doit être supérieur à 0x0 et inférieur à 0xFFFFFFFF.

Doit être précis dans les limites de la valeur de Précision de mesure dans _BIX.

Capacité restante de la batterie Fournit la capacité de batterie restante en mWh.

Doit être supérieur à 0x0 et inférieur à 0xFFFFFFFF.

Doit être précis dans la valeur De précision de mesure dans _BIX

Tension actuelle de la batterie Indique la tension actuelle sur les bornes de la batterie. Doit être comprise entre une valeur de 0x0 et 0xFFFFFFFF en mV.

Lorsque des données dans _BST changent, la plateforme doit générer une interruption et une commande Notify(0x80) sur la batterie dans l’espace de noms ACPI. Cette opération doit être effectuée immédiatement après la détection du changement d’état physique par la plateforme. Cela inclut toute modification dans le champ État de la batterie pour les bits de chargement (c’est-à-dire Bit0) ou de décharge (c’est-à-dire Bit1).

En outre, la plateforme doit implémenter la méthode _BTP (Battery Trip Point). _BTP permet à Windows de spécifier un seuil de capacité restant qui, lorsqu’il est franchi, la plateforme doit générer une interruption et une notification (0x80) sur le périphérique de batterie dans l’espace de noms ACPI. La méthode _BTP évite à Windows de devoir interroger régulièrement la batterie.

Méthodes de contrôle de batterie

La spécification ACPI permet d’utiliser des méthodes de contrôle propres à l’appareil et au système d’exploitation via la méthode de contrôle _DSM (Device-Specific Method). _DSM est décrit dans la section 9.14.1 de la spécification ACPI.

Windows prend en charge les méthodes _DSM suivantes pour les appareils de batterie de méthode de contrôle.

Sens du taux de charge thermique

Champ Valeur Description
UUID 4c2067e3-887d-475c-9720-4af1d3ed602e GUID indiquant les extensions de la prise en charge du pilote de batterie de la méthode de contrôle Windows
ID de révision 0x0 Première révision de cette fonctionnalité
Index de fonction 0x1 Définir la limitation de la charge de la batterie
Arguments Limite thermique

Valeur entière comprise entre 0 et 100 indiquant la limite de charge thermique.

Une valeur de 40 % indique que la batterie doit être chargée à 40 % du débit maximal.

Une valeur de 0 % indique que le chargement de la batterie doit être arrêté jusqu’à ce que cette méthode soit appelée à nouveau.

Valeur(s) de retour None n/a

Batterie utilisable par l’utilisateur

Champ Valeur Description
UUID 4c2067e3-887d-475c-9720-4af1d3ed602e GUID indiquant les extensions de la prise en charge du pilote de batterie de la méthode de contrôle Windows
ID de révision 0x0 Première révision de cette fonctionnalité
Index de fonction 0x2 Indique que cette _DSM permet à OSPM de déterminer si la batterie peut ou non faire l’objet d’une maintenance par l’utilisateur.
Arguments Aucun Aucun argument n'est nécessaire.
Valeur(s) de retour Package contenant un seul entier.

0x0 si la batterie ne peut pas faire l’objet d’une maintenance par l’utilisateur et ne peut pas être remplacée par l’utilisateur final, ou peut être remplacée par l’utilisateur final avec des outils supplémentaires.

0x1 si la batterie peut être remplacée par l’utilisateur final sans outil supplémentaire.

Surveillance de charge requise

Champ Valeur Description
UUID 4c2067e3-887d-475c-9720-4af1d3ed602e GUID indiquant les extensions de la prise en charge du pilote de batterie de la méthode de contrôle Windows
ID de révision 0x0 Première révision de cette fonctionnalité
Index de fonction 0x3 Indique que cette _DSM est que l’OSPM détermine si la batterie de la méthode de contrôle nécessite une réinitialisation périodique du chien de garde pour maintenir une charge de courant élevée et la période à laquelle le chien de garde doit être réinitialisé
Arguments Aucun Aucun argument n'est nécessaire.
Valeur(s) de retour Package contenant un seul entier. 0x0 si la batterie ne nécessite pas de maintenance de surveillance.

Les valeurs comprises entre 0x0000001e et 0x12C indiquent l’intervalle d’interrogation maximal en secondes.

Toutes les autres valeurs sont ignorées et traitées comme 0x0n et la réinitialisation de la surveillance n’est pas nécessaire.

Si un intervalle de surveillance valide est spécifié, Windows exécute la méthode _BST à un intervalle qui ne dépasse pas la valeur de surveillance spécifiée chaque fois que la valeur de BatteryState dans la méthode _BST est définie sur le chargement.

La mise à jour dynamique de cette valeur n’est pas prise en charge.

Pilotes de miniport de batterie tiers

Dans Windows 10, les fabricants OEM et les IMV peuvent développer leurs propres pilotes de miniport de batterie tiers pour remplacer le pilote Microsoft cmbatt.sys et communiquer directement avec le matériel de batterie. Un exemple de pilote de batterie est fourni par Microsoft sur GitHub et dans le cadre du kit d’exemples WDK .

Chargement USB (Windows 10 pour les éditions de bureau)

Microsoft reconnaît l’intérêt de fournir la possibilité de prendre en charge le chargement USB d’un appareil mobile. Grâce à des efforts de normalisation tels que la décision de l’UE de normaliser les chargeurs de téléphones mobiles, les chargeurs USB sont largement disponibles et fonctionnent sur une grande variété d’appareils, notamment les téléphones Windows Phone, les lecteurs MP3, les appareils RTC, etc. Microsoft comprend l’intérêt d’offrir un seul chargeur qui peut être utilisé pour charger plusieurs appareils, y compris un appareil exécutant Windows. En outre, étant donné le large soutien de l’industrie pour la facturation USB, il existe des avantages auxiliaires qui réduisent les coûts et l’impact environnemental.

À compter de Windows 8, un appareil mobile peut être alimenté et/ou chargé via USB, à condition que les exigences de charge de la batterie décrites ci-dessous soient remplies. En outre, il existe un certain nombre d’exigences spécifiques à USB qui doivent être remplies pour garantir une expérience utilisateur de qualité.

  1. L’alimentation/la charge USB doit être implémentée entièrement dans le microprogramme de la plateforme. La prise en charge ne doit pas nécessiter un système d’exploitation, un pilote ou une application.

  2. L’appareil NE DOIT PAS énumérer lorsqu’il est connecté à un autre appareil. Par conséquent, l’appareil ne se charge pas lorsqu’il est connecté à un port USB de PC standard, car ces ports sont limités à 500 mA par défaut. Les seules exceptions sont lorsque ce port est utilisé pour le débogage et pour la programmation initiale du microprogramme d’usine.

  3. L’appareil prend en charge le chargement à partir d’un port de chargement USB dédié. L’appareil doit charger lorsqu’il est connecté à un chargeur conforme à la spécification de chargement de batterie USB version 1.2. L’appareil ne doit pas dessiner plus de 1,5 A selon les normes de charge lorsqu’il est connecté à un chargeur USB standard. L’OEM peut choisir de prendre en charge des niveaux actuels plus élevés, à condition que les conditions suivantes soient remplies :

    • L’appareil détecte automatiquement le type de chargeur et charge à la vitesse appropriée pour le type de chargeur spécifique.
    • L’appareil et le chargeur répondent à toutes les normes électriques et de sécurité pertinentes.
    • L’OEM fournit le chargeur et le câble associé à l’appareil.
  4. Le chargement USB est pris en charge sur un réceptacle micro-AB standard, usb-C (recommandé) ou un connecteur de station d’accueil propriétaire. Un réceptacle micro-B n’est PAS autorisé sur l’appareil. Si vous utilisez un connecteur de station d’accueil propriétaire, l’OEM doit fournir un câble approprié avec l’appareil pour activer la charge à partir d’un chargeur USB standard.

  5. Si le port micro-AB est implémenté, l’appareil doit détecter automatiquement le type de câble, la configuration et assumer le rôle approprié. Si une prise micro-B est insérée et que le débogage n’est pas activé sur le port, le rôle de chargeur doit être assumé. Si une prise micro-B est insérée et que le débogage est activé sur le port, le rôle de débogage doit être assumé (c’est-à-dire que le chargement n’est pas pris en charge). Si une prise micro-A est insérée, le rôle hôte USB est assumé lorsque les périphériques USB attachés sont reconnus par Windows.

  6. Si le port micro-AB fonctionne également comme port de débogage, l’appareil doit fournir un moyen par le biais du microprogramme pour basculer entre le chargeur et le rôle de débogage. Le paramètre par défaut fourni à l’utilisateur final doit avoir désactivé le débogage.

  7. Si le port micro-AB fonctionne également en tant que port de débogage, l’appareil doit fournir un autre chemin d’alimentation d’entrée via un connecteur de barillet dédié ou un connecteur de station d’accueil propriétaire.

Listes de contrôle du concepteur et de l’implémenteur de plateforme

Vous pouvez utiliser les listes de contrôle suivantes pour valider la conception de la plateforme et l’adhésion du microprogramme système aux instructions du sous-système de batterie et de chargement décrites.

Liste de vérification de l’implémentation du microprogramme ACPI et du sous-système de batterie

Les concepteurs système doivent s’assurer qu’ils ont effectué les tâches suivantes dans leur microprogramme ACPI pour garantir la création de rapports corrects des informations sur la batterie et le sous-système d’alimentation à Windows :

  • Ajoutez un objet Device() pour chaque appareil de batterie dans l’espace de noms ACPI.

  • Chaque appareil à batterie doit fournir les méthodes de contrôle et les objets suivants :

    • _HID avec la valeur PNP0C0A.
    • _BIX informations sur la batterie étendues :

    Transmet les informations statiques de la batterie, notamment la dernière capacité de charge complète, la capacité de conception et le nombre de cycles.

    • _BST-État de la batterie :

      Transporte la batterie actuelle status, y compris la capacité restante, le taux de drainage et l’état de charge.

    • _BTP-point de déplacement de la batterie :

      Permet à un modèle de status de batterie piloté par les événements de réduire le travail périodique pour l’interrogation. _BTP permet à Windows de spécifier un seuil de capacité de charge restante à laquelle la plateforme doit émettre à l’adresse Notify(0x80) sur la batterie pour demander à Windows de mettre à jour la batterie status informations.

    • _STA-État général :

      Permet à Windows de savoir si la batterie est présente dans l’appareil où une batterie peut être amovible ou où il peut y avoir une batterie dans une station d’accueil portable.

  • Ajoutez un seul objet Device() pour un adaptateur ca/source d’alimentation dans l’espace de noms ACPI.

  • Le périphérique de source d’alimentation doit fournir les méthodes de contrôle et les objets suivants :

    • _HID avec la valeur ACPI0003

    • source d’alimentation _PSR :

      Communique si la source d’alimentation est actuellement en ligne (alimentation secteur) ou hors connexion (sur batterie). Toutes les sources d’alimentation d’entrée de l’appareil doivent être multiplexées via la méthode _PSR. Par exemple, le _PSR doit être acheminé en ligne si l’appareil est alimenté via un connecteur de barillet DC ou un connecteur de station d’accueil distinct. N’utilisez pas plusieurs périphériques de source d’alimentation ACPI.

  • La méthode _BIX doit prendre en charge les champs et les contraintes décrits dans les informations statiques sur la batterie ci-dessus :

    • Le champ Révision doit être défini sur 0x0.
    • Le champ Unité de puissance doit être défini sur 0x0.
    • Les valeurs Capacité de conception et Capacité de charge complète de la dernière fois doivent être définies sur des valeurs précises à partir de la batterie et du sous-système de charge et ne pas être égales à 0xFFFFFFFF ou 0x00000000.
    • Le champ Technologie de la batterie doit être défini sur 0x1.
    • Le champ Tension de conception doit être défini avec précision et ne doit pas être égal à 0x00000000 ou 0xFFFFFFFF.
    • La capacité de conception de Faible doit être définie sur la valeur minimale requise pour mettre en veille prolongée ou arrêter le système à partir d’un état entièrement activé.
    • Les champs Granularité de capacité de la batterie 1 et Granularité de la capacité de la batterie 2 doivent être définis sur une valeur ne dépassant pas 1 % de la capacité de conception de la batterie.
    • Le champ Nombre de cycles doit être renseigné avec précision à partir du sous-système de batterie.
    • Le champ Précision de la mesure doit être défini sur 80 000d ou plus.
    • Les champs Numéro de modèle et Numéro de série ne doivent pas être définis sur NULL.
  • Fournissez une méthode _BST qui permet à Windows d’interroger les status de batterie en temps réel. Les champs de la méthode _BST doivent tous être retournés dynamiquement à partir du sous-système de charge de la batterie et de l’alimentation sous-jacent. Leur précision doit être comprise dans la valeur De précision de mesure dans la méthode _BIX.

  • Fournissez une méthode de _BTP qui permet à Windows de spécifier un seuil de capacité de charge restante au niveau duquel la plateforme interrompra Windows avec une notification (0x80) sur le périphérique de batterie.

  • Vérifiez qu’un notify(0x80) est émis uniquement en réponse à une modification de status de batterie ou _BTP limite de capacité de charge. N’exécutez pas de notification(0x80) régulièrement.

  • Lorsque le niveau de batterie atteint la valeur spécifiée dans _BIX. DesignCapacityofLow, la plateforme doit générer une notification (0x80) sur le dispositif de batterie de la méthode de contrôle.

  • Pour les systèmes avec plusieurs batteries, implémentez entièrement un dispositif de batterie de méthode de contrôle pour chaque batterie.

    • La première batterie de l’espace de noms doit être la batterie principale du système pour faciliter le débogage.
  • Implémentez la méthode _DSM sous chaque appareil de batterie pour indiquer si la batterie est utilisable par l’utilisateur.

  • Implémentez la méthode _DSM si une réinitialisation périodique du chien de garde est requise pendant la facturation et que Windows garantit l’exécution périodique de la méthode _BST dans cette fenêtre d’interrogation.

  • Implémentez la méthode _DSM si le contrôle du taux de charge de la batterie est requis pour le modèle thermique sur la plateforme.