39vf040 как подключить программатор

VampireLo › Блог › Считывание прошивок напрямую из чипа eeprom (Часть 1, чипы 24-ой серии)

Холодными зимними вечерами… нет… в дождливую Питерскую погоду нашел интересное дополнительное хобби.
Всё, что сказано ниже — не является инструкцией к действию! Если хотите повторить — это на Ваш риск!
Стало интересно как считать напрямую из приборок дамп, на данную мысль натолкнули записи pvc1
Заказал с али:
Программатор CH341A для eerom 24 и 25 серий,
Клипса (Щипцы) для подключения напрямую к 8ми ножковым микросхемам,
Программатор EZP2010, т.к. посмотрел на приборках VDO установлены eeprom серии 93.
Вообще перечень eeprom возможных в приборках собран тут (ссылка).
Всё приехало и нужно было протестировать. Т.к. гарантия на полика magic182gt заканчивается через 1.5 года, а ждать столько не хочется, провел испытания на имеющихся остатках:
1. Остатки приборки бош/мотометр с которой уже много чего выпаяно.
2. Остатки приборки vdo, тоже как запчасть.

Итак по порядку:
1. Смотрим программатор CH341A и понимаем, что софта и драйверов нет. ) Поиски в интернете приводят на сайт радиоремонтников профессионалов. Для того чтобы скачать файлы с этого сайта нужно зарегистрироваться и пройти «легкий» тест по схемотехнике. Пришлось вспомнить чему учили более 15 лет назад и, как ни удивительно, ответил на 5 из 6 вопросов при допустимом одном неверном ответе.
Драйвера установлены (под win 7 32-бит) и программа запущена.

2. Нужно подключаться к микросхеме, но как?!

3. Теперь нужно подключиться к программатору CH341A — крутил, вертел его и понял, что отличается от тех, что на фото в интернете! На моем указан текст 24xx и полукруг справа от надписи… Тупил-тупил, взял мультиметр и прозвонил точки подключения на массу (корпус программатора), а так как масса в микросхемах 24 серии — это первая ножка (пин), то правильным оказалось подключение как на фото:

4. Выбираем в программе тип микросхемы:
24-ая серия, производитель общий и микросхему 24C02 (как написано на ней!)
Жмем кнопку считать, ждем какие-то доли секунды и получаем:

Следующий этап изучений — микросхемы 93-ей серии:
1. Смотрим на микросхему на плате vdo от гольфа 4:

2. Скачиваем драйвера с диска с программатором EZP2010, ставим их вручную в win7 32bit через диспетчер устройств с подключенным программатором.

