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?


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 .


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.


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.


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.

Korzystając z naszej strony potwierdzasz, że przeczytałeś(-aś) i rozumiesz nasze zasady używania plików cookie i zasady ochrony prywatności.
Licensed under cc by-sa 3.0 with attribution required.