Программатор EEPROM своими руками — схема предназначена для записи данных в память типа EEPROM (AT24Cxx) с использованием последовательного порта персонального компьютера. В базовой версии можно программировать память AT24C32 до AT24C1024.
Программатор EEPROM работает на базе микроконтроллера ATTINY2313, благодаря чему он может обмениваться данными с компьютером, используя простой интерфейс, построенный на двух транзисторах. Для связи с программатором можно использовать любое приложение, которое способно отправлять двоичные числа на порт RS-232, или, даже скрипт (под linux).
Принципиальная схема программатора EEPROM приведена ниже:
Сердцем программатора является микроконтроллер U1 (AT90S2313 или ATTINY2313) с кварцевым резонатором X1 (4МГц) и двумя конденсаторами C1 (33пф) и C2 (33пф). Транзисторы T1 (BC557) и T2 (BC547) вместе с резисторами R1 — R3 (10к) представляют собой простой RS232 интерфейс. Микросхема U3 (AT24C256) это EEPROM память объемом 256 Кбит. Она подключена к шине I2C, сформированной выводами PD.5 и PD.6 микроконтроллера. Резисторы R13 (3,3к) и R14 (3,3к) подтягивают шину к плюсу питания.
Конденсатор C3 (47мкф) фильтрует напряжение питания. Диод D1 вместе с резистором R12 (330 Ом), ограничивающим его ток, представляет собой индикатор питания. Элемент «prog» является разъемом программирования микроконтроллера. Резисторы R5 — R8 (330 Ом) — дополнительная защита микроконтроллера во время программирования.
Светодиоды D2 и D3 вместе с резисторами R9 — R11 (330 Ом) сигнализируют о состоянии работы устройства. Разъем Com1 (DB9F) обеспечивает соединение с материнской платой ПК.
Программатор EEPROM собран на печатной плате, выполненной по методу ЛУТ. Сборка устройства не сложная, и ее следует начинать с установки всего одной перемычки. Порядок установки остальных элементов является произвольным, за исключением резистора R13, который должен быть припаян к до установки микроконтроллера.
Под память EEPROM необходима панелька, желательно качественная. Диод двухцветный D2 (три ножки, общий анод). Для питания программатора удобно использовать порт USB. Программатор подключается к компьютеру с помощью кабеля DB9F-DB9M (удлинитель для com-порта) или напрямую к материнской плате.
Устройство программирования взаимодействует с компьютером с помощью интерфейса RS-232 с использованием любой программы, которая может отправлять и получать двоичные числа через последовательный порт. Управляющая программа должна иметь следующие параметры передачи:
- Бит в секунду = 19200
- Биты данных = 8
- Четность = Нет
- Стоповые Биты = 1
- Управление потоком = Нет
После включения питания, программатор находится в состоянии ожидания, что сигнализируется свечением светодиода D3.
- Отправив на порт RS-232 число «49» вводим устройство в режим записи, что сигнализируется красным свечением светодиода D2 .
- Отправив число «50» переключаем программатор в режим чтения данных, что сигнализируется зеленым свечением светодиода D2.
В режиме записи, схема ждет пока в буфере микроконтроллера появятся 3 байта данных (Adr1, Adr2, данные). Получение данных сигнализируется тусклым свечением светодиода D3 на время около 2мс. Затем данные записываются в EEPROM по адресу Adr1 * 256 + Adr2 и отправляются в компьютер, чтобы проверить правильность передачи через последовательный порт. Выйти из режима записи можно путем отправки байта Adr1 = 234, Adr2 = 96 (т. е. адрес 60000) и любые данные (они будут проигнорированы)
В режиме чтения схема ждет два байта адреса (Adr1, Adr2), а затем отправляет на порт RS-232 считанные из EEPROM данные, имеющее адрес Adr1 * 256 + Adr2. Получение байтов одновременно обозначается тусклым свечением светодиода D3 на время около 2мс. Чтобы выйти из режима чтения вы можете отправить байт Adr1 = 234, Adr2 = 96 (т. е. адрес 60000)
Рисунок печатной платы и прошивка EEPROM программатора (16,2 KiB, скачано: 872)