Простой avr usb программатор: Делаем простой USB программатор USBTinyISP / Блог им. Ghost_D / RoboCraft. Роботы? Это просто!

Делаем простой USB программатор USBTinyISP / Блог им. Ghost_D / RoboCraft. Роботы? Это просто!

Очень многие люди, начиная свое знакомство с микроконтроллерами, испытывают трудности с инструментом для их программирования. И это реально может охладить творческий пыл. Да что там говорить, я и сам после сборки своего первого Arduino долго пытался «вдохнуть» жизнь в «железяку». Здесь очень хорошо описаны мучения. Конечно, самый простой вариант «5 проводков» — это здорово! Но, в моем окружении (как я понимаю, и у многих) дома, на работе в компах и ноутбуках напрочь отсутствует LPT-порт! Да и COM-порт становиться достаточно редкой «экзотикой». Что же делать? Естественно, на сцене появляется вездесущий USB.

Да, готовый программатор для AVR легко можно купить. Но цена на них неадекватно завышена (у нас в г. Минске, на радиорынке что-то около 30..50 у.е.). Как говорил Киса Воробьянинов — «ОДНАКО!!!». Хорошо, что есть братья-китайцы, с нормальными ценами. Только придется прилично подождать. Да и судя по последним тенденциям, ОГРОМНЫЙ поток посылок из Китая ОЧЕНЬ заинтересовал государственные органы… И боюсь, что в скором времени превратится в жалкий ручеек 🙁
Да и к тому же, как говорит мой хороший друг: «Это не наш метод. Мы сделаем сами, пусть по выходу окажется и в два раза дороже!».

Спешу обрадовать, что затраты на изготовление — мизерные. Самые дорогие компоненты — это Attiny2313 (примерно 2$) и разъем USB.

Итак, приступим. Нам нужен программатор который максимально прост и относительно дешев, подключается по USB, и при этом, поддерживается всеми современными ОС (LINUX, WINDOWS, MAC OSX) через программу avrdude. Изначально я рассматривал для повторения самый «примитивный» вариант. Дальнейшие поиски меня привели к — USBTinyISP!!! Стремясь к компактности, я выбрал для «клонирования» версию 1 (без буферной микросхемы). Ниже схема программатора.

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

(Номиналы деталей можно увидеть в SprintLayout при наведении курсора на нужный элемент)

Нам понадобится:


— кусок текстолита 63х33 мм

— МК Attiny2312 с колодкой под нее

— Разъем USB (тип B)

— Разъем 10х2 (как он правильно называется ???? Не знаю..)

— 4 резисторa 1.5 кОм (smd, маркировка 152)

— 1 резистор 1.5кОм (выводной 0.125Вт)

— 2 резисторa 33 Ом (smd, маркировка 330)

— 1 резистор 10к (smd, маркировка 103)

— 2 стабилитрона на 3.6В

— 2 конденсатора 22 pF (smd)

— 1 конденсатор 0.1 мF (smd)

— 2 светодиода (зеленый и красный)

— кварц на 12Mhz

— электролитический конденсатор 100x16V

— самовосстанавл. предохранитель (я выпаял из старой мат. платы). Если нету, можно поставить перемычку (на www.ladyada.net/ так и сделали).

— два штырька для перемычки

Естественно, ЛУТ.


После ЛУТа

После травления:

Мой любимый сплав Розе

Паяем SMD элементы

Теперь перемычки и оставшиеся элементы


Готово!

Небольшое лирическое отступление. Давным давно, в 2000-х годах у меня один приятель жаловался со сложностями в поиске НОРМАЛЬНОЙ работы (он работал водителем). Дело в том, что у него был на тот момент очень маленький стаж вождения :). Чувствуете подвох? На нормальную работу без стажа не берут. Стажа нет, потому что на работу не берут… И так замкнутый круг.

Так и в нашем случае, для изготовления программатора нужно запрограммировать контроллер… т.е. нужен программатор. Слава богу, это нужно проделать всего один раз. Выходов несколько:

— берем пиво и навещаем приятеля с программатором 🙂

— ищем компьютер с LPT-портом и паяем «5-проводков»

— нету LPT, но есть COM? Прекрасно, делаем программатор Громова!

— есть люди, предлагающие свои услуги по прошивке МК за небольшую «денюжку»

— другие варианты

У меня ситуация более, чем шикарная — у меня уже был программатор AVR910. Так, что вся процедура заняла не более минуты. «Прошиваем» МК с помощью AVRDUDE. (Все необходимое для этого сложено в архив и находиться в каталоге Firmware).

avrdude.exe -p t2313 -c avr910 -P COM12 -U flash:w:usbtinyisp_(v.1).hex -U hfuse:w:0xdf:m -U lfuse:w:0xef:m

Кому менее повезло и пришлось прибегнуть к «5 проводкам» (кстати, официально он называется DAPA):

avrdude.exe -p t2313 -c dapa -U flash:w:usbtinyisp_(v.1).hex  -U hfuse:w:0xdf:m -U lfuse:w:0xef:m

вот, вариант когда программатор USBTinyISP используется для прошивки себе подобного, а-ля «овечка Долли»:

avrdude.exe -p t2313 -c usbtiny -U flash:w:usbtinyisp_(v.1).hex -U hfuse:w:0xdf:m -U lfuse:w:0xef:m

Почему вариант с AVRDUDE более предпочтителен для начинающих? При выполнении вышеприведенных команд сразу же прошиваются и нужные фьюзы, т.е. ухера.. «убить» микроконтроллер достаточно сложно.

Итак, устанавливаем на плату свежепрошитый микроконтроллер. Еще раз советую проверить изготовленную плату на качество пайки, отсутствие «коротышей» и тому подобных неприятностей. И только если ВЫ на 100% уверены, подключаем наш программатор к разьему USB. После сообщения об обнаружении нового оборудования (речь идет о Windows), ставим как обычно драйвера. Они сложены в архиве в папке usbtinyisp w32 driver v1.12.

Проверяем, что все хорошо, заглянув в список оборудования:


Если Вам удалось увидеть такую же картинку, то поздравляю! Все готово. У Вас теперь есть USB программатор для AVR!!!

Не знаю как Вы, но мне ОЧЕНЬ захотелось сразу же опробовать изделие в действии. А давайте прошьем бутлодер в Ардуино.

Запускаем Arduino IDE, [Сервис]->[Программатор]->[USBTinyISP]

Жмем [Сервис]->[Записать загрузчик]

Буквально проходит 7 секунд, мерцание красного светодиода на программаторе… и ОПА!!! Все готово. Получите, распишитесь 🙂


А теперь небольшой БОНУС, расширяющий область применения нашего программатора. А именно, маленький адаптер для DIP корпусов наиболее распространеных AVR контроллеров. Мне приходилось иметь дело с ATTiny13/45 — 8 ножек, Attiny 2313 (тут смайлик)- 20 ножек, Atmega 8/48/168 — 28 ножек. За основу берем схему соединения колодок (схема откуда-то из инета):


Для простоты я не использовал сигналы тактирования XT1. (Для всяких неприятных случаев, у меня есть собранный FUSE Doctor :)) И еще, я не ставил на адаптер колодку под Atmega16 (DIP-40). Пока у меня не возникало необходимости в программировании таких контроллеров.

Ну, если осилили изготовление программатора, то сделать такой адаптер — вообще плевое дело!

Кстати, некоторые неиспользуемые контакты я просто-напросто удалил, во избежание ненужного контакта 🙂

Приклеиваем (для удобства) соответствующие надписи:

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

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

описание USBASP драйвера, инструкция по настройке своими руками в AvrDude Prog, Atmel Studio и Khazama AVR Programmer, обновление проши

В моём случае это абсолютный рекордсмен по скорости доставки — около 5 месяцев беспечного блуждания непонятно где. Несмотря на чудовищную задержку по времени, пакет я всё-таки получил, чему несказанно рад, не взирая на недочёты, о коих поведаю ниже. Поскольку у меня весьма плохая память, то нужно было объединить найденную полезную информацию где-то в одном месте в виде памятки, собирать её по крупицам в разных закоулках сети оказалось делом нетривиальным, поэтому оформлю всё это отдельным постом.
USB ISP — самый дешёвый программатор контроллеров AVR, что можно найти в продаже, брался для расширения кругозора и более углубленного изучения AVR.
Обзор в себя включает: описание программатора, как его подключить к чипу, настройку его работы в программах AvrDude Prog, Khazama, Atmel Studio 7, и не только это.

Конечно вместо него можно использовать Arduino UNO с прошитым в него скетчем ArduinoISP, но это не удобно, возня с проводами, особенно если UNO всего одна, отбивает энтузиазм. Проще было заиметь отдельно такой программатор, точнее два. По двум причинам:
1) Ещё перед покупкой уже из отзывов было понятно, что качество пайки этих устройств страдает, а некоторым ещё и с расколотыми стабилитронами они приходили. Решено было подстраховаться, заказав два.
2) Один программатор к тому же можно шить другим, переставив перемычку на ведомом устройстве.

Технические характеристики

Поддерживаемые ОС: Windows, MacOS, Linux
Процессор: Atmega8A
Интерфейс подключения к ПК: USB
Интерфейс программирования: ISP (внутрисхемное)
Напряжение программирования: 5В или 3.3В (в зависимости от положения перемычки JP2)
Частота программирования: 375кГц (по умолчанию) и 8кГц (при замкнутой перемычке JP3)
Поддерживаемые контроллеры: все AVR с интерфейсом SPI
Описание: ссылка

Список поддерживаемых микроконтроллеров

ATmega серия

ATmega8 ATmega48 ATmega88 ATmega168 ATmega328

ATmega103 ATmega128 ATmega1280 ATmega1281 ATmega16

ATmega161 ATmega162 ATmega163 ATmega164 ATmega169

ATmega2560 ATmega2561 ATmega32 ATmega324 ATmega329

ATmega3290 ATmega640 ATmega644 ATMEGA64 ATmega649

ATmega6490 ATmega8515 ATmega8535

Tiny серия

ATtiny12 ATtiny13 ATtiny15 ATtiny26 ATTINY25

ATtiny45 Attiny85 ATtiny2313

Серия Classic

AT90S1200 AT90S2313 AT90S2333 AT90S2343 AT90S4414

AT90S4433 AT90S4434 AT90S8515

AT90S8535

CAN серия

AT90CAN128

PWM серия

AT90PWM2 AT90PWM3

Внешний вид

Комплект поставки минимальный — программатор + шлейф без резинки. В моём случае в удвоенном количестве.

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

Некоторые отверстия не целиком заполнены припоем

SMD-элементы тоже криво припаяны

Гребёнку чуть позже выровнял, уж больно неприятно на такую раскосую смотреть, элементы пропаял, а плату затем отмыл

Размеры платы несколько больше USB-TTL-конвертера на CP2102

