Что нового?
Пикник ТВ

This is a sample guest message. Register a free account today to become a member! Once signed in, you'll be able to participate on this site by adding your own topics and posts, as well as connect with other members through your own private inbox!

Jtag для тюнеров Globo на процессорах Ali M3329B/M3329C

Administrator

Administrator
[shadow=blue]Jtag для тюнеров Globo на процессорах Ali M3329B/M3329C[/shadow]
Начнём с того, что такое Jtag.

JTAG (сокращенно Joint Test Action Group - специализированный интерфейс для отладки и программирования ,стандарт IEEE 1149.1 ) – это отладочный интерфейс, предусмотренный производителями электроники в первую очередь для своих сервис-центров. Используя его можно получить доступ ко всем устройствам аппарата, опросить их, считать данные, записать и т.п. и т.д. Но это нам не сильно интересно, наиболее интересным, ценным и единственным свойством этого интерфейса, которое мы используем, является возможность внутрисхемного программирования микросхем памяти ресиверов. Т.е. мы можем с помощью этого интерфейса восстанавливать потерянное или испорченное содержимое флэш-памяти спутниковых ресиверов не выпаивая микросхем и без необходимости использования программаторов.

Для чего это нужно.

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

Что для этого нужно.

Для того, что бы запрограммировать флэш ресивера с помощью JTAG кроме собственно «пациента», т.е. ресивера, который нам необходимо «оживить» нам нужно иметь следующее:
1.Интерфейс, т.е. простыми словами переходник, через который мы будем подключать ресивер к порту компьютера.
2.Компьютер с параллельным портом(LPT), наличие параллельного порта обязательно, поскольку наиболее распространённые интерфейсы и программы работают через этот порт.
3.Программа EJTAG TT 1.0.6.14 , с помощью которой мы будем производить данную процедуру.
4.Если на компьютере ОС Windows XP, то ещё и драйвер giveio.sys .
5.То, что мы будем записывать во флэш. Это может быть или полный дамп флэш или только загрузчик тюнера(лоадер), подробней – далее.
6.Шнур LPT, которым будет соединён интерфейс с компьютером.
7.Ну и самое главное – желание и необходимые знания. С желанием я не помогу, а со знаниями постараюсь.

Где всё это взять.

1.Либо купить готовый, либо самому собрать. Первый случай пропускаю, о втором напишу.
2.Компьютер уже есть у того, кто это читает, а вот параллельный порт не знаю. Если мамка без него, то хуже, оставляю эту проблему каждому на своё усмотрение. Можно попользоваться чужим компьютером с портом, можно мамку поменять, можно купить порт на PCI шине. Впрочем, здесь разговор не об этой проблеме.
3.Программа. Для реанимации ресиверов Глобо и всех их клонов а так же Евросатов/Евроскаев и их клонов на данных процессорах я использую EJTAG TT 1.0.6.14.
4.Запускаем файл inst giveio.exe.
5.Если нам нужен полный дамп флэш ресивера – искать его не надо, потому что файл ПО ресиверов Глобо и Евросат и есть дампом флэш. Для Глобо надо только сменить расширение файла с *.abs на *.bin, а ПО Евросатов и так имеет это расширение. Если мы имеем случай, когда нам для заливки нужен только загрузчик(лоадер) ресивера, то поступаем одним из двух способов – или скачиваем готовый файл с загрузчиком, или делаем его самостоятельно. Для этого в HEX-редакторе отрезаем от файла ПО первые 65536 байт и сохраняем как отдельный файл *.bin. Это и есть загрузчик.
6.Шнур можно купить в любом компьютерном магазине.
7.Желание у того, кто дочитал до этой строки, видимо есть, так что пора давать обещанные знания.

Шаг первый.

Первое, что нужно – это собрать схему. В Интернете распространены два варианта схемы интерфейса. Первый вариант самый примитивный, на резисторах. Вот его схема:
1263158382_01.jpg

Единственным его преимуществом является простота. И именно из-за простоты и своей примитивности у него есть недостатки. Во-первых, длина соединения через такую схему не должна превышать нескольких сантиметров, очень желательно не более трёх-четырёх. Иначе большая вероятность сбоев и ошибок при работе. Во-вторых, попадаются некоторые тюнера, с которыми вообще невозможно ничего сделать при таком подключении. В лучшем случае кое-каких результатов можно добиться тщательно подбирая сопротивления резисторов. Можно пробовать если нужно восстановить единственный свой тюнер. Я пробовал такой вариант схемы и несколько тюнеров восстановил, но не всегда чётко определялся процессор и были ошибки записи, из-за чего приходилось повторять всё по несколько раз. Несколько тюнеров при таком варианте мною были просто списаны, поскольку, не смотря на все старания коннекта с программой не было и я думал что вышел из строя процессор. В последствии эти тюнера были успешно восстановлены с использованием интерфейса на микросхеме. О нём речь дальше. Вот один из предлагаемых в интернете вариантов схем интерфейса на микросхеме и рисунок печатной платы для него:
1263158918_02.jpg

