Как сделать программатор самому

Как сделать программатор самому

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

Однажды я решил собрать несложный LC-метр на pic16f628a и естественно его надо было чем-то прошить. Раньше у меня был компьютер с физическим com-портом, но сейчас в моём распоряжении только usb и плата pci-lpt-2com. Для начала я собрал простой JDM программатор, но как оказалось ни с платой pci-lpt-com, ни с usb-com переходником он работать не захотел (низкое напряжение сигналов RS-232). Тогда я бросился искать usb программаторы pic, но там, как оказалось всё ограничено использованием дорогих pic18f2550/4550, которых у меня естественно не было, да и жалко такие дорогие МК использовать, если на пиках я очень редко что-то делаю (предпочитаю авр-ы, их прошить проблем не составляет, они намного дешевле, да и программы писать мне кажется, на них проще). Долго копавшись на просторах интернета в одной из множества статей про программатор EXTRA-PIC и его всевозможные варианты один из авторов написал, что extrapic работает с любыми com-портами и даже переходником usb-com.

В схеме данного программатора используется преобразователь логических уровней max232.

Я подумал, если использовать usb адаптер, то будет очень глупо делать два раза преобразование уровней usb в usart TTL, TTL в RS232, RS232 обратно в TTL, если можно просто взять TTL сигналы порта RS232 из микросхемы usb-usart преобразователя.

Так и сделал. Взял микросхему CH340G (в которой есть все 8 сигналов com-порта) и подключил её вместо max232. И вот что получилось.

В моей схеме есть перемычка jp1, которой нет в экстрапике, её я поставил потому что, не знал, как себя поведёт вывод TX на ТТЛ уровне, поэтому сделал возможность его инвертировать на оставшемся свободном элементе И-НЕ и не прогадал, как оказалось, напрямую на выводе TX логическая единица, и поэтому на выводе VPP при включении присутствует 12 вольт, а при программировании ничего не будет (хотя можно инвертировать TX программно).

После сборки платы пришло время испытаний. И тут настало главное разочарование. Программатор определился сразу (программой ic-prog) и заработал, но очень медленно! В принципе — ожидаемо. Тогда в настройках com порта я выставил максимальную скорость (128 килобод) начал испытания всех найденных программ для JDM. В итоге, самой быстрой оказалась PicPgm. Мой pic16f628a прошивался полностью (hex, eeprom и config) плюс верификация где-то 4-6 минут (причём чтение идёт медленнее записи). IcProg тоже работает, но медленнее. Ошибок про программировании не возникло. Также я попробовал прошить eeprom 24с08, результат тот же — всё шьёт, но очень медленно.

Выводы: программатор достаточно простой, в нём нет дорогостоящих деталей (CH340 — 0.3-0.5$, к1533ла3 можно вообще найти среди радиохлама), работает на любом компьютере, ноутбуке (и даже можно использовать планшеты на windows 8/10). Минусы: он очень медленный. Также он требует внешнее питание для сигнала VPP. В итоге, как мне показалось, для нечастой прошивки пиков — это несложный для повторения и недорогой вариант для тех, у кого нет под рукой древнего компьютера с нужными портами.

Вот фото готового девайса:

Как поётся в песне "я его слепила из того, что было". Набор деталей самый разнообразный: и smd, и DIP.

Читайте также:  Масса водяного пара в воздухе

Для тех, кто рискнёт повторить схему, в качестве usb-uart конвертера подойдёт почти любой (ft232, pl2303, cp2101 и др), вместо к1533ла3 подойдёт к555, думаю даже к155 серия или зарубежный аналог 74als00, возможно даже будет работать с логическими НЕ элементами типа к1533лн1. Прилагаю свою печатную плату, но разводка там под те элементы, что были в наличии, каждый может перерисовать под себя.

Понадобилось мне тут вычитать eeprom приборки VDO, то что он легко вычитывается KKL шнурком я в курсе 🙂 Программатора для этих флешек у меня не было. Полазив по сусекам нашел программатор USBASP, это программатор AVR микроконтроллеров, стоит всего 90 руб. Вспомнил что где то читал что его легко превратить в программатор spi, i2 и microwire флешек банально сменой прошивки. Эти флешки используются в приборках и практически во всех блоках управления двигателем. То что надо, перекрывает почти все мозги и приборки.
Вообще считать – записать eeprom обычно надо для того что б вытянуть пароль иммо, отключить иммо, скорректировать в мозгах вин номер и логин иммо, восстановить eeprom после не удачной прошивки и окирпичивании устройства… В общем полезный зверек, тем более не везде можно это сделать софтово.

Для начала берем вот такой программатор.