Длина шлейфа около 30см, бытует мнение, что чем короче шлейф, тем лучше. Некоторые его специально укорачивают. Если заказать оригинальный USBASP — там комплектный шлейф уже 50см.

Органы управления на плате

На плате имеются три перемычки, задающие разные режимы работы программатора:

JP1 — замыкается в случае обновления прошивки самого программатора
JP2 — тройная перемычка, здесь выбирается, какое напряжение будет подаваться на прошиваемый микроконтроллер, либо 5В (левое положение) и 3.3В (правое положение)
JP3 — если её замкнуть, то программирование контроллера будет происходить с пониженной частотой, однако китайцы не стали сюда впаивать гребёнку, т.к. на данной прошивке она не требуется

Программатор, как можно заметить, построен на базе Atmega8 с кварцем на 12МГц. Самый правый верхний элемент, подписанный F1, с перевёрнутой цифрой 4 — самовосстанавливающийся предохранитель, защищает USB-порт ПК/ноутбука, если на прошиваемой плате вдруг произошло короткое замыкание. Под перемычкой JP2 находится LDO-стабилизатор 662К, понижающий напряжение с 5В до 3.3В, если перемычка установлена в правое положение.

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

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

примечание. перед установкой драйвера необходимо отключить проверку цифровой подписи в Windows

1) Скачать драйвера, распаковать в удобное место.
2) Зайти в «Диспетчер устройств», например навести курсор на главную кнопку (Win10), нажать ПКМ и выбрать пункт «Диспетчер устройств».

3) В ветке «Другие устройства» можно увидеть неопознанное устройство USBASP с оранжевым треугольничком — > навести на него курсор, нажать ПКМ -> «Обновить драйверы…»

4) Указать путь до раннее распакованной папки с драйверами — «libusb_1.2.4.0», нажать «ОК»

5) «Всё равно установить этот драйвер»

6) Готово, теперь оранжевый треугольничек пропал, драйвера поставлены

Прошивка собрата

Мне уже было известно до этого, что китайцы продают эти программаторы с не самой свежей прошивкой. Решил сперва обновить прошивку на одном из них, а затем ради интереса сравнить оба программатора в работе. Для этого соединяю шлейфом оба устройства, на ведущем (который вставляю в USB-порт) никакие перемычки не трогаются, а на ведомом программаторе (на котором будем обновлять прошивку) я переставил перемычку с JP2 на JP1:

Захожу в программу Khazama AVR Programmer, выбираю из выпадающего списка ATmega8 и сперва считаю Flash-память через пункт меню «Command» -> «Read FLASH to Buffer», чтобы cохранить китайскую заводскую прошивку у себя. На всякий случай.

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

Идёт считывание, которое завершается всплывающим окном об успешном считывании FLASH-памяти в буфер

Теперь нужно сохранить содержимое буфера: «File» -> «Save FLASH Buffer As…». Выбрать удобное место, куда старая прошивка сохранится, дать имя (я например её назвал firmware_1) и дописать расширение *.hex — если его не писать, то она сохранится как просто файл без расширения.

Скачиваю прошивку для программатора с этой странички, архив usbasp.2011-05-28.tar.gz (в этом же архиве есть драйвера для Windows, распаковываю содержимое в удобное место.

Тем временем в Khazama загружу скачанную прошивку в буфер. «File» -> «Load FLASH File to Buffer». Выбираю прошивку, где в названии написано atmega8, поскольку прошиваемый программатор на этом чипе.

Как видно, здесь три прошивки — для Atmega8, 48 и 88. В нашем случае Atmega 8 — её и выбираю.

Прошиваю. «Command» -> «Write FLASH File to Buffer». Снова возникает ошибка, но после идёт процесс, завершающийся успехом.

Поскольку в обычном понимании «запрограммировать» означает выставить 1, то при работе со фьюзами всё ровно наоборот, от чего возникает путаница и в этом случае можно по неосторожности заблокировать контроллер и прошить потом его будет уже нельзя. Программа Khazama AVR Programmer удобна просмотром фьюз-битов — там наглядно видно и расписано, какие из них установлены, а какие нет.

Находятся они по пути «Command» -> «Fuses and Lock Bits…», откроется окно:

Где по нажатии кнопки «Read All» считаются фьюз- и лок-биты, а пресловутая ошибка успеет вылезти аж 5 раз подряд. Ошибки сыпятся именно на заводской китайской прошивке. Но если вставить в USB-порт недавно прошитый программатор, прошивкой скаченной по ссылке выше, то этих ошибок вылазить уже не будет, однако баги вылезут в другом месте, но о них позже.

Связь с платой Pro Mini (Atmega 168, 3.3V/8MHz)

В этом случае выводы программатора соединяются с выводами платы Pro Mini, как проиллюстрировано на схематичном рисунке ниже. Перемычки не переставляются, т.е. остаётся в положении 5В.
Несмотря на то, что плата Pro Mini подписана как 3.3В, на 168-ю Атмегу можно подавать и 5В. Стабилизатор AMS1117 на 3.3В кстати вообще выпаян из платы.

AVRDUDE PROG 3.3

Консольная программа для прошивки микросхем, своего графического интерфейса не имеет, в стоке работает из командной строки, но энтузиастами было написано немало оболочек на неё, для удобства работы с ней. Одна из таких оболочек называется AVRDUDE PROG, созданная русскоязычными разработчиками. Эта оболочка, на мой взгляд удобна как раз для Flash-перепрошивки МК. После её запуска выбирается контроллер, в данном случае Atmega168 и тип программатора — USBasp. После чего можно заниматься записью/считыванием памяти. Что на заводской прошивке, что на новой — в обоих случаях никаких проблем с общением с Atmega168 не возникло. Прошил ради интереса ардуиновский стандартный blink-скетч, экспортированный в бинарный HEX-файл. Всё гладко.

Khazama AVR Programmer

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

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

Связь с контроллером ATtiny13A в корпусе SOIC8

Соединение согласно схеме ниже. Но тут всё немного интереснее.

Поскольку голый чип в SMD-корпусе SOIC8, в данном случае я поместил его в переходник SOIC8-DIP8 для удобства соединения с программатором в дальнейшем. Обзор на этот переходник можно почитать здесь.

AVRDUDE PROG 3.3

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

Появляется она из-за того, что ни программа, ни программатор не могут автоматически перейти в режим медленного программирования, необходимый для ATtiny13. Но есть как минимум два выхода:
1) Железный: замкнуть перемычку JP3

2) Программный: отредактировать файл «programm.ini» в папке с программой AVRDUDE PROG 3.3


Внести туда четыре строчки кода и сохранить. (взято отсюда)

progisp=jtag2pdiportprog=COM1portenabled=1[UsbaspSpeed]
progisp=Usbasp -B 3
portprog=usb
portenabled=0

Примечание. Здесь применён ключ «-B», который и занимается переводом программатора на пониженную частоту программирования. Значение «3» — время в микросекундах

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

Khazama AVR Programmer

Выбирается контроллер из списка и почти та же ситуация.


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

Но с программатором на новой прошивке уже появляется иная ошибка с невозможностью прочесть сигнатуру (цифровую подпись) контроллера.

Но стоит замкнуть перемычку JP3, и можно спокойно работать

Или просто задать частоту работы из выпадающего списка по пути «Command» -> «Programm Options», я выставил частоту 187.5кГц.

Примечание. Частота программирования должна быть меньше тактовой частоты прошиваемой микросхемы не менее, чем в 4 раза. Но если посмотреть на считанные с ATtiny13 фьюзы, то на последней строчке Int.Rc.Osc. указано 9.6МГц.

Как минимум, у новичка возникнет вопрос — почему на выставленных в KHazame 1.5МГц — появляется та же ошибка? А также почему, если в AtmelStudio написать например код мигания светодиода с частотой раз в секунду и в макросе прописать:

#define f_cpu 9600000

то загрузив код на Attiny13, светодиод будет мигать очень медленно?

— посмотрим на предпоследнюю строчку, где Divide Clock by 8 Internally [CKDIV8=0] — это включенный предделитель частоты, который делит эти 9.6МГц на 8, и поэтому реальная частота чипа здесь — 1.2МГц. Поэтому при выборе частоты 187.5кГц или меньше, ошибки исчезают и можно работать нормально с контроллером.

Примечание 2. Способ с выбором частоты в KHazame по скорости работы в несколько раз выигрывает у метода с физическим замыканием перемычки JP3, потому как в последнем случае частота понижается до 8кГц.

Интеграция программатора в Atmel Studio 7

Atmel Studio — среда разработки от фирмы Atmel, но напрямую работать с USBASP, тем более китайским, она не может. Однако благодаря той же программе AVRDUDE, входящий в состав пакета AVRDUDE PROG 3.3, которая будет играть здесь роль посредника, можно соорудить «костыль», а уже в самой среде затем добавить возможность прошивать МК, подключенный через USBASP.

Сперва нужно запустить среду, предполагается, что некий код у нас уже написан и собран. В моём примере это простая мигалка светодиодом — Blink.

На верхней панели инструментов выбрать «Tools» — «External Tools…»

Откроется небольшое окно, нажать «Add»

В самом верхнем поле «Title:» ввести любое удобное название, я написал «Atmega168», т.к. та конфигурация, что приведу чуть ниже относится конкретно к этому контроллеру, и для любого другого контроллера она настраивается индивидуально.

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

Вторая строка, поле «Command:» — здесь нужно указать путь до файла «avrdude.exe», который находится в папке с вышерассмотренной программой

Третья строка, поле «Arguments:» необходимо ввести собственно саму конфигурацию

Конфигурация для Atmega168

-p m168 -c usbasp -P usb -U flash:w:$(ProjectDir)Debug\$(TargetName).hex:a

-p — наименование контроллера
-с — какой программатор
-P — порт, через который будет заливаться прошивка
-U — какая операция с какой памятью будет производится (в данном случае запись во Flash)
Если нужно настроить для другого МК, то параметр «m168» нужно изменить на соответствующий контроллер, который будет прошиваться. Например «m8» для Atmega8 или «m328p», если Atmega328p. Параметры для других МК смотрите здесь — также там найдёте описания ключей AVRDUDE.

Конфигурация для ATtiny13

-p t13 -c usbasp -B 3 -P usb -U flash:w:$(ProjectDir)Debug\$(TargetName).hex:a 

Здесь можно заметить уже два изменения: помимо «t13», добавился уже знакомый ключ «-B» со значением «3» для снижения скорости программирования
После заполнения полей нажать «Apply» и «ОК». Окно закроется

Теперь, если снова кликнуть по «Tools», там появится только что созданный инструмент. И по нажатии по нему откомпилированный код будет автоматически прошит в контроллер.

Но эта операция происходит в два клика, что не очень удобно. Надо вынести этот инструмент на главную панель инструментов, чтобы он был всегда на виду.

Для этого нужно снова зайти в «Tools», затем кликнуть по пункту «Customize…»

