Главная » Микроконтроллеры
Призовой фонд
на январь 2017 г.
1. 5000 руб.
Академия Благородных Металлов
2. 1000 руб.
Radio-Sale
3. Регулируемый паяльник 60 Вт
Паяльник
4. 600 руб.
От пользователей
5. Тестер компонентов LCR-T4
Паяльник

Компактный программатор USBTiny-MkII SLIM (клон AVRISP-MKII)

Компактный программатор USBTiny-MkII SLIM (клон модели AVRISP-MKII) поддерживает все микроконтроллеры Attiny, Atmega, и Xmega. Программатор имеет три программных интерфейса: ISP, PDI и TPI. Он работает со средой разработки AvrStudio или AvrDude. Небольшая удобная плата содержит двунаправленный преобразователь напряжения для всех интерфейсов, который работает от напряжения 1,2 В, имеет джампер для выбора напряжения 5 В или 3,3 В для питания целевой микросхемы (LDO стабилизатор) и светодиодные индикаторы состояния. Сердцем устройства является контроллер AT90USB162 с подключением по USB для обеспечения быстроты программирования.

Об устройстве:
Схема построена и основана на проекте LUFA (link), программатор по аналогии с моделью USBTiny-MKII (link) и USBTiny MKII PL (link). Я использовал прибор MAX3002 вместо оригинального преобразователя GTL2003, также как автор PL версии – данная микросхема более доступна. Для данной замены также потребовалось изменить код, который описан в последней сноске – код в прикрепленном файле уже в измененном виде – оригинальный работает некорректно.
ВНИМАНИЕ – как показано, MAX3002 версия (1.0) работает плохо, когда ISP линии нагружены сопротивлением или емкостью – не копировать! Печатная плата версии 1.1 с микросхемой GTL2003, которая отлично работает, доступна как обновление ниже – эта плата работает с оригинальной прошивкой.

Программатор имеет три IDC 6-выводных гнезда для поддержки трех программных протоколов: ISP, PDI и TPI. Они позволяют программировать все доступные микросхемы Atmega, Attiny и Xmega. Печатная плата только выглядит сложной, но она может быть изготовлена и в домашних условиях. Сквозные отверстия располагаются не под микросхемой или другими элементами, поэтому они могут соединяться проводами. Сквозные отверстия, расположенные под микросхемой at90usb162, выводят ее остальные свободные выводы на контактные площадки с нижней стороны платы – поэтому схему также можно использовать как тестовую плату для других кодов, используя для этой цели подключение по USB. Изменение кода выполняется очень просто – через встроенный USB загрузчик и бесплатный программный инструмент от компании Atmel – FLIP.

Под IDC гнездами расположен джампер – вы можете выбрать напряжение, которое можно использовать для питания вашей целевой микросхемы. Для напряжения 5 В необходимо закоротить выводы 1 и 2, а для напряжения 3,3 В выводы 2 и 3. Для снижения напряжения используется стабилизатор LDO MCP1825S-3302ED – однако вы может использовать любой другой совместимый по выводам прибор, такой как LF33. Снятие джампера приведет к отключению напряжения от “передаваемой” стороны и вы должны подать это напряжение от целевой микросхемы, чтобы обеспечить работу программатора.

Схема программатора USBTiny-MkII

Я не буду писать о программировании, поскольку каждый знает, как это сделать. Программатор можно использовать напрямую из среды разработки AvrStudio или AvrDude. Недостатком этого является тот факт, что мы должны выбрать с каким программным обеспечением мы хотим его использовать – тем не менее, замена одного на другое, вопрос нескольких минут :)

Запуск:
После правильной спайки платы подсоедините ваш программатор к USB порту. Вы увидите уведомление, что ваш ПК обнаружил новой устройство, которое называется “AT90USB162 DFU”. Загрузите и установите программное обеспечение FLIP от компании Atmel. Затем установите DFU драйверы из папки Atmel\Flip\usb\. После правильной установки запустите FLIP, щелкнув на иконке “chip”, и выберите из списка at90usb162. Далее нажмите вторую иконку “usb cable”, выберите USB, и потом OPEN в следующем окне. Программа FLIP должна обнаружить вашу микросхему без проблем – если микросхема не определяется (вы получите сообщение об ошибке) то это означает, что вы что-то сделали неправильно. Попытайтесь переустановить драйвер, подсоединить программатор к другому usb порту или перезагрузить компьютер.

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

