Программатор avrisp mkii своими руками

Добавил пользователь Alex
Обновлено: 04.10.2024

USB программатор "AVRISP mkII "

Не знаю к сожалению или к счастью но такие привычные интерфейсы как последовательный "СОМ" и параллельный "LPT" уходят в прошлое и уже сложно найти "материну" поддерживающую эти старые и добрые интерфейсы. Но на всех компьютерах есть USB порты. Поэтому делаем USB программатор для микроконтроллеров фирмы "ATMEL" с поддержкой современных микроконтроллеров XMEGA! Схему и плату нашел на сайте потом доработал именно под XMEGA. Напомню, что XMEGA питается напряжением ~3.2В, но этот-же программатор успешно программирует всю линейку АTMEL AVR микроконтроллеров. Вот что получилось:

Файл прошивки программатора. Прошивка заливается в программатор через USB FLIP. Программу FLIP нужно найти и скачать в интернете.

"Как прошить AT90USB162 через Flip?
1 - Подключить программатор к компу
2 - Поставить драйвер из папки Флип-а (C:\Program Files (x86)\Atmel\Flip 3.4.7\usb)
3 - Перегрузить комп
4 - Замкнуть на программаторе RST
5 - Замкнуть на программаторе HWB
6 - Oтпустить на программаторе RST
7 - Oтпустить на программаторе HWB
8 - Во Флип-е нажать на кнопку с иконкой USB шнура, выбрать "USB Сtrl+U", нажать "Open", Флип должен определить контроллер
9 - Во Флип-е открыть прошивку, нажать "Run", при этом должны стоять галочки "Erase", "Program", "Verify", контроллер должен прошиться за пару секунд, закрыть Флип
10 - Переподключить программатор, должны загореться два светодиода (это говорит об успешной прошивке, и неустановленном драйвере)
11 - Еесли стоит AVR Studio, то винда должна подхватить драйвер, если не подхватила автоматом указать путь к файлам драйвера в ручную. После установки драйвера на программатор, будет гореть зеленый светодиод."
Я установил AVR Studio 4.19 пробовал и 6.0 но она сильно тормозит компьютер..
А вот что получилось в железе (на изготовление ушел всего один неполный день..)

Подключение avrisp mkii
Приобрел клон AVRISP MKII До этого прошивал arduino pro mini через переходник на ftdi и через.

Не работает AVRisp mkII
Подключил программатор AVRisp mkII, установил все драйвера, в диспетчере устройств виден Jungo, под.

