В современных телевизорах настройки, заводские калибровки матрицы, серийные номера и ключи активации лежат не в виде наклейки на корпусе, а в маленькой восьминогой микросхеме памяти где-нибудь рядом с процессором main-платы. Чаще всего это чип серии 24Cxx или 25Qxx с интерфейсом I2C или SPI, и от его содержимого зависит, узнаёт ли аппарат сам себя при включении. Когда содержимое этой памяти повреждается от скачка напряжения, статики или просто от выработки ресурса, телевизор начинает капризничать: уходит в защиту, не выводит изображение, теряет настройки яркости подсветки или вообще не реагирует на пульт. Решение типовое - перепрограммирование чипа. Инструмент тоже типовой - копеечный программатор на микросхеме CH341A. А вот подход к работе с ним отличает успешный ремонт от безвозвратной потери уникальных данных.

Сложность не в самой процедуре прошивки. Сложность в том, что в каждой EEPROM лежит не только общая для всех аппаратов модели прошивка, но и индивидуальные данные именно этого экземпляра. Если перед записью не сохранить оригинальный дамп, эти данные пропадают навсегда, и аппарат после перепрошивки может работать хуже, чем до неё.

Что физически хранит EEPROM телевизора и почему её содержимое уникально

В микросхеме EEPROM современного телевизора хранится комбинация общих и индивидуальных данных. Общую часть составляет рабочая прошивка с настройками меню, региональными параметрами и опциями производителя. Индивидуальную часть составляют MAC-адрес сетевого интерфейса, серийный номер, ключи активации платных сервисов, заводские калибровки баланса белого для конкретной матрицы и наработка в часах. Всё это лежит вперемешку в одном бинарном файле, и для постороннего глаза неотличимо.

Объём типичных микросхем EEPROM в телевизорах лежит в диапазоне от четырёх килобайт у простых моделей до шестнадцати мегабайт у современных. Время записи одной страницы оценивается по даташиту простой связкой:

t_программирования = N_страниц × t_страницы

Где t_страницы обычно от пяти до десяти миллисекунд. Для микросхемы объёмом восемь мегабайт с размером страницы двести пятьдесят шесть байт суммарное время записи составляет около двух с половиной минут. Это полезно знать для оценки времени работы и понимания, что слишком быстрая запись это сигнал об ошибке.

Ресурс EEPROM по числу циклов перезаписи ограничен и описывается оценкой:

N_цикл = N_общ / k

Где N_общ это паспортный ресурс, обычно сто тысяч циклов на ячейку, k интенсивность записи. При нормальной работе телевизора, который пишет в EEPROM настройки каждый раз при их изменении, ресурс расходуется крайне медленно и хватает на десятилетия. Но при программных сбоях, когда телевизор начинает перезаписывать одни и те же ячейки в цикле, ресурс может закончиться за месяцы, и микросхема превращается в источник постоянных проблем.

Из чего состоит набор для работы с EEPROM на CH341A

Программатор CH341A это плата размером со спичечный коробок с USB-разъёмом, ZIF-панелькой для микросхем и контактами для внутрисхемного программирования. Подключается он к компьютеру через USB-порт, работает на пятивольтовой и трёхвольтовой логике в зависимости от модификации. На полке мастера к нему обычно лежат прищепка SOIC-8 для считывания микросхем без выпайки, переходники для SOP-корпусов и набор гнёзд для разных типоразмеров.

Программное обеспечение под CH341A существует в нескольких вариантах. Оригинальная утилита на английском работает стабильно, но имеет аскетичный интерфейс. NeoProgrammer популярен у мастеров за удобство работы с дампами, авторазпознавание чипа и встроенный hex-редактор. AsProgrammer хорош для серийной работы. Все три читают и пишут стандартные форматы и работают с микросхемами серий 24Cxx (EEPROM I2C) и 25Qxx (SPI Flash), которые покрывают подавляющее большинство задач по ремонту телевизоров.

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

Алгоритм работы с CH341A при перепрошивке EEPROM телевизора

