Avr isp mk2 программатор своими руками

Мегаклон программатор AVRISP MKII для микроконтроллеров AVR.

Долгое время я программировал микроконтроллеры AVR клоном программатором STK500. Он прекрасно уживается с AvrStudio4. И работает прямо из среды этой программы. Так что я программировал AVR чипы и был очень счастлив. Но время шло и появилась AtmelStudio5, потом AtmelStudio6 , и постепенно я переехал на более новую версию AtmelStudio6. Переехал не потому, что перестала устраивать AvrStudio4, а просто удобство писания прог на СИ в 6-ой версии, как мне показалось малек удобнее чем на 4-ке. Есть и подсветка синтаксиса и всплывающие подсказки ну и куча разных фишек при отладке.

Но к сожалению мой любимый программатор-клон STK500 работал с новой 6-ой версией через пень-колоду. То подключится, то не подключится. Ну и писал я поэтому проги на 6-ой версии, а зашивал чипы из под 4-ой. Со временем меня это достало. И я решил сделать себе новый программатор для 6-й версии студии.

Требования к программатору были таковы:
1. Чтоб был прост, без лишних наворотов и не нужных примочек.
2. Чтоб работал надежно как кувалда, долго и счастливо.
3. Высокая скорость прошивания чипов. Ибо мой клон STK-500 не шибко быстрый.
4. Должен очень стабильно работать с AvrStudio4 и AtmelStudio6.

Рытье гугла привело меня к программатору AVRISP MKII. Далее я нарыл вагон схем этого программатора. Все нарытые мной схемы оказались похожи друг на друга, отличия были в мелочах. Из всех этих схем я соорудил свою схему, простую, без наворотов, без лишних кнопок и кучи мигающих светодиодов. Ну скажите пожалуйста, зачем мне аж 7 светодиодов на программаторе, если в самом окне программирования есть прогресс-бар показывающий сколько осталось до конца процесса программирования. Над прогресс-баром есть еще лог сообщений, в котором тоже пишется, что происходит с чипом. Ну и если что то не так с программатором, то сама студия выдает отдельное окно с сообщением в котором написано в чем проблема. Итак, я решил снести из схемы все эти светодиоды и кнопочки. Достаточно одного светодиода для визуализации процесса прошивания.

Срезал так же интерфейсы TPI(для некоторых Attiny) и PDI для Xmega, ибо не планирую в ближайшем будущем с ними работать. Пока Atmega хватает. Схема моего программатора вся на 5 вольт. Однако я уже несколько лет программировал своим древним STK500 на 5 вольт и схемы на 3.3 вольта, проблем не было, ничего не сжег. Но это уж сами решайте, шить таким образом или не шить. Кстати на выводах стоят гасящие резисторы, поэтому, по идее можно шить схемы с чипами запитанными на 3.3 вольта. Итак вот сама схема.


Как видим программатор получился 3 детали 2 запчасти. Вот и весь программатор.

Читайте также:  Изготовить канистру своими руками

Все конденсаторы керамические. Микроконтроллер ATUSB162-16AU я использовал б/у. Термофеном из какого-то устройства выпаял. Так как у меня есть старый программатор, то прошивку я залил им. И меня не сильно интересовало, есть ли в ATUSB162-16AU загрузчик. Но если вы собираете свой первый программатор, то с завода изготовителя в этих чипах ATUSB162-16AU стоит загрузчик. И можно залить прошивку в чип без программатора. Для этого надо воспользоваться программой скачанной у Atmel. Называется она FLIP. Таким образом, можно одним движением руки собрать этот программатор, не имея в наличии второго программатора. Проблема «курица и яйца» не возникает.

Вот сама плата.

Уже спаянная.

Вид сверху.

Готовый полностью.

Прошивку для программатора я взял из проекта LUFA. Понятно что там нет готового файла *.HEX для заливки в ATUSB162-16AU. Поэтому я скомпилировал его так, как писал об этом здесь. Но вам этого делать не надо, так как прошивка, разводка платы в (Sprint-Layout) и схема в нормальном виде в топике. Кстати, если не ошибаюсь, то вроде как загрузчик в ATUSB162-16AU работает на 8MHz, а сам программатор работает на 16MHz. Учитывайте это. Но в топике есть прошивка и для 8ми Мгц

Грабли которые возникли при сборке и тестировании программатора: Граблей в общем то не возникло, поэтому особо писать нечего.

Настройки FUSE BIT для ATUSB162-16AU:
HIGH 0xD9
LOW 0xDE
Но если в чипе стоит загрузчик, то значения FUSE BIT будут другие.

Перед тем как втыкать программатор в USB порт вашего любимого компьютера, надо сперва поставить AtmelStudio6. Потом втыкаем программатор. Драйвера подхватываются автоматически. Если нет, то вручную указываем папку в которой находится установленная AtmelStudio6. Программатор я протестировал с AvrStudio4 и с AtmelStudio6.0, 6.1, 6.2. Тест происходил на Windows XP (32bit) и Windows 7 (64bit). В обоих случаях все поставилось и разу стало работать. На днях (16.12.2013) опробовал на Windows 8 (64bit), заработал как миленький.

Результат:
1. Схема получилась как и хотелось, с минимумом деталей. Для начинающих само то.
2. Испробован под 3 платформами WINDOWS. Нареканий не возникло.
3. Если честно, то я впечатлился скорости прошивания программатора. 54 кило прошивки программатор засандалил в кристалл за 4-5 сек (без верификации). Мой старый клон STK500 такой же объем прошивал где то за 60 сек.(без верификации). Разница в скорости прошивания явно очевидна.
4. Студии работают с ним, как с родным. Ошибок не появлялось пока не одной.

Так что считаю, что данный программатор достиг поставленных перед ним целей.

Вот видео-тест работы программатора с AvrStudio4 и с AtmelStudio6. На видео при тесте с AvrStudio4 винда глюканула малек. Она в принципе на том компе тормозит постоянно.

Так что, уважаемые начинающие радиолюбители и не очень начинающие, пробуйте. Надеюсь вам понравится. Желаю удачи.

P.S.
Забыл сказать. На схеме есть два вывода RESET. Так вот, чтоб прошивать чипы используем тот RESET, который прикреплен к ноге PB4. Аппаратный RESET используется только лишь один раз, при загрузке прошивки в ATUSB162-16AU другим программатором.

Читайте также:  Домик для хомяка своими рукам

Попытался запустить данный программатор в связке AVRDUDE 5.11.1 с привлекательной утилитой AURDUDE_PROG 3.2. Но пока не работает. Возможно если получится нарыть причину, то напишу.

P.S. №2
Заметил что каждые пол года AtmelStudio обновляется следующим сервис паком. И после каждого такого обновления программатор отказывается работать, ибо не совпадает версия прошивки программатора с требуемой. И каждый раз приходится заново перекомпилировать проект из LUFA. Потом заливать новую прошивку в программатор. Версия прошивки меняется в файле V2ProtocolParams.h

Это несколько неудобно. Вот на днях обновил Studio, воткнул программатор, хрясь а он не работает. Ибо студия требует обновить прошивку программатора. Засада. Вот я решил сразу этот параметр firmvare_version_minor поменять с запасом на последующие обновления студии. Сделал его 0x50. Прошил, проверил все работает. Надеюсь этого надолго хватит. В аттаче лежат прошивки для кварца на 8 и 16 MHz.

Источник

Avr isp mk2 программатор своими руками

Хочу представить свой вариант клона USB программатора для микроконтроллеров AVR.
Изначально преследовались цели сделать программатор как можно проще, как можно функциональнее, совместимый с фирменным.

Вот что получилось:
-полностью совместим с фирменным AVRISP MKII от Atmel
-поддерживает программирование по ISP, PDI, TPI
-имеет 10 и 6 пиновые разъемы ISP
-питание только от USB
-переключатель напряжения питания 3.3В и 5В
-переключатель подачи напряжения на программируемое устройство
-генерация резервного тактового сигнала для восстановления микроконтроллеров
-3 светодиода индикации состояния программатора
-кнопка загрузки бутлоадера и обновления прошивки программатора через FLIP
-минимум деталей

Схема:

JP1 переключает подачу напряжения на программируемое устройство. Используется напряжение питания.
JP2 переключает напряжение питания. 5В с USB или 3.3В с UCAP. Никаких микросхем преобразования или стабилизаторов.
S1 RESET.
S2 HWB. Если во время отпускания RESET держать нажатой HWB загрузится бутлодер и программатор можно будет прошить через FLIP

Прошивка:
Используется прошивка из библиотеки LUFA, настроен makefile, небольшое изменение в ISPProtocol.c для того, чтобы программатор не подвисал после неудачного чтения/прошивки. Чтобы первый раз прошить программатор нужно просто подключить его, загрузится бутлодер, затем прошить через FLIP.

