В этой статье , на примере спутникового ресивера Samsung DSR9400, я опишу процесс
программирования микросхемы памяти при помощи JTAG технологии.

ВНИМАНИЕ! ПРЕДУПРЕЖДЕНИЕ !
Внутрисхемное программирование может привести к выходу из строя Вашего оборудования!
Все что Вы делаете - Вы делаете на свой страх и риск!
Информация, которая изложена в данной статье, несет чисто информативный характер , и автор не несет ответственности за возможные последствия Ваших действий !

Обновление программного обеспечения спутниковых терминалов - необходимое условие для повышения их качества, надежности и устойчивости работы .Сам процесс обновления довольно прост и практически не вызывает вопросов. Но что делать , если в процессе обновления , к примеру , пропало напряжение в электросети , слетел компьютер , ветром оборвало кабель снижения ( в процессе обновления ПО через спутник ) и Ваш терминал перестал подавать признаки жизни и не реагировать на нажатие кнопок?
Производители электроники SAT ресиверов предусмотрели для своих сервисных центров возможность восстановления ПО без демонтажа - прошивки и последующей установки на плату элементов памяти посредством внутрисхемного программирования через JTAG (сокращенно Joint Test Action Group - специализированный интерфейс для отладки и программирования ,стандарт IEEE 1149.1 ) . Но что предпринять, если сервисных центров рядом нет , а семья осталась без любимых телепрограмм ?
http://maestroalik.narod.ru/15.jpg
Для начала определим расположение JTAG интерфейса на материнской плате ресивера. Многие производители спутниковых терминалов во избежание проблем, которые могут возникнуть при вмешательстве дилетантов в тонкий процесс внутрисхемного программирования,не устанавливают на материнских платах разъемы для подключения JTAG интерфейса , даже посадочные места для них заливают компаундом или эпоксидной смолой ( в частности на DSR9400 контакты разъема на материнке жирно залиты эпоксидкой с обеих сторон платы ).
Есть два решения данной проблемы : первое-аккуратно, чтобы не повредить дорожки снять слой затвердевшей эпоксидки , хотя бы с одной из сторон платы (желательно со стороны установленных радиоэлементов - это будет удобней в последующей работе )и второе- имея описание процессора , определив распиновку контактов JTAG , подпаять проводники программатора непосредственно к токопроводящим дорожкам , не повредив и не закоротив их .Распиновка JTAG разъема DSR9400 показана на рис .
http://maestroalik.narod.ru/3.jpg
JTAG программатор собран по схеме, в которой использована микросхема 74НС244 в качестве преобразователя уровней сигналов, что дает возможность не так критично относится к длинне кабеля , соединяющего ресивер , программатор и компьютер.
http://maestroalik.narod.ru/4.jpg
Программатор подключается к порту LPT компьютера . Напряжение питания снимается с USB порта и преобразуется через интегральный стабилизатор в напряжения 3.3 вольта, необходимое для питания микросхемы. Индикаторы на светодиодах позволяют визуально контролировать наличие и прохождение сигналов JTAG по каждому из каналов.
http://maestroalik.narod.ru/5.jpg
Программы , которые используются для внутрисхемного программирования (jKeys, Wall, STI Control и т.д.) свободно распространены в Интернете с подробным описанием и примерами работы. Дампы памяти , необходимые для программирования , возможно снять по JTAG с заведомо работоспособного ресивера или также найти в Интернете.
Ну чтоже – прогер подключен,ресивер включен .Запускаем jKeys ..
http://maestroalik.narod.ru/14.jpg
Жмем кнопку Detect в поле JTAG Info. Наш процессор не определился – это не важно (следует немного подправить jKeys.def , который находится в каталоге с самой программой ). Главное что программа увидела устройство, определила его Device ID и не выдала окно ошибки.Далее в окне IRD Model выставляем 3900.
http://maestroalik.narod.ru/6.jpg
В правой стороне окна нажимаем кнопку Flash Programming и видим следующее
http://maestroalik.narod.ru/7.jpg
Перед программированием следует прочитать и сохранить дамп флешки. Для этого в провой верхней части , под выпадающим окном , жмем кнопку Read , указываем путь для сохранения и наблюдаем сам процесс….
http://maestroalik.narod.ru/8.jpg
http://maestroalik.narod.ru/9.jpg
Итак, прочитали , сохранили , теперь следует полностью очистить память. Для этого в правой верхней части, левее кнопки Read нажимаем кнопку Erase и несколько секунд ожидаем окончания процесса стирания.
http://maestroalik.narod.ru/10.jpg
Все – ресивер девственно чист и можно приступать к тому , за что боролись – восстановлению его работоспособности. Напомню , что перед этим пунктом у Вас в компьютере обязательно должен быть дамп памяти с аналогичного терминала , естественно заведомо рабочий.
Правее от кнопки Read нажимаем Program. Открывается маленькое окно, в котором нажимаем кнопку “ Да “ , показываем программе путь к дампу который она будет шить и с трепетом ожидаем окончания загрузки
http://maestroalik.narod.ru/11.jpg
http://maestroalik.narod.ru/12.jpg
Видим заветные 100% и программа не выдала сообщения об ошибке – следовательно все в порядке, и загрузка прошла успешно. На несколько секунд отключаем терминал от сети, отключаем JTAG.
http://maestroalik.narod.ru/13.jpg
В большинстве случаев после таких мероприятий терминалы оживали и работали долго-долго на радость своим владельцам. Однако не следует забывать о предупреждении в начале статьи – не все так просто как может показаться на первый взгляд.

Инфо взято с сайта http://maestroalik.narod.ru/