Данная схема не имеет недостатков предыдущей, поэтому с ней нет проблем, присущих первой схеме.
Питание на схему подаётся от ресивера, к которому она подключается. В использовании внешнего источника питания для схемы нет необходимости по двум причинам. Во-первых, потребляемый ток очень мал и не создаёт дополнительной нагрузки на блок питания ресивера, во-вторых, питание от того же источника, что и процессор с флэш-памятью улучшает согласование логических уровней. В Интернете я встречал такую же схему, но отличающуюся отсутствием резисторов между шиной 3,3 вольт и выводами 2, 4, 6 микросхемы. Не считаю такое упрощение нужным, так как стоимость трёх резисторов не настолько велика, насколько снижается надёжность работы устройства.
Именно этой схемой я пользуюсь и именно с ней были успешно восстановлены тюнера, которые просто не определялись со схемой на резисторах.
Когда схема собрана, нас ждёт

Шаг второй.

Для работы с ресиверами на процессорах Ali M3329B/M3329C нужна программа EJTAG TT 1.0.6.14. Программа не требует инсталляции, достаточно распаковать архив в папку в удобном месте на компьютере и можно её запускать. Но, если операционная система Windows XP, то для работы нужно ещё установить драйвер. Для этого запускаем файл inst giveio.exe и после его выполнения перегружаем компьютер. В дальнейшем драйвер giveio.sys будет запускаться при запуске ОС.
Программа есть, драйвер установлен, следующим будет

Шаг третий.

Подготавливаем то, что предстоит записывать во флэш. В любом случае, если не производилась замена микросхемы флэш-памяти, стоит начать с записи загрузчика ресивера. Поэтому его и готовим. Если он скачан из Интернета и упакован в архив, то распаковываем его в удобное место на жёстком диске, можно и в ту же папку, что и программа. Если такового не найдётся, то можно его сделать самостоятельно. Для этого файл ПО(прошивки, софта) тюнера открываем в HEX-редакторе, я пользуюсь для этого программой WinHex , выделяем блок с начальным и конечным адресами соответственно 0000 – FFFF и сохраняем этот блок в новый файл, присваиваем ему имя на свой вкус и расширение *.bin. Файл должен получиться размером 65536 байт. Это и есть загрузчик или иначе лоадер тюнера. Если в тюнере менялась микросхема флэш, то понадобится заливать полный дамп. Так же полный дамп понадобится если заливка загрузчика не дала нужного результата. Для удобства в ту же папку ложим и полный дамп - для евросатов/евроскаев просто копируем файл софта, можно даже и выкачанный из исправного ресивера, вместе с настройками и ключами, тогда после реанимации тюнер получится уже полностью настроенным, для глобо – поступаем точно так же, но кроме этого меняем расширение файла с *.abs на *.bin.

Шаг четвёртый.

Подключение к тюнеру и перевод его в отладочный режим(Debug mode).
Кроме того, что нам надо подключить через уже имеющийся интерфейс тюнер к компьютеру, нужно ещё перевести тюнер в режим отладки, иначе его называют на английском языке Debug mode. На разных ресиверах это производится по разному. Для ресиверов Евросат/Евроскай на обеих типах процессоров необходимо соединить перемычкой предназначенные для этого контактные площадки на плате. Эти точки обведены на рисунках красным цветом. В ресиверах на процессоре 3329В возле этих точек есть надпись CPU PROBE EN, в ресиверах на процессоре 3329С стоит обозначение JP1.
1263159242_03.jpg

1263159384_04.jpg

Несколько иначе переводятся в отладочный режим ресиверы Глобо. Для Глобо 7010А и клонов(3329В) для этого рекомендуется отпаять резистор R36 и припаять его в позицию R35. На практике используется другой способ – надо соединить точку соединения этих резисторов с источником напряжения 3,3 вольта через резистор сопротивлением 3,3 кОм. Подчеркну, что на плате ресивера установлен только R36, а R35 нет, есть только место для его установки, и устанавливать его не надо.
1263159529_05.jpg

1263159553_06.jpg

