Программатор мультиконтроллеров своими руками

Добавил пользователь Алексей Ф.
Обновлено: 05.10.2024

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

Однажды я решил собрать несложный 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. Прилагаю свою печатную плату, но разводка там под те элементы, что были в наличии, каждый может перерисовать под себя.

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


Для того, чтобы микросхема начала исполнять какие-либо функции, нужно её прошить, т.е. загрузить в её память код прошивки. Сделать это можно с помощью специального устройства, называемого программатором. Программатор связывает компьютер, на котором находится файл прошивки с прошиваемым микроконтроллером. Стоит упомянуть, что существуют микроконтроллеры семейства AVR, например такие, как Atmega8, Attiny13, и серии pic, например PIC12F675, PIC16F676. Pic-серия принадлежит компании Microchip, а AVR компании Atmel, поэтому способы прошивки pic и AVR отличаются. В этой статье рассмотрим процесс создания программатора Extra-pic, с помощью которого можно прошить микроконтроллер серии pic.
К достоинствам именно этого программатора можно отнести простоту его схемы, надёжность работы, универсальность, ведь поддерживает он все распространённые микроконтроллеры. На компьютере поддерживается также самыми распространёнными программами для прошивки, такими как Ic-prog, WinPic800, PonyProg, PICPgm.

Схема программатора


Она содержит в себе две микросхемы, импортную MAX232 и отечественную КР1533ЛА3, которую можно заменить на КР155ЛА3. Два транзистора, КТ502, который можно заменить на КТ345, КТ3107 или любой другой маломощный PNP транзистор. КТ3102 также можно менять, например, на BC457, КТ315. Зелёный светодиод служит индикатором наличия питания, красный загорается во время процесса прошивки микроконтроллера. Диод 1N4007 служит для защиты схемы от подачи напряжения неправильной полярности.

Материалы

Изготовление печатной платы


Программатор собирается на печатной плате размерами 100х70 мм. Печатная плата выполняется методом ЛУТ, файл к статье прилагается. Отзеркаливать изображение перед печатью не нужно.

Сборка программатора


Первым делом на печатную плату впаиваются перемычки, затем резисторы, диоды. В последнюю очередь нужно впаять панельки и разъёмы питания и СОМ порта.


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


После впайки всех деталей плату нужно отмыть от флюса, прозвонить соседние контакты, нет ли замыканий. Убедиться в том, что в панельках нет микросхем (вынуть нужно в том числе и МАХ232, и КР1533ЛА3), подключить питание. Проверить, присутствует ли напряжение 5 вольт на выходах стабилизаторов. Если всё хорошо, можно устанавливать микросхемы МАХ232 и КР1533ЛА3, программатор готов к работе. Напряжение питания схемы 15-24 вольта.


Плата программатора содержит 4 панельки для микроконтроллеров и одну для прошивки микросхем памяти. Перед установкой на плату прошиваемого микроконтроллера нужно посмотреть, совпадает ли его распиновка с распиновкой на плате программатора. Программатор можно подключать к СОМ-порту компьютера напрямую, либо же через удлинительный кабель. Успешной сборки!

Данная схема USB программатора, построенного на микроконтроллере Atmega8, довольно проста в изготовлении, ее можно собрать своими руками буквально за один вечер.

Фактически это AVR-910 популярной схемы Prottoss-a. USB программатор надежен и имеет в своем арсенале функцию, позволяющая восстанавливать микроконтроллеры с неверно установленными фьюзами.

Следует отметить, что для прошивки самого микроконтроллера Atmega8 программатора понадобится простой LPT-программатор.

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


Теперь необходимо занести программу в память Atmega8. В качестве программного обеспечения можно применить Uniprof или Code Vision AVR. Перед программированием необходимо выставить следующие фьюзы (для Uniprof):

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

Поговорим о программном обеспечении которое необходимо для работы с данным программатором. Он поддерживает такие оболочки как: AVR Prog, AVR Studio, ChipBlasterAVR и, конечно же, Code Vision AVR.

Достаточно удобной программой, я считаю, является Code Vision AVR, пример работы, которой подробно написано здесь.

Для справки, приведем типовую распиновку USB:

Список необходимых деталей:

  • Atmega8 — 1 шт.
  • Кварц 12МГц — 1 шт.
  • Диод 1N4007 – 2 шт.
  • Светодиод — 3 шт.
  • Резисторы: 68 Ом — 2 шт., 330 Ом — 8 шт., 1,5 Ом — 1 шт., 100 Ом -1 шт., 1,5 кОм -1 шт., 10 кОм -1 шт., 1 мОм -1 шт.
  • Конденсаторы: 0,1мк — 3 шт., 22мк х 10В — 1 шт., 22p — 2 шт.

Похожие записи:


редактор

64 комментария

Обработал протокол USB на обычтном AVR через внешние прерывания?! Браво!

На программе Code Vision AVR какие фюзи поставит

Здравствует админ я собрал программатор и у меня в запасе есть ltp программатор чтобы прошить мк провода от ltp на собранную программатор под соединять или просто к мк надо соединять

