Миниатюрный программатор USBTiny-MkII SLIMUSBTiny-MkII SLIM – программатор клон AVRISP-MKII, поддерживающий все микроконтроллеры семейства Attiny, Atmega и Xmega. Программатор имеет три интерфейса программирования: ISP (внутрисистемное программирование), PDI (интерфейс программирования и отладки) и TPI (Tiny Programming Interface. Используется для программирования Low-end микроконтроллеров Atmel серий ATtiny4, ATtiny5, ATtiny9, ATtiny10, ATtiny20, ATtiny40). Подключается непосредственно к интерфейсу USB, что позволяет просто и быстро обновлять прошивку программатора. Программатор поддерживает работу в среде AVR Studio, работает с утилитой AvrDude.

За основу конструкции программатора взят проект LUFA (Lightweight USB Framework for AVRs), представляющий собой завершенный USB стек с открытым исходным кодом для микроконтроллеров Atmel AVR со встроенным USB интерфейсом AT90USBxxxx и ATMEGAxxUx, а также конструкции USBTiny-MKII и USBTiny MKII PL. Сердцем программатора является микроконтроллер AT90USB162, что предоставляет высокую скорость программирования.

USBTiny-MkII SLIM – программатор клон AVRISP-MKII, поддерживающий все микроконтроллеры семейства Attiny, Atmega и Xmega. Программатор имеет три интерфейса программирования: ISP (внутрисистемное программирование), PDI (интерфейс программирования и отладки) и TPI (Tiny Programming Interface. Используется для программирования Low-end микроконтроллеров Atmel серий ATtiny4, ATtiny5, ATtiny9, ATtiny10, ATtiny20, ATtiny40). Подключается непосредственно к интерфейсу USB, что позволяет просто и быстро обновлять прошивку программатора. Программатор поддерживает работу в среде AVR Studio, работает с утилитой AvrDude.

За основу конструкции программатора взят проект LUFA (Lightweight USB Framework for AVRs), представляющий собой завершенный USB стек с открытым исходным кодом для микроконтроллеров Atmel AVR со встроенным USB интерфейсом AT90USBxxxx и ATMEGAxxUx, а также конструкции USBTiny-MKII и USBTiny MKII PL. Сердцем программатора является микроконтроллер AT90USB162, что предоставляет высокую скорость программирования.

В отличие от представленных конструкций, в которых для конвертирования логических уровней интерфейсов применяется микросхема GTL2003, в нашем программаторе используется микросхема MAX3002 - 8- канальный транслятор уровней. Такая конструкция позволяет программировать целевые микроконтроллеры с напряжением питания меньше 5 В. Однако, в связи с этим, потребовалось внести изменения в ПО программатора.

Миниатюрный программатор USBTiny-MkII SLIM - схема

На схеме видно, что кроме микроконтроллера AT90USB162 и микросхемы MAX3002, имеется регулятор напряжения 3.3 В, светодиоды статуса, конфигурационные перемычки и коннекторы интерфейсов программирования.

Регулятор напряжения с низким падением напряжения (LDO) MCP1825S-3302ED с выходным напряжением 3.3 В используется для питания целевого микроконтроллера (конечно, если целевой микроконтроллер имеет напряжение питания 3.3 В). Возможно использование любого другого регулятора напряжения, например LF33. Перемычка (джампер) JP2 предназначен для выбора напряжения питания целевого микроконтроллера: при замкнутых контактах 1 и 2 – напряжение питания целевого микроконтроллера 5 В, при замкнутых контактах 2 и 3 – напряжение питания целевого микроконтроллера 3.3 В. Если JP2 полностью отключен, то схема преобразователя уровней остается обесточенной и пользователь может подать напряжение для питания этой части от внешнего устройства с целевым микроконтроллером.

