Изготовление устройства для соединения JTAG-интерфейса ресиверов на процессорах NEC 611хх/61217 с LPT-портом компьютера


    Представленная ниже схема предназначена для подключения ко всем ресиверам is на базе процессоров NEC µPD61120, µPD61115 и µPD61217, а также подходит и для многих других ресиверов на аналогичных процессорах NEC. Для сборки схемы понадобятся следующие компоненты:

    Теперь непосредственно схема. Подключается она к компьютеру к LPT-порту. Вообще, изначально это был Altera ByteBlaster II Download Cable. В данной PDF-ке по ссылке представлена полная принципиальная схема, но, так как в режиме JTAG задействованы не все выводы разъёма JTAG на плате ресивера, о чём и сказано в той же PDF-ке, то её можно значительно упростить. В итоге, получается вот такая вот нехитрая схема, сразу же готовая к работе после сборки:


(нарисовано за пару часов в Paint'е по причине отсутствия специализированных программ :) )


    А теперь сборка. Если Вы впервые сталкиваетесь с подобной задачей, то лучше не мучайтесь, а поручите её знакомому мастеру-электронщику, так будет гораздо дешевле в плане трудозатрат и нервов :) А если есть опыт пайки, то за дело! :)
    Конечно, кто хочет, может всё выполнить и на печатной плате. Но, лично я думаю, что не стОит, тем более, что деталей всего пять штук, можно всё собрать и "на весу":

    Собирается всё в соответствии со схемой. Неиспользуемые выводы микросхемы, разъёма, идущего к LPT-порту и "косички" - остаются в воздухе, то есть не подключаются ни к чему. Хотя, как вариант, для повышения стабильности работы микросхемы, незадействованные входы 2A0-2A3 (это выводы под номерами 11, 13, 15, 17) лучше тоже подключить к общему проводу (к "земле").
    О распиновке: кабель от компьютера, я думаю, сложностей не вызовет, так как проводки, как правило, разноцветные и надо просто к нужным выводам разъёма подпаять провода, если их там ещё нет. Если есть - просто записать, какому выводу какой цвет провода соответствует. Каждый вывод на этих разъёмах пронумерован (прямо рядом с каждой ножкой подписан её номер), так что, тоже ничего сложного. А все выводы с 18-го по 25-й и (15-й тоже) замкнуть друг с другом прямо на самом  разъёме.
    А вот "косичка" от COM-порта не имеет никакой нумерации. Единственное, что на ней есть, это цветовая маркировка (обычно чёрная или красная линия, нанесённая на крайнем проводнике). Так вот, вот этот вот крайний промаркированный проводник - и есть первый. Далее, в прямом порядке за ним идут второй, третий и... до девятого.

    Собираем, подключаем так, чтобы этот первый проводок на косичке был рядом с первым выводом разъёма JTAG. Как правило, на плате он обозначен срезанным углом белого прямоугольника, нанесённого вокруг этого разъёма:

Но, бывают платы, где маркировка этого первого вывода отсутствует вообще. Тогда его можно "вызвонить" мультиметром (согласно схеме), либо просто подключать провод наугад. В случае неверного подключения - риска нет, ничего не выйдет из строя.

Внимание! Все подключения ради сохранности ресивера и LPT-порта компьютера производить
при отключенном питании ресивера!
При самой перешивке включать ресивер только в ту же розетку, куда включен и компьютер!



Описание, как записать в ресивер загрузчик через интерфейс JTAG


    Всё. На этом работа с аппаратной частью завершена. Далее следует чисто программная часть. Изначально в этом разделе приводилось описание работы с утилитой, предоставленной самой фирмой-разработчиком железа (так называемой отладочной программой для работы через JTAG), а потом с программой EJFlasher, созданной на базе этой утилиты одним добрым Человеком. Но всё это осталось в прошлом... И в данный момент я рекомендую использовать программу EJTAG_TT, являющуюся универсальной для работы с несколькими процессорами. Поддержка NEC-ов в ней была отчасти позаимствована как раз из двух предыдущих программ. Для работы программы необходимо, чтобы режим работы LPT-порта компьютера был выставлен как ECP, а также требуется присутствие в NT-системе драйвера прямого доступа к портам, например giveio.sys.
    План действий очень простой: соединяемся с ресивером, стираем флэшку полностью, отключаем JTAG и питание ресивера (это действие необходимо!), подключаем  его обратно, включаем ресивер, соединяемся заново и записываем загрузчик.
    Итак. Включаем питание ресивера и запускаем саму программу:

В ней выставляем необходимые настройки: процессор NEC EMMA2 и тип микросхемы флэш-памяти, установленной в ресивере. В моём примере микросхема Intel. Если же у Вас стоит любая другая - выбирайте "AMD 16 bit" (это касается только ресиверов is, т.к. в них стоят только два типа микросхем: Intel и AMD-совместимые). После этого нажимаем кнопку "Коннект" и видим в окне программы отчёт о том, что произошло, какой процессор и какая флэшка были найдены:

Далее, в выпадающей менюшке "Длина" выбираем значение "200000":

А потом нажимаем кнопку "Стереть блок(и)":

После того, как программа сообщила об удачном стирании, выключаем питание ресивера (выдёргиваем вилку из розетки, а не выключателем), отключаем провод JTAG-а, а через 3-5 секунд подключаем его обратно и снова включаем питание ресивера. Нажимаем коннект и видим, что строка "Первый 16 байт флеши" гласит, что в ней одни FF-ки:

После этого нажимаем кнопочку "Записать", откроется окошко с выбором файла загрузчика, выбрав его - начинается запись. Длится это не много, примерно 30 секунд:


На этом всё. Мои поздравления! ;-)

    После успешной процедуры записи загрузчика - выключаем ресивер, отключаем от него собранный JTAG, подключаем его к COM-порту и зашиваем непосредственно нужную рабочую прошивку.


Удачи!