Программатор для микросхем памяти 24cxx через usb своими руками

Обновлено: 16.07.2024

Приветствую всех неравнодушных к запаху канифоли!
Когда-то лет 30 назад программировал РФ2 для своего первого компьютера РК-86, теперь похожая задача.
Возникло желание прошить чип для лазерного картриджа
================
Про чип и прошивку для Toshiba E-Studio 200S
Чип для Toshiba 200s основан на микросхеме 24с04. Для прошивки чипа можно использовать любой программатор для микросхем памяти 24Cxx. В качестве программного обеспечения можно использовать программу PonyProg.
================
На чипе 4 контакта: GND, CLK, SDA, VCC
Есть такой программатор с eBay: USBasp USBISP AVR программист адаптер 10 Pin кабель USB ATMEGA8 ATMEGA128

Собственно вопрос: смогу ли я этим USBISP прошить данный чип или надо искать подходящий программатор для 24Cxx ?

Поиск по форуму РЛ выдаёт вот такую ветку Программирование EEPROM 24LC02B-I/PH. В остальном, в интернете полно схем самодельных программаторов, работающих с LPT / COM / USB портом. Где-то здесь приводились схемы и простых, и универсальных программаторов "для всего". Но и google не стоит забывать.

Необходим быстродействующий преобразователь питания средней мощности с высоким КПД? Он должен быть компактным и недорогим? Решение – карбид-кремниевые модули средней мощности WolfPACK производства Wolfspeed. В статье рассмотрены основные особенности модулей WolfPACK и показано, что переход на эту универсальную и масштабируемую платформу позволяет не только быстро разработать новые устройства, но и без значительных затрат времени и средств модернизировать уже существующие схемы на традиционной элементной базе.

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

Или записать небольшой файл в память устройства, или просто устройству не хватает например памяти для хранения текста, выводимого потом на экран. Как пример анимация в виде серии картинок (кадров) для вывода на дисплей NOKIA 3310, картинки занимают очень много памяти, они просто не влезут в память микроконтроллера.

Решить задачу поможет микросхема внешней памяти EEPROM. EEPROM - (Electrically Erasable Programmable Read-Only Memory) что значит Программируемая Память с Электрическим Стиранием.

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

Организация пами Микросхемы EEPROM представляют из себя таблицу с двумя столбиками, 1-й - адрес, 2-й - значение.



Как-то при ремонте откатных ворот итальянской фирмы LIFE понадобилось сделать копию микросхемы памяти, в которой хранятся настройки и, что самое главное, коды радиобрелоков. Микросхема эта - AT24C64. Кстати, некоторые домофоны используют для хранения кодов ключей эту же микросхему или аналоги.
Понятно, нужен программатор, но под рукой готового не было. Что ж, интернет мне поможет, сам сделаю!

Содержание / Contents

↑ Схема

Пересмотрев кучу различных схем, я остановился на варианте на USB варианте Atmel в качестве микропроцессора. Автор использовал немного устаревшую AT90S2313, в моём варианте прекрасно заработала Attiny2313-20U. Схему немного переработал - добавил входные резисторы, изменил номиналы резисторов светодиодов, добавил разъем для удобства программирования, поставил кроватку DIP8 для микросхемы памяти. Вот что получилось:

Исключён фрагмент. Полный вариант статьи доступен меценатам и полноправным членам сообщества. Читай условия доступа.

В схему добавлен джампер блокировки записи в микросхему памяти - Jmp1. Если в данной функции нет необходимости, резистор R9 можно не устанавливать, а вместо джампера нужно впаять перемычку.

↑ Плата

Схему разводил в Sprint-Layout 5.0 для SMD компонентов, использовал односторонний текстолит, плату делал по лазерно-утюжной технологии (ЛУТ). Размеры получились 28х42мм, дорожки толщиной 0,5 мм, минимальное расстояние между проводниками 0,23 мм.


↑ Программирование

Пришло время попробовать в деле датагорский программатор (Project-5) для микроконтроллеров Atmel, который уже давно спаян и лежит на полке, пылится. Никаких сложностей программирование не вызвало, только нужно было сделать переходник между программатором и моим устройством.



При программировании биты-предохранители выставлены следующим образом:

Fuse High Byte:
bit_7 - 1 (unprogrammed) - DWEN - debugWIRE
bit_6 - 1 (unprogrammed) - EESAVE - EEPROM memory is preserved through the Chip Erase
bit_5 - 0 (programmed) - SPIEN - Enable Serial Program and Data Downloading
bit_4 - 1 (unprogrammed) - WDTON - Watchdog Timer always
bit_3 - 1 (unprogrammed) - BODLEVEL2 - Brown-out Detector trigger level
bit_2 - 0 (programmed) - BODLEVEL1 - Brown-out Detector trigger level
bit_1 - 1 (unprogrammed) - BODLEVEL0 - Brown-out Detector trigger level
bit_0 - 1 (unprogrammed) - RSTDISBL - External Reset disable