Откроется следующее окно:

Перейти во вкладку «Commands» — нажать кнопку «Add Command…»

Ещё одно окно появится. В нём — в левой колонке выбрать «Tools», а в правой колонке выделить «External Command 1». Нажать «OK»

«External Command 1» окажется наверху списка, и, обратите внимание на саму панель инструментов — в интерфейсе появился пункт «Atmega168».

Но как мне кажется, место ему отведено не совсем удачное, желательно его сдвинуть вправо, для этого нажимается кнопка «Move Down» (одно нажатие = сдвиг на одну позицию вправо). После этого можно закрывать окно по кнопке «Close» и шить чип прямо из студии в один клик через обозреваемый программатор.

При перепрошивке чипа таким методом, на секунду появляется консольное окно AVRDUDE. Но может возникнуть необходимость как-то сохранить этот лог для дальнейшего его просмотра — тогда в окне «External tools» нужно поставить галку на «Use Output window».

И теперь лог будет отображаться в окне вывода, что внизу программы ATmel Studio 7. Данная галка может задаваться отдельно для каждого добавленного в «External tools» контроллера.

Дополнение по фьюзам программатора

Из документа READMI, идущего в комплекте с драйверами и прошивкой для USBASP, позже выяснилось, что разработчик рекомендует выставить определённую конфигурацию фьюз-битов, определяющих работу внешнего резонатора.
Минусом khazam’ы является то, что в окне со фьюзами не отображаются HEX-значения выставленных битов. Это уже можно посмотреть в AVRDUDE PROG. Заводские фьюзы, выставленные китайцами, выглядят так (обязательно поставить точку «инверсные» — выделил синим прямоугольником):

Как рекомендует выставить разработчик:

HFUSE=0xc9

LFUSE=0xef

Это нужно снять две галки с «BODEN» и «SUT1» (выделено красным овалом),

поставить две галки на «CKOPT» и «SUT0» (выделено зелёным прямоугольником),

справа в колонке при этом будут отображаться HEX-значения изменённых битов (выделено жирным красным прямоугольником): Lock Byte: 3F, Fuse High Byte: C9, Fuse Low Byte: EF.

Если всё сходится, можно нажимать «программирование»

ВНИМАНИЕ. Злой фьюз-бит RSTDISBL — не трогать ни в коем случае, иначе его установка заблокирует контроллер и прошить потом через USBASP его уже будет нельзя.

_____________________________________

Выводы

Опробовано, работает. Если khazam не планируется использовать, то в обновлении прошивки для программатора — смысла нет, благо и так прекрасно работает, причём в случае с ATtiny13 никаких правок и перемычек вносить не требуется. Последняя прошивка — почему-то оказалась более капризна в этом плане. Единственное, после получения, плату надо пропаять и отмыть.

Список ссылок
1) Описание USBASP
2) AVRDUDE PROG 3.3 (форум)
3) Khazama AVR Programmer 1.7
4) Китайская стоковая прошивка (10кб)
5) Архив с прошивками для USBASP и драйверами для Windows — сайт создателя проекта

Программаторы для AVR | avr

Меня часто спрашивают, чем прошивать AVR-ки, поэтому тут решил выложить ссылки на программаторы.


[Программаторы AVR с интерфейсом USB]











AVR-Doper. Программатор, поддерживающий протокол STK500 (это значит, что с ним совместим большой набор утилит для программирования, в том числе AVR Studio и AVRDUDE), может поддерживать последовательное ISP-программирование, а так же высоковольтное HVSP программирование. Прошивает почти все известные чипы AVR. Можно изготовить самому, схема не очень сложная, есть готовые прошивки, исходный код полностью открыт. Для работы под Windows нужен драйвер, который есть в комплекте с исходным кодом.
AVRISP-MkII. Клон одноименного программатора Atmel, также поддерживает протокол STK500. Нет HVSP, но зато кроме ISP, поддерживает интерфейсы TPI и PDI, поэтому может прошивать также более современную серию микроконтроллеров XMEGA. Так же как и AVR-Doper, поддерживается многими популярными программами. Схема очень простая, шьет вообще весь ассортимент AVR (плюс XMEGA), поэтому этот программатор — хороший кандидат на самостоятельное изготовление или покупку. Схема простейшая, исходный код открыт, его можно скомпилировать практически на любой чип AVR с аппаратным интерфейсом USB. Для работы под Windows нужен драйвер, который есть в комплекте с исходным кодом. В качестве утилиты программатора лучше всего использовать AVR Studio версии 4.19.
mkII-slim. Еще один клон того же программатора AVRISP-mkII, для которого разработана печатная плата, так что его можно собрать в домашних условиях. Этот программатор имеет встроенный стабилизатор на 3.3V и позволяет перемычкой переключать напряжение программируемого чипа — 3.3V или 5V.
AVR Dragon. Популярный, не очень дорогой программатор и внутрисхемный отладчик Atmel, его клоны можно найти на eBay по ценам порядка 40 .. 50 долларов. Поддерживается AVR Studio, IAR Embedded Workbench и многими другими популярными средами программирования. Самому изготовить можно даже и не пытаться (исходного кода нет, схемы нет и она сложная, открыт только протокол STK500), но если у Вас есть деньги и желание серьезно заняться программированием — то купить AVR Dragon нужно обязательно. Для работы под Windows нужен драйвер, который устанавливается вместе с AVR Studio.
Atmel AVR JTAGICE mkII. «Тяжелая артиллерия» для программирования и отладки AVR. И ISP-программатор, и внутрисхемный эмулятор (JTAG, debugWIRE) в одном флаконе. Пользуюсь этой штукой давно, и вполне доволен. Работает через COM-порт и по USB. Стандарт де-факто (его понимает даже avrdude), хорош всем, кроме цены. Программы с которыми работает — AVR Studio, консольная штатная прога, avrdude. Поддерживаются интерфейсы отладки debugWire и JTAG, программируется весь ассортимент AVR, но нет поддержки высоковольтного программирования HVSP. Дорогое решение, поэтому рекомендовать для покупки трудно, а повторить самому нереально. Для работы под Windows нужен драйвер, который устанавливается вместе с AVR Studio.
USBasp. По-настоящему «народный» USB-программатор — из-за дешевизны изготовления, простоты схемы и открытых исходников его делают все кому не лень. USBasp стал уже стандартом де-факто и поддерживается большим количеством утилит программирования. Есть множество вариантов изготовления (ссылки смотрите на сайте автора), его также делают на продажу многие компании. Некоторые китайские поделки — клоны USBasp — можно купить на ebay или dealextreme по ценам порядка 4 долларов, однако его качество может оказаться очень плохим, поэтому будьте внимательны. Программатором USBasp поддерживается только интерфейс программирования ISP. Для работы под Windows нужен драйвер (есть на сайте автора). Протокол USBasp применяется для многих USB-бутлоадеров (благодаря открытости и простоте).
USBtinyISP. Полностью открытый проект с исходниками. Имеет 2 ISP-коннектора — на 6 pin и на 10 pin. Используется чип ATtiny2313-20P, схема очень простая.
USB AVR programmer. Не написано, что клон AVR910, но очень похож на него. Сделан на FT232BM и ATtiny2313. Полностью открытый проект — со схемой и исходниками.
AVRminiProg. Он же AVRminiISP, AVRminiJTAG, AVRminiDragon. Если автор не обманывает, то поддерживается программирование и отладка из AVR Studio.
vusbtiny. Наверное самый маленький в мире ISP-программатор с интерфейсом USB, и самый простой. 

[Другие программаторы AVR, подключающиеся через COM и LPT]

Эти программаторы уже не так актуальны сегодня, потому что в компьютерах и особенно в ноутбуках портов COM и LPT уже не встретишь.









STK500. Разработка Atmel (ATSTK500). Подключается через COM-порт, поддерживает ISP и HVSP программирование. Очень серьезный инструмент, однако сегодня уже устарел. Схема и протокол открыты, но исходников firmware нет (firmware поставляется вместе с AVR Studio версий 4.11 build 401 и более поздних, находится в файле Atmel\AVR Tools\STK500\STK500.ebn — его можно напрямую прошить в At90s8535 или Mega8535 программатором наподобие AVR910). Заявлено, что прошивает все чипы Atmel в DIP-корпусах, поддерживает параллельное программирование. Подключается к компьютеру через COM-порт, работает вместе с AVR Studio, поддерживает отладку. Есть также клоны STK500 (некоторые подключаются к USB, так как имеют в себе мост USB-COM). Есть также некоммерческие проекты, например HVProg.
HVProg. Клон STK500, усовершенствованный проект Evertool Мартина Томаса. Совместим с AVR Studio, исходный код и схема открыты.
Serial AVR programmer (AVRProg). Очень простой ISP-программатор, подключающийся к COM-порту. Программа свободная, исходники и схема прилагаются. Есть даже версия,работающая с КПК — http://kazus.ru/forums/showthread.php?t=13574.
PicProg+. Производитель Фитон. Очень качественный программатор, подключающийся через LPT. Кроме AVR, шьет большой ассортимент микросхем и микроконтроллеров. Управляющая программа работает под MS-DOS. Программа К сожалению, авторы проект забросили, и программатор больше не обновляется и не поддерживается. А жаль, продукт был очень хороший.
ChipProg+. Тоже универсальный программатор от Фитона. Более современная версия, есть варианты с подключением по LPT и по USB. Программа управления работает под Windows. На мой взгляд, программа управления сыровата, и по функционалу и удобству уступает доисторической оболочке PicProg+, которая работала на MS-DOS. К сожалению, разработчики наплевательски относятся к вопросам пользователей по эксплуатации программатора, и не обращают внимания на запросы о добавлении поддержки новых чипов. Поэтому лучше этот программатор не покупать.
PonyProg. Весьма популярный и качественный ISP программатор с открытой принципиальной схемой. Подключается по COM и USB через переходник.
UniProF. Программатор «на проводках», очень простой, подключаемый либо к COM, либо к LPT. Схемы как таковой нет, настолько она простая. Работает только со «своей» программой, исходников которой нет.
AVReAl. Утилита программирования, работающая на Windows, Linux и FreeBSD. Программу можно использовать с коммерческой или некоммерческой целью, но её тексты закрыты, т. е. она бесплатна (freeware), но не свободна (free software). Утилита поддерживает одну из разновидностей схем «на проводках», но более продвинутая — позволяет использовать не только LPT-адаптеры, но и USB-адаптеры, сделанные на основе микросхем FT2232C, FT2232L, FT2232D, FT2232H, FT4232H, FT232H. Для получения более подробной информации прогуглите слово AVReAL.