Следует отметить, что текущая версия программатора не позволяет программировать целевой микроконтроллер по интерфейсу ISP, если линии интерфейса подключены к какой-либо нагрузке на целевой плате (сопротивление более 22 кОм для подтягивающих к «+» питанию резисторов или сопротивление более 10 кОм для подтягивающих к «–» питания).

Джамперы HWB и RST используются для активизации внутреннего загрузчика микроконтроллера с целью обновления прошивки программатора по интерфейсу USB.

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

Миниатюрный программатор USBTiny-MkII SLIM - печатная плата Миниатюрный программатор USBTiny-MkII SLIM - печатная плата

После сборки аппаратной части программатора и проверки монтажа можно подключить его к интерфейсу USB персонального компьютера. Если нет, то надо купить компьютер. После подключения операционная система выдаст сообщение, что к компьютеру подключено новое устройство именуемое «AT90USB162 DFU».

Далее нам потребуется программное обеспечение от компании Atmel для программирования микроконтроллеров со встроенным интерфейсом USB – программа FLIP. Необходимо скачать и установить на компьютер данную программу. После этого необходимо установить DFU драйвера, они находятся в папке «Atmel Flip usb». После инсталляции драйверов запускаем программу Flip, в появившемся окне кликаем на иконку «Chip» (Select a Target Device) и выбираем из списка микроконтроллер AT90USB162, затем кликаем на иконку с изображением USB кабеля (Select a Communication Medium), выбираем интерфейс USB и в появившемся окне нажимаем кнопку «Open». Программа FLIP должна теперь определить целевой микроконтроллер (в данном случае микроконтроллер программатора). Если этого не произошло и появилось сообщение об ошибке, то необходимо проверить монтаж, переустановить драйверы или подключить программатор к другому порту USB.

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

Пользователи могут внести свои изменения в исходный код программы микроконтроллера, для компиляции потребуется версия WinAVR 2010-01-10. При компиляции сначала выполняем команду make clean и затем make all. Однако на этом этапе можно выбрать, с каким программным обеспечением будет использоваться программатор (AVR Studio или AvrDude), и, если будет использоваться AvrDude, то в маке-файле необходимо включит следующую строчку:

CDEFS += -DLIBUSB_DRIVER_COMPAT

Следующий шаг – программирование микроконтроллера программатора. Для этого необходимо открыть в FLIP нужный HEX-файл (см. секцию загрузок в первой части статьи) и нажать кнопку RUN. При этом должны быть установлены «галочки» Erase, Program, Verify. Программирование пройдет очень быстро, и после этого необходимо выполнить переподключение программатора к порту USB или произвести сброс микроконтроллера (перемычка RST). Об удачном запуске свидетельствуют два включенных светодиода.

Программатор определится операционной системой как LUFA AVRISP MkII CLONE, и теперь необходимо установить соответствующие драйверы. Если программатор будет использоваться в среде AVR Studio, то драйверы инсталлируются из папки «AtmelAVRToolsusb».

Если же программатор будет использоваться с AvrDude, то необходимо установить драйвер библиотеки LIBUSB. Файлы архива необходимо распаковать, запустить приложение inf-wizard, выбрать наш программатор из списка, сохранить созданный файл и нажать кнопку install now, или можно использовать Windows-инсталлятор.

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

В среде AVR Studio необходимо кликнуть на кнопку «Con» (или Tools - Program AVR – Connect…). В диалоговом окне из списка выбрать программатор AVRISP mkII и нажать кнопку Connect.

В AvrDude – необходимо изменить тип используемого программатора при помощи командной строки: -c avrisp2 -P usb или -c avrispmkII -P usb.


Архив для статьи "Миниатюрный программатор USBTiny-MkII SLIM"
Описание: Принципиальная схема и рисунок печатной платы (Eagle 5.10, PDF), две версии HEX файла для прошивки микроконтроллера, исходный код (WinAVR версия 110528)
Размер файла: 855.41 KB Количество загрузок: 2 079 Скачать