Батареи подключены к контроллерам заряда, который меряет напряжение на всех "банках", температуру, ток заряд/разряда, ну и управляет непосредственно подачей питания через ключи для заряда/разряда, а еще имеет хитрый элемент защиты - управляемый предохранитель - т.е. в случае чего контроллер может сжечь предохранитель, если решит, что происходит что-то критичное и мало того, поставит флаги ошибок на управление ключами и Ваш аккумулятор перестанет заряжаться и разряжаться. И даже если Вы устраните неисправность, работать не станет. Такой хитрый зверь "общается" с устройством которое питает, и может "рассказать" сколько у него заряда, марку, дату создания, количество циклов заряд/разряд и многое другое, по средством протокола SMBus, разработанного TEXAS Instruments. По своей сути, это всеми любимый I2C с некоторыми отличиями (ограничениями).
На данный момент есть несколько наиболее распространённый софт для решения проблем с АКБ это UBRT, Smart Battery, Be2Work, а также программное обеспечение от TEXAS Instruments работающее через "буржуйский" адаптер EV2300 (клон которого я найти не смог, а заказывать показалось дорого). По этому был собран i2c-philips переходник для ЛПТ порта который позволил подключить батарею и считать с неё минимум информации.
Сразу оговорюсь - софт для работы с АКБ платный. Отличная программа UBRT реально может многое, только за деньги. А у меня нет ни возможности ни желания платить, тем более можно самому попробовать во всем разобраться и если повезет, последователи тоже не наступят на мои "грабли".
В моем АКБ была установлена микросхема bq20z45 чтоб организовать связь я пишу програмку для STM32 на базе STM32vldiscovery, которая в свою очередь, переслав данные по i2с, пересылает ответ, полученный от АКБ, UARTом через МАХ232 в COM порт компа, где я все принимаю и "слушаю".
Вы спросите "зачем все это?" отвечу - для того, чтоб после замены элементов любой мог настроить свою батарею. А не только лица, желающие, чтоб им заплатили за пару нажатий по клавиатуре.
Итак, вернемся, фирма TEXAS Instruments - разработчик множества контроллеров заряда рекомендует производителям менять стандартный код доступа SealKey на что-нибудь, вот и получается, что "подсаживает" конечного потребителя на обязательную замену батареи в случае чего, или как минимум обязывает платить кому-то за разблокировку. У меня много негативных эмоций по этому поводу, ведь заменить элементы и я могу без проблем. Вернемся к паролю - Там 4 байта, и всё бы ничего и можно было бы перебрать, но вот что я прочел в даташите:
"Instructs the bq20z40/bq20z45 to enable access to the SBS functions and data flash space and clear the
[SS] flag. This two-step command must be written to ManufacturerAccess in the following order: first word
of the UnSealKey first, followed by the second word of the UnSealKey. If the command fails, 4 seconds
must pass before the command can be reissued"
говорит о том, что методом подбора через 4 секунды комбинацию я буду перебирать до следующего тысячелетия.
Интересно было бы разобраться как победить такого "зверя".
Может найти единомышленников и разобраться с хитро-умным СМбас, и контроллерами заряда.
Буду ждать Ваших ответов.