AVR910 совместимые программаторы. AVR910 хорош тем, что поддерживается avrdude, Atmel AVR Studio и CodeVision, а протокол, схема и исходники firmware открыты. Плох тем, что изначально программатор разрабатывался для COM-порта, поэтому для прикручивания к USB нужен чип типа FT232, либо искать схему и прошивку на основе библиотеки V-USB (старое название AVR-USB). Клонов AVR910 расплодилось много. Вот несколько ссылок:

— Программатор микроконтроллеров AVR / 89S совместимый с AVR910 (на основе V-USB. Автор PROTTOSS, чип ATmega8)
— Программатор для AVR (чип ATtiny2313, на основе COM-порта и/или FT232)
— мой порт AVR910 (на основе исходников PROTTOSS) на чип ATmega16. Позволяет на недорогой макетной плате AVR-USB-MEGA16 собрать свой программатор.
— AVR910 — Programmer fur AVR-Prog und avrdude — еще один клон AVR910, список поддерживаемых программ большой — AVR Studio (Windows), AVRProg (Windows), OSP II (Windows), AVR Codevision (Windows), WinAVR GCC (Windows), AVRDUDE (Linux, Windows, Solaris), UISP (Linux), AVR-Prog (Linux), Palm AVR (Palm PDA), AVRP (Linux, Windows, Amiga), BascomAVR (Windows), KontrollerLab (Linux).

STK200+/300 — совместимые программаторы [2]. Позволяют по очень простой схеме собрать программатор, подключаемый через порт LPT. Программатор Kanda Systems STK200/STK300 поддерживается многими оболочками для программирования: IC-Prog, PonyProg, UniProf, CodeVisionAVR C Compiler.

Olimex. Хорошие, недорогие, компактные программаторы и отладчики AVR (с подключением по USB) предлагает компания Olimex [1]. Компания надежная, в Россию высылает быстро.

[Ссылки]

1. Программаторы ISP и JTAG-отладчики компании Olimex.
2. Простейшие программаторы AVR, статья на radiokot.ru и на eldigi.ru.

Простой серийный программатор AVR для начинающих

Какой дешевый и хороший способ сделать последовательный (RS232) программатор для AVR atMega и atTiny? В интернете есть несколько схем, но какая из них лучше?

Я хотел бы иметь возможность программировать свой контроллер с Linux и Windows с помощью некоторых стандартных инструментов.

embedded

avr

circuit

Поделиться

Источник


Andrew T    

25 сентября 2008 в 06:59

6 ответов


  • простой запрос AJAX для начинающих

    Я пытаюсь найти какой-то очень простой запрос AJAX для начинающих, и я не нашел ничего, кроме небольших частей кода, которые не работают… Ну, может кто-нибудь помочь мне и сказать, что здесь не так? Моя клиентская часть: <form method=GET action= id=f> <label for=name>Your name:…

  • Не могу запрограммировать Arduino 328P после первого использования ICSP Sparkfun AVR Pocket Programmer

    Мне нужно было изменить свое коричневое выходное напряжение на 4.3V с Arduino по умолчанию. Я купил у Sparkfun карманный программатор AVR и подключился в соответствии с инструкциями. У меня есть Arduino 328P с cc3000 wifi shield. Все работало отлично до смены предохранителя ICSP. Мои настройки…


Поделиться


flamingLogos    

25 сентября 2008 в 07:36



2

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

Некоторое время я не пользовался версией программного обеспечения linux, но версия windows, казалось, делала все, что нужно.

Поделиться


Andrew Edgecombe    

25 сентября 2008 в 07:12



1

http://onlinetps.com/shop/index.php? main_page=product_info&cPath=65&products_id=188
этот программатор AVR последовательного порта представляет собой ключ последовательного порта, совместимый с PonyProg и другим программным обеспечением программирования. Он не требует никакого внешнего источника питания; он берет питание от вашей целевой платы. Ключ подключается к вашему PC через стандартный последовательный порт DB9
Информация:

Этот программатор AVR последовательного порта является самым недорогим программатором AVR на рынке. Он работает с отличным бесплатным программным обеспечением для программирования AVR — Pony-Prog вы всегда можете посмотреть список поддерживаемых устройств по этой ссылке, поскольку он растет с каждым месяцем.

Поддерживаемое Устройство

ATmega103, ATmega161, ATmega163, ATmega 323, ATmega128, ATmega8, ATmega16, ATmega8L, ATmega16L, ATmega64, ATmega32,ATmega64L, ATmega32L, ATmega162, ATmega169, ATmega8515, ATmega8535, ATtiny12, ATtiny15, ATtiny26, ATtiny2313,ATtiny13, 25, 45, 85, 261, 461
И многое другое……….

Поделиться


Unknown    

26 августа 2009 в 06:32


  • AVR JTAGICE mkII

    Оригинальный программатор Atmel jtag стоит $300. http:/ / www.atmel.com/dyn/products/tools_card_v2. asp?tool_id=3353 http://search.digikey.com/скрипты/DkSearch/dksus.dll?сайт=us&lang=en&mpart=ATJTAGICE2 Какой клон вы мне порекомендуете? Являются ли они клонами 100%? (работа с avr studio,…

  • Приложение AVR windows

    Я хотел бы сделать приложение Windows, которое получает файл .hex и затем загружает его в AVR microcontroller (в моем случае ATmega88p) через программатор (например, Pocket AVR Programmer или аналогичный) . Мне нужно иметь возможность отправить новый файл .hex в приложение, но приложение не должно…



1

Если usb можно использовать, то я действительно не думаю, что оригинальный программатор (AVR ISP mkII ) стоит так дорого, цена сегодня была около 34$.

Поделиться


Johan    

20 марта 2009 в 06:24



1

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

Поделиться


XTL    

07 мая 2012 в 06:16


Поделиться


Artem Markov    

27 февраля 2012 в 20:35


Похожие вопросы:

Сообщение об ошибке в AVR studio4

Недавно я купил программатор AVR USB от robokits.co.in, пытался программировать atmeg8 с помощью AVR studio4 и получаю следующее, когда нажимаю на параметры программы: при выполнении команды…

Использование Eclipse с AVRDude

Я пытаюсь запрограммировать свой Arduino через Eclipse (потому что Eclipse-самый простой IDE для начинающих), но, по-видимому, когда я иду обновлять свой программатор в Eclipse для AVRDude, это…

Можно ли использовать программатор AVR для программирования микроконтроллера MSP430?

Можно ли использовать программаторное устройство AVR (которое поддерживает подключение JTAG & к PC через USB) для программирования MSP430 MCU с помощью его интерфейса JTAG? Если нет, то почему…

простой запрос AJAX для начинающих

Я пытаюсь найти какой-то очень простой запрос AJAX для начинающих, и я не нашел ничего, кроме небольших частей кода, которые не работают… Ну, может кто-нибудь помочь мне и сказать, что здесь не…

Не могу запрограммировать Arduino 328P после первого использования ICSP Sparkfun AVR Pocket Programmer

Мне нужно было изменить свое коричневое выходное напряжение на 4.3V с Arduino по умолчанию. Я купил у Sparkfun карманный программатор AVR и подключился в соответствии с инструкциями. У меня есть…

AVR JTAGICE mkII

Оригинальный программатор Atmel jtag стоит $300. http:/ / www.atmel.com/dyn/products/tools_card_v2. asp?tool_id=3353…

Приложение AVR windows