Если вы хотите скомпилировать свой собственный код, тогда вам необходимо только WinAvr версии 2010-01-10. Выберите make clean и затем make all – это все, что надо сделать. Но здесь мы можем выбрать программное обеспечение, с помощью которого необходимо скомпилировать прошивку. Если мы хотим использовать AvrDude, тогда откройте файл makefile и добавьте следующую строку:
CDEFS += -DLIBUSB_DRIVER_COMPAT

На следующем шаге запишите прошивку в микросхему. Щелкните на первой иконке “open book” и выберите наш HEX файл. Затем нажмите кнопку RUN. Необходимо поставить галочки во флажки “erase”, “program”, и “verify”. Код будет записан очень быстро. Теперь повторно подключите программатор к usb порту – или закоротите RST выводы, при этом загорится два светодиодных индикатора.

После этого ПК обнаружит новое устройство LUFA AVRISP MkII CLONE – теперь пришло время установить для него драйвер. Если мы хотим использовать программатор с AvrStudio, тогда установите драйвер из папки Atmel\AVR Tools\usb\ – эта папка создается при установке AvrStudio. Но если мы хотим использовать программатор с AvrDude, тогда установите драйвер LIBUSB. Распакуйте файлы, запустите приложение inf-wizard, выберите наш программатор из списка, сохраните созданный файл и щелкните на install now (установить сейчас) или используйте windows инсталлятор. При этом должен загореться светодиодный индикатор LED1 – это означает, что программатор готов к работе – поздравляем, это все.

В AvrStudio, щелкните на кнопку Con, затем выберите из списка AVRISP mkII, и нажмите connect (подсоединить).

В AvrDude, измените тип вашего программатора в командной строке на:
-c avrisp2 -P usb или -c avrispmkII -P usb.

Обновление 2013-03-03:
В AVRISP-MKII lufa проекте уже внесено несколько изменений, наиболее важными из которых являются:
- Устранение ошибок, которые блокировали USB соединение после не успешной попытки подключения к целевой микросхеме.
- Добавлена функция для быстрого переключения между Jungo (Avr/Atmel Studio) и LibUSB (AvrDude) драйвером в одной прошивке FirmWare. Просто закоротите выводы сброса, и в системе появится отдельное устройство с другим серийным номером. Два мигающих светодиодных индикатора означают, что мы имеем Jungo драйвер и четыре, что мы имеем LibUSB драйвер. В обоих случаях нам необходимо установить правильные драйверы. При использовании другой среды разработки необходимо заранее загрузить другие прошивки в устройство и использовать фильтр драйвера.
- В дополнение к этому программатор запоминает последний использованный режим, и в этом режиме программатор запускается после повторного подсоединения, он также запоминает последнюю используемую SCK скорость. Ниже находится пакет со скомпилированным кодом с поддержкой функции переключения (LUFA 130303). Для того чтобы скомпилировать программу самостоятельно с вышеуказанной функцией переключения, вам необходимо вставить строку (без примечаний) RESET_TOGGLES_LIBUSB_COMPAT в файле AppConfig.h.

Галерея:

mkii_slim_render_top.jpg

mkii_slim_redner_bottom.jpg

mkii_slim_1.jpg

mkii_slim_2.jpg

mkii_slim_3.jpg

mkii_slim_4.jpg

mkii_slim_5.jpg

mkii_slim_6.jpg

В файлы проекта входят: печатная плата, схема, несколько файлов в формате PDF, скомпилированные HEX файлы для двух версий, полный исходный код на С для различных версий – версия 110528, версия 111009, версия 130303, файлы помощи.

Список радиоэлементов

