Як Windows знає, що він працює від акумулятора?


25

Плати регулятора постійного струму постійного струму якось здатні спілкуватися з Windows, щоб побачити, скільки заряду батареї залишилось, але моє дослідження нічого не знаходить.

Чи є на ноутбуках з'єднання даних із захищеними материнськими платами, яке повідомляє про це? Якщо так, то який тип передачі даних і де він насправді підключається? Це просто порт PCI-E з стрічковим кабелем?


12
Це не характерно для Windows чи навіть ноутбуків, усіх планшетів та смартфонів, а також цифрових фотоапаратів та будь-яких пристроїв, що працюють на батареях, використовують ті самі концепції з дещо різними реалізаціями
кіт

1
@cat я подумав стільки ж, але я попросив найближчої реалізації до моєї кінцевої мети.
Роб

Відповіді:


49

Ноутбук містить мікросхему управління акумулятором із SMBus, наприклад, BQ24721C .
Ця мікросхема знаходиться на з'єднанні з акумулятором, зарядним пристроєм та регулятором напруги системи.
Він обробляє виявлення зарядного пристрою, а потім управляє швидкістю зарядки через вбудований контролер DC-DC. Він також управляє різними транзисторами, щоб відключити або включити живлення від акумулятора або до нього або від змінного струму до системи.
Ці чіпи мають різні засоби спілкування з рештою системи.
Він має IRQ (запити на переривання), аналогові виходи, потужний сигнал та SMbus.

Якщо акумулятор є замінним, він також містить деякий інтелект для вимірювання стану акумулятора та його захисту. Для цього використовується SMbus або щось власницьке. Приклад - кулонівський лічильник, який вимірює заряд батареї, що надходить і вимикається (наприклад: LTC2943 )

SMbus побудований на I2C ; це "Шина управління системою". До цього пов’язані всі важливі речі. Наприклад, він також доступний на роз'ємах PCI.
Він завантажений невеликими пристроями, такими як контролери вентилятора, датчики температури та навколишнього світла або прості вимикачі та світлодіоди, як-от вимкнення wi-fi або закрита кришка.

Тоді від драйверів операційної системи слід знати компонування цієї шини та як працюють пристрої. Деякі з них дещо стандартизовані в ACPI .


Чи було б справедливо припустити, що на це здатні лише спеціально розроблені дошки для ноутбуків, а не поза материнськими платами настільних ПК? Ви зазначали, що роз'єми PCI мають таке доступне - чи PCI-карта може працювати з функцією SMbus?
Роб

Материнські плати @Rob Desktop не пропонують контролери заряду акумулятора, чому б це зробити? ДБЖ для настільних ПК використовує USB HID Класифікація пристроїв живлення для стандартизованого перерахування ACPI в операційну систему як акумулятор.
Jeroen3

Я не очікував, що вони зроблять це, але подумав, що можу запитати, чи може щось на комерційній раді зробити те саме. Для майбутнього нащадків я роздивився технічні характеристики USB-пристроїв HID Power, якщо комусь вони потрібні.
Роб

37

Перевірте API APM ( Advanced Power Management ) та його наступник ACPI ( Advanced Configuration and Power Interface ). До APM цими функціями керував BIOS.

Для Windows 8 та новіших версій Microsoft має ці рекомендації.

На апаратному рівні це може бути таким же простим, як I 2 C (двожильний) інтерфейс до підсистеми.


19
Включення чотирьох посилань замість одного не означає, що це не лише відповідь. Розгляньте можливість додавання відповідного вмісту із посилань у блокові цитати або узагальнення його.
Тодд Вілкокс

16

Окрім таких речей, як прості датчики напруги, абсолютно не рідко ви отримуєте інтеграційні лічильники електроенергії, які відстежують мережеву потужність, що витікає з акумулятора.

Питання про те, як ці датчики розмовляють з ОС, є іншим і відрізнятиметься від моделі до моделі.

Однак, як правило, мікропрограмне забезпечення вашого ноутбука буде спілкуватися з вашими датчиками, обробляти ці значення та представляти їх через власний або стандартний інтерфейс (наприклад, ACPI) для вашої ОС.

PCIe майже напевно не бере участь в якості основної ланки - це занадто дорого, щоб отримувати кілька біт щохвилини. Електрично очікуйте I²C, такі варіанти, як SMBUS, звичайний SPI, 3.3V UART, можливо, USB та всі інші види речей, за допомогою яких можна було б підключити контролер платформи (який насправді є лише MCU) із датчиками.


3

На додаток до з'єднань типу датчиків, зазначених в інших коментарях та відповідях, стандартні набори комп'ютерних чіпів включають два сигнали, що надходять від материнської плати та повідомляють через чіпсет до драйверів BIOS та / або операційної системи. Два сигнали називаються:

AC_PRES - це вказує на присутність змінного струму. У випадку з ноутбуком це буде активним, коли підключено зовнішнє джерело живлення цегли. Для робочого столу це буде активним, коли основний блок живлення змінного струму активний.

BATT_LOW - Це вказує на низький стан акумулятора. Застосовується лише для налаштування ноутбука чи планшета; це вкаже, коли акумулятор розрядився до рівня, за який залишається лише короткий час роботи. (Зверніть увагу, що це зовсім не стосується акумулятора в режимі реального часу).

Загальноприйнято, що регістри, що знаходяться в чіпсеті, що містять стан цих сигналів, були встановлені як застаріле призначення і, як правило, залишаються однаковими для багатьох поколінь комп'ютерного обладнання.

Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.