LPT программатор подключите к ISP разъему. Не забудьте переключатель SA2 перевести в положение МОД

Можно изменить резисторы R3, R6, R9-R15 330Ом на другую?
И конденсаторов С1, С4, С6 0,1Мкф?

Доброго времени суток! Автор, спасибо за статью, программатор спаял — работает штатно. К делу подошел с размахом и сделал сразу три платы: программатор, плату переходников и еще одну. Вопрос, для чего третья плата? И если, есть, принципиальная схема.

Извиняюсь за драйвера не ту папку глянул. Всё равно не обновляются.

Добрый вечер.
Объясните почему после прошивки атмеги 8 и установки Fuse как показано на фотке, программатор перестает видеть контроллер вообще, все проги выдают ошибку, что не могут связаться с контроллером, что я сделал не так.

Все дело в том, что после прошивки, микроконтроллер начинает работать от внешнего задающего генератора (кварца). Подключите кварц (можно на 8МГц) на выводы 9 и 10.

Спасибо, заработало)) Подскажите с какими программами avr910 работает?

Я использую Khazama AVR Programmer

В Usbasp (китайский) применен кварц 12 мгц, можно его заменить на кварц 8мгц?

Здравствуйте!
В программаторе ATmega8A-PU, будет работать?
Программатор поддерживает ATmega328P-PU ?

Подскажите, как в Proteus поставить ISP.

спасибо большой уважаемый админ

день добрый ребят размер печатной платы какой

ширина 80мм, высота 55мм

Добрый вечер, спасибо за статью.
Подскажите можно ли в место Atmega8
использовать Atmega328p-pu

можно ли вместо LTP программатора прошить COM-программатором Громова?

Можно ли им прошить Pic 18f 2685?

Подскажите, в чем может быть проблема, все сделал правильно, перепроверил раз 10. При подключении 3 раза мигают лампочки чтения и записи и на компе определяется как неизвестное устройство с ошибкой дескриптора. Кстати, я так понял нужна Атмега8 16pu, у меня Atmega8A-pu, это ни на что не влияет?

Скажите люди,зачем в списке деталей присутствует резистор 1.5 Ом,если в схеме его нет? И Рез. 330 Ом там 9 а не 8 судя по схеме.

Вроде все на месте:
Резистор 330 Ом (R3,R5,R8,R9,R11,R12,R13,R14,R15).
Резистор на плате указан 1,5к (R4).

В списке деталей и 1,5 Ом, и 1,5кОм. Как раз 1,5 Ом на схеме нет, а вот 330 Ом на схеме 9 штук, а в списке 8. Детали покупал по списку — как раз 1,5 Ом лишний, а 330 не хватило (

В архиве есть схемка переходника,на ней есть кондеры и кварц. Но какие?? Кто подскажет?

Кварц поставьте на 8 Мгц, конденсаторы 15…22 пФ (хотя можно и без них)

Добрый вечер.
Объясните почему после прошивки атмеги 8 и установки Fuse как показано на фотке, программатор перестает видеть контроллер вообще, все проги выдают ошибку, что не могут связаться с контроллером, что я сделал не так.

А какие меги он может шить, конкретного списка нет?Буду очень признателен.

Какой тип программатора выбирать в Codevision, com порт порт смотреть в системе?

ПРОШИВАЙТЕ ПРОШИВКУ АВРДОПЕР ДЛЯ АВР 910, (перезагруска)

собрал данный программатор на SMD компонентах(ток микруха в DIP-e),как и полагается фьюзы в первой микрухе не так выставил-в итоге залочил ее,вторую прошил корректно,ничего не греется,светодиоды горят только в момент прошивки,на LED-меандр 1MHz…теперь еще один программатор в коллекции….в общем все мучения того стоили.
Рекомендую к повторению.

подскажите новичку!! тока без умничания) куда подключается разъем ISP? и зачем его подключили к простому LPT-программатору.

Универсальный программатор ISP, сериальной памяти и микроконтроллеров плат TV, ноутбуков, мониторов, микроконтроллеров AVR.

Программатор для памяти SPI, 24, 93, 95 серии и скалеров мониторов и контроллеров. Main плат телевизоров TV . Мультиконтроллеров ноутбуков MIO KB9012QF . Микроконтроллеров AVR, ATMEGA, Attiny, AT90 и серии AT89S.

Программирует MIO KB9012QF.

Поддерживает работу , чтение, запись OTP области. Данная опция, очень нужна для работы с спутниковыми тюнерами и "обучением" их "правильно" работать.

Pin тест при каждой операции с программируемой чипом. Гарантирует, что данные с микросхемы будут считаны правильно, поскольку грязные ноги ис или

плохой контакт, сразу будут выявлены.

Встроен генератор сигнала VGA, HDMI, для проверки мониторов. Кнопка на боковой стенки программатора - перебор-фиксации (стоп-кадр) режима тест сигнал генератора цветных полей, полос, сетка и других изображений. Автономный генератор испытательных видеосигналов.