Я хотел бы сделать приложение Windows, которое получает файл .hex и затем загружает его в AVR microcontroller (в моем случае ATmega88p) через программатор (например, Pocket AVR Programmer или…

Базовый makefile для arduino с использованием avr-gcc

Я хотел бы сделать makefile для компиляции программ c для arduino. Я немного знаком с make, но никогда не использовал его с avr-gcc. Каков самый простой способ поместить приведенные ниже команды в…

Проблема программирования AVR SPI

Я пытаюсь запрограммировать ATtiny13A с avrdude , используя программатор Olimex AVR-ISP500, через 6-контактный разъем ICSP. Однако я не могу заставить его общаться с моим MCU. Руководство…

Серийный номер программного обеспечения в avr

Мне нужно два RX и два TX pin-кода в моей программе. В arduino с SoftwareSerial легко могу сделать несколько RX и TX. как сделать это в avr(сделать два порта rx и два порта tx)?¿?

Топ-10 лучших программаторов и дебаггеров с Алиэкспресс

В жизни любого радиолюбителя наступает момент, когда собранный своими руками программатор хочется заменить на что-то купленное и с бОльшими возможностями. Или расширить номенклатуру совместимых кристаллов. На Алиэкспресс можно найти огромный ассортимент универсальных программаторов и готовые адаптеры для установки микросхем памяти и контроллеров. В подборке будут интересные модели для AVR (ATMega/ATTiny), для PIC, STM8/STM32, для EEPROM, для Zigbee контроллеров и адаптеры.

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

Внутрисхемный отладчик CC Debugger за $7.65

 Все больше становится доступного программного обеспечения, с помощью которого можно настраивать по себя различные модули и устройства. А конкретно, CC-Debugger может использоваться для программирования и отладки систем на базе 8051, например, модулей CC2531, на базе которых производятся гаджеты для умного дома и «интернета вещей». Работает с программным обеспечением IAR и SmartRF Studio.

 

Недорогой USB Zigbee трансмитер-снифер СС2531

Хороший пример использования предыдущего отладчика CC-Debugger — это заливка адаптированной прошивки в компактный USB донгл для сети Zigbee. С помощью модифицированного Zigbee трансмиттера можно привязывать устройства в свою сеть, создавать собственные Zigbee-мосты, анализировать протоколы датчиков и так далее.

 Универсальный программатор AVR USBASP

 Один из лучших программаторов для AVR — это классический  USBASP, компактный и универсальный программатор, для загрузки программного обеспечения через интерфейс ISP. В комплекте есть кабель для загрузки через ISP на 10 контактов. Подходит не только для семейства ATMEGA8, но и для новых ATMEGA128. Работает в Win7.

 Дешевый ПРОГРАММАТОР AVR USBASP

А это еще один вариант USB ISP программатора для AVR (семейства ATMega и ATTiny). В отличие от предыдущего имеет выбор питания кристалла (5V или 3.3V джампером), а также в два раза меньшую стоимость. Интерфейс для программирования ISP, но есть смысл воспользоваться отдельным адаптером с ISP10 на ISP6 для удобства работы с компактными отладочными платами Arduino.

 

 Универсальный программатор Ch441A

Устройство представляет собой полноценный uart-мост и эмулятор последовательного порта. Предназначен для прошивки микросхем памяти (24 EEPROM и 25 SPI flash 8pin/16pin) и микроконтроллеров по spi (AVR, PIC, Singlechip STC). Подходит для восстановления флэш-памяти BIOS USB. Для работы с контроллерами Атмел используется программное обеспечение AVR Ch441A или AVRDUDE

Программатор-отладчик ST-LINK

Для работы с устройствами от STMicroelectronics рекомендую использовать программатор ST LINK. По ссылке версия ST-Link V2, который подходит для чипов семейств STM8 и STM32. Удобен для загрузки встроенного программного обеспечения на контроллер прямо в составе схемы, а также для отладки работы и поиска ошибок. В комплекте есть 4-pin кабель. Цена смешная — полтора бакса.

 

 

Программатор и SWD адаптер J-Link

А вот если нужен адаптер посерьезнее, то есть смысл посмотреть недорогой программатор SWD, который совместим со всеми функциями J-Link. В данной модели интерфейс упрощен до четырех линий: VCC, SWDIO, SWCLK, GND. Но, по сравнению с обычными, этот вариант быстрый и эффективный. Подключается через MicroUSB, корпуса, увы, не предусмотрено. Цена всего 2 бакса. 

 

Программаторы  PICKIT версий 2/3/3.5

Один из лучших  USB программаторов для PICmicro контроллеров и ключей KeeLOQ производства компании Microchip Technology. В лоте на выбор есть модели: PICKIT3, PICKIT2 или PICKIT 3,5. Лучше брать последние версии устройства. В комплекте идет плата расширения с ZIF-сокетом (PIC ICD2). Полный схемотехнический аналог фирменного программатора PICKIT 3 компании Microchip.

 

 Универсальный USB SPI программатор EZP2019

Новейшая версия универсального USB программатора EZP2019 с высокоскоростным интерфейсом SPI с большим набором адаптеров для EEPROM, клипсами и диском с программным обеспечением. Этот вариант несколько лучше дешевого программатора Ch441A. Является усовершенствованной версией программаторов EZPO2010/EZP2013. В комплекте есть все необходимое для работы.

 

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

 

 

USB программатор AVR — USBAsp

Вид сверху

!!! ЭТЕНШН !!!
Появилась схема USB программатора которая НЕ требует предварительной прошивки управляющего микроконтроллера.

Так как у многих уже давным давно нет ни COM ни LPT порта, то я решил выложить схему USB программатора для AVR. Это будет широко известный в узких кругах USBASP. Схема простая как три копейки, но COM или LPT порт все же потребуется — для того, чтобы прошить управляющий контроллер. Так что можешь сходить к другану. Программатор строится на контроллере ATMega48 или ATMega8. Нужна именно 8 или 48, без всяких индексов L. Так как у нас требуется частота выше чем 8 Мгц.

Сборка

Так как я стараюсь не выкладывать непроверенные решения, то я повторил этот программатор. Чисто для себя, поприколу. Подобрал наиболее компактную схему и перевел ее в формат Sprint Layout. Изготовил печатную плату, стравил. Засверловал и напаял компоненты. Микросхему рекомендую ставить на панельку.

Прошивка программатора
Далее замыкаем перемычку J1 и J2 и подключаем к разьему стандартный последовательный программатор, да хоть тот же программатор Громова. Программатор должен иметь свое питание, иначе нужно подать его на схему.

И заливаем в проц прошивку. Для ATMega8 одна прошивка, для ATmega48 другая. Дальше нужно выставить биты конфигурации.

Для ATMega48:
Старший байт FUSE выставляется как 0хDD, младший 0xFF. На картинке я привел скриншот из UniProf с правильно расставлеными битами конфигурации для контроллера ATMega48.

Если применяется контроллер ATmega8, то байты FUSE таковы:
Старший 0xC9, младший 0xEF

Настройка в работу
После прошивки нужно снять перемычку J1 и все, можно втыкать в комп. Сразу же должно обнаружитсья USB устройство. Скармливаем ему дрова и у нас в системе появляется новый девайс — USBAsp. Если система ругается на драйвера, говорит, что это не драйвер, а фуфел какой то. Значит контроллер либо криво прошился, либо ты забыл снять перемычку J1.

Перемычка J3 используется для прошивки контроллеров у которых частота не превышает 1.5 МГц. Я ее поставил, без нее у меня мега 8 не хотела определяться. Потом подправил меге Fuse биты, чтобы она заработала на 8 Мгц, перемычку не снял, но работает. Слышал, что подправили и теперь перемычку можно не дергать туда сюда.

Красный светодиод показывает, что программатор подключен к USB и запитан. Зеленый, что идет обращение к прошиваемому контроллеру.

Прошивающий софт
Все, теперь можно подключать к программатору провод и тыкать им в прошиваемые контроллеры.
Единственная софтина которая поддерживает этот программатор это AVR-чувак, она же дудка, она же AVRDUDE. Мощнейший консольный программатор. Не стоит пугаться его консольности, во первых батники никто не отменял, а во вторых не него существует несколько оболочек.

ВНИМАНИЕ! В той GUI оболочке что находится в архиве ИНВЕРСНЫЕ FUSE!!! То есть если в даташите написано, что дефолтные SCKEL3..0 = 0100 то тут будет показан 1011!!! Короче, как в PoniProg. Чего эти утырки так вертят эти несчастные FUSE я понять не могу, хоть бы предупреждали, а то бы залочил кристалл нахрен.

Вот, пример командной строки для прошивки через USBAsp — Записываем main.hex во флеш ATmega8:

   avrdude -c usbasp -p atmega8 -U flash:w:main.hex

В архив usbasp.rar я сложил все файлы необходимые для этого программатора:

  • Прошивка для ATMega 48 и ATMega 8
  • Драйвер для винды
  • Схема
  • Печатная плата в формате Sprint Layout
  • Фотки
  • AVRDUDE
  • GUI к AVRDUDE

UPD:
Для тех у кого вдруг пишет, что архив битый, я выложил то же самое в ZIP —USBASP.ZIP

Проверено — работает! Пользуйтесь 🙂

Страничка автора USBASP — там обновления прошивок, драйверов и варианты разводок плат.

Страничка разработчика GUI оболочки для AVRDude

!!!WARNING!!!
Тут появилась подтвержденная инфа, что новая прошивка (с оригинального сайта автора) может не работать на некоторых компах. У меня в архивах лежит старая прошивка, от 2007 или даже 2006 года. Она может не работать на самых новых компах. Короче, не работает — попробуй другую версию прошивки. С сайта автора или из моего архива.

З.Ы.
Также существует программатор AVR910, работающий также через USB и имеющий практически идентичную конструкцию. Чем он лучше/хуже я не знаю. Но можете попробовать сделать его. А я в скором времени выложу описание изготовления и использования JTAG адаптера для внутрисхемной отладки AVR.

USBasp Программатор — USB программатор для микроконтроллеров Atmel AVR

USBasp Программатор — USB Программатор микроконтроллеров AVR USBASP позволит радиолюбителю получить простой, компактный и надежный программатор всех AVR (ATMEL) микроконтроллеров с режимом последовательного программирования ISP. Этот недорогой и надежный USB программатор поддерживает прошивку всего семейства ATmega и ATtiny микроконтроллеров AVR компании ATMEL. Программатор AVR USBASP подключается к USB-порту персонального компьютера или ноутбука, что очень актуально, т.к. COM-порт для программатора существует далеко не на всех современных компьютерах, и тем более на ноутбуках. Использование USB программатора avr микроконтроллеров и его функции внутрисхемного программирования ISP дают возможность быстро и многократно перепрограммировать ваше микроконтроллерное устройство в собранном виде, не отключая его питания. При этом процесс отладки программы в микроконтроллере AVR с помощью данного программатора заметно упрощается, сокращается затрачиваемое на это время

Технические характеристики USB программатора AVR:

  • Напряжение питания программатора:                                 5 В (по USB)

  • Интерфейс подключения программатора к ПК:                   USB

  • Интерфейс подключения программатора к AVR:                  ISP (внутрисхемное программирование)

  • Программатор совместим с  OS:                                           Windows 98 / 2000 / XP / Vista / 7 / Linux

  • Габаритные размеры программатора:                                  54 х 25 x 9 мм

Список поддерживаемых AVR микроконтроллеров: 

AVR Программатор USBASP поддерживает все микроконтроллеры ATMEL с режимом последовательного программирования ISP (In System Programming), это все микроконтроллеры у которых есть порт SPI (Serial Peripheral Interface):

AT90S2313, AT90S2333, AT90S2343, AT90S4414, AT90S4433, AT90S4434, AT90S8515, AT90S8535, AT90CAN128, AT90CAN32, AT90CAN64, ATmega103, ATmega128, ATmega1280, ATmega1281, ATmega1284P, ATmega128RFA1, ATmega16, ATmega161, ATmega162, ATmega163, ATmega164, ATmega164P, ATmega168, ATmega168P, ATmega169, ATmega16U2, ATmega32, ATmega324P, ATmega325, ATmega3250, ATmega328P, ATmega329, ATmega3290, ATmega329P, ATmega3290P, ATmega32U2, ATmega32U4, ATmega48, ATmega64, ATmega640, ATmega644P, ATmega644, ATmega645, ATmega6450, ATmega649, ATmega6490, ATmega8, ATmega8515, ATmega8535, ATmega88, ATmega88P, ATmega8U2, AT90PWM2, AT90PWM2B, AT90PWM3, AT90PWM3B, ATtiny10, ATtiny13, ATtiny15, ATtiny2313, ATtiny25, ATtiny26, ATtiny261, ATtiny4, ATtiny4313, ATtiny44, ATtiny45, ATtiny461, ATtiny5, ATtiny84, ATtiny85, ATtiny861, ATtiny88, ATtiny9, ATmega1286, ATmega1287, ATmega162, ATmega647, ATmega647, ATmega82… 

Комплектация AVR программатора USBASP: 

  1. USB Программатор AVR микроконтроллеров USBASP

  2. Шлейф для подключения к программируемой плате, с двумя разъемами IDC10

 

Простейший программатор USB AVR — схемы DIY

У меня нет настольного компьютера с устаревшими портами, и я не люблю идти к другу домой каждый раз, когда мне нужно что-то загрузить на AVR. Я спросил себя: «Как я могу собрать простой diy avr USB-программатор ?» .

Ну, вообще-то я спросил у Google, и ответ был Usbtiny. Ниже я описываю своего упрощенного программатора Usbtiny.

По сути, это чрезвычайно урезанная версия UsbTinyISP от Ladyada. Когда я приступил к сборке v2.О программист, я сначала сделал его на макетной плате, и все работало отлично, и он мог хорошо выполнять свою работу. Далее я начал удалять корешей .

Во-первых, я удалил буфер 74HC125 и дал прямое программирование цели, и это действительно сработало. Затем я удалил несколько резисторов и конденсаторов и оставил только самые необходимые.

Я преобразовал разъем ISP и USB-разъем в контактные разъемы, и после выполнения работы остался с основной микросхемой Attiny2313, одним кристаллом 12 МГц и четырьмя резисторами.Похоже на версию 1.0 Usbtiny, но в ней еще меньше деталей. Usbtiny v2.0 состоит всего из 17 отдельных частей, за исключением разъемов, а Usbtiny v1.0 состоит из 15 отдельных частей. В моей модифицированной версии 6 дискретных деталей (менее 40%),

  1. Attiny2313 основная микросхема
  2. , кристалл, 12 МГц
  3. Подтяжной резистор 3,3 кОм сброса
  4. 1.5K D- подтягивающий резистор
  5. Шинный резистор USB 2x 68R.

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

Я настроил расположение выводов заголовка ISP в соответствии с нужной мне последовательностью. Это VCC-GND-MISO-MOSI-SCK-RST.
Я использовал его для программирования Attiny2313, Atmega8, Atmega32, все работало нормально. В схеме нет ни фильтрующего конденсатора, ни заземляющих конденсаторов на 18-22 пФ для кристалла, но все исправно.

Я сильно урезал оборудование и удалил два светодиода, которые были для
1. Программирование: конечно, я знаю, когда я программирую, поэтому светодиод
не нужен, и
2. USB OK: если устройство не инициализировано правильно и подключенный к USB, я получаю сообщение об ошибке от avrdude как «Ошибка : не удалось найти устройство USBtiny (0 × 1781 / 0xc9f) », зачем тогда нужен светодиод.

Затем я подумал о минимизации программы, но потом подумал, что в этом нет необходимости.Прошивка размером 2046 байт плотно умещается в 2048 байт пространства Attiny2313. Сокращение кода позволит разместить его на меньшем пространстве, но это пространство никогда не пригодится ни в одном пользовательском проекте. Поэтому я выбрал прошивку v2.0 по умолчанию.

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

Инструкция по программированию для загрузки прошивки на Attiny2313

  1. Загрузите драйвер USB, а также прошивку для v2.0 с сайта Ladyada.
  2. Запишите прошивку с помощью AVRdude или PonyProg и установите плавкие вставки в качестве примера
     avrdude -c stk200 -p t2313 -U hfuse: w: 0xdf: m -U lfuse: w: 0xef: m 

Справочный источник: Ladyada and Instructables.

Обновление

: дизайн печатной платы и финальная версия

Комментарии к этой статье до 07-12-2011 , здесь переход к последним комментариям.

Простой программатор AVR


Это простой в сборке программатор AVR для микроконтроллеров Atmel из семейства AVR.Микроконтроллеры должны поддерживать последовательное программирование. Программатор AVR подключается к ПК через последовательный интерфейс RS232 и может использоваться с программатором PonyProg или Avrdude. Программатор AVR довольно прост и основан на SI-Prog от автора программного обеспечения PonyProg.

Программатор AVR можно использовать для программирования Attiny13, Attiny26, Attiny2313, Atmega48, Atmega88, Atmega168, Atmega16, Atmega8, и он работает очень хорошо. Я также использую программатор с настольным компьютером, ноутбуком, с адаптером USB-to-RS232 и без него, и он работает во всех случаях.

Стабилитроны D2, D3 с резисторами R2, R3 снижают напряжение с выходных контактов DTR, RTS на последовательном порту примерно до 5 В, что подходит для микроконтроллера (MOSI, SCK). Сигнал MISO подключается непосредственно к входному выводу CTS. Стабилитрон D1 с резистором R1 управляет NPN-транзистором T1, который управляет сигналом сброса.Микроконтроллеры AVR сбрасываются при низком уровне сигнала. Резистор R5 работает как подтягивающий для сигнала сброса. Резистор R4 помогает закрыть транзистор Т1. У программатора стандартный 10-контактный разъем.

Внимание:

Транзистор T1 должен быть в положении, противоположном изображенному на монтажной схеме.

Пожалуйста, проверьте положение базы-коллектор-эмиттер на вашем транзисторе.

Использование PonnyProg2000:

Если вы хотите запрограммировать свой микроконтроллер с помощью PonnyProg2000, вам необходимо настроить программу, как вы можете видеть на следующем рисунке.Вам необходимо выбрать выбранный COM-порт, к которому подключен ваш программатор.

Настройка порта ввода-вывода Ponyprog

Использование Avrdude:

Если вы хотите запрограммировать свой микроконтроллер с помощью Avrdude, вы должны выбрать ключевое слово «ponyser» в качестве типа программатора и соответствующего COM-порта. Я использую этот метод для программирования своего микроконтроллера непосредственно из Atmel AVRstudio, когда я отлаживаю свое приложение. Я создаю командный файл с командой для avrdude и вызываю командный файл прямо из панели инструментов.Это очень быстро и просто. Avrdude также является частью пакета WinAVR.

Программирование микроконтроллеров с помощью avrdude

Программирование уменьшения заголовка:

Иногда вам нужно запрограммировать микроконтроллер в приложении, где только 6-контактный заголовок вместо 10-ти контактов. Для этого я создал небольшой переходник. Адаптер имеет 10-контактный разъем, 6-контактный разъем и 6-контактный разъем в одной строке. Заголовок с 6 контактами в линию полезен, когда вы хотите вывести сигналы на макетную плату.

Схема программной редукции заголовка

С помощью этого оборудования вы сможете легко программировать микроконтроллеры AVR.


Загрузки


Простой программатор AVR — Ссылка


Accurate LC Meter

Создайте свой собственный Accurate LC Meter (измеритель индуктивности емкости) и начните создавать свои собственные катушки и индукторы.Этот LC-метр позволяет измерять невероятно малые индуктивности, что делает его идеальным инструментом для изготовления всех типов ВЧ-катушек и индукторов. LC Meter может измерять индуктивность от 10 нГн до 1000 нГн, 1 мкГн — 1000 мкГн, 1 мГн — 100 мГн и емкости от 0,1 пФ до 900 нФ. Схема включает автоматический выбор диапазона, а также переключатель сброса и обеспечивает очень точные и стабильные показания.

PIC Вольт-амперметр

Вольт-амперметр измеряет напряжение 0-70 В или 0-500 В с разрешением 100 мВ и потребление тока 0-10 А или более с разрешением 10 мА.Счетчик является идеальным дополнением к любым источникам питания, зарядным устройствам и другим электронным проектам, в которых необходимо контролировать напряжение и ток. В измерителе используется микроконтроллер PIC16F876A с ЖК-дисплеем с подсветкой 16×2.

Частотомер / счетчик 60 МГц

Частотомер / счетчик измеряет частоту от 10 Гц до 60 МГц с разрешением 10 Гц. Это очень полезное стендовое испытательное оборудование для тестирования и определения частоты различных устройств с неизвестной частотой, таких как генераторы, радиоприемники, передатчики, функциональные генераторы, кристаллы и т. Д.

1 Гц — 2 МГц XR2206 Функциональный генератор

1 Гц — 2 МГц Функциональный генератор XR2206 выдает высококачественные синусоидальные, квадратные и треугольные сигналы с высокой стабильностью и точностью. Формы выходных сигналов могут модулироваться как по амплитуде, так и по частоте. Выход 1 Гц — 2 МГц Функциональный генератор XR2206 может быть подключен непосредственно к счетчику 60 МГц для точной настройки выходной частоты.

BA1404 HI-FI стерео FM-передатчик

Будьте в прямом эфире со своей собственной радиостанцией! BA1404 HI-FI стерео FM-передатчик передает высококачественный стереосигнал в FM-диапазоне 88–108 МГц.Его можно подключить к любому типу стереофонического аудиоисточника, например iPod, компьютеру, ноутбуку, проигрывателю компакт-дисков, Walkman, телевизору, спутниковому ресиверу, магнитофонной кассете или другой стереосистеме для передачи стереозвука с превосходной четкостью по всему дому, офису, двору или палаточный лагерь.

USB IO Board

USB IO Board — это крошечная впечатляющая маленькая плата разработки / замена параллельного порта с микроконтроллером PIC18F2455 / PIC18F2550.Плата USB IO совместима с компьютерами Windows / Mac OSX / Linux. При подключении к плате ввода-вывода Windows будет отображаться как COM-порт RS232. Вы можете управлять 16 отдельными выводами ввода / вывода микроконтроллера, отправляя простые последовательные команды. Плата USB IO получает питание от порта USB и может обеспечить до 500 мА для электронных проектов. Плата USB IO совместима с макетной платой.

ESR Meter / Capacitance / Inductance / Transistor Tester Kit

ESR Meter Kit — удивительный мультиметр, который измеряет значения ESR, емкость (100 пФ — 20000 мкФ), индуктивность, сопротивление (0.1 Ом — 20 МОм),

проверяет множество различных типов транзисторов, таких как NPN, PNP, полевые транзисторы, полевые МОП-транзисторы, тиристоры, тиристоры, симисторы и многие типы диодов.

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

Комплект усилителя для наушников для аудиофилов

Комплект усилителя для наушников для аудиофилов включает в себя высококачественные компоненты аудиосистемы, такие как операционный усилитель Burr Brown OPA2134, потенциометр регулировки громкости ALPS, разветвитель шины Ti TLE2426, фильтрующие конденсаторы Panasonic FM со сверхнизким ESR 220 мкФ / 25 В, Высококачественные входные и развязывающие конденсаторы WIMA и резисторы Vishay Dale. Разъем для микросхем 8-DIP позволяет заменять OPA2134 на многие другие микросхемы двойных операционных усилителей, такие как OPA2132, OPA2227, OPA2228, двойной OPA132, OPA627 и т. Д.Усилитель для наушников достаточно мал, чтобы поместиться в жестяной коробке Altoids, и благодаря низкому энергопотреблению может питаться от одной батареи на 9 В.

Комплект прототипа Arduino

Прототип Arduino — это впечатляющая плата для разработки, полностью совместимая с Arduino Pro. Он совместим с макетной платой, поэтому его можно подключить к макетной плате для быстрого прототипирования, и на обеих сторонах печатной платы имеются выводы питания VCC и GND.Он небольшой, энергоэффективный, но настраиваемый с помощью встроенной перфорированной платы 2 x 7, которую можно использовать для подключения различных датчиков и разъемов. Arduino Prototype использует все стандартные компоненты со сквозными отверстиями для легкой конструкции, два из которых скрыты под разъемом IC. Плата оснащена 28-контактным разъемом DIP IC, заменяемым пользователем микроконтроллером ATmega328 с загрузчиком Arduino, кристаллическим резонатором 16 МГц и переключателем сброса. Он имеет 14 цифровых входов / выходов (0-13), из которых 6 могут использоваться как выходы ШИМ и 6 аналоговых входов (A0-A5).Эскизы Arduino загружаются через любой USB-последовательный адаптер, подключенный к 6-контактному гнезду ICSP. Плата питается напряжением 2-5 В и может питаться от аккумулятора, такого как литий-ионный элемент, два элемента AA, внешний источник питания или адаптер питания USB.

4-канальный беспроводной радиочастотный пульт дистанционного управления с частотой 433 МГц, 200 м

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

Создайте свой собственный, сверхпростой, универсальный программатор AVR !! — Блог о встроенной электронике

В этом посте мы увидим, как сделать свой собственный, сверхпростой и универсальный программатор AVR.Могут быть построены два типа программаторов AVR:

1) Параллельный порт
2) Последовательный порт