Проблема с AVRISP mkII
Всем привет! Купил программатор AVRISP mkII. Помучался с подключением (на схеме в инструкции.

AVRISP MKII не видит ATMega128A
Заказал 5 шт ATMega128A с алиэкспресса, после запайки в собственную печатку, программатор отказался.

AT90USB162 имеет встроенный загрузчик, зашитый на заводе-изготовителе, если я правильно понимаю. И в приведенной статье программатор определялся до прошивки, опять же, если я правильно понял.

Исходный код, готовые прошивки, документация: 150411mkii_slim.zip. Советую брать прошивку версии 130303 (файл AVRISP-MKII_130303_toggle_driver.hex). Здесь исправлены некоторые баги, а также предусмотрено быстрое переключение между USB-драйвером Jungo (который под Windows в составе AVR Studio) и LibUSB (через который под Windows работает AVRDUDE). Двойное мигание светодиодами при сбросе покажет, что работает драйвер Jungo, а если было четыре вспышки, то активен драйвер LibUSB. Также в этой прошивке реализовано запоминание последнего типа драйвера, и запоминание последней выбранной скорости ISP.

. "В микроконтроллер прошито заводское программное обеспечение (bootloader, называемое также DFU - Device Firmware Uploader или Device Firmware Upgrade), позволяющее загрузить программу пользователя в память микроконтроллера через интерфейс USB и запустить её на выполнение. Это позволяет писать и отлаживать программы, не имея вообще никакого отладчика и программатора." .

Может в моем МК BL затерт? Как узнать?

1. Проверяем питание (мультиметр)
2. Проверяем уровень на пине МК reset (мультиметр)
3. Проверяем генерацию на кварце (осциллограф)
Пишем результаты здесь.
Получаем следующие вопросы

BrotherD, выложите, пожалуйста, схему картинкой. Мне ее не чем посмотреть. Проверьте подключение USB (D+ и D-) - возможно, вы их неправильно развели. Проверьте также питание чипа, все ли шины питания запитаны, подключен ли RESET и имеет нужный потенциал. В принципе, уже этого будет достаточно, чтобы чип определялся хоть "как-то". Потом уже будете определяться по виду.

PS: Чтобы на шине "появилось" какое-то устройство, для этого достаточно подтянуть D- к источнику питания (у меня было 3,3В) через резистор 1,5к. В принципе это как минимум должна делать AT90. Если она не делает и этого - значит либо чип не заводится в режиме бута, либо он вообще не стартует, либо неисправен.

К написанию данного материала сподвигло меня знакомство с купленной когда-то книгой издания 2016 года о программировании контроллеров AVR с использованием Atmel Studio и т.п. В ней автор вначале неплохо вкратце описывает общую теоретическую часть (без привязки к железу), в конце книги приводит русскоязычный перевод-конспект документации на контроллер tiny2313 (который он выбрал в качестве примера и главного героя книги) . Основная же часть - полный трэшак! Причем не столько даже технический, сколько концептуальный. Я не буду давать резких оценок целесообразности изучения программирования на ассемблере даже микроконтроллеров в наше время, хотя это направление по-любому больше академическое, чем практическое . Также опустим комментарии насчет выбора среды разработки для С-программ отличной от Atmel Studio (в которой автор предлагает программить на Asm) и выбора в качестве "героя книги" контроллера tiny2313 так такового (выбирали по цене?), без привязки к к.л. макетной плате (что было бы не только логично, но и удобно на практике). Почему для автора "так сложен" USB-интерфейс и работа с ним, а также его симпатия к ft245 и т.д. Но всех больше меня удивил перечень предложенных к использованию читателями программаторов. Вспоминаем - издание 2016 года, нам же предлагают две "колхозных" схемы (одна с парой буферов, другая с одним транзистором) на LPT и COM порты! Т.е. то что морально и технически устарело уже минимум как 10 лет назад! - как в плане стабильности, так и удобства в использовании . Конечно, разве что попав в "технический вакуум" имеет смысл собрать подобную схему для однократного использования с целью записи прошивки в контроллер, который будет служить в дальнейшем программатором! Но автор про это не пишет, хотя видимо третий программатор (хоть USB-шный, уф . ) и должен по его мнению стать именно этой целью. И это программатор . ("та-дам"!) USBasp! Браво! Но честное слово, это даже не смешно! Кто такие книги вообще в печать выпускает? Автор еще и глумится над читателем, типа что скорость программирования USBasp вполне достаточная . Для tiny2313 если только что? Ню-ню . Идея же самостоятельной сборки USBasp (а стало быть и примитивных программаторов на lpt/com для его инициализации) нецелесообразна как таковая (если это не самоцель) - купить готовый USBasp можно за несколько баксов, т.е. даже дешевле чем в розницу детали из которых он состоит! Вобщем из книги получается что радиолюбитель это нищеброд, не способный купить себе адекватный инструментарий и демо-плату (хоть туже ардуину!) - а почему оно так? Странно. Но в наибольшей степени поразил факт того что ни один! (даже USBasp) программатор из предложенных автором книги напрямую не поддерживается Atmel Studio - т.е. читателю предлагается заниматься чисто виртуальной отладкой (в симуляторе) и практическим "перетыканием" изучаемого контроллера из программатора в схему и обратно, или в лучшем случае довольствоваться возможностью внутрисхемного программирования USBasp и стороннего софта работы с ним прикрученного на кнопку как "внешний инструмент". А зачем так через ж . ? А почему бы сразу не приобрести себе AVR Dragon (или хотябы предложить такой вариант?), или за вдвое меньшую цену совместимый клон программатора AVRISP mkII - которому и посвящена данная статья :-)



