device1 писал(а):
но так как это регистр то его вполне можно менять по даташиту, вполне не во всех чипах. а отрыжка этого регистра скорее по причине что значение еще где то прописано
Прошу прощения, что отвечаю на то, что вроде бы не ко мне было. Но:
Во-первых: чип батареи - это конечно микроконтроллер, но со своими кастомными прибамбасами.
Да, у него есть бутлоадер, с которого стартует чип.
Да, у него есть прошивка, которая стартует затем, и была написана, как и для всякого контроллера.
Но у этого контроллера мало возможностей доступа к прошивке и данным, только интерфейс SMB или HDQ -
так было задумано разработчиками специально, чтобы воспрепятствовать несанкционированному доступу.
У него ограниченный набор периферии, отсутствие внешнего кварца и прочих завсегдатаев
обычных микроконтроллеров общего применения, что объясняется опять же, глубокой кастомностью этих изделий.
Во-вторых: надеюсь вы понимаете, что Регистр - это временное хранилище параметра.
Все параметры работы батареи лежат в EEPROM чипа. И изменение параметра (пускай даже если он R/W),
не гарантирует, что он будет автоматически помещен в EEPROM.
Каковы последствия этого? Да просто после рестарта чипа параметр вернется к прежнему значению.
Я такое проходил. Более того, чип в определенные моменты сам обновляет данные регистров,
и опять таки, может просто перечитать его из EEPROM.
От чего все это зависит? От конкретной прошивки чипа. Если она от TI, то можете изучать доки и действовать по ним.
Но вот для чипов bq8030, 8050-55, 20695, 20z451-53, bq9000-03, чипов от Renesas, Maxim, Atmel и многих других -
своя логика работы прошивки, и там - лучший способ поменять параметр - исправить его в EEPROM
(хотя не исключаю, и даже уверен, что многое можно сделать через регистры, но мы их не знаем - мануала нет).
И в-третьих: некоторые фирмы (Lenovo, Sony, Toshiba) имеют дополнительные степени защиты от взлома.
Аутентификация батареи (обмен кодами - рукопожатием батареи и ноута),
Контроль определенных параметров микроконтроллером зарядки в самом ноуте (например проектной емкости),
которые должны быть строго определенной величины,
и при обнаружении их изменения батарея признается нерабочей или чужой.
Если вы прочли доку
Smart Battery Data Specification, то увидели бы,
что гибкое общение с чипом АКБ в рамках SBS 1.10 - весьма затруднительно.
Здесь имеется лишь самые общие стандартные параметры для того,
чтобы обеспечить общее взаимодействие АКБ с ноутом или дроном, и пр....
Производители АКБ есстественно, не могут ужать все что они хотят от батареи до этого стандарта.
Поэтому имеется возможность расширения доступа, посредством использования остальных регистров,
перечень которых однако, у каждой фирмы свой.
Более того - каждая фирма ограничивает доступ к этим расширенным регистрам,
посредством того что секретит доступ к чипу. И имеются несколько уровней доступа.
- Запечатанный чип - только SBS регистры,
- Распечатанный - возможность записывать многие регистры SBS, и открытие прочих проприетарных регистров,
- и Полный доступ - возможность читать, записывать и регистры и EEPROM, и прошивку чипа).
Поэтому - не имея мануалов по кастомным чипам TI и почти по всем чипам прочих фирм,
не имея кодов доступа - вы почти ничего не сделаете с ними.
Надеюсь, что сподвиг вас этим постом задуматься над легкостью суждений,
выносимых вами в отношении некоторых вопросов темы и самих форумчан,
которые уже не первый год, а порой и десятилетие, занимаются тематикой
и могут вам дать хорошие советы, к которым стоит прислушиваться.
Не претендую на абсолютную истину в изложении всех вопросов, возможно в чем-то ошибаюсь,
а мое объяснение получилось о-о-о-очень длинным, но оно для вас,
device1.