В Глобо/оптикум 4100С и их клонах(3329С) для перевода в отладочный режим нужно снять джампер, отмеченный на плате позицией JP1.
Точки подключения интерфейса на рисунках обведены синим цветом. Последовательность назначения точек во всех моделях одинакова и в точности соответствует последовательности, указанной на схемах переходников. Однако если в Евросатах/Евроскаях сложности не возникает по причине того, что точки подписаны на плате тюнера, то в большинстве Глобо 7010А и клонов ничего не подписано. А в Глобо/Оптикум 4100С и клонах я неоднократно встречал надписи, сделанные в обратной последовательности, т.е. ошибочные. Здесь выход очень прост – достаточно определить точку GND, т.е. точку, соединённую с общим проводом схемы и от неё вести отсчёт и ошибка будет исключена. Сделать это можно либо просто визуально, внимательно осмотрев плату, либо прозвонить прибором.
Теперь ресивер подключен к компьютеру, произведены действия, необходимые для включения отладочного режима, подготовлены программа и дамп, драйвер установлен и запущен.


Шаг пятый.

Включаем ресивер в сеть и запускаем EJTAG TT 1.0.6.14. Видим вот такое окно программы.
1263159925_07.jpg

Для начала смотрим настройки. Слева находится окошко с адресом параллельного порта. Изменять надо если в компьютере он имеет отличный от устанавливаемого по умолчанию. Ниже указан базовый адрес ресивера. Не трогаем, должен быть как на рисунке. Второй и третий столбцы так же не трогаем. В четвёртом столбце нужно выбрать тип флэши. Что где стоит - останавливаться не буду, кто не знает – пробуйте всё по очереди. Что бы быстро писать флэшку ставим галочку напротив «Fast AMD/SPI». Далее жмём «коннект». В окне программы должен побежать текст лога. Для примера приведу скриншоты, сделанные при записи загрузчика в тюнер Евросат 3023 (3329В), в который было залито ПО от Евросата 3023 Супер (3329С).

1263159980_08.jpg

Если после нажатия кнопки «коннект» программа сообщает, что флэш ID нету в *.ini –файле, то надо правильно выставить тип флэши в правом столбце программы. В данном случае в тюнере установлена флэш SST 39VF1681, установки для неё видны на рисунке. Выше я уже написал, что можно просто попробовать наугад перебрать разные комбинации «точек» и «галочек», нажимая после каждого раза «коннект» и наблюдая за логом. Не буду вдаваться здесь в подробности как правильно определить, что надо установить, поверьте, что перепробовать разные комбинации и попасть на правильную будет гораздо быстрее, чем разбираться с теорией и вникать во все тонкости, конечно, это в том случае, если вы восстанавливаете свой единственный тюнер или занимаетесь этой процедурой очень редко. Ну а если вы занимаетесь этим регулярно, то я думаю сами знаете что и как, да и зачем вам это вообще читать, вы и так сами всё знаете и умеете.
Итак, флэшка успешно определилась, движемся далее. Хочу строго-настрого предупредить – ни в коем случае не надо стирать флэшку, ни поблочно, ни, тем более, полностью!!! Потому что потом в неё придётся писать полный дамп, что иногда занимает очень много времени. Да и вообще, не надо ничего стирать, перед записью программа сама сотрёт столько памяти, сколько ей надо записать, она умеет это делать. Если же стереть флэш полностью, а записать только лоадер, то это не даст желаемого результата, потому что не будет работать ком-порт тюнера и всё равно придётся писать полный дамп. Или же заполнять три определённых области памяти, останавливаться не буду на этом, потому как здесь начнут возникать вопросы с правильностью выбора смещения и длины, да и времени это занимает не сильно меньше, чем запись полного дампа. И в самом деле, гораздо проще запустить полный дамп и пойти чем ни будь полезным заняться, чем сидеть и дежурить возле компьютера в ожидании, когда запишется очередной блок, что бы запустить следующий, и так аж три раза.
Следующим шагом жмём «Записать» и в окне проводника выбираем нужный файл, в случае данного примера загрузчик для Евросат 3023 (3329В).
1263160083_09.jpg

В окне программы видим, что она сама стёрла нужный блок и приступила к записи. В самом низу окна наблюдаем прогресс выполнения в процентах. По окончании имеем вот такой вид:
1263160137_10.jpg

Последний шаг.

Теперь можно закрыть программу, отключить от сети ресивер и отключить от него jtag-интерфейс, так же надо не забыть вывести его из отладочного режима, в зависимости от тюнера снять или установить на место джампер или перемычку. Далее подключаем ресивер уже через ком-порт и заливаем в него софт обычным способом.
ИСТОЧНИК: http://satsis.info/forum/e/we/2010-01-10/jtag-dlja-tjunerov-globo-na-processorakh-ali/
 
Назад
Сверху