Eeprom 95160 прошить usb программатором
Решил на досуге чем-то себя развлечь, а заодно поупражняться в программировании, но немного увлёкся, и вот родился этот проект. Не как обычно какая-нибудь ненужная безеделушка, коих у меня насобиралось в закромах целая куча, а вполне полезная вещь - USB программатор для микроконтроллеров AVR, SPI Flash 25 серии и I2C EEPROM 24ХХ.
"Сердцем" программатора является stm32f103c8t6, многим известный по китайской платке blue pill. Подключен он к компьютеру через USB-UART конвертер (мой любимый CH340G). Кто-то сразу справедливо заметит, что в данном микроконтроллере есть аппаратный USB и можно спокойно реализовать виртуальный COM порт на нём (HID CDC устройство). Но! в "железном" конвертере есть один немаловажный плюс, там есть все линии COM порта, которые (в моём случае DTR) можно использовать для управления микроконтроллером. В соей схеме линия DTR управляет сбросом (NRST) микроконтроллера. Также большой плюс в том, что не возникает проблемы "яйца и курицы" при создании программатора (то есть, чем прошить сам программатор?). Добрые инженеры ST-microelectronics позаботились о нас и добавили USART bootloader в свои контроллеры. А так как на моей плате уже есть подключенный к USART1 STM-ки usb-usart конвертер, то остаётся только скачать STM-овскую программку STMFlashLoadDemonstratot, поставить перемычку "boot" (на моей плате ещё нужно закоротить вывод "reset" ISP разъёма AVR на плюс или минус того же разъёма просто, boot1 - PB0 у меня подключен на данный разъём, а при программировании через встроенный bootloder он не должен болтаться в воздухе) и прошить микроконтроллер готовой прошивкой.
Забежав вперёд, скажу, попутно я начал переделывать программатор на аппаратный USB, который я заблаговременно развёл на плате. USB у меня настроен как Custom HID. Скорость, конечно в 2-3 раза выше, но получить стабильной работы пока не удалось. Одиночные пакеты передаются туда-обратно без проблем, а вот при сплошном потоке во время операций чтения-записи прошивок пакеты иногда теряются. Но я над этим работаю.
Принцип работы моего программатора следующий: хост отправляет микроконтроллеру пакет с запросом, микроконтроллер отправляет пакет с ответом. Сам микроконтроллер без спроса ничего хосту не шлёт, кроме единственного случая - аппаратного сброса (отправляет пакет присутствия программатора). Также в обмене нет отправки пакетов через временные задержки, что могло бы вызвать зависание софта. Только запрос-ответ. Далее пакеты как со стороны хоста, так и со стороны "железа" обрабатываются в конструкции "switch-case" в зависимости от маркерного байта.
Длину пакета я сделал фиксированную (23 байта). Это компромисс между количеством полезной информации в пакете и скоростью его передачи в случае служебных пакетов, несущих всего один полезный байт. Подробно пакет разбирать не буду, скажу только, что полезных байт в нем 16 (то есть тех, которые передают данные прошивок), остальные байты служебные (старт и стоп байты для проверки целостности пакета, маркер пакета, адрес). Конечно, было бы более эффективно сделать пакет не фиксированной длины, но это сильно усложнило бы софт и прошивку "железа".
Скорость обмена выбрал максимальную для CH340G - 2 мегабода. STM-ка на данной скорости работает без проблем. В итоге скорость обмена получилась приемлемая. Читать-писать AVR и I2C EEPROM очень комфортно, а вот SPI Flash - не очень. Уж сильно они ёмкие. Флешка на один мегабайт (не путать с мегабитом) пишется или читается примерно минуты четыре-пять. Соответственно 8 мегабайт будет читаться или писаться порядка 16-20 минут. Благо, что пакеты обмениваются стабильно и ошибок или обрывов при записи/чтении не возникает. В принципе, можно сходить попить чаю, пока пишется (шучу).
Теперь познакомимся по ближе с минимальной схемой программатора:
Минимальная схема представляет из себя микроконтроллер с минимальной обвязкой, USB-USART конвертером также в минимальной обвязке и разъёмами для программирования. В принципе, можно использовать туже плату Blue pill, подключая на проводах программируемое устройство, единственное что нужны подтяжки к плюсу 3v3 линий SCL и SDA I2C1 для программирования EEPROM.
Почему схема минимальная? Потому что изначально устройство разрабатывалось на самодельной оценочной плате с выведенными портами микроконтроллера. И этого было достаточно для программирования "на проводах" перечисленные микросхемы памяти и МК. А вообще, я ещё планировал поддержку микроконтроллеров PIC. Для этого в окончательной плате у меня ещё присутствует преобразователь напряжения на 12 вольт, схема управления питающими напряжениями, и преобразователь уровней 3v3 - 5v для ножек PGC, PGD и PGM PIC контроллеров.
Скажу сразу, с пиками у меня пока не срослось. На поверку они оказались редкостными уб. детьми без отца. Как оказалось в каждой линейке PIC есть куча подсемейств, которые отличаются не только набором команд, но и алгоритмами программирования и ещё кучей параметров. А ещё HEX файлы для PIC разных семейств также отличаются кардинально. В них содержаться и программа, и EEPROM, и биты конфигурации. И всё это по разным адресам и в разных количествах у разных моделей. Например PIC16F84 и PIC16F84A имеют разные алгоритмы записи и стирания, а также у них отличаются несколько команд. В общем, ни о какой стандартизации даже и речи быть не может, такое чувство, что инженеры PIC соревновались, кто сделает сложнее и хуже. Максимум, что я смог выжать из имеющегося у меня PIC16F73 это получить ячейку с ID. И то не совсем корректное, хотя читается стабильно (если кто-то имеет опыт программирования PIC, не написания программ, а именно алгоритмов прошивки, можете поделиться опытом, попробую реализовать хотя бы пару линеек 16-х).
Для полноты картины приведу также схему преобразователя напряжения на 12 вольт:
Это MCP34063 в типовом включении.
А также схему преобразователей уровней и управления напряжениями 5 вольт и 12 вольт:
Преобразователи уровней двунаправленные, сделаны на полевых n-mosfet. Работают в оба направления, так как ножки микроконтроллера, на которых они висят сконфигурированы как Open Drain. А в данном режиме у STM32 даже если пин сконфигурирован как выход, всегда можно прочитать его текущий логический уровень. Получается такой своеобразный псевдо-двунаправленный порт. Очень удобная штука. Полезная для реализации двунаправленных шин (например, 1-Wire).
Ключи для управления напряжениями 5в и 12в я скопировал из схемы программатора К-150. Они сделаны через два элемента "НЕ" микросхемы 74ls06 (у меня работает на 74als05) и транзисторах BC856.
На разъём программирования ICSP для PIC я планирую в ближайшее время ещё повесить Microwire EEPROM. У них с пиками очень похожие протоколы программирования и как раз многие модели требуют именно 5 вольт. Так что, если с пиками не получится, то разъём будет полезен для этих EEPROM.
Основная "фишка" программы - возможность добавления моделей программируемых устройств. Для этого в каталоге с программой есть три xml файла, в которые очень легко добавить новую модель. Для AVR достаточно скачать datasheet на нужную модель. Найти раздел Memory Programming. Найти там количество страниц памяти, объём страницы памяти (16 битных слов), объём EEPROM в байтах и три байта ID микроконтроллера. Также нужны начальные настройки Fuse bits, их можно найти в online калькуляторах, например, AVR fuse calculator. Затем, в соответствующем xml файле (avr.xml) копируем один однотипный блок, вставляем его выше или ниже и подправляем данные. Сделать это можно в простом блокноте "notepad". Пример блока для AVR:
Добавлять модели I2C EEPROM нет необходимости, так как микросхемы разных производителей программируются однотипно. А основные модели до 24х256 уже внесены. А вот новые модели SPI Flash вносятся аналогично AVR. Из datashet необходимо узнать объём флешки в байтах, объём одной страницы данных и количество страниц. Также можно узнать ID, но его можно просто прочитать программатором, а затем внести в xml файл.
Есть некоторые особенности программирования AVR и SPI Flash. Если AVR новый или его fuse bits настроены на внутренний генератор и низкую частоту тактирования, то он не будет реагировать на комманды программатора. Для этого во вкладке настроек необходимо выставить скорость SPI на "6" или ниже - это низкоскоростной Soft SPI, затем прошить фузы и можно лить прошивку на более высокой скорости. Но не рекомендую для AVR ставить скорость больше "8", он просто не справится с ней. Также не напортачьте с Fuse битами, выставляйте внимательно их значения. Если в соответствующих окнах будут установлены неправильные символы (кирилица или символы, кроме 0-9 и A-F), то биту будут программироваться как 0xFF. Значение битов вносится в шестнадцатиричном виде два символа без приставки "0x" или постфикса "h", регистр не важен. Будьте внимательны, неправильные Fuse биты могут окирпичить ваш микроконтроллер. При установленных Lock Bits их сброс производится стиранием чипа. Не забывайте, что в AVR биты инверсные: 0 - запрограммирован, 1 - не запрограммирован.
Во вкладке "SPI Flash" функция чтения/записи Sreg1 и Sreg2 регистров. Это регистры настроек и флагов. Если в них установлены биты защиты, то некоторые или все блоки памяти будут доступны только для чтения и вы не сможете их стереть или записать. Для этого читаем значения Sreg, запоминаем или записываем на бумажку, вводим в оба поля по два нуля, записываем. После этого можно стирать и записывать флешку. После того как записали, возвращаем обратно значения Sreg, если нужно.
При работе с I2C EEPROM - никаких особенностей, только правильно выбирайте модель, иначе при чтении можно повесить шину I2C и она выдаст ошибку. Это связано с разной адресацией байт в EEPROM разного объёма.
Есть общая особенность функции сравнения записанной прошивки для всех устройств: перед проверкой сначала нужно прочитать микросхему. Потому что при нажатии на кнопку "Сравнить" автоматически чтения не происходит. Об этом, если что, напомнят всплывающие MessageBox-ы.
Программа принимает для записи файлы формата intel-HEX или любые другие файлы в сыром виде. Сохраняет только в формате BIN. То есть вы можете записать обычный HEX, при этом он предварительно конвертируется в массив байт или открыть любой другой файл в виде набора байт, например записать на флешку картинку или текстовый файл.
Кстати , в процессе разработки программы родился побочный проект - HEX-to-BIN конвертер. Он конвертирует 16 битные hex в BIN файлы. Его я также выложу вместе с софтом программатора в конце статьи (особых коммерческих надежд на проект я не возлагаю, пользуйтесь на здоровье).
Напоследок - фото готового устройства. Напомню, это "полная" схема со всеми преобразователями, которые не нужны для перечисленных трёх видов программируемых микросхем, а сделаны "на будущее" для возможности добавления новых функций.
Качество платы, конечно не заводское, плата односторонняя с кучей перемычек, но для домашних поделок - пойдёт.
P.S: Софт довольно сырой. Могут возникать не обрабатываемые исключения и программа может завершаться с ошибкой. Всё протестировать я не успел. Из имевшихся у меня AVR а пробовал работать с ATMEGA8, ATMEGA328, ATMEGA128, ATTINY2313. Также подключал AT90USB162, но я не уверен в корректности работы с его Flash памятью из-за bootloader-а. Фузы программируются правильно.
Из флешек я пробовал WINBOND W25Q80, W25Q64, также менее ёмкие AC25512 и мегабитную от MXIC (не помню маркировку).
EEPROM были проверены со всеми вариантами адресации (у меня были в наличии AT24C01, AT24C02, 24C08, 24C16, 24C32 и 24C256).
Разводку платы я также выложу в конце статьи в формате Sprint Layout. Я постарался подписать все элементы на плате, там где не поместилось - подписал в свойствах деталей. У меня есть такая фишка на платах, я рисую и резисторы и конденсаторы макросами конденсаторов, потому что макросы резисторов в спринте очень крупные по сравнению с конденсаторами того же типоразмера, так что не удивляйтесь. Плата сделана под SMD компоненты, самые маленькие - размером 0603, да и у STM-ки ножки очень мелкие. Я делаю платы фоторезистом, поэтому это не проблема. Но если делать ЛУТ, то надо очень постараться. Не каждый возьмётся за такие мелкие детали.
Прозвонил несколько мест, которые восстанавливают блоки управления подушками после аварий, правят дампы EEPROM и после всех этих разговоров, сказок и ценников принял решение разобраться с этим вопросом самостоятельно, тем более, что опыт в перепрошивке всего чего только можно у меня приличный, да и программатор где-то завалялся.
Первым делом добрался и снял блок управления Airbag, находится он в центральной консоли под органами управления климатом или кондиционером.
Чтобы туда добраться, нужно снять пластиковую боковину справа от ног водителя, открутив один болт при помощи Torx T15, а затем открутить кронштейн, к которому крепится эта пластиковая боковина, при помощи головки на 10. Пластиковый кронштейн крепится на шпильках и притянут пластиковыми гайками на 10.
Далее видим сам блок управления подушками безопасности, он крепится тремя гайками на 10, одна гайка со стороны водителя, две — со стороны пассажира. Ко всем гайкам можно добраться из-под ног водителя, к одной прямо, к двум остальным — на ощупь.
После того, как гайки откручены, можно вынимать блок SRS Airbag и отключать его от косы-разъема. Вот, как это выглядит вкратце.
Далее я принёс блок домой к компу и столкнулся со сложностью, которая заключалась в нестандартных винтах, которые имеют пятигранную форму внутри и по центру имеют штырёчек, который мешает туда что-либо вставить, чтобы зацепиться за вырезы в головке.
Плоской отвёрткой я отломал центральные штырьки, наклонив их сперва в одну сторону, затем в другую. Обламываются они под корень, очень аккуратно, затем плоской отвёрткой побольше зацепился за выступы и спокойно открутил все винты. Затянуты они были прилично.
Блок разбирается на три части, одна из них печатная плата с чипом EEPROM, который нужно расчехлить.
На плате нужно найти чип, который нам нужно прошить нормальным дампом. В моём случае это чип с маркировкой ATMEL 25640AN.
Вы можете написать сейчас и зарегистрироваться позже. Если у вас есть аккаунт, авторизуйтесь, чтобы опубликовать от имени своего аккаунта.
Примечание: Ваш пост будет проверен модератором, прежде чем станет видимым.
Последние посетители 0 пользователей онлайн
От единодушного „да“ или „нет“ швабростану зависит будет война или нет. А если одни за свободную Украину, а другие за дешёвый газ и швабры, то война унесёт много жизней.
Иной раз возникает подозрение, что не из каждого человека можно сделать Человека
человек с такой мощной аргументацией явно профи. Однако ключевое слово во всем этом бетонном мусоре - работает
На счёт "для галочки" это явно чушь. Думаю, что лечение производится по ВОЗовским методичкам, тут вопрос только в эффективности. Ну и как и до барановируса было, имеет место то-ли воровство, то-ли приписывание, при выписке расписываешься за получение препаратов, большинство подписывает не глядя, а те, кто читает и что-то понимает за что расписываются видят на бумаге препараты, которых они реально не получали, лет 8 назад сам лично столкнулся с подобным, но не стал ни с кем ругаться и жаловаться, т к уже тогда надежда была убита, а в больнице лежал для обследования. Сейчас кроме этого в больнице вдруг из неоткуда возникают перебои с некоторыми лекарствами, в частности так было с противовирусными препаратами, но это всё со слов знакомых, лечившихся там, жаловаться они никуда не будут, т к не хотят проблем, им главное, что их вылечили и они живы.
А вот тут хотелось бы получить ответ на один вопрос. Сколько ОУ вы хотите в этом усилке слушать одновременно? Я понимаю хобби , все дела. Но усилки делают чтоб слушать. Плохо работает 318? а в чём вообще её ценность? 544уд2 заметно лучше. Ну а 627 тоже.. Лучше. И стоит городить огород?
ну и еще вопрос - а нахрена ты прошу то затер? Штатные средства обновления не устроили чтоли?
Похожий контент
Ребят, необходимо придумать каким образом в режиме реального времени переключать две флешки 29f400 использующихся в эбу двигателем авто, чтобы можно было менять прошивку не глуша двигавтель
здравствуйте, кто-нибудь добавлял микросхемы памяти с помощью device data file editor ? Пользуюсь pickit2 уже давно, прошивал и пики, и авр, и микросхемы памяти 24LC01. Но потребовалось прошить 25Q16. Может кто подсказать статью по этой теме, а то только про добавление самих pic-контроллеров встречается.
Всем привет! Подскажите, пожалуйста, как правильно считать данные с внешней eeprom по шине spi, в данном случае 25LC256.
Написал код ссылаясь на даташит. Собрал схему в протеусе, подключил spi отладчик и вот что получил в итоге. Так же не могу проверить получается записать данные в память или нет. Весь код прикрепил.
Добрый день
Возникла ситуация: имеется ноутбук IBM ThinkPad t20 с запароленым Bios. Пароль никто не помнит, но он зашит в 24rf08. Его можно прочитать програмкой для считывания данной микросхемы, но для этого нужен программатор. Можно ли использовать в качестве такого программатора Ардуино, чтобы он вопринимался этой программой как надо, и если можно, то как нужно подключить их и какой скетч залить в ардуинку?
Саму программу выложу чуть позже, если необходимо - с мобильника сижу.
Спасибо
На разработку этого устройства меня подтолкнула банальная лень. У меня есть в загашнике небезызвестный универсальный программатор Willem, который подключается к LPT- порту компьютера, но каждый раз доставать старый системный блок и подключать его ко всей периферии для прошивки одной-двух микросхем мне очень надоело. Очень хотелось программатор, который можно подключить к USB порту современного ноутбука, быстро прошить что-нибудь и убрать обратно на полку. Покупать заводской программатор USB по баснословной цене ради редкой прошивки пары флешек - это не моя тема. Поэтому я решил изобрести свой "велосипед". Тем более у меня были кое-какие наработки по этой теме (возможно кто-то видел мою статью про USB программатор AVR,SPI_Flash,I2C_EEPROM).
За основу программатора я взял микроконтроллер STM32F107VCT6 в 100-выводном корпусе (просто он у меня был, как-то купил от жадности по дешёвке пару штук на Aliexpress). У данного микроконтроллера достаточное количество портов ввода-вывода, есть хардверный USB-OTG, он 32-битный и работает соответственно с 32 битными переменными, а больше для моего проекта и ничего не надо.
Всю схему можно условно разделить на три части: микроконтроллер, который принимает-отправляет пакеты данных по USB, обрабатывает их и управляет остальной периферией, преобразователи логических уровней, выполненные на микросхемах 74LVC8T245, которые преобразуют логический уровень 3,3 вольта от микроконтроллера в 5 вольтовый или 3,3 вольтовый, и высоковольтная часть, которая преобразует 5 вольт шины USB в 12,5 вольт и 14,5 вольт.
Принципиальная схема цифровой части программатора:
В "цифровой" части схемы находится сам микроконтроллер U1 со своей обвязкой, пять преобразователей логических уровней U2-U6 (или шинных формирователей, если угодно), два электромагнитных пятивольтовых реле RL1-RL2, которые коммутируются через транзисторы Q1 и Q2, преобразователь напряжения low drop AMS1117 (U7) на 3,3 вольта а также разъёмы для подключения программируемых микросхем. Обратите внимание, что контакт питания разъёма программирования "VCC", а также питание правой половины всех преобразователей логических уровней подключаются через джампер S1 "SWITCH V_PROG" либо к 5 вольтам шины USB (VUSB), либо к 3,3 вольтам внутренней шины питания, это позволяет программировать микросхемы, которые питаются как от 5 вольт, так и от 3,3 вольт. Также дополнительно выведен разъём с I2C и SPI шинами микроконтроллера. Этот разъём используется для программирования SPI_flash (в данной версии пока не реализовано) и I2C_EEPROM (уже реализовано).
Расскажу подробнее про разъём программирования XS1: его распиновка соответствует разъёму программатора EzoFlash (это аналог Willem для самостоятельной сборки). Я решил так сделать по двум причинам, во первых у меня есть EzoFlash и сохранились адаптеры от него, а во вторых он разведён очень грамотно и соответствует распиновке большинства старых Flash и EEPROM в корпусах DIP,PLCC и др. Разъём XS2 - это дополнительные адресные линии (а их всего 24 А0-А23, что теоретически позволяет программировать микросхемы до 16 Мегабайт). На разъём XS3 выведен старший полубайт шины данных (для программирования 16 битных микросхем памяти - в данной версии софта пока не реализовано, сделал про запас).
Также на разъёмы выведены UART1 и SWD интерфейсы для программирования самого микроконтроллера. Обратите внимание, что линия RX UART1 подтянута к земле через резистор. Это нужно для правильной работы USB, так как в 107 серии STM USB ещё и OTG, то необходимо подтянуть определённую линию к "земле", чтобы выбрать режим работы USB Device. По идее подтяжка не должна мешать работе UART1, который также можно использовать для программирования микроконтроллера, подтянув контакт "BOOT0" к плюсу питания (к сожалению джампер не поместился на основной схеме, но он не обязателен при программировании через SWD интерфейс).
В этой части схемы не удалось уместить конденсаторы фильтров питания, их я нарисовал на второй (высоковольтной) части схемы. Название шин питания на обеих схемах соответствуют.
Высоковольтная часть схемы представляет из себя повышающий преобразователь напряжения на микросхеме mc34063 в практически стандартном включении. Исключение составляет джампер S1 "VOLTAGE", который коммутирует резисторы делителя напряжения и переключает выходное напряжение на 12,5 и 14,5 вольт. Эти напряжения нужны для программирования микросхем EEPROM типа 27CXX, а также стирания и получения ID других EEPROM и Flash микросхем. Высокое напряжение коммутируется через реле на контакты "OE" и "A9" разъёма программирования.
Схема хоть и громоздкая, но довольно простая. Есть возможность её упростить еще больше: в первой версии платы у меня был только один преобразователь логических уровней, установленный на шину данных. Логической единицы в 3,3 вольта вполне достаточно для адресных шин пятивольтовых микросхем памяти, так как порог логической единицы у них обычно находится на уровне 2,5 вольт. Поэтому всё работало и так. К тому же даже во этой версии платы сигналы "CS", "WE", "OE" тоже подведены к разъёму программирования напрямую, так как ради трёх сигналов, мне было просто жалко ставить шестую микросхему преобразователя уровней.
Прошивка микроконтроллера написана в среде SW4STM32. Драйвер USB сгенерирован в MX Cube (Custom HID Device), всё остальное написано на CMSIS. Программа микроконтроллера работает на прерываниях без циклов ожидания (в том числе со стороны софта). Принцип взаимодействия МК и софта - "тебе-мне", то есть пакет запрос от софта - пакет ответ от МК. Так как я использую HID USB, то теоретическая максимальная скорость обмена по USB - 64 Килобайта в секунду. Но по факту, так как пакет данных состоит из служебных и полезный данных, а также обмен идёт в двух направлениях, то фактическая скорость чтения/записи не превышает 2-4 килобайта в секунду. Получается вполне сносно для записи флешек объёмом 2-4 Мегабита. Весь проект я выложу в конце статьи (заранее извиняюсь перед перфекционистами за свой стиль программирования, я самоучка-любитель). При желании, его можно адаптировать под другие камни STM с достаточным количеством портов ввода-вывода.
Для подключения программатора к USB порту компьютера необходимо скачать и установить пакет LibUsbDotNet, установить фильтр на устройство USB. На Win10 и, возможно 8,1 придётся отключить обязательную проверку цифровой подписи драйверов.
Также в программе есть дополнительная вкладка "TEST HW":
На этой вкладке можно проверить "железо" программатора. Галочками выставляем логическую единицу на соответствующем контакте разъёма программирования и проверяем тестером. Данную функцию я сделал на подобии аналогичной в софте программатора Willem. Очень удобно для проверки не пропаянных контактов. Опять же софт немного сыроват, некоторые функции сделаны под первый вариант платы программатора. Например пока не работает проверка Высоковольтного уровня "OE" и "A9".
Теперь о возможностях программатора на текущий момент. Сейчас поддерживаются микросхемы Flash W29CXXX, AM29FXXX, SST39VFXXX,W49FXXX, EEPROM AT28CXXX, W27CXXX (так как у меня нет 100% рабочей микросхемы, я не смог протестировать алгоритм стирания, запись на стёртых ячейках работает. Также должны работать УФ-стираемые EEPROM), I2C EEPROM (На соответствующем разъёме). Также бонусом добавил работу с восьмибитными SRAM (для проверки ячеек памяти, поддерживается чтение, запись, стирание).
Так как алгоритмы записи параллельных флешек 29,39 и некоторых 49 серий совпадают, то должны работать и другие модели (функции записи, чтения и стирания). Есть небольшое исключение: W29CXXX пишутся постранично, остальные побайтно, поэтому при попытке записи других моделей флеш можно выбрать AM29FXXX. Также есть возможность редактировать XML файлы микросхем в папке программатора и добавлять модели другой ёмкости к уже существующим. При появлении у меня новых моделей микросхем памяти, буду стараться добавлять их поддержку.
В конце статьи я также прилагаю свой вариант платы программатора и несколько адаптеров для микросхем памяти. Мой вариант платы разводился под имеющиеся у меня компоненты, поэтому выкладываю его для примера. Номиналы всех деталей подписаны в их свойствах.
Немного фотографий готового устройства. Возможно, кому-та платка покажется знакомой по другой моей статье.
В итоге у меня получилось вполне работоспособное и полезное устройство. Пока что поддерживается не очень большое количество микросхем памяти. Но я постараюсь добавлять по мере возможности новые.
PS: Хотя, сейчас в целом не очень часто используются параллельные микросхемы памяти, в радиолюбительских конструкциях они ещё встречаются. Мне, например, очень пригодился данный программатор, когда я делал флеш-картриджи для восьмибитной приставки (Dendy). Очень удобно и быстро: нарезал ROM, воткнул программатор в ноутбук, минута - и готово! Никаких больших компьютеров с LPT, проводов и тому подобное.
Вот вкратце и всё, о чём хотел рассказать. Спасибо за внимание. Если будут вопросы, постараюсь ответить в комментариях.
Читайте также: