Компактный программатор 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. Снятие джампера приведет к отключению напряжения от “передаваемой” стороны и вы должны подать это напряжение от целевой микросхемы, чтобы обеспечить работу программатора.
Я не буду писать о программировании, поскольку каждый знает, как это сделать. Программатор можно использовать напрямую из среды разработки 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.
Галерея:
В файлы проекта входят: печатная плата, схема, несколько файлов в формате PDF, скомпилированные HEX файлы для двух версий, полный исходный код на С для различных версий – версия 110528, версия 111009, версия 130303, файлы помощи.
Список радиоэлементов
Обозначение | Тип | Номинал | Количество | Примечание | Магазин | Мой блокнот |
---|---|---|---|---|---|---|
IC1 | МК AVR 8-бит | AT90USB162 | 1 | AT90USB162-AU | Поиск в магазине Отрон | |
IC2 | Микросхема | GTL2003 | 1 | MAX3002 - не рекомендуется | Поиск в магазине Отрон | |
IC3 | Линейный регулятор | MCP1825S | 1 | LF33 | Поиск в магазине Отрон | |
LED1, 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 | Самовосстанавливающийся предохранитель | E050 | 1 | Поиск в магазине Отрон | ||
X1 | Разъём | Mini-USB-32005-301 | 1 | Разъём Mini-USB на плату | Поиск в магазине Отрон | |
RST, HWB | Разъём | PLS-2 | 2 | Сброс и HWB-перемычка | Поиск в магазине Отрон | |
JP2 | Разъём | PLS-3 | 1 | Перемычка 5V/3.3V | Поиск в магазине Отрон | |
ISP, PDI, TPI | Разъём | IDC-6 | 3 | Интерфейсы программирования | Поиск в магазине Отрон | |
Скачать список элементов (PDF)
Прикрепленные файлы:
- mkii_slim_130303.rar (1471 Кб)
Комментарии (7) | Я собрал (0) | Подписаться
Для добавления Вашей сборки необходима регистрация
Скомпилировал проект в соответствии Вашими рекомендациями. Сделал изготовил драйвер libusb, он прекрасно стал. В студии все работает, при переключении драйвер находится, но при работе в Дудке плывут сообщения:
Cформированная командная строка:
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
То есть программатор теперь находится но присутствует ошибка в коммуникации.
Может будет конкретный совет?