Вот мои. Почему 2 ? Да по тому что надо будет в одном прошивку сменить и превратить его в программатор флешек. Если нет второго то не беда, соберите программатор для ЛПТ порта из пяти проводков и резисторов. Но у меня две штуки есть, купил давно на всякий случай по акции, для прошивки диагностических кабелей использую. Вот тут подробно писал www.drive2.ru/l/502307765054603422/

Соединяем программаторы вот так и меняем в одном прошивку. Будет он у меня программатором под флешки. Где взять прошивку и как прошить написано вот тут forum.easyelectronics.ru/viewtopic.php?t=10947 там же и программа для работы с usbasp в роли программатора флешек. Это пост автора проекта. Огромное ему спасибо!

Смотрим что он поддерживает в интересующем меня диапазоне машин. А поддерживает практически все 🙂 Все приборки и почти все блоки управления… Имею ввиду установленные в них микросхемы памяти.

Вот допустим модели мозгов Audi, зелеными галочками пометил что поддерживает.

Вот конкретно по моим любимым мозгам МЕ 7.5 из которых сделал себе двухпрошивочные — www.drive2.ru/l/522104471912710188/

Приступим к работе с ним.
У меня задача вытянуть eeprom из приборки VDO, узнать пароль иммо и при необходимости залить вытянутый дамп в другую сохранив калибровки стрелок и привязанные ключи. Почему я не делаю это софтово? Очень просто, приборка радостно сгорела с дымком и все такое. Кирпич в общем 🙂 В таких вот случаях без программатора не обойтись.

Берем приборку. Как разобрать писать не буду и так все знают 🙂

Вон она. Флешка с eepromом. 93С86…

Выпаиваем ее по быстрому…

Подключаем в соответствии со схемой. Схема разнится от типа флешки. У меня в VDO стоит microwire 93LС86… Значит по второй схеме…

Так как панельки у меня под SMD8 нет (заказал), то сделаю по быстрому переходник.
Возьму кусочек шлейфа, разделаю, нанесу цветовые метки.

И банально подпаяю, благо делов на минуту… Не очень фотогенично зато надежно 🙂

Напряжение питания выбираем в соответствии с даташитом на микросхему. Программатор выдает или 3.3v или 5v, переключается перемычкой. В моем случае любое, так как микросхема может работать в диапазоне 2.5-5.5 вольт.

Читайте также:  Значениевреквизитформы недопустимое значение параметра параметр номер 2

Теперь можно подсоединить к компу и начать процесс считывания.

Запускаем программу. Смотрим что б был выбран программатор usbasp. Выбирает тип микросхемы с которой будем работать.

Далее все просто. Нажимаем считать. Идет процесс. Все считано.
Вот почти и все. EEPROM считан. Но есть одна тонкость, считан он правильно но не совсем. При чтении прошивки из EEPROM 93с86 байты в словах перевернуты. Например первое слово 02 03 а должно быть 03 02. Так как проект этого софта не коммерческий то он очень простой и в нем нет опции intel/motorola с которой сразу правильно. Но это не беда 🙂 Сохраняем файл.

Теперь запускаем редактор WinHex, открываем нем файл нашего eeprom и делаем ему свап.
Вот так:
Правка – Модифицировать данные

В менюшке выбираете «Обратный порядок байт», блин, у меня кота байтом зовут 🙂 Ставим 2 байта и жмем «ОК»

Вот и все, наш eeprom в нужном нам виде предстает 🙂
Ну и сохраняете его. В случае с приборкой VDO иммо3 можете на вин номер ориентироватся, если он стал правильно отображается то все правильно мы сделали

Теперь пароль на иммо вытянуть надо. Тут можно руками и все такое но на много проще сделать это с помощью всеми любимой программы, а именно VAG EEPROM Programmer.
Открываете полученный файл eeprom и в нем и сразу все что надо видите 🙂
Можно или ручками перенести данные в новую приборку а можно этот дамп залить со всеми калибровками и шкаламии ключами. Ну и пробег можете подкрутить пока законом не запретили 😉
Вот так все просто 🙂

Понадобилось мне тут вычитать eeprom приборки VDO, то что он легко вычитывается KKL шнурком я в курсе 🙂 Программатора для этих флешек у меня не было. Полазив по сусекам нашел программатор USBASP, это программатор AVR микроконтроллеров, стоит всего 90 руб. Вспомнил что где то читал что его легко превратить в программатор spi, i2 и microwire флешек банально сменой прошивки. Эти флешки используются в приборках и практически во всех блоках управления двигателем. То что надо, перекрывает почти все мозги и приборки.
Вообще считать – записать eeprom обычно надо для того что б вытянуть пароль иммо, отключить иммо, скорректировать в мозгах вин номер и логин иммо, восстановить eeprom после не удачной прошивки и окирпичивании устройства… В общем полезный зверек, тем более не везде можно это сделать софтово.

Для начала берем вот такой программатор.

