Франкенштейн Chuwi Hi8 Pro

Наконец-то дошли руки, написать свое мнение о данном девайсе. Как я написал ранее возникли жесткие лаги с экраном. Взвесив все за и против заказал второй, такой точно, все было замечательно, но через пару дней он перестал включатся. Думал, отправить ли его назад, либо чинить своими силами. Пришел к выводу, что отправлять обратно — это трата времени и денег.

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

А мог бы сэкономить и купить просто экран, но почему-то засомневался, что именно экран.

На этом я не остановился, изучив все, пришел к выводу, что у второго слетел БИОС.

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

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

Ну это, так скажем, были технические моменты, а в целом небольшой обзорчик-мнение тоже будет.

Прошивка Globo (Ali M3329B) с помощью JTAG

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

Для начала убедитесь что в Вашем компьютере есть параллельный порт LPT, у меня же он к сожалению отсутствовал, мудрить я ничего не стал, компьютеры в ремонт приносят достаточно часто, поэтому я просто дождался компьютера с LPT- портом.

Далее нам соответственно нужна программа для прошивки под названием EJTAG_TT_1.0.6.12, если на компьютере установлен Windows XP, для корректной работы возможно понадобится драйвер inst_giveio.exe после его установки перегружаем компьютер.

И конечно же главное файл прошивки. Стандартные файлы прошивки тюнеров Globo обычно с расширением файла*.abs. Если имеется бэкап (резервная копия) прошивки именно с вашего тюнера, смело берем ее, если же нет, ищем прошивку в интернете учитывая название процессора, в моем случае Ali M3329B. У меня резервная копия была, поэтому использовал ее.

Далее необходимо из прошивки «вытянуть» загрузчик, который мы будем прошивать, для этого наш файл прошивки *.abs тюнера открываем в HEX-редакторе, к примеру WinHex, выделяем блок с начальным и конечным адресами соответственно 0000 – FFFF и сохраняем этот блок в новый файл, присваиваем ему любое имя с расширением *.bin. Файл должен получиться размером 65536 байт.

Если заливка загрузчика не дала результатов, понадобится полный дамп понадобится — просто меняем расширение файла прошивки с *.abs на *.bin.

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

В моем случае все обошлось прошивкой загрузчика и далее прошивка по COM-порту стандартными средствами.

Но вернемся к практике, считаем что у нас есть 2 файла, с расширением *.bin, загрузчик и полный дамп соответственно.

Кроме подключения тюнер через JTAG-программатор к компьютеру, нужно перевести процессор тюнера в режим отладки, на английском языке Debug mode. На разных ресиверах это производится по разному. Для ресиверов  Globo и его клонов с процессором 3329В  необходимо соединить перемычкой предназначенные для этого контактные площадки на плате. Эти точки обведены на рисунках красным цветом, возле этих точек есть надпись CPU_PROBE_EN.

ali03

Точки подключения JTAG-программатор на рисункаt обведены синим цветом. Последовательность назначения точек во всех моделях одинакова и в точности соответствует последовательности, указанной на схемах переходников.

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

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

Теперь запускаем EJTAG_TT_1.0.6.12

ali07

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

Для примера скриншоты, сделанные при записи загрузчика в тюнер Globo на процессоре Ali M3329B.

ali08

Хочу предупредить, что скриншоты не мои, но поскольку я шил такой же Ali M3329B все идентично.

Если после нажатия кнопки «Коннект» программа сообщает, что флэш ID нету в *.ini –файле, то надо правильно выбрать тип флэш-памяти в правом столбце программы. В данном случае в тюнере установлена флэш-память SST 39VF1681, установки для неё видны на рисунке, изображенном выше.

Можно просто попробовать наугад перебрать разные комбинации «точек» и «галочек», нажимая после каждого раза «Коннект» и наблюдая за логом.

Итак, флэш-память успешно определилась, движемся далее. Хочу предупредить – не надо стирать флэш-память, ни поблочно, ни, тем более, полностью! Потому что потом в неё придётся писать полный дамп, это займет много времени. Программа сама сотрёт столько памяти, сколько ей надо записать, она умеет это делать. Если стереть флэш-память полностью, а записать только лоадер (загрузчик), то это не даст желаемого результата, потому что не будет работать COM-порт тюнера и всё равно придётся писать полный дамп.

Следующим шагом жмём «Записать» и в окне проводника выбираем нужный файл, в моем случае подготовленный ранее загрузчик для Ali M3329B.

ali09

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

ali10

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

При написании статьи были использованы материалы форума sat-expert.com.

Делаем JTAG программатор для прошивки флеш-памяти спутниковых тюнеров и не только

Нашел в своем архиве фото, на котором был запечатлен процесс изготовления  JTAG-программатора, который понадобился мне, чтобы оживить спутниковый тюнер. Теперь немного подробнее, что за «зверь» такой JTAG:

JTAG (сокращение от англ. Joint Test Action Group; произносится «джей-тáг») — название рабочей группы по разработке стандарта IEEE 1149. Позднее это сокращение стало прочно ассоциироваться с разработанным этой группой специализированным аппаратным интерфейсом на базе стандарта IEEE 1149.1. Официальное название стандарта Standard Test Access Port and Boundary-Scan Architecture. Интерфейс предназначен для подключения сложных цифровых микросхем или устройств уровня печатной платы к стандартной аппаратуре тестирования и отладки. Кому интересно и дальше, полная статья на википедии.

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

Для изготовления выбрал вот эту схему:

ali02

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

74HC244 это не инвертирующий буфер. Микросхема содержит два независимых четырехразрядных буфера. Каждый буфер имеет свой сигнал разрешения выхода (низкий активный уровень). На входах нет триггеров Шмитта. Микросхема выполнена по технологии “быстрый” КМОП, что обеспечивает высокое быстродействие. Мощный токовый выход делает возможным сохранение высокого быстродействия даже при емкостной нагрузке. Быстродействие 74HC244  сравнимо с быстродействием микросхем, основанных на диодах Шоттки, при этом 74HC244 сохраняет достоинства микросхем КМОП, т.е. высокая помехозащищенность и низкая потребляемая мощность. Входы микросхемы защищены от повреждения статическим электричеством при помощи диодов.

Увы 74HC244 в своих запасах я не обнаружил. Нашел только аналог  74F244, который немного отличался напряжением питания Vcc. У 74HC244 рекомендуемое от 2 до 6 В, а у 74F244 — от 4,5 до 5,5 В. Хотя максимальные пределы от -0.5 до +7 В, поэтому решил не заморачиваться, и приступить к изготовлению.

Взяв исходную схему на первом изображении, и перерисовав ее в программе DipTrace получилась вот такая схема:

00

Далее преобразовал ее в печатную плату:

01

Все было оттрасировано автоматически, не оттрасировало только одну линию, но это проблема была решена двумя SMD перемычками. На изображении выше — готовая для изготовления печатная плата.

На плате я так же подписал все выводы, но к сожалению с выходные сигналы неправильно подписал, как видно на первоисточнике 1- GND, 2- TCK, 3- TMS, 4- TDO, 5- TDI и 6- RST, у меня же получилось GND, TMS, TCK, TDI, TDO, и RST, ошибся именно когда делал подписи контактам, по схеме все правильно, согласно первоисточнику, т.е.  1- GND, 2- TCK, 3- TMS, 4- TDO, 5- TDI и 6- RST.

Печатная плата с правильными обозначением контактов:

03

Далее собственно процесс физического изготовления:

20150619_140943

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

Проделав всю роботу, выточив гетинакс под размеры платы (примерно 55х50 мм), берем чистящее средство COMET  (Комет) в порошке и губку для мытья посуды. Очищаем гетинакс от следов жира и грязи. Лучше не вытирать остатки воды, а дать просохнуть так.

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

И так, гетинакс готов, печатная плата напечатана, аккуратно подогнав края гетинакса к рисунку печатной платы на фотобумаге крепим ее липкой бумажной лентой к гетинаксу, берем утюг и ставим его на максимальную температуру.

20150619_140849

Естественно фольгированной стороной гетинакса к рисунку печатной платы.

Когда утюг нагрелся, плотно прижимая, начинаем гладить — равномерно прогревая гетинакс со стороны бумаги. Плату такого размера греем не более 30-60 сек, иначе тонер расползется. Рекомендую поставить таймер на телефоне, чтобы время было рядом, перед глазами. Когда все сделано, даем время плате остыть.

Отдираем фотобумагу от платы, перед нами готовая плата, которую остается вытравить в хлорном железе FeCl₃,  если есть не большие огрехи, перед травление, поправляем дорожки скальпелем и тонким маркером для дисков.

20150619_141721

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

В итоге получаем вот такую печатную плату

20150619_150659

Тонер так же  очищаем порошком «Комет», он держится достаточно хорошо, и чтоб не повредить дорожки платы очищаем его не спеша.

После очистки от тонера видим аккуратную, красивую печатную плату

20150619_152024

Далее приступаем к лужению, берем паяльник, канифоль, олово и флюс, которым намажем плату, для более комфортного лужения:

20150619_155205     20150619_155330

Теперь приступаем к пайке элементов:

20150619_162107

На фото плата с запаянным 74F244 и двумя SMD перемычками.

Запаяем резисторы, конденсатор и разъем LPT-порта (папа), а так же провода GND, TCK, TMS, TDO, TDI и RST для подключения к устройству которое необходимо прошить.  И два провода, для питания программатора

20160112_152017     20160112_152319

 

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

О самом процессе прошивки спутникового тюнера, с помощью данного программатора напишу своей следующей статье.