На самом деле, если честно, программатор USBtiny mkII SLIM остался обойденный вниманием на моем сайте по причине времени его приобретения (щас уж даже и не вспомню когда) и его функционалу в сравнении с уже имеющимися у меня программаторами AVR Dragon, USBasp, LittleWire . Зачем я тогда вообще его купил? Могу вспомнить лишь мысль, что AVR Dragon штука несомненно универсальная и т.п. однако при этом весьма громоздкая и "электрически нежная" (жалко его типа на каждый день), а USBasp банально очень медленный (LittleWire еще медленней) и шить им "насыщенный под завязку" код в mega328 и то заждешься, а уж в mega644 (используемый в некогда собранном UzеBox) - ваще просто печаль . Так что видимо именно благодаря сборке UzeBox'а и был приобретен клон AVRISP mkII. Вот только как до ЮзБокса творческо-разработческая мысль после сборки и тестирования так и не доходит, так и клон mkII лежал рядом с ним . Ардуина сподручнее. Но вернемся к теме.

Основой данного программатора является контроллер 90usb162 с аппаратной реализацией USB-интерфейса и DFU-режимом обновления прошивки. Навскидку (судя по сохраненным мной материалам из сети) данный программатор в некотором подобии существовал еще чуть ли не 2010 году! (ссылки в конце статьи). На просторах сети можно найти великое множество разнообразных вариантов его конструкций и на базе макетных плат, и различные самопальные конструкции под ЛУТ - причем схемотехнические решения зачастую несколько отличаются. Также энтузиастами (видимо с сайта mdiy.pl - который сейчас недоступен) был создан проект топологии платы и ее трехмерная модель .



Не удивительно, что китайцы воспользовались чужой разработкой и запустили на производство не только топологию платы .



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



На фотках выше (не моих) устройство на зеленой плате имеет версию топологии 1.0
В начале статьи - фотки того, что я приобрел в исполнении китайцев (синяя плата, цена около 25 баксов, вроде была) - версия топологии 1.1, соответственно ее принципиальная схема от первоисточника:


С программной же точки зрения прошивка клона программатора AVRISP mkII является составной частью фреймворка LUFA и эволюционирует вместе с ним (а также усилиями отдельных энтузиастов допиливающих исходники из LUFA). В разные годы разные версии прошивок программатора обладали неодинаковой совместимостью с управляющим софтом (IDE). Помню, что сначала для работы с avrdude нужна была одна прошивка, а для Atmel Studio - другая (сейчас нужно только сменить драйвер). Также было ограничение на версию Atmel Studio и хаки прошивки для его обхода (IDE не хотела работать со "старой" версией и предлагала ее обновить, что было невозможно сделать штатными средствами) . Не все так гладко? - так оно почти всегда так с клонами. Но в данном случае результат гарантирован и он более чем удобоюзабелен ;-)