Вот мои. Почему 2 ? Да по тому что надо будет в одном прошивку сменить и превратить его в программатор флешек. Если нет второго то не беда, соберите программатор для ЛПТ порта из пяти проводков и резисторов. Но у меня две штуки есть, купил давно на всякий случай по акции, для прошивки диагностических кабелей использую. Вот тут подробно писал www.drive2.ru/l/502307765054603422/

Соединяем программаторы вот так и меняем в одном прошивку. Будет он у меня программатором под флешки. Где взять прошивку и как прошить написано вот тут forum.easyelectronics.ru/viewtopic.php?t=10947 там же и программа для работы с usbasp в роли программатора флешек. Это пост автора проекта. Огромное ему спасибо!

Читайте также:  Вода из воздуха чертежи

Смотрим что он поддерживает в интересующем меня диапазоне машин. А поддерживает практически все 🙂 Все приборки и почти все блоки управления… Имею ввиду установленные в них микросхемы памяти.

Вот допустим модели мозгов Audi, зелеными галочками пометил что поддерживает.

Вот конкретно по моим любимым мозгам МЕ 7.5 из которых сделал себе двухпрошивочные — www.drive2.ru/l/522104471912710188/

Приступим к работе с ним.
У меня задача вытянуть eeprom из приборки VDO, узнать пароль иммо и при необходимости залить вытянутый дамп в другую сохранив калибровки стрелок и привязанные ключи. Почему я не делаю это софтово? Очень просто, приборка радостно сгорела с дымком и все такое. Кирпич в общем 🙂 В таких вот случаях без программатора не обойтись.

Берем приборку. Как разобрать писать не буду и так все знают 🙂

Вон она. Флешка с eepromом. 93С86…

Выпаиваем ее по быстрому…

Подключаем в соответствии со схемой. Схема разнится от типа флешки. У меня в VDO стоит microwire 93LС86… Значит по второй схеме…

Так как панельки у меня под SMD8 нет (заказал), то сделаю по быстрому переходник.
Возьму кусочек шлейфа, разделаю, нанесу цветовые метки.

И банально подпаяю, благо делов на минуту… Не очень фотогенично зато надежно 🙂

Напряжение питания выбираем в соответствии с даташитом на микросхему. Программатор выдает или 3.3v или 5v, переключается перемычкой. В моем случае любое, так как микросхема может работать в диапазоне 2.5-5.5 вольт.

Теперь можно подсоединить к компу и начать процесс считывания.

Запускаем программу. Смотрим что б был выбран программатор usbasp. Выбирает тип микросхемы с которой будем работать.

Далее все просто. Нажимаем считать. Идет процесс. Все считано.
Вот почти и все. EEPROM считан. Но есть одна тонкость, считан он правильно но не совсем. При чтении прошивки из EEPROM 93с86 байты в словах перевернуты. Например первое слово 02 03 а должно быть 03 02. Так как проект этого софта не коммерческий то он очень простой и в нем нет опции intel/motorola с которой сразу правильно. Но это не беда 🙂 Сохраняем файл.

Теперь запускаем редактор WinHex, открываем нем файл нашего eeprom и делаем ему свап.
Вот так:
Правка – Модифицировать данные

В менюшке выбираете «Обратный порядок байт», блин, у меня кота байтом зовут 🙂 Ставим 2 байта и жмем «ОК»

Вот и все, наш eeprom в нужном нам виде предстает 🙂
Ну и сохраняете его. В случае с приборкой VDO иммо3 можете на вин номер ориентироватся, если он стал правильно отображается то все правильно мы сделали

Теперь пароль на иммо вытянуть надо. Тут можно руками и все такое но на много проще сделать это с помощью всеми любимой программы, а именно VAG EEPROM Programmer.
Открываете полученный файл eeprom и в нем и сразу все что надо видите 🙂
Можно или ручками перенести данные в новую приборку а можно этот дамп залить со всеми калибровками и шкаламии ключами. Ну и пробег можете подкрутить пока законом не запретили 😉
Вот так все просто 🙂

Ссылка на основную публикацию
Как сделать ксерокопию на принтере epson
Вы можете использовать сканер с принтером, подсоединенные к компьютеру, в качестве копировальной машины. Вы можете увеличивать или уменьшать изображение, восстанавливать...
Как самостоятельно оцифровать видеокассету
На сегодняшний день эра видеокассет безоговорочно подошла к концу, а на ее место пришли цифровые носители. Что делать в том...
Как сбросить биос джампером
Настройки базового оборудования и времени вашего компьютера хранятся в БИОС и, если по какой-то причине у вас возникли проблемы после...
Как сделать левый ноль в частном доме
Популярные материалы Today's: Как сделать левое электричество в частном доме. Подключение левой розетки внутри дома Здесь применяется тот же самый...
Adblock detector