А я даже состою в Yahoo группе, упомянутой по выше указанным ссылкам и они мне помогли получить Altera MPU. LP6, правда, я купил на стороне.
А я даже состою в Yahoo группе, упомянутой по выше указанным ссылкам и они мне помогли получить Altera MPU. LP6, правда, я купил на стороне.
С любовью к вам, Yandex.Direct
Размещение рекламы на форуме способствует его дальнейшему развитию
Хорошие новости: пришел переходник и я даже стер все свои EPM3032ACT44-10N!
Плохие новости: 2шт не стерлись и выдают "плохой ID". Походу я их убил своими варварскими экспериментами с высоким напряжением. Однако, +10шт рабочих это определенно успех! Ну что, го я создал?
Последний раз редактировалось HardWareMan; 22.01.2016 в 09:15.
Дык это... Потыкать бы в него стрелкой осциллографа в момент стирания...
Спасибо, Кэп!
Гхмы - так это собсно - железный человек, капитан очевидность!
Ждем осциллограмм!
Amiga 1200+Blizzard 1260 72 Mb+Mtek 68030,Compozit 128, Leningrad 2,
Atari STE 1040,ZX Spectrum +2,Pentagon 48, Speccy2007 - 2 , ATAS 256k.
ZX Evo 4Mb- в строю.
Speccy2010 v1
Специалист (пока готовлюсь к восстановлению).
Это все мое!
Родное!
Все люблю на свете я! Это родина моя!
Я закончил с монитором и перехожу к CPLD. Предварительный скан показал, что задействовано достаточно много ног (практически как на картинке в моем посте на первой странице), но не понятно какие именно используются при стирании, т.к. программатор сначала считывает сигнатуру. Более того, вот как работает Vpp на ножке 44 OE1:
Используется 3в для чтения ID и 11,5в для стирания. Теперь нужно подцепить логик, питающую ножку для синхры и посканить все это безобразие.
Программатор еще проверяет контакт в панельке и я не знаю, как он отреагирует на левое подключение.
- - - Добавлено - - -
Итак, первый подход. Это запись (программатором, все кликабельно):
Это установка защиты:
И стирание:
Видно, что все операции программатор делает под 11,5в. Я сделал делитель, что логик схватывает лог.1 на 34 канале только если там 11,5в. Питание включается раньше, конечно. Микросхема оторвана от массы, поэтому сначала все в лог.1. Затем программер подрубает микру к массе и начинает тест соединения. Как он делает - я хз,скорее надеясь что микра будет тянуть все вниз, в общем это те пики которые по середине большого провала. Затем он финально включает питание (ноги на него не хватило, но включение совпадает с подъемом всех ног после провала) и выставляет некоторые ноги статично + приводит JTAG к начальному состоянию. И да, основной обмен идет все же по JTAG, а значит все намного проще. Так вот, он включает 11,5в и после небольшой задержки начинает маслать JTAG, выжидая паузы.
Конкретно для стирания есть 4 пачки разной длительности:
Прелюдия короткая:
Далее идет основная команда:
Затем две маленькие, первая:
И завершающая:
Еще не расшифровывал JTAG, но где-то тут есть команда чтения ID. Жалко я выкинул плохие микры, можно было бы сравнить эпюры.
Теперь надо делать эксперименты: лочить JTAG, делать блокировку выходов и смотреть как изменятся не JTAG выводы, возможно они не все имеют значение. Подключал каналы по кругу от 1 пина на все I/O выводы (в том числе и JTAG). Всего 34 вывода, ровно сколько в моем логике каналов. Все это безобразие:
- - - Добавлено - - -
Странно. Нажимаешь стирание пишет ОК, но по факту не стирает. Однако JTAG разблокировал у последней и я ее стер уже байтбластером. Сейчас в другую записал все 0 и они не стираются. Логик отключен на стороне логика. Нужно попробовать отпаять провода и попробовать стереть без них. Может наводка какая.
- - - Добавлено - - -
Вот что твориться на житаге. Направление бит может быть обратным, надо почитать букварь на CPLD. Но повторяю: бездумная подача высокого напряжения убивает микросхему! Требуются определенные условия, которые предстоит вычислить.
Последний раз редактировалось HardWareMan; 28.01.2016 в 15:18.
Други, я тему прочел, но так и не увидел.
MAX7000 и MAX7000S (и большинство других буквенных) разные микросхемы. Они совместимы на уровне прошивок, по внутренней логике, корпусам и пин в пин, но разные с точки зрения программирования.
Классическая 7000 программируется мутными высоковольтными движняками которые толком не расписаны нигде, 7000S в этом плане чистая TTL и шьется как обычная флешка, надо только правильно ее за нужные ноги подергать. Учитывая что 7000 меняется на 7000S пин в пин, 7000 в отличие от 7000S как найти так и запрограммировать практически невозможно, есть ли смысл с ними морочиться вообще ? Единственное для чего это может быть нужно - считать родную 7000 (без S). Если она не залочена, что маловероятно.
А семитонники с буквой S параллельно программирует китайский MiniPro за 50 енотов.
Xeltek очень матерый и дорогой программатор, но очень дремучий, и если попытаться им шить-тереть 7000S как 7000 то можно сжечь ее к жукам майским, а то что он умеет 7000S сильно не факт.
Последний раз редактировалось ram_scan; 05.02.2016 в 18:44.
Никто не хочет прошивать 7000е самопально. Люди хотят восстанавливать жытаг на тех, у которых он есть. Залоченный житаг можно получить при покупке или залочить самому: если не хватает 1го пина то лучше пожертвовать жытагом, чем ставить более громоздкую CPLD, верно? А в случае ошибки опять же получаем кирпич, который неплохо бы вернуть к жизни.
Если рассматривать 4 картинки процесса стирания, то похоже, что:
1я: через TMS был сброшен JTAG, выбран командный регистр, туда было записано что-то вроде 99h, в ответ получено 55h и затем через TMS команда была отправлена на исполнение, может это команда разрешения программирования или просто проверка связи.
2я: здесь команд отправляется три, в ответ всегда приходит 55h, может это просто подтверждение, а может в случае ошибок код будет другим. Возможно первая команда была включением режима программирования, а какая-то активность на линии TMS после выдачи команды это переключение на регистр состояния, который через TDO сообщает, что команда в процессе выполнения, затем TDO переходит в низкий уровень и дополнительная активность на линии TMS отключает регистр состояния от TDO перед следующей команды. После второй команды опять есть дополнительная активность на линии TMS и очень похоже, что на TDO после этого выдаётся ID. Ну а последняя команда это видимо сама команда стирания, так как на общем графике пауза после неё самая длительная.
3я: здесь скорее всего просто команда проверки всё стёрлось или нет
4я: тут через TDI либо вообще никакой команды не подаётся, либо команда с кодом 00 это сброс или чтение результата предыдущей операции
А вот, для сравнения, как это делает кактус. Быть может получится найти схожие моменты?
Эту тему просматривают: 1 (пользователей: 0 , гостей: 1)