| Postal programmer - "умный" программатор. Работа с микроконтроллерами Weltrend и восстановление ПО устройствМикроконтроллеры фирмы Weltrend разрабатывались для устаревшего двухчипового исполнения компьютерных мониторов, где вторым чипом является микросхема графического контроллера скалера. Однако по сравнению с описанными ранее процессорами (Realtek, Novatek, Myson) процессоры Weltrend не получили широкого распространения в данной сфере. Вместо этого их в больших количествах использовали в качестве процессора дежурного режима (standby-процессор) такие фирмы, как SAMSUNG и PHILIPS. Поскольку микроконтроллеры Weltrend содержат на кристалле программируемую Flash-память, для ремонта устройств на его основе необходимы программные инструменты, умеющие работать с Weltrend через его специфический режим внутрисхемного программирования (ISP). Программно-аппаратный комплекс Postal предоставляет возможность работать с процессорами Weltrend внутрисхемно через доступные внешние разъемы (VGA или HDMI), не вскрывая аппарат. При этом возможности программатора Postal по работе с Weltrend на момент выхода статьи перекрывают и превосходят любой программатор, попадающий в сравнение.
Общие сведения
Фирма Weltrend Semiconductor Inc. [1] существует давно и весьма незаметно, в основном из-за того, что не произвела за свою историю ничего выдающегося. По той же причине не была никем поглощена, а на плаву осталась исключительно благодаря фирме SAMSUNG, массово применяющей микроконтроллеры от Weltrend в своих телевизорах.
Внутренний состав микроконтроллеров Weltrend не отличается разнообразием, это центральный процессор 8051 или 6502, ОЗУ, Flash-память программ и некоторая маломощная периферия (например, относящаяся к ИК управлению). Для целей ремонта представляет интерес в большей степени доступ к загрузке и чтению внутренней Flash-памяти, что реализуется при помощи программатора Postal.
Для внутрисхемного программирования микроконтроллеров Weltrend служит стандартный порт I2C, но при этом используются уникальные методы включения в режим ISP. Причем каждый тип чипа имеет свой метод. Если чип отвечает на стандартный I2C-адрес 0Ч24, значит, для включения ISP используется многобайтное кодовое слово, посылаемое стандартным I2C-протоколом. Например, чип WT61P8 подключается двумя кодовыми посылками размером по 6 байт с контролем ответа, плюс последняя 3-байтовая команда. У других чипов (например, WT61P4, WT61P6, WT62P4) используется специальная кодовая посылка в своем формате, несовместимом с I2C-протоколом, для каждого типа чипа код разный. После этого открывается доступ на I2C-адрес ISP 0xE8 для стандартного I2C-протокола, туда дополнительно посылается еще 3 байта.
Некоторые чипы, например WT61P805, требуют подачи команд разблокировки секторов для записи. Если упомянуть еще парольную защиту на некоторые действия, то становится понятной вся сложность работы внутрисхемно с процессорами Weltrend. К счастью, парольная защита всегда содержит коды по умолчанию, а I2C-протокол стабилен, поэтому работа пользователя с программатором Postal в режиме Weltrend проста и предсказуема.

Рис. 1. Внешний вид процессора фирмы Weltrend WT61P8
Из-за описанных выше сложностей содержимое Flash-памяти процессоров Weltrend не стирается спонтанно. Повреждение может происходить из-за сбойного запуска процедуры прошивки со стороны основного процессора устройства.
Вид корпуса и маркировка распространенного процессора Weltrend WT61P8 показаны на рис. 1.
Работа с программатором Postal в режиме Weltrend
На момент написания статьи работа с чипами Weltrend поддерживается только версией для параллельного порта. Подключение к телевизорам (мониторам) на процессоре Weltrend для чтения и записи прошивок происходит через разъем VGA (линии SDA-SCL) либо HDMI. Для выбора режима работы программы с процессорами Weltrend в группе Select Mode» отмечают пункт Philips», затем нажимают кнопку Settings» и на странице настроек отмечают пункт Realtek/Novatek/...». Далее из выпадающего списка (рис. 2) выбирают Weltrend ISP», после чего нажимают OK для подтверждения выбора. Если необходимо, можно настроить физические параметры порта (скорость).

Рис. 2. Вид окна настроек программы при работе с процессорами Weltrend
Разработчики изначально планировали автоматически детектировать чипы от Weltrend, однако это оказалось невозможно. Тем не менее, если планируется чтение Flash-памяти, то можно попытаться сразу включить режим ISP кнопкой Set ISP». Будет произведена попытка подключения перебором имеющихся комбинаций, которая обычно заканчивается успешно. Если же планируется запись Flash-памяти, то необходимо перед нажатием Set ISP» выбрать тип процессора кнопкой Status». Например, WT61P805 требует явного выбора, иначе он детектируется как WT61P8 и не будет разблокирован для записи. Если необходимо, для установки типа можно нажать Out ISP» (отключиться от ISP), выбрать процессор и снова подключиться (Set ISP»).
Помимо разной системы команд, различные серии процессоров Weltrend отличаются объемом внутренней Flash-памяти. После подключения в ISP кнопка Status» меняет назначение с ее помощью можно вручную уточнить читаемый или записываемый объем данных. Обычно это не требуется, т.к. файл для загрузки, как правило, подогнан по размеру, а читать лучше максимальный объем, затем проверить файл сторонним редактором и обрезать под нужный размер при отсутствии полезных данных. В то же время следует помнить, что попытка записи в чип большего объема данных, чем емкость его Flash-памяти, приведет к ошибке, в этом случае запись придется повторить, выставив правильные параметры. Кнопка Status» переключает значения последовательно по кругу.
Полное содержание статьи доступно только в печатном варианте. Вы можете приобрести свежие номера Р&С или оформить подписку в редакции | |