USBasp - USB программатор для программирования микроконтроллеров AVR

Пользователи, знакомые с микроконтроллерами Atmel или хотя бы с Arduino скорее всего знают о дешевом программаторе USBasp, цена которого на Ebay около $ 3. Распространены две версии программатора:

  • USBasp 2.0 — с стабилизатором на 3.3 вольта.
  • USBasp 3.0 — плата поменьше, без стабилизатора. Так же у него не выведены на разъем порты PD0 и PD1(Аппаратный UART).

Технические характеристики

  • Поддерживаемые ОС: Windows, MacOS, Linux
  • Процессор: Atmega8A
  • Интерфейс подключения к ПК: USB
  • Интерфейс программирования: ISP (внутрисхемное)
  • Напряжение программирования: 5В или 3.3В (в зависимости от положения перемычки JP2)
  • Частота программирования: 375кГц (по умолчанию) и 8кГц (при замкнутой перемычке JP3)
  • Поддерживаемые контроллеры: все AVR с интерфейсом SPI

Список поддерживаемых AVR микроконтроллеров

USBASP Программатор AVR поддерживает все микроконтроллеры ATMEL с режимом последовательного программирования ISP (In System Programming), это все микроконтроллеры у которых есть порт SPI (Serial Peripheral Interface):

  • ATtiny11, ATtiny12, ATtiny13, ATtiny15, ATtiny22, ATtiny2313, ATtiny24, ATtiny25, ATtiny26, ATtiny261, ATtiny28, ATtiny44, ATtiny45, ATtiny461, ATtiny84, ATtiny85, ATtiny861
  • AT90S1200, AT90S2313, AT90S2323, AT90S2343, AT90S4414, T90S4433, AT90S4434, AT90S8515, AT90S8535
  • ATmega8, ATmega48, ATmega88, ATmega16, ATmega161, ATmega162, ATmega163, ATmega164, ATmega165, ATmega168,ATmega169, ATmega32, ATmega323,ATmega324, ATmega325, ATmega3250, ATmega329, ATmega64, ATmega640, ATmega644, ATmega645, ATmega6450, ATmega649, ATmega6490, ATmega128, ATmega1280, ATmega1281, ATmega2560, ATmega2561, ATmega103, ATmega406, ATmega8515, ATmega8535
  • AT90CAN32, AT90CAN64, AT90CAN128
  • AT90PWM2, AT90PWM2B, AT90PWM3, AT90PWM3B
  • AT90USB1286, AT90USB1287, AT90USB162, AT90USB646, AT90USB647
  • AT89S51, AT89S52
  • AT86RF401.

Устройство программатора USBasp

Программатор состоит из небольшого числа деталей. Мозгом программатора является микроконтроллер Atmega8, который имеет всего 8 кб флеш памяти и 1 кб ОЗУ(SRAM).Вроде и слабенький микроконтроллер по современным меркам, но столько всего можно на нем сделать.Из-за особенностей работы программного USB м/к работает на частоте 12мгц. Соответственно, при написании своей прошивки необходимо учитывать это.

USBasp имеет 10 контактный разъем, на который выведены 6 выводов микроконтроллера: PB5 (SCK), PB4 (MISO), PB3 (MOSI, PWM), PB2(PWM), PD0 (RXD), PD1 (TXD).

Плата имеет два встроенных светодиода на выводах PC0 и PC1.Выводы м/к PB0,PB1 и PD2 используются для программного USB,PC2 выведен на перемычку JP3.Остальные выводы микроконтроллера не распаяны.

схема USBasp2.0

распиновка разъема USBasp

Органы управления на плате

На плате имеются три перемычки, задающие разные режимы работы программатора:

JP1 — замыкается в случае обновления прошивки самого программатора
JP2 — тройная перемычка, здесь выбирается, какое напряжение будет подаваться на прошиваемый микроконтроллер, либо 5В (левое положение) и 3.3В (правое положение)
JP3 — если её замкнуть, то программирование контроллера будет происходить с пониженной частотой

Установка драйверов

Чтобы начать пользоваться программатором, необходимо сперва поставить на него драйвера. Драйвер для программатора USBASP (v 2.0) USB ISP ранее был основан на libusb-win32. После того, как действие сертификата истекло, библиотека была заменена на libusbK. 

Работа драйвера тестировалась на версиях от Windows XP до Windows 10 (32-разрядные и 64-разрядные версии). Поскольку драйвер подписан, отпадает необходимость принудительного отключения сертификата драйвера или использования Zadig, достаточно скачать драйвер USBasp и запустить файл InstallDriver.exe из распакованного архива. В Windows XP можно просто указать мастеру установки папку с распакованными файлами драйвера.

Скачать драйвер программатора USBasp 3.0.7

ВНИМАНИЕ! Вы устанавливаете этот драйвер на свой страх и риск!