Skąd Windows wie, że jest zasilany z baterii?

25

Płyty regulacyjne laptopów DC-DC są w stanie w jakiś sposób komunikować się z systemem Windows, aby zobaczyć, ile energii pozostało z akumulatora, ale moje badania niczego nie znalazły.

Czy istnieje połączenie danych z zastrzeżonych płyt głównych w laptopach, które to komunikuje? Jeśli tak, to jakie to połączenie danych i gdzie faktycznie się łączy? Czy to tylko port PCI-E z kablem wstążkowym?

Obrabować
źródło
12
Nie jest specyficzny dla systemu Windows, a nawet laptopów, wszystkich tabletów i smartfonów, a także aparatów cyfrowych i wszelkiego rodzaju urządzeń zasilanych bateryjnie wykorzystuje te same koncepcje z nieco innymi implementacjami
cat
1
@cat Myślałem tak samo, ale poprosiłem o najbliższą implementację do mojego celu końcowego.
Rob

Odpowiedzi:

49

Laptop zawiera układ zarządzania baterią z SMBus, taki jak BQ24721C .
Ten układ znajduje się na połączeniu z akumulatorem, ładowarką i regulatorem napięcia systemu.
Obsługuje wykrywanie ładowarki, a następnie zarządza szybkością ładowania za pomocą wbudowanego kontrolera DC-DC. Kontroluje także różne tranzystory w celu wyłączenia lub włączenia zasilania z lub do akumulatora, lub z prądu przemiennego do systemu.
Te układy scalone mają różne środki komunikacji z resztą systemu.
Ma IRQ (żądania przerwania), wyjścia analogowe, dobry sygnał mocy i SMbus.

Jeśli bateria jest wymienna, będzie zawierała także inteligencję do pomiaru stanu baterii i jej ochrony. To wykorzystuje SMbus lub coś zastrzeżonego. Przykładem jest licznik kulombowski, który mierzy ładunek wchodzący i wychodzący z akumulatora (np .: LTC2943 )

SMbus jest zbudowany na I2C ; jest to „System Management Bus”. Wszystkie ważne rzeczy łączą się z tym. Na przykład jest również dostępny na złączach PCI.
Jest obciążony małymi urządzeniami, takimi jak kontrolery wentylatorów, czujniki temperatury i światła otoczenia lub proste przełączniki i diody LED, takie jak Wi-Fi wł.-Wył. Lub zamknięta pokrywa.

Następnie sterowniki systemu operacyjnego muszą znać układ tej magistrali i sposób działania urządzeń. Niektóre z nich są nieco znormalizowane w ACPI .

Jeroen3
źródło
Czy słusznie byłoby założyć, że byłyby do tego zdolne tylko specjalnie zaprojektowane płyty do laptopów, a nie gotowe półki na komputery stacjonarne? Podobało ci się, że złącza PCI mają to dostępne - czy karta PCI może obsłużyć funkcjonalność SMbus?
Rob
Płyty główne @Rob Desktop nie oferują kontrolerów ładowania baterii, dlaczego mieliby to zrobić? UPS dla komputerów stacjonarnych wykorzystuje klasyfikację urządzeń zasilających USB HID do znormalizowanego wyliczenia ACPI dla systemu operacyjnego jako baterii.
Jeroen3,
Nie spodziewałem się, że tak, ale pomyślałem, że mogę zapytać, czy coś w radzie handlowej mogłoby zrobić to samo. Dla przyszłych potomków sprawdziłem specyfikację urządzeń zasilających USB HID na wypadek, gdyby ktoś ich potrzebował.
Rob
37

Sprawdź API APM ( Advanced Power Management ) i jego następcę ACPI ( Advanced Configuration and Power Interface ). Przed APM te funkcje były obsługiwane przez BIOS.

W przypadku systemu Windows 8 i nowszych firma Microsoft ma te zalecenia.

Pod względem sprzętowym może być tak prosty, jak interfejs I 2 C (dwuprzewodowy) z podsystemem.

Spehro Pefhany
źródło
19
Podanie czterech linków zamiast jednego nie oznacza, że ​​nie jest to odpowiedź tylko do linku. Rozważ dodanie odpowiedniej treści z linków w cytatach blokowych lub podsumowanie.
Todd Wilcox
16

Oprócz prostych czujników napięcia, nierzadko zdarza się, że zintegrowane mierniki mocy monitorują moc netto wypływającą z akumulatora.

Pytanie, w jaki sposób te czujniki komunikują się z systemem operacyjnym, jest inne i różni się w zależności od modelu.

Jednak zwykle oprogramowanie układowe w twoim laptopie będzie komunikować się z Twoimi czujnikami, przetwarzać te wartości i przedstawiać je za pomocą zastrzeżonego lub standardowego interfejsu (np. ACPI) w twoim systemie operacyjnym.

PCIe prawie na pewno nie jest włączone jako główne łącze - to jest zbyt drogie, aby uzyskać kilka bitów na minutę. Pod względem elektrycznym spodziewaj się I²C, wariantów takich jak SMBUS, zwykły SPI, UART 3.3V, ewentualnie USB i wszystkich innych rzeczy, z którymi możesz podłączyć kontroler platformy (który tak naprawdę to tylko MCU) z czujnikami.

Marcus Müller
źródło
3

Oprócz połączeń typu czujnika podanych w innych komentarzach i odpowiedziach, standardowe chipsety komputerowe zawierają dwa sygnały pochodzące z płyty głównej i przesyłane przez chipset do BIOS-u i / lub sterowników systemu operacyjnego. Dwa sygnały są nazywane:

AC_PRES - Wskazuje obecność prądu przemiennego. W przypadku laptopa będzie on aktywny po podłączeniu zewnętrznego zasilacza z cegły. W przypadku komputera stacjonarnego będzie on aktywny, gdy aktywne będzie główne źródło zasilania prądem przemiennym.

BATT_LOW - oznacza niski poziom naładowania baterii. Dotyczy tylko konfiguracji laptopa lub tabletu; wskaże to, kiedy akumulator rozładuje się do poziomu, powyżej którego pozostanie tylko krótki czas działania. (Należy pamiętać, że w ogóle nie dotyczy to baterii zegara czasu rzeczywistego).

Powszechne jest, że rejestry znajdujące się w chipsecie, które zawierają status tych sygnałów, zostały ustanowione jako starsze zadania i mają tendencję do pozostawania na tym samym poziomie przez wiele generacji sprzętu komputerowego.

Michael Karas
źródło