3. Подключаем программатор, клипсу на микросхему, выбираем тип микросхеме 93LC86 (8bit), жмем считать и, барабанная дробь, получаем сплошные FF FF FF FF FF… т.е. не читается. (((
Почему? Есть идеи, что сделал не так?
Подключал EZP2010 к той же микросхеме 24C02 и считывание происходит корректно и идентично CH341A, т.е. программатор EZP2010 работает.

Источник

Восстанавливаем BIOS на программаторе после неудачного обновления

Написать данный разжеванный материал меня сподвиг собственный недавний опыт, а так же довольно скудная и размазанная по интернетам инфа по необходимому вопросу

Существует 3 основных способа восстановления запоротого BIOS

1. Восстановление программными средствами самой мат.платы.

Современные модели материнок (у Гигабайта последние 3 года на мейнстримовых и топовых точно) на плате распаяно сразу 2 микросхемы BIOS, в случае неудачного обновления BIOS загрузится с резервной микрухи, а позже зальет копию в поврежденный. У некоторых моделей нет возможность восстановления поврежденного BIOS и в случае смерти первого просто начинает работать второй за место него, соответственно после смерти второго мать уже не запустится

READ  Как подключить вай фай на айфоне вручную

Еще есть возможность восстановления из bootblock‘а, но работает если BIOS умер не окончательно и бутблок все еще жив и попытке запустить систему он обнаруживает кривую сумму биоса. В таком случае он пытается считать BIOS с HDD, или флоппа. Некоторые платы (у Гигабатов такая фича встречается) пишут дубль BIOS на HDD, который к ним подключают самым первым, соответственно для восстановления этот диск можно подключить. Для восстановления с флоппа достаточно записать прошивку с правильным названием на дискету, она будет обнаружена и восстановлена. Жизнеспособность бутблока можно определить по сигналам (световым и звуковым) с подключенного флоповода, если флоп подает признаки жизни, значит мы легко отделались

3. Восстановление на программаторе. Этот способ универсальный, т.е. прошить можно любую микросхему в любом типе корпуса. Если микруха припаяна к плате, то снимаем ее и напаиваем на плату программатора или используем специальные панельки. Безусловно на одном программаторе можно прошить ограниченное число микросхем, но это обычно касается простых программаторов, более «взрослые» являются действительно универсальными, но стоят они уже не 5 копеек и приобретаются в основном для потокового ремонта, а не домашнего использования с целью восстановления пары плат. Тем не менее данный способ универсальный, он полностью заменяет и расширяет первые 2 способа, а когда они не работают, то это единственный выход. Способ горячей замены это даже искусственный метод, который был обнаружен опытным путем благодаря унификации производителями элементов плат. Об одном из простых «домашних» программаторах я и хочу рассказать.

Суть процесса

Программатор поддерживает очень много микрух, вот что заявлено для последней на момент написания материала версии 2.1:

AMIC

A25L05PU/PT (64kB), A25L10PU/PT (128kB), A25L20PU/PT (256kB), A25L40PU/PT (512kB), A25L80PU/PT (1MB), A25L16PU/PT (2MB), A25L32PU/PT (4MB), A25L64PU/PT (8MB), A25L512 (64kB), A25L010 (128kB), A25L020 (256kB), A25L040 (512kB), A25L080 (1MB)

Atmel

AT25F512B (64kB), AT25DF021 (256kB), AT26DF041 (512kB), AT25DF041A (512kB), AT26F004 (512kB), AT26DF081 (1MB), AT25/26DF081A (1MB), AT25DF081 (1MB), AT26DF161 (1MB), AT26DF161A (2MB), AT25DF161 (2MB), AT25DQ161 (2MB), AT25/26DF321 (4MB), AT25DF321A (4MB), AT25DQ321A (4MB), AT25DF641(A) (8MB)

EN25B10 (128kB), EN25B20 (256kB), EN25B40(T) (512kB), EN25B80 (1MB), EN25B16 (2MB), EN25P32 (4MB), EN25P64 (8MB), EN25P128 (16MB), EN25F10 (128kB), EN25F20 (256kB), EN25F40 (512kB), EN25F80 (1MB), EN25F16 (2MB), EN25F32 (4MB), EN25F64 (8MB), EN25F128 (16MB)

ESMT

F25L004A (512kB), F25L008A/08PA (1MB), F25L016A/16PA (2MB), F25L32PA (4MB), F25L64PA (8MB), F25S04PA (512kB), F25L08PA (1MB), F25L016QA (2MB), F25L32QA (4MB), F25L64QA (8MB)

GigaDevice

GD25Q512 (64kB), GD25Q10 (128kB), GD25Q20 (256kB), GD25Q40 (512kB), GD25Q80 (1MB), GD25Q16 (2MB), GD25Q32 (4MB), GD25Q64 (8MB)

Intel

QB25F016S33B8 (2MB), QB25F032S33B8 (4MB), QB25F064S33B8 (8MB)

Macronix

MX25L512E (64kB), MX25L1005/1006E (128kB), MX25L2005/2006E (256kB), MX25L4005/4006E (512kB), MX25L8005/8006E (1MB), MX25L1605/1606E (2MB), MX25L3205/3206E (4MB), MX25L6405/6406E (8MB), MX25L12835E/12836E (16MB), MX25L25635E/25735E/25835E (32MB)

READ  Как подключить nvr к интернету

Pm25LV512(A) (64kB), Pm25LV010(AB) (128kB), Pm25LV020 (256kB), Pm25LV040 (512kB), Pm25LV080B (1MB), Pm25LV016B (2MB), Pm25LV032B (4MB), Pm25LV064B (8MB)

Spansion

S25FL004A (512kB), S25FL008A (1MB), S25FL016A (2MB), S25FL032A (4MB), S25FL064A (8MB), S25FL128P/129P (16MB), S25FL256S (32MB), S25FL512S (64MB), S25FL01GS (128MB)

ST Microelectronic/Numonyx

M25P05 (64kB), M25P10 (128kB), M25P10AV (128kB), M25P20 (256kB), M25P40 (512kB), M25P80 (1MB), M25P16 (2MB), M25P32 (4MB), M25P64 (8MB), M25P128 (16MB), M45PE10 (128kB), M45PE20 (256kB), M45PE40 (512kB), M45PE80 (1MB), M45PE16 (2MB), M25PX80 (1MB), M25PX16 (2MB), M25PX32 (4MB), M25PX64 (8MB), N25Q032A13E (4MB), N25Q032A11E (4MB), N25Q064A13E (8MB), N25Q064A11E (8MB), N25Q128A13E (16MB), N25Q128A11E (16MB), N25Q256A13E (32MB), N25Q256A11E (32MB), N25Q512A13G (64MB), N25Q512A11G (64MB), N25Q00AA13GB (128MB)

SST25VF512(B) (64kB), SST25VF010(B) (128kB), SST25VF020(B) (256kB), SST25VF040(B) (512kB), SST25VF080(B) (1MB), SST25VF016(B) (2MB), SST25VF032(B) (4MB), SST25VF064C (8MB), SST25VF128(B) (16MB), SST26VF016 (2MB), SST26VF032 (4MB), SST26VF064 (8MB)

Winbond

W25Q10B (128kB), W25Q20BV (256kB), W25Q40BV (512kB), W25Q80BV (1MB), W25Q16BV (2MB), W25Q32BV (4MB), W25Q64BV (8MB), W25Q128BV (16MB), W25Q256FV (32MB), W25X10 (128kB), W25X20 (256kB), W25X40 (512kB), W25X80 (1MB), W25X16 (2MB), W25X32 (4MB), W25X64 (8MB)

Материнские платы, которые имеют на себе BIOS в виде вышеназванных микросхем я не буду указывать по ясным причинам. Намного проще глянуть модель микрухи и посмотреть в этот список

Аппаратная часть

В моем случае нужная мне память оказалась в этом списке и я приступил к изготовлению прогера. Устройство очень простое (по схеме видно) и многие не заморачиваются в таких случаях с травлением платы, а собирают навесным монтажом «на коленке», т.к. программатор понадобится от силы пару раз. Я тоже не стал заморачиваться и сделал навесным. В итоге у меня не заработало) Хотя вроде бы ни где не ошибся, возможно капризничало из-за длины проводов или их сечения

Необходимые ингредиенты:

— Резисторы 150 ом 0,125Вт x 4шт

— Емкостный конденсатор 1mF 16-63v x 1шт

— Сокет 8pin 7,62мм x 1шт или специальные зажимные панели под SMD чипы, в общем в зависимости от пациента

— Немного проводов, я использовал провода примерно 24AWG длинной 12см

— Макетная плата или текстолит и все необходимые принадлежности для его вытравки и лужения

— Штырьковые разъемы x 5шт

1. Мало контактов, всего 5шт, для того, чтобы тратить 20р на этот разъем и ставить его на такую крохотную плату. Намного проще вывести эти 5 контактов и воткнуть их в сам разъем

Самодельный адаптер LPT для современных плат. IDE разъем флоппа отлично подходит под пинауты плат, вставил кусок зубочистки как ограничитель, чтобы наверняка не промахнуться

В итоге у нас должно получиться примерно следующее устройство:

У БП на разъеме 24пин замкнут зеленый провод на землю, что дает возможность его запускать в холостой ход, из этого же разъема я и беру 3.3v (оранжевый провод) и массу (черный) для программатора

Можно еще как вариант использовать батарейку BIOS она как раз на 3.3v, а землю (массу) взять с самого корпуса работающего БП

Программная часть

Текущая версия SPIpgm 2.1 поддерживает все семейство настольных ОС Windows, linux и еще DOS. Я очень сомневался, что на Win7/Vista все заработает, уж очень прихотливы LPT программаторы к этой ОСи. тем не менее все совпало с заявлением разработчика. не забываем, что UAC необходимо отключить (у меня отключен и так «по умолчанию»). Выключаем полностью ПК, подключаем программатор, включаем и используем командную строку. С помощью оператора cd переходим в нужную директорию, где находится программатор. Т.к. мы находимся в среде Windows, то использовать надо spipgmw, spipgm используется в DOS и Win9x, однако spipgmw можно тоже использовать в Win9x. По скрину ниже видно, что проблем нет, программатор и софт прекрасно работают в современной среде, что встречается крайне редко в подобных задачах

READ  Как подключить панель вызова к домофону

Однако отмечу, что я шил в DOS, мне так привычнее) Чем проще ОС, тем она надежнее. Но я не агитирую переходить на нее полностью) Просто для таких вот делишек использовать DOS мне как-то интеерснее. По опыту работы с другими самопальными программаторами могу сказать, что в WinXP этот программатор без сомнения будет работать

