Bagaimana Windows mengetahui daya baterai?

25

Papan regulator Laptop DC-DC entah bagaimana dapat berkomunikasi dengan Windows untuk melihat berapa banyak daya baterai yang tersisa, tetapi penelitian saya tidak menemukan apa pun.

Apakah ada koneksi data dari motherboard berpemilik yang terdapat pada laptop yang mengkomunikasikan hal ini? Jika demikian, koneksi data macam apa itu dan di mana itu sebenarnya terhubung? Apakah ini hanya port PCI-E dengan kabel pita?

rampok
sumber
12
Ini tidak spesifik untuk Windows atau bahkan laptop, semua tablet dan smartphone, serta kamera digital dan segala macam perangkat yang mampu menggunakan baterai menggunakan konsep yang sama dengan implementasi yang sedikit berbeda
cat
1
@ kucing saya pikir banyak, tapi saya meminta implementasi terdekat ke tujuan akhir saya.
Rob

Jawaban:

49

Laptop ini berisi chip manajemen baterai dengan SMBus, seperti BQ24721C .
Chip ini berada di interkoneksi dengan baterai, pengisi daya dan pengatur tegangan sistem.
Ini menangani deteksi pengisi daya dan kemudian mengelola tingkat pengisian daya melalui pengontrol DC-DC yang tergabung. Ini juga mengontrol berbagai transistor untuk menonaktifkan atau mengaktifkan daya dari atau ke baterai, atau dari AC ke sistem.
Chip ini memiliki berbagai cara untuk berkomunikasi dengan seluruh sistem.
Ini memiliki IRQ (permintaan interupsi), output analog, sinyal kekuatan yang baik dan SMbus.

Jika baterai dapat diganti, itu juga akan berisi beberapa kecerdasan untuk mengukur status baterai, dan melindunginya. Ini menggunakan SMbus atau sesuatu yang merupakan hak milik. Contohnya adalah Penghitung Coulomb yang mengukur muatan masuk dan keluar baterai (mis: LTC2943 )

SMbus dibangun di atas I2C ; itu adalah "Bus Manajemen Sistem". Semua hal penting terhubung dengan ini. Misalnya itu juga tersedia pada konektor PCI.
Itu dimuat dengan perangkat kecil seperti pengendali kipas, sensor suhu dan cahaya sekitar atau sakelar dan LED sederhana, seperti wi-fi on-off atau tutup tertutup.

Kemudian terserah driver sistem operasi untuk mengetahui tata letak bus ini, dan bagaimana perangkat bekerja. Beberapa di antaranya agak terstandarisasi dalam ACPI .

Jeroen3
sumber
Apakah adil untuk berasumsi bahwa hanya papan laptop yang dirancang khusus yang mampu melakukan ini, bukan dari motherboard desktop? Anda melakukan mantion bahwa konektor PCI memiliki ini tersedia - bisakah kartu PCI menangani fungsi SMbus?
Rob
@Rob Desktop motherboard tidak menawarkan pengontrol pengisian daya baterai, mengapa mereka? UPS untuk desktop menggunakan Klasifikasi Perangkat Daya USB HID untuk enumerasi ACPI standar ke sistem operasi sebagai baterai.
Jeroen3
Saya tidak berharap mereka akan melakukannya, tetapi saya pikir saya akan bertanya apakah ada sesuatu di papan komersial yang dapat melakukan hal yang sama. Untuk generasi mendatang, saya mencari spesifikasi untuk Perangkat Daya USB HID jika ada yang membutuhkannya.
Rob
37

Lihatlah API APM ( Manajemen Daya Lanjutan ) dan penggantinya ACPI ( Konfigurasi Lanjut dan Antarmuka Daya ). Sebelum APM, fungsi-fungsi ini ditangani oleh BIOS.

Untuk Windows 8 dan yang lebih baru, Microsoft memiliki rekomendasi ini .

Dari segi hardware mungkin sesederhana antarmuka I 2 C (dua kawat) untuk suatu subsistem.

Spehro Pefhany
sumber
19
Termasuk empat tautan alih-alih satu tidak menjadikan ini bukan jawaban hanya tautan. Pertimbangkan untuk menambahkan konten yang relevan dari tautan dalam kutipan blok atau meringkasnya.
Todd Wilcox
16

Selain dari hal-hal seperti sensor tegangan sederhana, itu sama sekali tidak biasa bahwa Anda mendapatkan pengukur daya yang memantau daya bersih yang mengalir keluar dari baterai.

Pertanyaan bagaimana sensor-sensor ini berbicara dengan OS adalah berbeda, dan akan berbeda dari model ke model.

Namun, biasanya, firmware di laptop Anda akan berbicara dengan sensor Anda, memproses nilai-nilai ini, dan menyajikannya melalui antarmuka standar atau kepemilikan (misalnya ACPI) ke OS Anda.

PCIe hampir pasti tidak terlibat sebagai tautan utama - itu terlalu mahal untuk mendapatkan beberapa bit setiap menit. Secara elektrik, perkirakan I²C, varian seperti SMBUS, SPI biasa, UARTs 3.3V, mungkin USB, dan semua hal lain yang dapat Anda gunakan untuk menghubungkan pengontrol platform (yang sebenarnya hanyalah MCU) dengan sensor.

Marcus Müller
sumber
3

Selain koneksi jenis sensor yang dinyatakan dalam komentar dan jawaban lainnya, chipset komputer standar mencakup dua sinyal yang berasal dari motherboard dan melaporkan melalui chipset ke BIOS dan / atau driver sistem operasi. Kedua sinyal tersebut disebut:

AC_PRES - Ini menunjukkan hadiah AC. Dalam kasus laptop ini akan aktif ketika catu daya eksternal batok dicolokkan. Untuk desktop ini akan aktif ketika catu daya AC utama aktif.

BATT_LOW - Ini menunjukkan baterai lemah. Hanya berlaku untuk konfigurasi laptop atau tablet; ini akan menunjukkan ketika baterai telah habis ke tingkat di luar yang hanya tersisa waktu operasional singkat. (Perhatikan bahwa ini sama sekali tidak berkaitan dengan baterai jam waktu nyata).

Adalah umum bahwa register yang ada dalam chipset yang berisi status sinyal-sinyal ini telah ditetapkan sebagai penugasan warisan dan cenderung tetap sama di banyak generasi perangkat keras komputer.

Michael Karas
sumber