Программатор последовательного порта (ссылка: At-Prog) показан здесь. Основное преимущество использования последовательного порта в том, что длина кабеля может достигать 2 м. Вы можете использовать программное обеспечение PonyProg2000 для программирования вашего AVR с помощью этого программатора. Последовательный порт генерирует + — 12 В на своих выводах, поэтому диоды и стабилитрон используются для ограничения +12 В до + 5,0 В (4,7 В из-за стабилитрона + 0,3 В из-за bat85) и от -12 В до -0,3 В (из-за более низкого напряжения Bat85. ).Вы можете заменить Bat85 на 1n4148, однако это не рекомендуется, потому что этот диод будет зажимать +12 В и -12 В до + 5,4 В и -0,7 В, что нежелательно в соответствии с таблицей данных микроконтроллера. Дело не в том, что микро сгорит, если использовать диоды 1N4148, но зачем рисковать !!

СХЕМА:

ПЕРЕЧЕНЬ КОМПОНЕНТОВ:

1) Резисторы 1K, 1/4 Вт 4
2) Конденсаторы 27пФ, диск 2
1 мкФ, электролитический 2
3) Кристалл 4 МГц ИЛИ 8 МГц 1
4) Регулятор напряжения 7805 1
5) Разъем D9 Женский 1
6) Диод Бат85 8
7) Стабилитрон 4.7V 1
8) Сетка PCB 3 ″ x 3 ″
9) Соединительные провода