Обозначение Тип Номинал Количество ПримечаниеМагазинМой блокнот
IC1 МК AVR 8-бит
AT90USB162
1 AT90USB162-AUПоиск в FivelВ блокнот
IC2 МикросхемаGTL20031 MAX3002 - не рекомендуетсяПоиск в FivelВ блокнот
IC3 Линейный регулятор
MCP1825S
1 LF33Поиск в FivelВ блокнот
LED1, LED2 Светодиод2 Поиск в FivelВ блокнот
C1, C2 Конденсатор33 пФ2 Поиск в FivelВ блокнот
C3 Конденсатор1 мкФ1 Поиск в FivelВ блокнот
C4 Электролитический конденсатор10 мкФ1 Поиск в FivelВ блокнот
C5-C7 Конденсатор100 нФ3 Поиск в FivelВ блокнот
R1, R6 Резистор
1 кОм
2 Поиск в FivelВ блокнот
R2, R3 Резистор
470 Ом
2 Поиск в FivelВ блокнот
R4, R5 Резистор
27 Ом
2 Поиск в FivelВ блокнот
R8, R9 Резистор
47 Ом
2 Поиск в FivelВ блокнот
R10 Резистор
100 кОм
1 Поиск в FivelВ блокнот
Q1 Кварц16 МГц1 Поиск в FivelВ блокнот
F1 Самовосстанавливающийся предохранительE0501 Поиск в FivelВ блокнот
X1 РазъёмMini-USB-32005-3011 Разъём Mini-USB на платуПоиск в FivelВ блокнот
RST, HWB РазъёмPLS-22 Сброс и HWB-перемычкаПоиск в FivelВ блокнот
JP2 РазъёмPLS-31 Перемычка 5V/3.3VПоиск в FivelВ блокнот
ISP, PDI, TPI РазъёмIDC-63 Интерфейсы программированияПоиск в FivelВ блокнот
Добавить все

Скачать список элементов (PDF)

Оригинал статьи

Прикрепленные файлы:

Теги:

Опубликована: 0 0
Я собрал 0 1
x

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

  • Техническая грамотность
  • Актуальность материала
  • Изложение материала
  • Полезность устройства
  • Повторяемость устройства
  • Орфография
0

Средний балл статьи: 4.7 Проголосовало: 1 чел.

Комментарии (7) | Я собрал (0) | Подписаться

0
Григорий #
А в BASCOM-AVR значит работать не будет?
Ответить
0
Антон #
Так вроде баском на дудке(AvrDude) сделан, так что должен работать
Ответить
0
Дмитрий #
Никогда не делал двухсторонние платы, поясните каким образом производится пайка контактов гнёзд ISP, TPI и PDI с контактами верха платы, если они оказываются непосредственно под гнездом?
Ответить
0
Alex #
Благодарю за подробный материал. Собрал устройство. Но последняя на данный момент AVRStudio версии 6.1.7601 просит обновить программатор с 1,14 до 1,17. Без обновления не хочет с ним работать. Есть решение вопроса? Прошивка в вашей статье под какую версию студии? Спасибо.
Ответить
0
Sveta #
Что означает фраза "просто закоротите ВЫВОДЫ сброса"? У микроконтроллера только один вывод RESET. С чем его коротить?
Ответить
0
Слотин В. #
Коротить нужно с "землей" - минус питания.
Ответить
0
Сергей #
В отношении Обновление 2013-03-03::

Скомпилировал проект в соответствии Вашими рекомендациями. Сделал изготовил драйвер libusb, он прекрасно стал. В студии все работает, при переключении драйвер находится, но при работе в Дудке плывут сообщения:

Cформированная командная строка:
avrdude.exe -p m32 -c avrisp2 -P usb -U flash:r:"C:\Documents and Settings\Sergey\Рабочий стол\1":i

avrdude.exe: stk500v2_recv_mk2: error in USB receive
avrdude.exe: stk500v2_recv_mk2: error in USB receive
avrdude.exe: stk500v2_recv_mk2: error in USB receive
avrdude.exe: stk500v2_recv_mk2: error in USB receive
avrdude.exe: stk500v2_recv_mk2: error in USB receive
avrdude.exe: stk500v2_recv_mk2: error in USB receive
avrdude.exe: stk500v2_getsync(): timeout communicating with programmer
Все это повторяется много раз.
То есть программатор теперь находится но присутствует ошибка в коммуникации.
Может будет конкретный совет?
Ответить
Добавить комментарий
Имя:
E-mail:
не публикуется
Текст:
Защита от спама:
В чем измеряется напряжение?
Файлы:
 
Для выбора нескольких файлов использйте CTRL

Pickit 2 - USB-программатор PIC-микроконтроллеров
Pickit 2 - USB-программатор PIC-микроконтроллеров
LC-измеритель LC100-A Discovery V8
вверх