Существует ли стандартный протокол шины I2C/SM для аккумуляторов ноутбуков?

Я собираю ноутбук с нестандартным аккумулятором. Я знаю, что пакет должен взаимодействовать через порт I2C/SM на материнской плате, но я не знаю, как заставить биос/ОС его распознать. Существует ли специальный адрес I2C и стандартный протокол поверх I2C для обмена информацией о состоянии батареи? Если есть - где найти документацию на него? Если нет - является ли протокол собственностью производителя биоса, а затем ОС считывает его из биоса? Я буду передавать I2C от микроконтроллера, который регулирует заряд батареи, чтобы я мог делать все, что нужно.

Ответы (2)

Поскольку вы уже знаете о SMBus, почему бы не заглянуть в Спецификацию данных Smart Battery или Спецификацию Smart Battery Charger , так как это то, что вам нужно будет смоделировать. Тем не менее, это не будет описывать, есть ли у чипа управления системой какие-то дополнительные функции, которые не задокументированы ;-)

Нет настоящего стандарта. [Редактировать: я ошибаюсь в этом - см. другой ответ]

Тем не менее, большинство аккумуляторов изготавливаются более или менее одинаково: у них есть микросхема I2C EEPROM (часто стандартная), которая содержит всю статическую информацию об аккумуляторе (модель, серийный номер, дата изготовления, емкость и т. д.). ..), и еще одна микросхема под названием «указатель уровня заряда батареи» или «указатель уровня заряда батареи», которая отслеживает фактический уровень заряда и все динамические вещи.

У TI есть целый ряд чипов для измерения заряда батареи: http://www.ti.com/lsds/ti/power-management/battery-fuel-gauge-overview.page . Скорее всего, аккумулятор вашего ноутбука содержит такой чип.

Так что, по сути, только производитель ноутбука точно знает, как общаться с батареей, но обычно все основано на широкодоступных, задокументированных чипах (ну, может быть и какой-то дополнительный MCU с проприетарной прошивкой, которая позаботится о дополнительных вещах, в конце концов ). Так что, если вам нужно перепроектировать батарею, у вас может быть некоторый шанс добиться успеха. Вот документ, в котором содержится интересная информация: Взлом прошивки батареи .

Теперь, что касается программного обеспечения: действительно, компания, которая производит BIOS, основываясь на информации, предоставленной производителем ноутбука/аккумулятора, включает все соответствующие сообщения I2C в сам BIOS, и ОС запрашивает BIOS, когда ей нужно знать.

Спасибо, похоже, мне придется провести обратный инжиниринг батареи ноутбука, чтобы выяснить, какие пакеты она на самом деле отправляет, но, по крайней мере, я могу быть достаточно уверен, что она будет работать с любым биосом, поскольку чипы стандартные.
Я не использую стандартную батарею для ноутбука, в которой уже есть эти чипы.
Кажется, я был не совсем прав. Том Л. нашел какую-то настоящую спецификацию, о которой я не знал. Лучше примите его ответ, а не мой, он заслуживает большего.
да, я просто немного просмотрел спецификацию, чтобы убедиться, что в ней действительно есть то, что я искал.
Не волнуйся; на самом деле вы частично правы. Многие реальные пакеты поставляются с упомянутой спецификацией, НО в спецификации также указан некоторый блок данных «производителя» ... если вы не укажете его самостоятельно, это может быть обо всем - от простой строки до некоторого зашифрованного блока данных.