примерная стоимость: 90

рупий

НАСТРОЙКА И ИСПОЛЬЗОВАНИЕ PONYPROG2000:

  1. Все шаги такие же, как описано в разделе программатора параллельного порта, однако на третьем шаге выполните следующие настройки: выберите «последовательный», из списка выберите «SI prog I / O», выберите «COM1» (обычно последовательный порт находится на COM1 , если на вашем компьютере несколько последовательных портов, будут активны несколько параметров.Выберите подходящий, если знаете, иначе выполните метод проб и ошибок), отметьте «Инвертировать сброс». Щелкните по ОК.

Примечание: это уже устарело! Эта информация была сохранена здесь только для устаревших целей. Вместо этого используйте программатор на базе последовательного порта .

На следующей принципиальной схеме показан сверхпростой микроконтроллер AVR (ИСТОЧНИК: неизвестен). Для этого требуется очень мало компонентов, и его очень просто построить на матричной печатной плате общего назначения. Вы можете использовать программное обеспечение PonyProg2000 для программирования вашего AVR с помощью этого программатора.

СХЕМА:

ПЕРЕЧЕНЬ КОМПОНЕНТОВ:

1) Резисторы 220 Ом, 1/4 Вт 4
2) Конденсаторы 27пФ, диск 2
1 мкФ, электролитический 2
3) Кристалл 4 МГц ИЛИ 8 МГц 1
4) Регулятор напряжения 7805 1
5) Разъем D25 Наружный 1
6) Печатная плата с сеткой 3 ″ x 3 ″
7) Соединительные провода

примерная стоимость: 55

рупий

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

SNAPS:

На следующей фотографии показан программатор, который я сделал для микроконтроллеров AVR на 40 и 20 контактов. Контакты MISO, MOSI, SCK, RESET, X1, X2, VCC и GND 40-контактного и 20-контактного разъемов соединены вместе.

НАСТРОЙКА И ИСПОЛЬЗОВАНИЕ PONYPROG2000:

  1. Открыть PonyProg2000
  2. Выберите меню: Настройка> Настройка интерфейса
  3. Выберите «параллельно», в раскрывающемся списке выберите «Avr isp i / o», выберите «LPT1».Щелкните ОК.
  4. Теперь выберите меню «Настройка»> «Калибровка». В появившемся диалоговом окне нажмите ДА.
  5. Теперь PonyProg2000 настроен и готов к использованию.
  6. Чтобы записать файл .Hex в micro, выберите File> Open Program (FLASH) file.
  7. Выберите соответствующий микроконтроллер из списка устройств вверху справа. например>
  8. Подключите ваш программатор ckt к ПК, затем поместите ваш микроконтроллер в программатор ckt и включите его питание.
  9. Теперь щелкните обведенный значок:
  10. Когда устройство будет запрограммировано, вы получите сообщение «Программа успешно завершена».

• Принципиальные схемы, показанные выше, являются общими и подходят для любого микроконтроллера AVR, который поддерживает ISP (почти все AVR, вы можете обратиться на www.atmel.com).
• Подключите контакты (например, MISO, MOSI и т. Д.) AVR к соответствующим точкам показано на принципиальной схеме.
• Вы можете создать программатор для более чем одного устройства AVR, используя разные разъемы IC для каждого устройства и выполняя соответствующие соединения всех вышеперечисленных сигнальных линий (MISO, MOSI, SCK, RESET, X1, X2) и Vcc, Gnd каждого AVR.
• Предпочитайте использовать гнездо ZIF с основанием IC (см .: Как использовать гнездо ZIF в цепи без повторного сверления отверстий на печатных платах).Хотя это немного дорого, но оказывается чрезвычайно полезным.

[Всего: 7 Среднее: 3,1 / 5]

Нравится:

Нравится Загрузка …

Связанные

Руководство программиста AVR | USB-провайдер и портативный программатор AVR

Руководство программиста USB AVR

АВРИСП-У AVRUSB AVRISP MKII AT-ATMELICE Портативный
Автономный графический интерфейс Есть Есть Да (погрузчик)
Atmel Studio Есть Есть Есть
JTAG Есть Есть Есть
ATxmega Да (PDI) Да (JTAG) Да (PDI)
Целевая мощность Есть Есть
ДВС Да (JTAG / DebugWire / UPDI)
Обсаженный Есть Есть Есть Есть
DLL Есть
> 1 на ПК Есть 1 загрузчик, много программистов
Старый AT90S Некоторые Есть Есть
Целевой интерфейс 6- и 10-ходовой 10-ходовой (доступен 6-ходовой) 6-ходовой 6- и 10-ходовой 10-канальный и JTAG
Командная строка Есть НЕТ

Различные типы

Разработка AVR
Наборы ISP и ICE на основе Studio, такие как AVRDragon, AVRISP-MKII и JTAGICE .Плюс платы, включая STK200 и другие учебные комплекты.

Производственные программисты
Программисты AVR для малых и средних предприятий
производство, такое как недорогой USB ISP и Advanced AVR JTAG
с автономным графическим интерфейсом, командной строкой и параметрами DLL

Автономные программаторы
Брелоки и портативные портативные устройства
для простых, безошибочных, производственных и полевых обновлений.Самые простые агрегаты на рынке.

Руководство программиста портативной и автономной версии

Наши популярные брелоки и портативные устройства идеально подходят для нетехнических пользователей.
После загрузки с ПК их можно брать с собой куда угодно для использования в сложных условиях, например
кухни или прачечные. Цель программируется одним нажатием кнопки, включая данные,
предохранители и замки. Зеленый светодиод означает, что успешно, а мигающий красный светодиод означает, что попробуйте еще раз, что может быть проще?

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

Платы и учебные комплекты

Помимо продажи этих комплектов AVR ISP отдельно, мы также поставляем ряд разработок.
и учебные комплекты с различными платами для 8-40-контактных устройств Atmel AVR (STK200), 64-контактных устройств ATmega (STK300)
и 100-контактные микроконтроллеры Xmega (плата Xmega).

Эти стартовые наборы поставляются со всем необходимым для изучения программирования, включая книги,
образец кода и программного обеспечения.Платы доступны с ISP, Dragon и JTAG ICE.

Специальное предложение