Данный аппарат больше направлен на работу с мониторами и LCD теле-аппаратурой. Позволяет программировать память и микроконтроллер монитора без открытия , через разъемы VGA, HDMI . Считывает DDC EDID с эпромки монитора без разборки.

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

Эта отличительная особенность, плюс еще много вкусностей, делают это устройство, действительно УНИВЕРСАЛЬНЫМ ПРОГРАММАТОРОМ SPI ICSP.

Скорость работы очень хорошая.

Это можно увидеть на видео примерах: EN25F16 MX25L3205 W25Q32

Сборка, корпус , упаковка все на высшем уровне. Это уже не тот Китай, который был несколько лет назад. Китайский производитель быстро учится на ошибках, устраняет их, улучшает качество , что в итоге, положительно сказывается на конечном пользователе. За небольшие деньги, мы получаем отличный программатор для SPI , мониторов, ноутбуков , который позволяет делать много без разборки.

Пользоваться им очень удобно!

Фото "внутриностей" программатора RT809F




Внешний вид RT809F


Некоторые особенности программатора RT809F :

- При подключении к адаптеру приемника IR, считывает RC коды IR пультов.

- Поддерживает Spi flash по 32 Mbytes. Есть возможность добавлять вручную.

- Поддерживает программирование PIC на платах (main) телевизоров по протоколу ICSP( через специальный адаптер, в комплект не входит)

- Поддерживает работу с чипами типа 24S08. Пример - снятие пароля с ноутбука Lenovo (IBM) ThinkPad X200 .

- Поддерживает работу с Main Tv телевизоров. Вот пример: Haier L42R1A, процессор FLI8541, память S25F016A

Особенности:


1) Чтение и запись 8 pin и 16 pin чипов.

2) Читает и программирует в память SPD DDR1/DDR2/DDR3

3) Поддержка работы с 8 pin и 14 pin которые используются в ноутбуках (для хранения пароля) и аккумуляторах 24RF08 6480AR BR9080 9016.

4) Поддержка всех серий 24, IIC EEPROM Memory.Важно! Автоматически определяет модель чипа от 24C01 до 24C16, 25 серии spi
Определяет уровень защиты от записи - 7-й контакт серии 24.

5) Поддержка всех серий 25 и 26 SPI флэш-

памяти, идентификация ис автоматически, емкость до 256Mbit.

6) Поддержка всех серий 93 MircroWire памяти, в том числе японских специальных чипов.

7) есть функция поддержки double bank RTD2120 .Читает и программирует без выпаивания.

8) Чтение и запись DDC-EDID данные ЖК-матриц не разбирая через разъем VGA.

9) Поддержка чтения и записи данных EDID на матрицу ноутбука не разбирая через разъем матрицы.

10) Поддержка Leroy, Ding Branch, Rainbow Star, Triumph, Kang Yue and Wang Jie производителей плат мониторов.
Работает с MCU через VGA порт, не разбирая монитор.

11) Поддержка чтения и записи прошивки платы ЖК-дисплея и ТВ в онлайн режиме и автономном режиме.
Поддержка TPV, Proview, Samsung, LG, ACER, LENOVO, HP, IBM, BENQ, HKC, Hisense, Skyworth, Konka, Changhong, TCL , Haier, Prima
и других крупных брендов, поддерживает NOVATEK, MTK, the MST, Genesis, TSUM, SE, FT, REALTEK the Winbond WELTEND, MySoN,
China and Asia micro and PIXELWORKS chipset, вы можете использовать официальный программное обеспечение ISP или программного
обеспечения сторонних производителей, учитывать целостность функций и простота пользователя в использовании.

12) Поддержка Samsung, Philips, AOC, BENQ, NESO поддерживает серии NT68F63/NT68F632/NT68F633 MCU и WT61P4.
Может читать и сохранять оригинальные прошивки MCU.
Поддерживает SE1059 серии "чтение и запись. Легко решить проблемы экрана balck screen Samsung.

13) Программирование серии WINBOND series MCU’s в онлайн, таких как W78E65P-40.
Работает с MCU M6759,SM5964,SM89516,P89C51RD и TP2804.

14) Поддержка MTK series LCD and DVD program online. Such as MT2389,MT1379,MT8223 и 8226 и т.д.

15) Поддержка SUNPLUS DVD программа онлайн. Такие, как 8202D 8202S, 8202L, 8281 и 8200 и т.д.

16) VGA поддержка в девяти серии спутникового ресивера ; в том числе Guoxin, Haier, China and Asia, NEC ;

17) Есть режим самопроверки программатора, Pin тест,
есть функция обнаружения питания на программируемой плате,
в автономном режиме чтения и записи обнаружения плохого Pin-контакта;

18) имеет скоростной процессор MCU;
По USB интерфейсу, передаются как данные так и питание программатора,
есть антистатические и внутри-портовые меры защиты, для обеспечения надежности программатора.

19) Количество поддерживаемых чипов постоянно добавляются.
Если нужно добавить новую микросхему, вы можете написать в службу поддержки.
24,25,26,93 серии, можно добавлять в ручном режиме.

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