Fuse Low Byte:
bit_7 - 1 (unprogrammed) - CKDIV8 - Divide clock by 8
bit_6 - 1 (unprogrammed) - CKOUT - Output Clock on CKOUT pin
bit_5 - 1 (unprogrammed) - SUT1 - Select start-up time
bit_4 - 0 (programmed) - SUT0 - Select start-up time
bit_3 - 1 (unprogrammed) - CKSEL3 - Select Clock source
bit_2 - 1 (unprogrammed) - CKSEL2 - Select Clock source
bit_1 - 1 (unprogrammed) - CKSEL1 - Select Clock source
bit_0 - 1 (unprogrammed) - CKSEL0 - Select Clock source

↑ Файлы

Схема в формате sPlan 7.0 и печатная плата в формате Sprint-Layout 5.0 в архиве (Обновлено 08/01/12)
🎁progf1.zip 15.38 Kb ⇣ 116

Драйвер для Windows:
Драйвер одинаковый для обоих вариантов = 🎁drv.7z 16.11 Kb ⇣ 74

Версии прошивки и программы работы с устройством:
1. для работы с чипами памяти АТ24C02–АТ24C32 = 🎁at24c02at24c32.7z 156.13 Kb ⇣ 105
2. для работы с чипами памяти АТ24С32-АТ24С512 = 🎁at24s32-at24s512.7z 156.38 Kb ⇣ 87

Сегодня рассмотрим простой но очень функциональный программатор на микросхеме CH341A (MinProgramment), который программирует микросхемы 24 и 25 серии используемые в материнских платах, роутеров, ноутбуков, маршрутизаторов и так далее.

Обзор программатора для FLASH и EEPROM на CH341A

Технические параметры CH341A

► Напряжение питания: 5 В, DC
► Интерфейс: USB 2.0
► Программирование/ чтение: FLASH и EEPROM 24-25 серий
► Габариты: 85 мм x 27 мм x 15 мм
► Поддержка ОС: Windows Vista, Windows 7, Windows 8.1, Windows 10

Общие сведения

CH341A Programment, это программатор начального уровня, изготовлена на черном стеклотекстолите (существует вариант на зеленом текстолите) с серебристой окантовкой. В комплект входит зеленая печатная плата и два штыревых разъема 1х4 (шаг 2.54 мм), данный комплект, позволит прошивать микросхемы SMD исполнении, очень удобно, если необходимо прошить пару микросхем, но если планируете использовать программатор постоянно, советую приобрести, так называемые ZIF переходники на 150 mil и 200 mil, позволяющие устанавливать SMD микросхемы без пайки.


На верхней части программатора, установлена микросхема CH341А, рядом располагается кварцевый резонатор на 12 МГц, стабилизатор напряжения AMS1117-3.3 который выдает 3.3В, а так же электрическая обвязка всех этих компонентов (резисторы, конденсатора). Для программирования микросхем, установлена 16 контактная DIP панель с нулевым усилием с маркировкой TFXTDOL. С двух стороны DIP панели, располагается две группы дополнительных контактов, назначение каждого можно посмотреть на обратной стороне платы.

Обзор программатора для FLASH и EEPROM на CH341A

На другой стороне платы, дополнительно добавлено место для установки SMD микросхем (150 mil и 200 mil) и нарисована шёлкография.

