Полезно знать. Часть 1

Группа H/W команд

(чтение, стирание, запись областей ROM и EEPROM)

Для правильного понимания происходящего, читателю следует запомнить следующее: все чипы – это некоторые «упаковки» (болванки), в которые помещён программный код производителя аккумуляторной батареи. Это справедливо для чипов от компаний Renesas, MAXIM и Texas Instruments.

К примеру, если рассматривать чипы bq2084 и bq80201, то можно найти такие батареи, в которых использованы чипы bq80201, но которые подчиняются условиям F/W программирования, присущим чипу bq2084. Это объясняется тем, что при производстве некоторых чипов bq80201, было использовано ядро и программный код от чипа bq2084.

Но это не означает, что все чипы bq80201 содержат точно такое ядро, как у чипа bq2084.

Косвенным признаком несовместимости может служить версия загрузчика чипа.

В большинстве случаев, чип bq80201 использует загрузчик версии 513, но не редко встречаются чипы с 769-м загрузчиком.

Чипы bq2084 используют только 513-й загрузчик.

На этом отличия не заканчиваются. Чипы могут отличаться ещё и по объёму внутренней памяти. К примеру, объём области локальных настроек (область EEPROM) может составлять 1024 или 2048 byte, а область программного кода (область ROM) может быть 49 kByte или 73 kByte.

Но, если взять два разных чипа, у которых совпадают версии загрузчиков, объёмы EEPROM и ROM, то это не будет говорить о том, что чипы идентичны. Отличие может заключаться во внутренней структуре используемых ядер (к примеру, отсутствие или наличие одного из портов ввода-вывода, дополнительного таймера или любого другого элемента).

Вместе с версией загрузчика, для идентификации чипов, существуют ещё два параметра:

- H/W version;

- F/W version;

Первый говорит о версии самой «болванки» чипа, а второй – о версии микрокода производителя (ROM).

К примеру, чип bq2084: H/W version всегда будет 08.24, а F/W version может принимать значение 0131, 0133, 0140, 0141, 0143 и др.

Ещё пример: Apple Retina, bq20z451, H/W 0451, F/W 0511.

Обращаю Ваше внимание, что F/W version – это версия ROMa чипа, но для изменения версии ROMa, недостаточно перезаписать только эту область памяти!!! Также необходимо перезаписать и область EEPROM.

Это обусловлено тем, что каждый микрокод использует область EEPROM по-разному. Не редко встречаются случаи глобального несоответствия EEPROM-ов, приводящие к «завешиванию» чипа, после того, как после выхода из режима программирования, новый микрокод вычитывает старую область EEPROM и получает оттуда данные, которые приводят к завешиванию ядра. Последующее перепрограммирование такого чипа – невозможно.

EEPROM область чипа неразрывно связана с ROM областью. В связи с этим, чтобы избежать возможной путаницы, для хранения содержимого в виде одного файла, используется особый формат – SENC (или SREC).

Файл .senc – это контейнер, который содержит две области – EEPROM и ROM.

Программное обеспечение от производителя (EV_Software от Texas Instruments), поддерживает только одновременную запись ROM и EEPROM областей с использованием файла .senc или .srec .

Программа UBRT, в отличии от EV_Software, позволяет раздельно записывать эти области.

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

Клонирование чипов.

Для копирования чипа необходимо полное чтение содержимого EEPROM и ROM областей.

Данная процедура возможна только после того, как чип будет переведен в режим программирования (далее этот режим называется Boot_Mode).

Для перевода чипа в этот режим, необходимо подать специальные команды, которые зависят от модели чипа и (или) от версии его F/W.

После того, как чип переведен в режим Boot_Mode, возможно его низко-уровневое программирование – чтение, стирание, запись областей ROM и EEPROM.

После окончания программирования, чип следует переключить к нормальному режиму работы (далее этот режим называется Normal_Mode), для чего следует подать соответствующую команду (производится нажатием соответствующей кнопки в программе UBRT).

Данные процедуры, для чипов от компании Texas Instruments, доступно описаны в документации на сайте www.ti.com .

Всё выше сказанное, частично или полностью соответствует описанию низко-уровневого программирования чипов компаний Renesas и MAXIM.

Для выполнения данных действий, в программе UBRT есть соответствующие инструментальные средства – группа «H/W Operation Board»

В состав этой группы входят:

- Texas Instruments board;

- Maxim board;

- Renesas board;

Каждый инструмент позволяет переводить чипы из Normal_Mode в Boot_Mode и обратно, считывать, стирать и записывать соответствующие области данных, а также сохранять текстовое описание подключенного аккумулятора в виде автоматически генерируемого отчёта с указанием времени создания и модели аккумулятора в имени файла, что позволяет более продуктивно хранить собранные данные для последующей систематизации.