¿Cómo sabe Windows que funciona con batería?

25

Las placas reguladoras DC-DC para computadoras portátiles de alguna manera pueden comunicarse con Windows para ver cuánta batería queda, pero mi investigación no encuentra nada.

¿Hay una conexión de datos de las placas base patentadas que se encuentran en las computadoras portátiles que comunica esto? Si es así, ¿qué tipo de conexión de datos es y dónde se conecta realmente? ¿Es solo un puerto PCI-E con un cable plano?

Robar
fuente
12
No es específico para Windows o incluso computadoras portátiles, todas las tabletas y teléfonos inteligentes, así como las cámaras digitales y todo tipo de dispositivos con batería utilizan los mismos conceptos con implementaciones ligeramente diferentes
cat
1
@cat Me lo imaginé, pero pedí la implementación más cercana a mi objetivo final.
Rob el

Respuestas:

49

La computadora portátil contiene un chip de administración de batería con SMBus, como un BQ24721C .
Este chip se encuentra en la interconexión con la batería, el cargador y el regulador de voltaje del sistema.
Maneja la detección del cargador y luego administra la velocidad de carga a través de un controlador DC-DC incorporado. También controla varios transistores para deshabilitar o habilitar la energía desde o hacia la batería, o desde la CA al sistema.
Estos chips tienen varios medios para comunicarse con el resto del sistema.
Tiene IRQ (solicitudes de interrupción), salidas analógicas, una buena señal de alimentación y SMbus.

Si la batería es reemplazable, también contendrá algo de inteligencia para medir el estado de la batería y protegerla. Esto usa SMbus o algo patentado. Un ejemplo es un contador de Coulomb que mide la carga que entra y sale de la batería (por ejemplo: LTC2943 )

SMbus se basa en I2C ; es el "Bus de gestión del sistema". Todas las cosas importantes se conectan a esto. Por ejemplo, también está disponible en los conectores PCI.
Está cargado con dispositivos pequeños como controladores de ventilador, sensores de temperatura y luz ambiental o simples interruptores y LED, como conexión wi-fi encendida o tapa cerrada.

Luego, corresponde a los controladores del sistema operativo conocer el diseño de este bus y cómo funcionan los dispositivos. Algunos de ellos están algo estandarizados en ACPI .

Jeroen3
fuente
¿Sería justo suponer que solo las placas de computadora portátil especialmente diseñadas serían capaces de esto, no las placas base de escritorio estándar? Usted dijo que los conectores PCI tienen esto disponible: ¿podría una tarjeta PCI manejar la funcionalidad SMbus?
Rob
Las placas base de escritorio @Rob no ofrecen controladores de carga de batería, ¿por qué lo harían? Un UPS para equipos de escritorio utiliza una Clasificación de dispositivos de alimentación HID USB para la enumeración ACPI estandarizada del sistema operativo como batería.
Jeroen3
No esperaba que lo hicieran, pero pensé que podría preguntar si algo en una junta comercial podría hacer lo mismo. Para la posteridad futura, busqué las especificaciones de los dispositivos de alimentación USB HID en caso de que alguien los necesite.
Rob
37

Consulte la API APM ( Administración avanzada de energía ) y su sucesor ACPI ( Configuración avanzada e interfaz de energía ). Antes de APM, estas funciones eran manejadas por el BIOS.

Para Windows 8 y versiones posteriores, Microsoft tiene estas recomendaciones.

En cuanto al hardware, puede ser tan simple como una interfaz I 2 C (dos hilos) a un subsistema.

Spehro Pefhany
fuente
19
La inclusión de cuatro enlaces en lugar de uno no hace que esta no sea una respuesta de solo enlace. Considere agregar el contenido relevante de los enlaces entre comillas o resumirlo.
Todd Wilcox
16

Aparte de cosas como sensores de voltaje simples, no es raro que obtenga medidores de potencia integradores que controlan la potencia neta que fluye de una batería.

La pregunta de cómo estos sensores hablan con el sistema operativo es diferente y diferirá de un modelo a otro.

Sin embargo, por lo general, el firmware de su computadora portátil hablará con sus sensores, procesará estos valores y los presentará a través de una interfaz patentada o estándar (por ejemplo, ACPI) a su sistema operativo.

Es casi seguro que PCIe no está involucrado como enlace principal; eso es demasiado costoso para obtener algunos bits cada minuto. Eléctricamente, espere I²C, variantes como SMBUS, SPI simple, UART de 3.3V, posiblemente USB, y todo tipo de cosas con las que podría conectar un controlador de plataforma (que realmente es solo un MCU) con sensores.

Marcus Müller
fuente
3

Además de las conexiones de tipo de sensor indicadas en otros comentarios y respuestas, los conjuntos de chips de computadora estándar incluyen dos señales que provienen de la placa madre y que se comunican a través del conjunto de chips a los controladores del BIOS y / o del sistema operativo. Las dos señales se llaman:

AC_PRES: indica la presencia de CA. En el caso de una computadora portátil, esto estará activo cuando se conecte la fuente de alimentación externa de ladrillo. Para una computadora de escritorio, estará activa cuando la fuente de alimentación de CA principal esté activa.

BATT_LOW: indica que la batería tiene poca carga. Aplicable solo a una configuración de computadora portátil o tableta; esto indicará cuándo la batería se ha descargado a un nivel más allá del cual solo queda un corto tiempo de funcionamiento. (Tenga en cuenta que esto no tiene nada que ver con la batería del reloj en tiempo real).

Es común que los registros que se encuentran en el conjunto de chips que contienen el estado de estas señales se hayan establecido como una asignación heredada y tienden a permanecer igual en muchas generaciones de hardware de computadora.

Michael Karas
fuente