Назначение группы контактов 1:
► 1,2,3 – выбор режима работы (1-2 режим Paralell (внутренней) и 2-3 режим Serial (внешней)
► TX – передаваемые данные
► RX – принимаемые данные
► GND – питание земля
► 5V – питание +5 В

Назначение группы контактов 2:
► CLK – линия тактирования (Serial CLock)
► CS – режим работы
► MOSI – прием данных
► MISO – передача данных
► GND – питание земля
► 3.3V – питание +3.3 В
► 5V – питание +5 В

Подключение программатора MinProgramment

Установка драйвера CH341A

Установка программы CH341A

Программатор готов к прошивке микросхем.

Инструкция по прошивке

Теперь приступим к программированию (режим Paralell). Если программировать микросхемы в SMD корпусе, то необходимо использовать ZIF-панель или адаптер (что идет в комплекте). Припеваем или устанавливаем микросхему и с помощью прижимного рычага, зажимаем адаптер в программаторе. Очень важно, устанавливать микросхему по ключу, в противном случаи можно испортить микросхему.

Выбор режима на CH341A

► Запускаем программу CH341A — USB Programmer 1.3, при приключением и в режиме Paralell, программа автоматически найдет программатор.

Обзор программатора для FLASH и EEPROM на CH341A

Обзор программатора для FLASH и EEPROM на CH341A

► Также есть, программатор позволяет прошивать по ISP интерфейсу (внутрисхемному) и может работать как COM порт (аналогично, адаптеру PL2303HA).

Список поддерживаемых микросхем CH341A (602 шт)

25/26 SPI FLASH

24 EEPROM

ATMEL: AT24C01B, AT24C01, AT24C01A, AT24C02, AT24C02A, AT24C02B, AT24C04B, AT24C04, AT24C04A, AT24C08A, AT24C08B, AT24C08, AT24C16, AT24C16A, AT24C16B, AT24C32B, AT24C32A, AT24C32, AT24C64, AT24C64A, AT24C64B, AT24C128, AT24C128A, AT24C128B, AT24C256A, AT24C256, AT24C256B, AT24C512B, AT24C512A, AT24C512, AT24C1024, AT24C1024A, AT24C1024B;
CATALYST: CAT24C01, CAT24WC01, CAT24C02, CAT24WC02, CAT24C04, CAT24WC04, CAT24WC08, CAT24C08, CAT24WC16, CAT24C16, CAT24WC32, CAT24C32, CAT24WC64, CAT24C64, CAT24C128, CAT24WC128, CAT24C256, CAT24WC2S6, CAT24C512, CAT24WC512, CAT24C1024, CAT24WC1024;
COMMON: 24C01 3V, 24C01 5V, 24C02 3V, 24C02 5V, 24C04 3V, 24C04 5V, 24C08 3V, 24C08 5V, 24C16 5V, 24C16 3V, 24C32 5V, 24C32 3V, 24C64 5V, 24C64 3V, 24C128 SV, 24C128 3V, 24C256 5V, 24C256 3V, 24C512 5V, 24C512 3V, 24C1024 3V, 24C1024 5V, 24C2048 5V, 24C2048 3V, 24C4096 5V, 24C4096 3V;
FAIRCHILD: FM24C01L, FM24C02L, FM24C03L, FM24C05L, FM24C04L, FM24C08L, FM24C09L, FM24C17L, FM24C16L, FM24C32L, FM24C64L, FM24C128L, FM24C256L, FM24C512L, FM24C512L, FM24C1024L;
HOLTEK: HT24C01, HT24LC01, HT24LC02, HT24C02, HT24C04, HT24LC04, HT24C08, HT24LC08, HT24C16, HT24LC16, HT24LC32, HT24C32, HT24LC64, HT24C64, HT24C128, HT24LC128, HT24LC256, HT24C256, HT24LC512, HT24C512, HT24C1024, HT24LC1024;
ISSI: IS24C01, IS24C02, IS24C04, IS24C08, IS24C16, IS24C32, IS24C64, IS24C128, IS24C256, IS24C512, IS24C1024;
MICROCHIP: MIC24LC014, MIC24AA01, MIC24AA014, MIC24LC01B, MIC24LC02B, MIC24AA02, MIC24C02C, MIC24AA024, MIC24LC025, MIC24LC024, MIC24LC04B, MIC24AA04, MIC24AA025, MIC24LC088, MIC24AA08, MIC24LC16B, MIC24AA16, MIC24LC32, MIC24AA32, MIC24LC64, MIC24AA64, MIC24FC64, MIC24FC128, MIC24AA128, MIC24LC128, MIC24AA256, MIC24LC256, MIC24FC2S6, MIC24AA512, MIC24LC512, MIC24FC512, MIC24AA1024;
NSC: NSC24C02L, NSC24C02, NSC24C64;
RAMTRON: FM24CL04, FM24C04A, FM24CL16, FM24C16A, FM24CL64, FM24C64, FM24C256, FM24CL256, FM24C512;
ROHM: BR24L01, BR24C01, BR24L02, BR24C02, BR24L04, BR24C04, BR24L08, BR24C08, BR24L16, BR24C16, BR24L32, BR24C32, BR24C64, BR24L64.
ST: ST24C01, ST24C02, ST24C04, ST24C08, ST24C16, ST24C32, ST24C64;
XICOR: X24C01, X24C02, X24C04, X24C08, X24C16;

25 SPI EEPROM

ATMEL: AT25010, AT25020, AT25040, AT25080, AT25160, AT25360, AT25640, AT25128, AT25256, AT25512;
MICROCHIP: 25AA080C, 25AA080D, 25C080 5V, 25LC080C, 25LC080D, 25AA160, 25C160 5V, 25LC160, 25AA320, 25C320 5V, 25LC320, 25AA640, 25C640 5V, 25LC640, 25AA256, 25LC256, 25AA512, 25LC512, 25AA1024, 25LC1024

Купить на Aliexpress
Программатор для FLASH и EEPROM на CH341
Адаптер SOP8 (150mil и 200mil)
Клипса-адаптер SOIC8

Купить в Самаре и области
Программатор для FLASH и EEPROM на CH341
Адаптер SOP8 150mil
Адаптер SOP8 200mil
Клипса-адаптер SOIC8
Адаптер на 1.8v для программатора CH341A

Читайте также: