Атмега программатор – USB AVR программатор для микроконтроллеров ATmega, ATtiny

USB программатор для микроконтроллеров ATMEL

Микроконтроллеры фирмы ATMEL успели завоевать широкую популярность. Их программирование перед применением можно выполнить непосредственно в плате готового устройства через несложный ISP кабель, подключаемый к LPT порту персонального компьютера или кабель чуть посложнее, подключаемый к COM порту. Но в настоящее время всё больше материнских плат выпускается без того и другого, а в ноутбуках LPT исчез уже давно, сменившись интерфейсом USB. Впрочем, под этот интерфейс программаторы тоже существуют и доступны.

Для масштаба рядом лежит обычный 5 мм светодиод.
Этот программатор USBASP поддерживает следующие микроконтроллеры:

Список поддерживаемых МК

ATtiny11, ATtiny12, ATtiny13, ATtiny15, ATtiny22, ATtiny2313, ATtiny24, ATtiny25, ATtiny26, ATtiny261, ATtiny28, ATtiny44, ATtiny45, ATtiny461, ATtiny84, ATtiny85, ATtiny861

AT90S1200, AT90S2313, AT90S2323, AT90S2343, AT90S4414, T90S4433, AT90S4434, AT90S8515, AT90S8535

ATmega8, ATmega48, ATmega88, ATmega16, ATmega161, ATmega162, ATmega163, ATmega164, ATmega165, ATmega168,ATmega169, ATmega32, ATmega323,ATmega324, ATmega325,

ATmega3250, ATmega329, ATmega64, ATmega640, ATmega644, ATmega645, ATmega6450, ATmega649, ATmega6490, ATmega128, ATmega1280, ATmega1281, ATmega2560, ATmega2561, ATmega103, ATmega406, ATmega8515, ATmega8535

AT90CAN32, AT90CAN64, AT90CAN128

AT90PWM2, AT90PWM2B, AT90PWM3, AT90PWM3B

AT90USB1286, AT90USB1287, AT90USB162, AT90USB646, AT90USB647

AT89S51, AT89S52

AT86RF401


Вместе с программатором поставляется 10-жильный летночный кабель с разъёмами.

Питание программатора берется с USB порта компьютера.

На плате программатора имеется место для распайки LDO стабилизатора напряжения на 3,3В, но сам он не распаян.
Программатор поддерживается программой AVRDUDE. Сама программа консольная, но под неё есть графические оболочки. Утилиту avrdude можно найти в папке /hardware/tools/ в дистрибутиве Arduino IDE или скачать в интернете.
Перед началом работы с программатором потребуется скачать драйвер со страницы разработчика.
Также программатор поддерживается средой разработки Arduino.

Для программатора существует прошивка под названием AVR-Doper, превращающая его в STK500-совместимый и воспринимаемый фирменной средой разработки ATMEL AVR Studio, но в силу высокой вариативности китайского железа пользоваться ею можно только на свой страх и риск.

mysku.ru

РадиоКот :: Программаторы для микроконтроллеров Atmel

РадиоКот >Лаборатория >Цифровые устройства >

Программаторы для микроконтроллеров Atmel



Эта статья — попытка обобщить некоторый разрозненный материал по программаторам для популярных сегодня микроконтроллеров фирмы Atmel.
Материал не претендует на полноту, однако основан на личном опыте, в чем и состоит, на мой взгляд, его основная ценность.



Схема программатора Fun-Card




Программатор предназначен для работы под управлением программы ICProg, является функциональным аналогом «5 проводков»
(до предела упрощенная схема STK200+/300, о которой ниже) и представляет собой несколько резисторов.

Программатор подключается к LPT-порту. Разъем устанавливается непосредственно на плату программатора, кроме того, на плате
предусмотрена кроватка для программирования контроллера AT90S2313, а также выведены сигналы SCK, MOSI/MISO и Reset.

Программируемая микросхема может брать питание с порта LPT, в этом случае, на выводах 2, 3, 4 порта должны быть установлены единицы,
а вывод 2 разъёма ISP должет быть подключен к выводу Vcc микросхемы. Некоторые порты могут не потянуть такой нагрузки, в этом
случае придётся использовать внешний источник питания (5В).

Источником тактовых импульсов для микросхемы также может служить LPT порт. В этом случае вывод 3 разъёма ISP (LED) должен быть
подключен к выводу XTAL 1 программируемой микросхемы.

Естественно, программа программатора на PC должна понимать эти режимы работы (для работы с этой схемой нужно воспользоваться программой
IC-Prog, где при выборе типа программатора следует установить «Fun-Card Programmer»).

Печатная плата в формате SL5 – здесь, программа ICProg и драйвер под ХР – здесь.



Схема программатора STK200+/300




Большая часть нижеследующего описания и сама схема взята со странички https://ln.com.ua/~real/avreal/adapters.html, крайне рекомендую посетить ее.


Адаптер получил свое название от комплектующихся им отладочных плат фирмы Atmel для быстрого начала работы с микроконтроллерами
At90s8515 и Atmega103. На самом деле приведенная схема соответствует одновременно обоим адаптерам, в ней присутствуют перемычки для
определения наличия как адаптера STK200 (выводы 2-12 разъема X1), так и STK300 (выводы 3-11). При необходимости программной генерации
тактового сигнала XTAL1 используется линия LED адаптера, исходно предназначенная для включения светодиода (на печатной плате ver.1
установлен только светодиод, сигнал XTAL1 на разъем программирования не заведен, а вот в ver.2 на третьем контакте есть сигнал XTAL1).

Буферизованные адаптеры запитываются от платы с программируемым процессором, т.е. питание подаётся на программируемую плату, а с
неё на адаптеры поступает через шлейф.

Адаптер собран на основе шинного формирователя 74HC244 (аналог 1564АП5). Возможно также использование 555АП5 (74LS244) и 1533АП5 (74ALS244)
либо, при соответствующем изменении схемы, любые другие неинвертирующие формирователи с тремя состояниями выходов. Применение буфера
с третьим (высокоимпедансным) состоянием позволяет по окончании программирования снять сигнал разрешения выходов и, «отключив» адаптер
от схемы, не влиять на её работу (за исключением паразитных емкостей между проводами шлейфа от адаптера до платы устройства).

Поскольку разводка рассчитана на установку LPT-разъема непосредственно на плату, для этих адаптеров рекомендуется изготовить удлиннитель
порта LPT длиной 1.5-1.8м со всеми линиями (земель не жалеть 🙂 и вывести с программатора шлейф до платы с микроконтроллером длиной 20-25 см.

На плате предусмотрена установка светодиодов «питание» и «программирование» (на схеме не показаны).

Схема работает с программами AVR ISP, CodeVision AVR, WinAVR и другими.

В ряде случаев (например, для программирования нескольких контроллеров одной и той же прошивкой или в случае отсутствия на плате места
под ISP-разъем) могут оказаться полезными «платы расширения» для различных контроллеров, содержащие кроватку для установки контроллера и
минимально необходимую для работы обвязку. Я сделал такие платы под AT90S2313/ATTiny2313, ATTiny26, ATTiny13, ATMega8 и ATMega16.
Кроме того, в версии ver.1 кроватки для ATTiny26 и ATTiny13 есть непосредственно на плате.

Обе версии платы программатора и все «платы расширения» в формате SL5 – здесь.

Вот так выглядит один из моих STK в окружении плат расширения:




Схема программатора AVR910 с универсальным COM/USB интерфейсом




AVR910 – весьма известный аппнот Atmel, давший название целому классу устройств.

Сейчас под AVR910 понимают как правило протокол, по которому происходит обмен данными между компьютером и программатором.

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

На схеме представлен программатор, способный работать как через CОМ, так и через USB.

Переключение типа интерфейса происходит при помощи джампера J1. При работе через USB питание программатора осуществляется непосредственно
от этого порта компьютера, причем в этом режиме имеется полная гальваническая развязка программатора (и, соответственно, программируемого
устройства) от компьютера, более того, при замыкании перемычки J2 программируемое устройство может питаться от программатора (до 100 мА).

При работе через СОМ-порт развязка отсутствует, а питание программатора осуществляется, как обычно, от программируемого устройства.

Интерфейс USB реализован на микросхеме FT232BM в стандартной схеме включения, в качестве согласователя уровней для СОМ-порта применена
MAX232.

Вариант разводки печатной платы, схема и прошивка лежат здесь. Разводка платы не оптимальна, поскольку
осуществлялась для конкретного
корпуса с заранее заданным расположение разъемов, органов управления и индикации. Кроме того, на плате разведена кнопка для принудительного сброса
программируемого МК, реально она не нужна, поскольку сброс корректно осуществляется программным образом. Также на плате присутствует разъем для
программирования МК самого программатора.

Для подключения программатора к СОМ-порту служит трехконтактный разъем PLS и потребуется изготовить специальный шнурок.

Замечу, что поскольку здесь используется стандартная разводка шнурка для ISP, с этим программатором можно использовать платы расширения от STK200+/300.

Этот комплект у меня выглядит вот так:




Этот программатор работает у меня под управлением CodeVision AVR 25-ой сборки. Такой выбор обусловлен возможностью регулирования скорости порта
непосредственно из программы. Программатору свойственны некоторые особенности в силу применения микросхемы FT232BM, в частности, необходимо
выставить минимальную задержку в свойствах соответствующего виртуального СОМ-порта (подробнее смотрите статью USB — RS-232 преобразователи). После этого программирование осуществляется довольно быстро (хотя и чуть медленнее STK200+/300,
что, естественно, вызвано последовательным способом передачи данных в программатор).



Схема AVR910-совместимого USB программатора (схема Prottoss»a)



Автором этой конструкции является Рыжков Андрей, известный также под ником PROTTOSS. Описанию этого программатора посвящена одна из страничек его сайта, там же можно найти контакты для связи с автором. Здесь этот материал публикуется с разрешения автора,
так что все формальности соблюдены. :)


Программатор выполнен на основе драйвера от Objective Development
и полностью совместим по командам с оригинальным программатором AVR910 от ATMEL. Описание оригинальной схемы программатора можно взять в
Application Note AVR910: In-System Programming, а список поддерживаемых команд можно посмотреть в
Application Note AVR109: Self Programming


Исходно схема устройсва выглядит следующим образом:




Светодиоды VL1, VL2 сигнализируют о текущих действиях программатора, и, соответственно, обозначают режимы чтения и записи.
Светодиод VL3 служит для сигнализации подачи питания на программатор.
Резисторы R10 — R14 предназначены для согласования уровней сигналов контроллера программатора и программируемого контроллера.
С помощью J3 LOW SCK возможно понижать тактовую частоту порта SPI МК программатора до ~20 кГц. При разомкнутом джампере частота SPI
нормальная, при замкнутом — пониженная. Переключать джампер можно «на ходу», так как управляющая программа МК программматора проверяет состояние
линии PB0 при каждом обращении к порту SPI. Не рекомендуется переключать джампер при запущенном процессе записи/чтения программируемого МК, т.к.,
скорее всего, это приведет к искажению операции записи/чтения. Данный джампер введен для возможности программирования МК AVR, тактированных от
внутреннего генератора 128 кГц.


Схема была несколько переработана, в нее внесены следующие изменения.


Питание МК осуществляется от USB, но не через диоды, как в исходной схеме,
а через LDO стабилизатор LM1117 на 3.3В. Замечу, что при таких напряжениях питания (как 3.3 В здесь, так и 3.6 В в исходной схеме) и частоте кварца 12 МГц
Atmel не гарантирует устойчивую работу своих МК, однако к чести производителя ни один из тестировавшихся микроконтроллеров работать не отказался.
Тем не менее, стоит учитывать такую возможность. Еще раз: чем больше напряжение питания (в пределах до 5В, естественно), тем выше вероятность того, что контроллер запустится и будет
устойчиво работать, поэтому многие отказываются от LDO в пользу двух диодов. Да, предохранитель тоже отсутствует, но, если добавить, хуже точно не будет.


В обе цепи питания МК (VCC и AVCC) введены дополнительные LC-фильтры в виде SMD-индуктивностей на 10мкГн и конденсаторов 0.1 мкФ (в принципе, дроссель в AVCC можно заменить перемычкой,
его установка — совсем уж перестраховка), кроме того, на плате появился дополнительный джампер, позволяющий
запитывать целевую плату от программатора напряжением 5В или 3.3 В или, естественно, вообще не питать ее от программатора. В цепь питания целевой платы
также включена индуктивность и установлен диод 1N4148, препятствующий попаданию питающего напряжения с целевой платы (если оно там есть) на программатор. Замечу, что поскольку на диоде
имеет место падение напряжения, то напряжение питания целевой платы будет меньше заявленного на величину этого самого падения. В зависимости от диода и некоторых других условий
теоретически оно может снизиться настолько, что его не хватит для нормального функционирования целевой платы. Для уменьшения эффекта можно использовать в этой цепи диод Шоттки,
а вообще, может быть стоит вообще отказаться от такой возможности, решайте сами, насколько оно вам надо… :)


Исчез джампер NORM/MOD, предназначенный для ввода программатора в режим обновления прошивки, вместо этого на плате установлен полноценный разъем для программирования
МК программатора (разъем имеет несколько нестандартный вид и представляет собой контактную гребенку PLS-6, на которую выведены следующие сигналы в последовательности
MOSI-MISO-SCK-Reset-Vcc-GND. В такой же последовательности эти сигналы расположены на выводах МК ATMega16 в корпусе DIP-40, именно оттуда я ее и «срисовал». Такой
разъем занимает меньше места на плате и как правило проще разводится, чем стандартный 10-ти контактный ISP-коннектор, поэтому лично я часто им пользуюсь в своих конструкциях).


Кроме того, уменьшены до 220 Ом последовательные резисторы в линиях программирования (вообще, их номинал — отдельный открытый вопрос) и до 22 Ом в линиях USB.


Все эти изменения можно проследить на печатной плате (кроме изменения номиналов резисторов, в подписях элементов они оставлены прежними), разводку которой можно скачать в конце статьи.
Плата получилась односторонняя с парой перемычек и рассчитана на установку МК ATMega8 в кроватке, у которой удалены неиспользуемые выводы. Можно, конечно, и впаять туда Мегу,
откусив лишние выводы, но это на ваш страх и риск.
Собранный программатор выглядит так:




После сборки программатора следует прошить МК в нем (прошивка в конце статьи), при этом фьюзы для МК нужно выставить следующим образом:




Теперь, если все собрано правильно, при подключении программатора к ПК обнаружится новое устройство и потребуется установка драйверов. Драйвера, естественно, без цифровой подписи,
так что просто игнорируем предупреждения ОС по этому поводу. В общем-то, на этом установка и заканчивается. Если у вас не ХР, а Win2000, то требуются некоторые дополнительные манипуляции, за подробным описанием которых
(как, впрочем, и всей конструкции вцелом) я попрошу вас обратиться на сайт автора. В системе должен появиться новый виртуальный СОМ-порт, через который и работает этот программатор, стоит
настроить номер этого порта и скорость.
Естественно, используемый вами софт нужно будет настроить на работу именно с этим портом.



Вот еще вариант платы этого программатора на микроконтроллере в корпусе TQFP, делал под конкретный корпус, схема та же, работает не хуже:






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


В качестве возможных доработок могу предложить не питать МК программатора пониженным напряжением, а поставить на линии USB стабилитроны, чтобы ограничить напряжение на них.
Идея не проверялась.


Лично я свой первый МК AT90S2313 программировал с помощью Fun Card, потом собрал и до сих пор плотно использую несколько вариантов STK200+/300,
а с AVR910 работаю в основном в «полевых условиях», когда требуется подключение программатора к ноутбуку без LPT-порта.. Вот такая вот эволюция..



Вопросы, как обычно, складываем тут.



Файлы:



Плата Fun Card в формате SL5
Софт для Fun Card
Платы в формате SL5 для STK200+/300
Схема (RusPlan6), плата (SL5) и прошивка (hex) для AVR910
Плата (SL5), прошивка (hex) и драйвера для USB AVR910 от PROTTOSS»a
Плата (P-CAD 2006) для USB AVR910 от PROTTOSS»a на Atmega8 в корпусе TQFP (SMD вариант)


Как вам эта статья?

Заработало ли это устройство у вас?

radiokot.ru

USB ASP Программатор микроконтроллеров ATmega AVR

Программатор с Китая для микроконтроллеров фирмы Atmel AVR

Для прошивки данных микроконтроллеров требуется:

1)Сам программатор со шлейфом

2)Беспаечная макетная плата

3)Провода к беспаечной плате —  для соединения микроконтроллера с программатором


Подробнее как прошить данным программатором здесь — Как прошить микроконтроллер ATmega, AVR


Соединение производится по 6ти проводам :

Питание

1) Vcc( +5 вольт)

2) GND (Земля)

Данные:

3)MOSI

4)MISO

5) SCK (Serial ClocK)

6) RESET (RST)

 

Далее приводится распиновка разъемов:

Разъем программатора(на программаторах с корпусом распиновка может быть указана на самом корпусе):

Разъем шлейфа:


 

Как соединить микроконтроллер atmega с программатором usbasp:


Схема USBASP V2.0:

Светодиоды — индикаторы режима работы, должны быть один красный, другой зеленый, на плате соответственно нанесены буквы R и G.

Но на  деле на плате  оба светодиода — красные, видимо зеленые закончились))

Шлейф от программатора отстегивается, а это значит, что можно использовать и провода типа F — M для прошивки, соединив их сразу к разъему, минуя шлейф.

Имеется перемычка для выбора вольтажа — 5 и 3.3 вольт.

lampcore.ru

ПРОГРАММАТОР STK500 НА ATMEGA8

Недавно решил сделать себе программатор STK500v2. Пользую в основном CodevisionAVR. Старый AVR910 не совсем подходил, да и нужен был внутрисхемный программатор. Долгие поиски в сети и чтение форумов привели меня к “AvrUsb500 by Petka”. Программатор был собран и я получил массу положительных эмоций – эффект примерно такой, как будто пересел с советского автопрома на иномарку! Конечно AVR910 надежен как танк – программная реализация USB в нем таких глюков не имеет. Но на тот момент это все были мелочи, по сравнению с преимуществами работы прямо из CodeVision и высокой скорости. Довольно долгое время эти два программатора служили мне верой и правдой, пока с AVR910 не пришлось расстаться. Вот и решил собирать очередной программатор.

К этому времени убедился, что столь любимая нашими радиолюбителями FT232 не так безгрешна как о ней думают. Было собрано несколько разношерстных устройств на этой микросхеме, все пожелания производителя в даташите были учтены, тонна драйверов перепробована на разном железе. Скажу больше – мой промышленный Chipstar XL имеет в качестве USB конвертера тоже FT232, и хоть и не использует VCP-драйвер но глючит тоже не слабо.

Эти все “выбрыки” за пару лет эксплуатации порядком надоели, потому решил модифицировать оригинальную схему. На глаза попалась CP2102 – USB-UART преобразователь. Простая схема, хорошие отзывы о самом производителе (SiLabs) и главное – доступная цена.

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

Обвязка CP2102 выполнена исключительно по даташиту без каких-либо своевольных “художеств”, от себя добавлен лишь второй светодиод, индицирующий наличие питания.

Программирование контроллера производится внутрисхемно. Пятачки предусмотрены на плате. Установка фузов ATMega8:

  1. Субъективно все стало работать на 20-25% быстрее.
  2. Полностью пропали глюки присущие FT232. Определяется без проблем каждый раз, даже после быстрого “перетыкивания” USB, без проблем заработала со всеми моими шнурками.
  3. Драйвера моя Windows 7 вытянула с сервера обновления и поставила сама.

В дальнейшем коснусь лишь узла CP2102, так как работа самого программатора в сети расписана подробно.

Сразу хочу оговориться – проблемой “курицы и яйца” особо не заморачивался, все цепи самопрограммирования через USB вырезаны в угоду размеру. Эта компиляция программатора рассчитана больше на людей с более-менее приличной подготовкой. Причин тому несколько – корпус CP2102 MLP28 (5×5 мм) с контактными площадками на “пузе” вместо ножек – без определенных навыков не поставить, дорожки 0.25 мм – делал обычным утюгом.

Он стал намного быстрее, чем мой старый AVR910, купленный когда-то в магазине. Еще советую покрыть плату в несколько слоев PLASTIK-71 и обтянуть термоусадкой (по желанию). А все файлы к проекту скачайте на форуме. Сборка и испытание схемы — LED.

   Форум по МК

   Обсудить статью ПРОГРАММАТОР STK500 НА ATMEGA8

radioskot.ru

ПРОГРАММАТОР AVR USB

   Программатор выполнен на основе драйвера от Objective Development и полностью совместим по командам с оригинальным программатором AVR910 от ATMEL. Описание устройства. Предохранитель защищает линий питания порта USB от случайного замыкания по цепям питания программатора. Диоды VD1, VD2 впрямительные кремниевые, они предназначены для понижения питания микроконтроллера до 3,6 В. Согласно документации, контроллер может работать при таком напряжении питания до частоты чуть более 14 МГц. Светодиоды VL1 («RD”), VL2 («WR”) сигнализируют о текущих действиях программатора и обозначают режимы чтения и записи. Светодиод VL3 («PWR”) показывает подачу питания на программатор.

   Джампер J1 – (MODify) служит для начального программирования управляющего МК программатора. При его замыкании, к разъему ISP подключается внешний программатор и производится загрузка в МК управляющей программы. После программирования управляющего МК программатора этот джампер необходимо разомкнуть и замкнуть джампер J2 — NORMal. 

   Джампер J3 LOW SCK понижает тактовую частоту порта SPI МК программатора до ~20 кГц. При разомкнутом джампере частота SPI нормальная, при замкнутом — пониженная. Переключать джампер можно на ходу, так как управляющая программа МК программатора проверяет состояние линии PB0 при каждом обращении к порту SPI. Не рекомендуется переключать джампер при запущенном процессе записи/чтения программируемого МК, т.к., скорее всего, это приведет к искажению записываемых/читаемых данных. Джампер J3 введен для возможности программирования МК AVR, тактируемых от внутреннего генератора 128 кГц. 

   Резисторы R10 — R14 предназначены для согласования уровней сигналов микроконтроллера программатора и внешних цепей (программируемый МК или другой программатор). Тактовая частота порта SPI МК программатора при разомкнутом джампере J3 равна 187,5 кГц. Это позволяет программировать контроллеры с тактовой частотой примерно от 570 кГц для ATtiny/ATmega, 750 кГц для 90S и 7,5 МГц для 89S. Контроллеры программируются от 10 до 30 секунд (при использовании утилиты AVRProg v.1.4 из пакета AVR Studio) вместе с верификацией в зависимости от объема FLASH памяти и тактовой частоты. 

   На вывод LED разъема ISP выведен меандр с частотой 1 МГц для «оживления» МК, у которых были ошибочно запрограммированы фьюз-биты, отвечающие за тактирование. Сигнал генерируется постоянно и не зависит от режима работы программатора. Программатор тестировался с программами AVRProg v.1.4 (входит в пакет AVRStudio), ChipBlasterAVR v.1.07 Evaluation, CodeVisionAVR, AVROSP (ATMEL AVR Open Source Programmer). Для нормального функционирования контроллера в схеме необходимо, чтобы были запрограммированы (установлены в «0») биты SPIEN, CKOPT, SUT0 и BODEN. Обычно микроконтроллеры , идущие с завода, т.е. новые, имеют уже запрограммированный бит SPIEN. Остальные биты должны быть незапрограммированные (установлены в «1»). 

   Инструкция по установке и работе. Прошить контроллер. Подключить свежеиспеченный программатор к компьютеру через USB. Операционная система найдет новое устройство – AVR910 USB Programmer, при предложении автоматически найти драйвер, отказаться, и указать путь к inf-файлу, в зависимости от установленной на вашем компьютере операционной системы. 

   На форуме находятся все файлы, а также печатная плата для нашего программатора avr. Здесь покажу технологию сборки USB программатора AVR и упаковки в корпус. Для начала скачиваем архив и делаем печатную плату.

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

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

   Если нет специальной измерительной аппаратуры, можно произвести проверку при помощи светодиода. Светодиод подключается анодом к контакту LED, катодом к любому контакту GND ISP-разъема. При подаче питания светодиод должен светится в «полнакала». При замыкании пинцетом ножек кварцевого генератора светодиод должен либо засветится в «полный накал», либо свечение должно отсутствовать. 

   Без ощибок собранный программатор с правильно запрограммированным микроконтроллером в настройке не нуждается. Но если у программируемого МК вход RESET подтянут к напряжению питания резистором, то номинал резистора не должен быть ниже 10 кОм – это связанно с пониженным напряжением питания управляющего контроллера в схеме программатора и введением ограничительных резисторов на шине ISP-разъема.

   Форум по usb программатору

   Обсудить статью ПРОГРАММАТОР AVR USB

radioskot.ru

FAQ Простой программатор для AVR COM-порт — Сообщество «Электронные Поделки» на DRIVE2

Всем привет!
Решился я всё таки на освоение AVR микроконтроллеров

По данной инструкции:
FAQ USBasp программатор AVR микроконтроллеров (himiks)
изготовил Программатор


Но для его прошивки нужен простенький программатор чтобы прошить Atmega8
himiks делал LPT программатор

Но в связи с тем что что ЛПТ Порт уже редкость(хотя у меня он есть) я решил сделать COM программатор

Полазив в интернете наткнулся на данную статью
Программатор Громова
Файл печатки программатора по ссылке в формате Lay
питание взял с USB порта
связывает программатор с СОМ портом разъём DB-9-F


Печатную плату изготовил на односторонним 1мм текстолите


для подсоединения программатора к отладочной плате использовал штырьки PLS
Для того чтобы прошить Atmega8 понадобилась отладочная плата

Информацию по её изготовлению черпал тут

Программатор полностью работоспособен
Так как USBasp заработал

Наша страница на DRIVE2:

www.drive2.ru

Мегаклон программатор AVRISP MKII для микроконтроллеров AVR. / AVR / Сообщество EasyElectronics.ru

Долгое время я программировал микроконтроллеры 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.

we.easyelectronics.ru