Итак. Программатор работает через USB это будет удобно тем у кого на компьютере отсутствуют порты RS232 и LPT либо по другой причине, собран на микроконтроллере at90usb162 и буфере 74HC245 можно заменить практически на любой другой, с поддержкой переключения выходов в третье состояние.
Есть возможность переключения между 3.3в и 5в. за счет стабилизатора на 3.3в его можно не устанавливать, но если будете прошивать контроллеры требующие питания 3.3в . то его нужно установить. Печатную плату можно переделать под не обходимые размеры и компоненты.
При правильной сборке и исправных компонентах проблем с программатором быть не должно, единственная проблема которая возникла у меня, была из-за моей не внимательности, плата получилась зеркальной и пришлось ее переделывать.
Если же вы собираетесь прошивать контроллер для этого программатора прямо через USB при помощи утилиты FLIP, то скорее всего загрузчик прошитый в контроллер будет адекватно работать только на частоте 8 мгц. Для этого я выкладываю две прошивки для кварца 16 мгц и для кварца 8 мгц.
Теперь перейдем к прошивке контроллера и установки драйвера. Весь процесс был проделан на операционной системе windows XP пройдет ли успешно процесс прошивки и установки драйвера на windows 7 я не знаю, так как у меня установленная XP но вы можете проверить и сообщить на форум о результате.
После того как вы собрали программатор, и проверили плату на наличие капель олова, обрывов дорожек и верности установки компонентов: Подключите его к разъему USB система распознает его как AT90USB162 и запросит драйвер устройства, драйвер необходимо поместить в корень диска С например в Program Files после установки драйвера для AT90USB162 его необходимо прошить, прошивок две на 8 и 16мгц. с каким кварцем запустился программатор на ту частоту и нужно брать прошивку, у меня на частоте 8мгц. устройство распознавалось как не известное, после установки кварца на 16мгц. устройство распозналось как AT90USB162 и мне удалось установить драйвер.
Прошивать нужно через программу Atmel Flip программу прилагаю.
1.) Запускаем программу FLIP, Нажимаем на кнопку с изображением микросхемы
2.) В открывшемся окне выбираем тип микроконтроллера (AT90USB162), Нажимаем ОК.
3.) Жмём кнопку с изображением USB разъёма, В открывшемся списке выбираем USB
4.) Жмём на верхнее меню File выбираем в списке Load HEX File
5.) В открывшемся окне выбираем файл прошивки его желательно так же поместить в корень диска С.
6.) Убеждаемся, что галочки в левом поле окна программы выставлены как на картинке:

Нажимаем кнопку Run, которая находится под галочками (на скриншоте обведена синим цветом). Программа начнёт прошивать донгл (длительность прошивки 3-4 секунды) После прошивки нажимаем кнопку Start Aplication в правом поле программы. Система найдёт устройство JUNGO -AVRISP MKII прошивка окончена.
Если же при первом подключение программатора система видит устройство как не опознанное вместо AT90USB162 попробуйте поменять местами D+ и D-
если и это не помогло то припаяйте конденсатор 0.1мкф между землей и 24 ногой контроллера.
Программатор использую в программе AVR Studio 4.19 с дрогой версией программы может работать не корректно.
Ссылка на архив, в архиве прошивка, драйвер, печатная плата в lay, и принципиальная схема
фото девайса :


и вот еще что это такое? (обвел красным ) ?

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

вот с этой.но она только для программатора который собран с кварцем на 8Mhz

aka-amal, ну так-то тож простенький)), есть еще на attiny2313

И я по такому-же собирал!, а сколько у вас стоит мега162usb?

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


Если есть желание сэкономить на покупке оригинального устройства, но получить полную функциональность, то предлагаем схему мегаклона программатора AVRISP mkII .

Клон программатора AVRISP MKII для микроконтроллеров AVR - Электроника-РА

  • Микроконтроллер AT90USB162 – 1шт.
  • Светодиоды на 2,25В, 15 мА, цвет красный – 7 шт.
  • Стабилизатор напряжения для поверхностного монтажа, входное напряжение до 15 В, выходное 3,3 В, 1000 мА – 1 шт.
  • Кварцевый генератор 16 МГц – 1 шт.
    SS12 – 1 шт.
  • SMD конденсаторы 18 пкФ – 2 шт., 100 нФ – 2 шт., 10 мкФ – 3 шт.
  • SMD резисторы 10 кОм – 1 шт., 220 Ом – 8 шт., 1 кОм – 3 шт., 470 Ом – 7 шт., 20 Ом – 2 шт.
  • SMD предохранитель 63 В, 500 мА – 2 шт.
  • Резистор с выводами 0,25 Вт, 220 Ом – 3 шт., 10 кОм – 1 шт.
    мини-USB – 1 шт., ВН10 – 1 шт.
    PS с фиксацией, 30 В – 2 шт.
  • Кнопки SWT-5 без фиксации, 12 В, 50 мА – 4 шт.

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


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



Программа есть, теперь нужна прошивка.
Вы можете скачать готовую прошивку c сайта разработчика LUFA. Вам потребуется :

  • В Atmel студии вызвать командную строку (у меня в седьмой версии Tools-CommandPromt). Написать cd (диск куда распакован архив):\lufa-master\ Projects\AVRISP-MKII\make all