Если же программатор не сможет опознать микросхему (смотрим скрин ниже), то она либо мертва, либо программатор собран не верно или не поступает питание, нет массы. Более вероятен второй вариант

Вот что ответит командная строка, если программатор собран не верно. Чип не опознается, т.е. неудача

Мутим DOS или «я не ищу легких путей»

DOS запилить себе не так сложно. Можно банально сделать загрузочную дискету средствами самой ОС Windows через форматирование дискеты и положить туда папку с программатором и новой прошивкой, загрузившись после BIOS (на рабочем ПК) в консоль используем программатор

Будем считать, что DOS мы запустили (владельцам Linux это не нужно, для них есть SPIPGM файл без разширения) Заходим в командную строку, переходим в папку программатора. Чтобы узнать основные команды выполняем просто spipgm

В DOS все опозналось тоже без проблем

Основные программы, которые нам понадобятся:

Итого для совершения задуманного с целью восстановления BIOS нам необходимо выполнить последовательность команд:

! Обращаю внимание, что если мы все делаем в среде Windows, то вместо spipgm пользуемся командой spipgmw

После этого вырубаем ПК через кнопку выключения и отключаем программатор

Внимание! Все манипуляции с портом LPT необходимо производить только с отключенным питанием платы. Т.е. перед тем как подключить или отключить что-нибудь от LPT необходимо полностью выключить БП, поставить переключатель БП в положение Off (или вынуть кабель) подождать 10сек (разрядятся конденсаторы) и только потом что-то подключать или отключать. Если не следовать этому простому правилу, то велик шанс остаться без LPT, он очень капризен к подобным вещам в силу своей незащищенности

Послесловие

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

Источник

Поделиться с друзьями
Как подключить и установить...
Adblock
detector