Что можно улучшить:
Вместо 8МГц кварца можно поставить 16МГц.
На плате можно использовать SMD свеодиоды, кнопки, кварц.
Изначально планировалось сделать IDC разъемы на плате, но не рассчитал размеры и пришлось запаять просто штыри. С IDC разъемами не пришлось бы думать какой стороной втыкать шлейф.
При перестановке переключателя подачи питания на программируемый МК, если программируемый МК потребляет довольно много тока, программатор перезагружается, видимо из-за скачка напряжения. Возможно решается заменой/добавлением конденсатора по питанию.

PDI и TPI пока не тестировались. Если кто-нибудь будет собирать программатор по этой схеме, просьба отписаться о том что получится, работают ли PDI и TPI.

Читайте также:  Wifi antenna своими руками

Во вложенном архиве содержатся прошивка, схема, печатная плата, исходники схемы и платы в EAGLE, урезанная библиотека LUFA с модифицированным исходником прошивки.

Вложения:
AVRISP_MKII.zip [831.15 KiB]
Скачиваний: 647
scheme_small.png [44.54 KiB]
Скачиваний: 8127
scheme.png [116.8 KiB]
Скачиваний: 4187
board_small.png [64.83 KiB]
Скачиваний: 6553
board.png [149.05 KiB]
Скачиваний: 2211
Вернуться наверх
Реклама
FUZZY_
Потрогал лапой паяльник

Зарегистрирован: Чт сен 24, 2009 17:22:51
Сообщений: 389
Откуда: UK
Рейтинг сообщения: 0

Схема интересная но без буферов — тобиш при неправильном подключении — горит проц в програматоре — что очень печально

Может у когото есть печатка переходника из cmd на большой корпус под эту микросхему — хочется допаять буфера.

Еще назначение джамперов и кнопок ? Какие процы програмируются при VCC=3 ?

Реклама

JLCPCB, всего $2 за прототип печатной платы! Цвет — любой!

Зарегистрируйтесь и получите два купона по 5$ каждый:https://jlcpcb.com/cwc

Stepan
Встал на лапы

Карма: 1
Рейтинг сообщений: 3
Зарегистрирован: Пн мар 16, 2009 07:37:42
Сообщений: 126
Откуда: Новосибирск
Рейтинг сообщения: 0

_________________
меньше слов — больше дела

Реклама

Сборка печатных плат от $30 + БЕСПЛАТНАЯ доставка по всему миру + трафарет

zagum
Родился

Зарегистрирован: Сб авг 20, 2011 15:06:41
Сообщений: 4
Рейтинг сообщения: 0

Прошивка та же (правда там старая версия). У меня есть PDI, TPI для прошивки xMega, переключатели напряжения. EEPROM проверил на ATTiny2313 шьет и читает нормально все 128 байт. Тот баг вроде как пофиксили в новых версиях LUFA.

Реклама

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

Stepan
Встал на лапы

Карма: 1
Рейтинг сообщений: 3
Зарегистрирован: Пн мар 16, 2009 07:37:42
Сообщений: 126
Откуда: Новосибирск
Рейтинг сообщения: 0

_________________
меньше слов — больше дела

Реклама
Реклама

Приглашаем всех желающих 13 октября 2021 г. посетить вебинар, посвященный искусственному интеллекту, машинному обучению и решениям для их реализации от Microchip. Современные среды для глубинного обучения нейронных сетей позволяют без детального изучения предмета развернуть искусственную нейронную сеть (ANN) не только на производительных микропроцессорах и ПЛИС, но и на 32-битных микроконтроллерах. А благодаря широкому портфолио Microchip, включающему в себя диапазон компонентов от микроконтроллеров и датчиков до ПЛИС, средств скоростной передачи и хранения информации, возможно решить весь спектр задач, возникающий при обучении, верификации и развёртывании модели ANN.

zagum
Родился

Зарегистрирован: Сб авг 20, 2011 15:06:41
Сообщений: 4
Рейтинг сообщения: 0

Реклама

Страница 1 из 1 [ Сообщений: 6 ]

Часовой пояс: UTC + 3 часа

Кто сейчас на форуме

Сейчас этот форум просматривают: нет зарегистрированных пользователей и гости: 4

Источник

Оцените статью