Comment Windows sait-il que la batterie est alimentée?


25

Les cartes de régulation DC-DC pour ordinateur portable sont en quelque sorte capables de communiquer avec Windows pour voir combien il reste de batterie, mais mes recherches ne trouvent rien.

Existe-t-il une connexion de données à partir des cartes mères propriétaires trouvées dans les ordinateurs portables qui communique cela? Si oui, de quel type de connexion de données s'agit-il et où se connecte-t-il réellement? S'agit-il simplement d'un port PCI-E avec un câble plat?


12
Ce n'est pas spécifique à Windows ou même aux ordinateurs portables, à toutes les tablettes et smartphones, ainsi qu'aux appareils photo numériques et à toutes sortes d'appareils compatibles avec la batterie utilisent les mêmes concepts avec des implémentations légèrement différentes
cat

1
@cat J'en ai pensé autant, mais j'ai demandé la mise en œuvre la plus proche de mon objectif final.
Rob

Réponses:


49

L'ordinateur portable contient une puce de gestion de batterie avec SMBus, comme un BQ24721C .
Cette puce se trouve à l'interconnexion avec la batterie, le chargeur et le régulateur de tension du système.
Il gère la détection du chargeur, puis gère le taux de charge via un contrôleur DC-DC intégré. Il contrôle également divers transistors pour désactiver ou activer l'alimentation depuis ou vers la batterie, ou entre le courant alternatif et le système.
Ces puces ont différents moyens de communiquer avec le reste du système.
Il a des IRQ (requêtes d'interruption), des sorties analogiques, un bon signal d'alimentation et un SMbus.

Si la batterie est remplaçable, elle contiendra également des informations pour mesurer l'état de la batterie et la protéger. Cela utilise SMbus ou quelque chose de propriétaire. Un exemple est un compteur Coulomb qui mesure la charge entrant et sortant de la batterie (par exemple: LTC2943 )

SMbus est construit sur I2C ; c'est le "System Management Bus". Toutes les choses importantes s'y connectent. Par exemple, il est également disponible sur les connecteurs PCI.
Il est chargé de petits appareils tels que des contrôleurs de ventilateur, des capteurs de température et de lumière ambiante ou de simples interrupteurs et LED, comme le Wi-Fi on-off ou le couvercle fermé.

Il appartient ensuite aux pilotes du système d'exploitation de connaître la disposition de ce bus et le fonctionnement des périphériques. Une partie est quelque peu standardisée dans ACPI .


Serait-il juste de supposer que seules les cartes pour ordinateurs portables spécialement conçues seraient capables de cela, pas les cartes mères de bureau standard? Vous avez supposé que les connecteurs PCI avaient cela à disposition - une carte PCI pourrait-elle gérer la fonctionnalité SMbus?
Rob

Les cartes mères @Rob Desktop n'offrent pas de contrôleurs de charge de batterie, pourquoi le feraient-elles? Un onduleur pour ordinateurs de bureau utilise une classification des périphériques d'alimentation USB HID pour une énumération ACPI standardisée sur le système d'exploitation en tant que batterie.
Jeroen3

Je ne m'attendais pas à ce qu'ils le fassent, mais j'ai pensé que je pourrais demander si quelque chose sur un tableau commercial pouvait faire de même. Pour la future postérité, j'ai recherché les spécifications des périphériques d'alimentation HID USB au cas où quelqu'un en aurait besoin.
Rob

37

Découvrez l' API APM ( Advanced Power Management ) et son successeur ACPI ( Advanced Configuration and Power Interface ). Avant APM, ces fonctions étaient gérées par le BIOS.

Pour Windows 8 et versions ultérieures, Microsoft a ces recommandations.

Côté matériel, cela peut être aussi simple qu'une interface I 2 C (deux fils) avec un sous-système.


19
L'inclusion de quatre liens au lieu d'un ne fait pas que ce ne soit pas une réponse de lien uniquement. Pensez à ajouter le contenu pertinent des liens entre guillemets ou à le résumer.
Todd Wilcox

16

Mis à part des choses comme de simples capteurs de tension, il n'est absolument pas rare que vous obteniez des wattmètres intégrés qui surveillent la puissance nette s'écoulant d'une batterie.

La question de savoir comment ces capteurs communiquent avec le système d'exploitation est différente et différera d'un modèle à l'autre.

Cependant, généralement, le micrologiciel de votre ordinateur portable communiquera avec vos capteurs, traitera ces valeurs et les présentera sur une interface propriétaire ou standard (par exemple ACPI) à votre système d'exploitation.

PCIe n'est presque certainement pas impliqué en tant que lien principal - c'est beaucoup trop cher pour obtenir quelques bits toutes les minutes. Électriquement, attendez-vous à ce que I²C, des variantes comme SMBUS, SPI ordinaire, UART 3,3 V, éventuellement USB, et toutes sortes d'autres choses avec lesquelles vous pouvez connecter un contrôleur de plate-forme (qui n'est vraiment qu'un MCU) avec des capteurs.


3

En plus des connexions de type capteur indiquées dans d'autres commentaires et réponses, les chipsets informatiques standard incluent deux signaux provenant de la carte mère et transmis via le chipset au BIOS et / ou aux pilotes du système d'exploitation. Les deux signaux sont appelés:

AC_PRES - Ceci indique le courant alternatif présent. Dans le cas d'un ordinateur portable, cela sera actif lorsque l'alimentation externe de la brique est branchée. Pour un ordinateur de bureau, cela sera actif lorsque l'alimentation principale CA est active.

BATT_LOW - Ceci indique un état de batterie faible. Applicable à une configuration d'ordinateur portable ou de tablette uniquement; cela indiquera lorsque la batterie s'est déchargée à un niveau au-delà duquel il ne reste que peu de temps de fonctionnement. (Notez que cela ne concerne pas du tout la pile de l'horloge en temps réel).

Il est courant que les registres qui se trouvent dans le chipset qui contiennent l'état de ces signaux ont été établis comme une affectation héritée et ont tendance à rester les mêmes sur plusieurs générations de matériel informatique.

En utilisant notre site, vous reconnaissez avoir lu et compris notre politique liée aux cookies et notre politique de confidentialité.
Licensed under cc by-sa 3.0 with attribution required.