Чтобы перепрошить микросхему правильно и не потерять уникальные данные, работу ведут по строгой последовательности. Алгоритм выглядит так:

  1. Снять заднюю крышку телевизора и найти микросхему EEPROM на main-плате по маркировке вида 24Cxx или 25Qxx;
  2. Подключить программатор CH341A к компьютеру и установить драйвер, проверить определение устройства диспетчером;
  3. Подключиться к микросхеме прищепкой SOIC-8 или выпаять её и установить в ZIF-панель программатора;
  4. Запустить программу, выбрать тип чипа по маркировке и считать содержимое в файл с именем, отражающим модель аппарата и дату;
  5. Сохранить оригинальный дамп в две независимые копии на разных носителях для гарантированного восстановления;
  6. Загрузить файл новой прошивки и сравнить его с оригиналом в hex-редакторе на предмет уникальных полей;
  7. При необходимости перенести MAC-адрес, серийный номер и калибровки из оригинального дампа в новую прошивку;
  8. Стереть микросхему, проверить успешность стирания, записать подготовленный файл и верифицировать запись.

Сохранение оригинального дампа в две копии это не перестраховка, а необходимое условие безопасной работы. Носитель может выйти из строя, файл может случайно удалиться, и без резервной копии аппарат превращается в перманентного инвалида с потерянными уникальными данными. Опытные мастера хранят дампы на отдельном диске с понятными именами и иерархией папок по производителям и моделям.

Подключение прищепкой без выпайки и его подводные камни

Внутрисхемное программирование через прищепку SOIC-8 экономит массу времени, но имеет свои особенности. Когда прищепка подключена к чипу прямо на плате, программатор питает не только сам чип, но и через его выводы питания запитывает соседние узлы. Это может привести к ложным результатам, искажениям при записи или даже к выходу из строя процессора main-платы, если на него уйдёт напряжение от программатора.

Чтобы избежать этих эффектов, перед подключением прищепки телевизор обязательно отключают от сети и дают разрядиться электролитам в течение минуты-двух. При работе с микросхемами на трёх целых трёх десятых вольта используют программатор с понижающим стабилизатором или модифицированную версию CH341A. Чтение через прищепку обычно проходит без проблем, а вот запись имеет тенденцию давать ошибки верификации именно из-за паразитного питания соседних узлов.

Если чтение и сравнение нескольких подряд считываний дают разные результаты, прищепка плохо контактирует или соседние узлы влияют на шину. В этом случае единственный надёжный путь это выпайка микросхемы и работа с ней в ZIF-панели программатора. Время на выпайку и обратную пайку компенсируется гарантированным результатом без сюрпризов.

Стирание, запись, верификация и что делать при ошибках

После сохранения оригинального дампа и подготовки нового файла следует процедура программирования. Сначала стирают содержимое чипа, затем проверяют успешность стирания командой "проверка пустоты". Затем записывают новый файл и обязательно делают верификацию, при которой программатор считывает записанное и побитно сравнивает с исходным файлом. Только успешная верификация подтверждает, что прошивка легла правильно.

Типичные ошибки этапа стирания и записи возникают по нескольким причинам. Программа сообщает об успешном стирании, но при повторном чтении выдаёт старое содержимое. Это означает либо плохой контакт прищепки, либо неподходящий тип чипа в настройках программы, либо проблемы с питанием программатора. AsProgrammer стирает, но оставляет след старой прошивки размером несколько мегабайт из шестнадцати. Это типичная проблема несовместимости конкретной версии софта с конкретной микросхемой, лечится сменой программы или обновлением её версии.

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

Логика, которая делает работу с EEPROM предсказуемой

Перепрограммирование EEPROM телевизора это рутинная операция, которая ломается только в двух случаях: когда мастер не сохраняет оригинальный дамп и теряет уникальные данные, и когда мастер не учитывает особенности питания программатора и убивает чип несовместимым напряжением. Оба этих случая полностью исключаются дисциплиной работы. Дамп сохраняется первым делом до любых операций записи. Тип чипа сверяется с даташитом до подачи питания. Программатор используется только в том режиме, который соответствует напряжению чипа.

Тот, кто следует этим правилам, чинит десятки аппаратов без единой потери уникальных данных и без единого убитого чипа. Тот, кто пренебрегает сохранением дампа в погоне за скоростью, рано или поздно сталкивается с ситуацией, когда восстановить телевизор уже невозможно, потому что калибровки матрицы и MAC-адрес ушли в небытие вместе со стёртой памятью.

Маленькая микросхема в восемь ножек рядом с процессором содержит больше уникальной информации, чем кажется на первый взгляд. Уважение к этой информации и аккуратная работа с программатором CH341A решают задачи, которые без программатора потребовали бы замены всей main-платы.