Клон программатора AVRISP MKII для микроконтроллеров AVR - Электроника-РА

  • Загружаем прошивку через File -> Load HEX File…
  • Выбираем микроконтроллер через Device -> Select (или пиктограмму) AT90USB162.
  • Зажимаем кнопки HWB и Reset Programmer на устройстве.
  • Подключаем программатор к usb порту ПК.
  • Нажимаем на пиктограмму USB.
  • Нажимаем Run.

Инсталляция драйвера программатора AVRISP mkII под win7

Для работы программатора необходим драйвер usb порта, поставляемый с программной средой Atmel STUDIO. Поэтому придётся установить её на компьютер.

Версия Atmel студии 6.2 работает на операционных системах Win7 и выше (включая серверные версии от 2008 SR2), 32- и 64-битных. Минимальные требования к аппаратной части ПК невысоки и заключаются в наличии процессора с частотой 1.6 Гц и ОЗУ 1 Гб для 32-битных, 2 Гб для 64-битных операционных систем. Загрузить актуальную сборку студии или драйвер можно здесь .


Драйвер для USB идёт в комплекте с Atmel студии и должен быть установлен до подключения программатора к ПК. Посмотрим, как это выглядит на примере Win7 + AtmelStudio 7. Запуск и сам процесс установки стандартен для Windows-приложений, и при подготовке к инсталляции появляется такое окно.

3-min.jpg

Перед новой установкой рекомендуется удалить предыдущую (или следующую) версию среды программирования.
Ещё один момент – драйвера Atmel не имеют цифровой подписи, а для Win7 её наличие обязательно, иначе драйвер не будет установлен.

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

  • Использовать чистую ОС для установки. Подходящим вариантом будет использование виртуальной машины с ОС Win7, например, VMware Workstation или VirtualBox.
  • Отключить проверку цифровой подписи драйверов. Для этого нажать комбинацию клавиш Win+R и ввести в строку gpedit.msc. Далее открываете параметр, как на рисунке ниже.

Клон программатора AVRISP MKII для микроконтроллеров AVR 3 - Электроника-РА

Если вы будете использовать программную среду AVRDude, то придётся поменять драйвер для подключения. Делается это быстро при помощи программы Zadig , являющейся менеджером USB драйверов. Установив программу, выберите в списке AVRISP mkII и замените на libusb-win32 (v1.2.6.0).

Инструкция по использованию программатора AVRISP mkII

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

  1. Кнопка S5 Reset Programmer перегружает устройство.
  2. Кнопка S1 Reset ISP/TPI перегружает интерфейсы соответствующие программирования.
  3. Кнопка S2 Reset PDI служит для перезагрузки интерфейса PDI.
  4. А вот кнопка S3 HWB, как уже упоминалось ранее, необходима при обновлении прошивки устройства.
  5. Кнопка S4 PDI on необходима для включения PDI интерфейса.
  6. Для выбора напряжения 3,3/5 В служит кнопка S6.

D2 – выбрано напряжение 5 В.
D3 – наличие питающего напряжения (от USB).
D4 – ошибка связи USB.
D5 – готовность интерфейса USB.
D6 – наличие напряжения целевого устройства.
D7 – статус работы (в порядке).

  1. Есть возможность подключать несколько программаторов к одному компьютеру.
  2. Каждая копия Atmel студии может работать только с одним программатором. Для работы нескольких, запускайте необходимое количество копий программы.
  3. Чтобы среда разработки не пыталась постоянно обновлять версию прошивки, удалите файл \tools\AVRISPmkII\avrispmkii_fw.zip из директории программы.
  • Недостаточное питание от usb порта. Попробуйте сменить порт или использовать usb хаб с автономным питанием (500 мА на выходе).
  • Частые сбои при программировании могут быть обусловлены высокой частотой ISP. Для устранения неполадки понизьте частоту ISP в настройках Atmel студии.

Выполненные проекты - Электроника-РА_имп_1200х400.jpg

Заявка на поставку импортных микросхем

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

Оформите заявку на сайте, мы свяжемся с вами в ближайшее время и ответим на все интересующие вопросы.

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