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

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

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

Запуск:
После правильной спайки платы подсоедините ваш программатор к USB порту. Вы увидите уведомление, что ваш ПК обнаружил новой устройство, которое называется “AT90USB162 DFU”. Загрузите и установите программное обеспечение FLIP от компании Atmel. Затем установите DFU драйверы из папки AtmelFlipusb. После правильной установки запустите 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, тогда установите драйвер из папки AtmelAVR Toolsusb – эта папка создается при установке 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.

Галерея:

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

Список радиоэлементовОбозначение
Тип
Номинал
Количество
ПримечаниеМагазинМой блокнот

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

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

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

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

Добавить комментарий

Ваш адрес email не будет опубликован.