Наш AVRISP-U не только был снижен в цене, но теперь включает в себя множество новых функций, чтобы сделать
полный USB-программатор Atmel AVR, включая

  • Цепь CAN питания
  • Супер-привод для работы с конденсаторами, микросхемами UART и т. Д.
  • Работа на автономном ПК или запуск из Studio 4, 5,6 или 7
  • Простая установка USB во всех ОС Windows, включая 64-разрядную версию и Windows `0

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

Учебное пособие по AVR — Выбор программиста

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

Комментариев? Предложения? Напишите на форум!

Программистов легко десяток, я расскажу о 4 основных типах:

  1. Программисты Simple / Basic / Bitbang
  2. Интеллектуальные программисты ISP
  3. Макетные платы
  4. Без программиста (загрузчик)

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

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

Вставляется в параллельный (принтерный) порт компьютера

Вы можете видеть, что серебристая часть подключается к параллельному порту, а затем есть кабель, который подключается к 10-контактному разъему ISP

Программатор последовательного порта выглядит примерно так:

Очень похож на программатор параллельного порта, но подключается к последовательному порту

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

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

Плюсы : Ультра дешево (10-20 долларов), легко понять, потому что программное обеспечение делает все, что исключает риск «несовместимости программиста или обновлений»
Минусы : требуется ПК с портами, компьютеры Mac не могут их использовать , если вы работаете с высоким напряжением (более 5 В), вы можете заблокировать свой порт, несколько стандартов для интерфейса программиста.

Такие программаторы можно купить в интернет-магазине adafruit.

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

Наиболее распространенный программатор — это AVRISP и AVRISPv2. Оба выглядят примерно так:

Фото любезно предоставлено EvilMadScientistLabs

.

На одном конце есть гнездо для кабеля, а 6-контактный и / или 10-контактный кабель выходит с другого.AVRISP v1 имел разъем для последовательного порта, а v2 — USB. У v1 есть оба кабеля, у v2 только 6-контактный.

AVRISPv2 можно приобрести на Digikey.com или Mouser.com по цене 36 долларов или около

долларов США.

Мне очень понравилась версия 1, но она была снята с производства, а версия 2 не поддерживает 10-контактные кабели, поэтому я разработал свой собственный программатор под названием USBtinyISP, вы можете собрать его из комплекта примерно за 20 долларов. Об этом подробнее здесь.

Существует намного больше дизайнов ISP, многие самодельные.

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

Первый — это STK500, который за 80 долларов — настоящий зверь. Он поддерживает практически все микросхемы Atmel со всеми различными сокетами. Он имеет кнопки, светодиоды, регулируемый генератор тактовой частоты и т. Д. Этот программатор поддерживается AVRStudio, которая является средой программирования Atmel.Поскольку это программист «де-факто», метод программирования, который он использует для связи с компьютером (называемый протоколом STK500), также является стандартным. У него есть некоторая кривая обучения, но многие люди его используют. Вы можете купить его в Digikey или Mouser.

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

Второй — AVR Dragon, который является не только программистом, но и эмулятором.Он больше похож на интернет-провайдера, чем на отладочную плату, у него есть разъемы для 6- и 10-контактных разъемов.

У меня было немного времени поиграть с ним, но люди говорят, что он хороший, и стоит всего 50 долларов. Обратите внимание, что нет разъемов для чипов.

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

Возьмем, к примеру, небольшую программу, записанную в чип, которая может связываться с компьютером через USB или последовательный кабель и позволяет компьютеру загружать новую прошивку без использования программатора. Когда вы «обновляете прошивку» своего MP3-плеера или мобильного телефона, вот что происходит.

Например, Arduino использует загрузчик, который запрограммирован в чип на заводе Arduino. Загрузчик защищен от перезаписи. Чтобы загрузить код в Arduino, вы используете программное обеспечение Arduino, которое достаточно умен, чтобы распознавать, когда Arduino подключен.

Загрузчики

— это здорово, но вам понадобится программист ISP, чтобы установить загрузчик на чип в первый раз, если вы покупаете чип у Digikey или Mouser. Это немного проблема курицы и яйца.

Загрузчики

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

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

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

Pololu USB AVR Programmer v2

Обзор

Программатор Pololu USB AVR v2 (внизу), подключенный к A-Star 32U4 Prime SV для программирования.

Pololu USB AVR Programmer v2 — это компактный недорогой внутрисистемный программатор (ISP) для микроконтроллеров AVR Atmel. Программатор предоставляет интерфейс для передачи скомпилированной программы AVR с вашего компьютера в энергонезависимую память целевого AVR, что позволяет запускать программу.Это хорошее решение для программирования контроллеров на основе AVR, таких как наши контроллеры роботов Orangutan. Его также можно использовать для обновления, замены или удаления загрузчика на некоторых платах Arduino, включая Uno, Leonardo и Mega, а также на наших Arduino-совместимых контроллерах A-Star. Этот программатор разработан для работы с устройствами как 3,3 В, так и 5 В, и его даже можно настроить для подачи питания на целевое устройство в системах с низким энергопотреблением.

Программатор подключается к USB-порту вашего компьютера с помощью стандартного кабеля USB A — Micro-B (не входит в комплект) и связывается с вашим программным обеспечением для программирования, таким как Atmel Studio, AVRDUDE или Arduino, через виртуальный COM-порт с использованием протокола STK500.Программатор подключается к вашему целевому устройству с помощью прилагаемого 6-контактного кабеля для программирования ISP (старые 10-контактные соединения ISP напрямую не поддерживаются, но легко создать или приобрести адаптер ISP с 6 на 10 контактов) . Программатор также действует как последовательный адаптер USB-TTL, обеспечивая последовательный порт уровня TTL, который можно использовать для связи с другими последовательными устройствами с вашего компьютера. Он поставляется полностью собранным с припаянными разъемами, как показано на рисунке.

Для подключения этого продукта к компьютеру требуется кабель USB A — Micro-B.

Характеристики и характеристики

  • Подключается к компьютеру через USB с помощью кабеля USB A — Micro-B (не входит в комплект)
  • Эмулирует программатор STK500 через интерфейс виртуального COM-порта
  • Работает со стандартным программным обеспечением для программирования AVR, включая Atmel Studio, AVRDUDE и Arduino IDE
  • Программное обеспечение для настройки доступно для Windows, Mac OS X и Linux
  • Поддерживает оба 3.Устройства на 3 В и 5 В; может автоматически переключать рабочее напряжение в зависимости от обнаруженной цели VCC
  • Может опционально запитать цель от 3,3 В или 5 В в маломощных системах
  • Функциональность последовательного адаптера USB-TTL для универсальной последовательной связи
  • Обеспечивает выход тактовой частоты 100 кГц, что может быть полезно для восстановления неправильно сконфигурированных AVR.
  • Все контакты ввода / вывода защищены резисторами 470 Ом
  • 6-контактный кабель ISP и двухсторонний штекерный разъем 1 × 6 в комплекте
  • Подробное руководство пользователя

Поддерживаемые микроконтроллеры AVR

Программист должен работать со всеми AVR, которые могут быть запрограммированы с помощью интерфейса AVR ISP (внутрисистемное программирование), которое также известно как внутрисхемное последовательное программирование (ICSP), последовательное программирование или последовательная загрузка, но это не было протестировано со всеми устройствами.Мы ожидаем, что он будет работать с большинством AVR в семействе megaAVR (ATmega), и он работает с некоторыми членами семейства tinyAVR (ATtiny), но он не поддерживает Tiny Programming Interface (TPI) и не работает с XMEGA или с 32-битными AVR. Программатор имеет обновляемую прошивку, позволяющую обновлять будущие устройства.

Программатор разработан для использования с микроконтроллерами AVR, работающими от 3,3 В или 5 В. По умолчанию программист ожидает, что целевой объект будет иметь автономное питание, но его можно настроить для подачи питания на целевое устройство в системах с низким энергопотреблением. .

Поддерживаемые операционные системы

Мы поддерживаем использование Pololu USB AVR Programmer v2 и его программного обеспечения для настройки в настольных версиях Windows (Vista, 7, 8 и 10), Linux и Mac OS X 10.11 или новее. Более старые версии Windows не поддерживаются.

Программатор Pololu USB AVR v2 (вверху), подключенный к Adafruit Pro Trinket для программирования.

Дополнительная функция: последовательный порт уровня TTL

Этот программатор работает как переходник USB-последовательный порт.Программист устанавливает как два виртуальных COM-порта : один для связи с программным обеспечением, а другой — для последовательной связи общего назначения. Это означает, что вы можете легко переключаться между программированием AVR и его отладкой через последовательный порт TTL без необходимости открывать и закрывать программу терминала. В дополнение к последовательным линиям передачи ( TX ) и приема ( RX ), программатор позволяет использовать A и B в качестве линий последовательного установления связи, которые можно настроить с помощью нашего программного обеспечения.

Шесть контактов на последовательном заголовке (GND, A, VCC, TX, RX и B) расположены так, чтобы быть похожей на распиновку общедоступных кабелей FTDI USB-to-serial и коммутационных плат. В конфигурации по умолчанию контакт B используется как выход DTR (а контакт A — неиспользуемый вход), что позволяет подключать программатор непосредственно к различным Arduino-совместимым платам и использовать его для загрузки программ на плату через серийный загрузчик.

Принадлежности в комплекте

Pololu USB AVR Programmer v2 поставляется в полностью собранном виде с припаянными разъемами ISP и последовательными разъемами, а также включает аксессуары, показанные на рисунке ниже.6-контактный кабель ISP можно использовать для программирования AVR. Двусторонний штекерный разъем 1 × 6 можно подключить к последовательному разъему, чтобы эффективно изменить его пол (что позволяет подключить этот разъем к макетной плате или перемычкам с гнездом).

Pololu USB AVR Programmer v2 или v2.1 с включенным оборудованием.

Слева направо: оригинальный USB-программатор Orangutan, программатор Pololu USB AVR и программатор Pololu USB AVR v2 (который выглядит почти так же, как v2.1).

Сравнение со старым программатором Pololu USB AVR

Программатор Pololu USB AVR v2 — это обновленная версия нашего программатора Pololu USB AVR (продукт № 1300). Он имеет ряд улучшений по сравнению с оригиналом:

  • Поддержка устройств, работающих от 3,3 В (дополнительно к 5 В)
  • Вывод

  • VCC может быть настроен для обеспечения питания 3,3 В или 5 В в маломощных системах.
  • Защитные резисторы на всех линиях ввода / вывода
  • Более точная эмуляция частот ISP, обеспечиваемая STK500; вы можете использовать пользовательские интерфейсы Atmel Studio и AVRDUDE, чтобы упростить настройку частоты вашего интернет-провайдера.
  • Улучшения удобства использования для последовательного интерфейса, такие как более стандартное расположение контактов (аналогично FTDI) и предварительно заполненный женский заголовок

Этот программатор не включает USB-кабель и не имеет бонусной функции SLO-scope.В дополнение к этим изменениям, программист v2 отличается от оригинала многими другими деталями; Обязательно обратитесь к руководству пользователя USB AVR Programmer v2, чтобы ознакомиться с этим программатором. Этот программатор был выпущен в марте 2016 года, поэтому любые письменные ссылки на «Программатор Pololu USB AVR» до этого времени относятся к исходному (более старому) программатору.

Люди часто покупают этот товар вместе с:

Программирование микроконтроллера AVR — Программатор USBASP — Робо Индия || Учебники || Изучите Arduino |

Руководство по использованию программы USBASP для записи шестнадцатеричного файла на микроконтроллер AVR.

Введение: Робо-индийский программист USBASP.

USBasp — это встроенный USB-программатор для контроллеров Atmel AVR. Он просто состоит из ATMega8 и пары пассивных компонентов. Программатор использует USB-драйвер только для прошивки, специальный USB-контроллер не требуется, что делает его недорогим USB-программатором.

Важные характеристики:

  • Работает на нескольких платформах. Linux, Mac OS X и Windows протестированы.
  • Перемычка для питания 5В.
  • Вывод заголовка для обеспечения удобного интерфейса для различных выводов заголовка ISP.
  • SCK опция для поддержки целей с низкой тактовой частотой (<1,5 МГц).

Установка:

Установите USBASP как простое устройство USB.

Скачать: драйверы 32 и 64 бит

Вот замечательное руководство по установке USBASP на Windows 8. нажмите здесь

Загрузка шестнадцатеричного файла в микроконтроллер AVR:

Для передачи файла Hex в контроллер нам требуется программное обеспечение для доступа к USBASP.В Интернете доступно множество программного обеспечения. Программное обеспечение, которое мы находим простым в использовании со всеми функциями, — это Prog ISP .

Загрузить:

Примечание: устанавливать Prog ISP не нужно, просто распакуйте файл и щелкните исполняемый файл progisp.exe , чтобы запустить программное обеспечение.

Настройка оборудования:

Подключите USBASP к плате микроконтроллера AVR с помощью 6-контактных разъемов, где 5 В является необязательным, если ваша плата уже запитана от какого-либо внешнего источника 5 В, снимите перемычку (ВКЛ / ВЫКЛ).

Поиск и устранение неисправностей:

Prog ISP покажет ошибку в случае:

  1. Поставка целевому контроллеру не предусмотрена.
  2. неправильное подключение к микроконтроллеру Target.
  3. USBASP не обнаружен.

Примечание: всегда держите перемычку (J1) подключенной.

Начало работы с Prog ISP:
  • Select Chip: Выберите микроконтроллер для загрузки файла Hex.
  • Загрузить Flash: Эта вкладка используется для выбора файла Hex. Щелкните эту вкладку, чтобы открыть окно обзора и выбрать файл Hex.
  • Окно задач: Выберите операцию, которую хотите завершить. Основные операции, необходимые для записи шестнадцатеричного файла, показаны выше.
  • Авто: Щелкните эту вкладку, чтобы начать запись шестнадцатеричного файла вместе со всеми операциями, отмеченными в поле задачи.