Что такое USBasp и для чего он используется. Как правильно подключить и настроить USBasp. Как обновить прошивку USBasp. Какие микроконтроллеры поддерживает USBasp. Какие преимущества дает использование USBasp.
Что такое USBasp и его основные характеристики
USBasp — это простой и недорогой USB-программатор для микроконтроллеров Atmel AVR. Он позволяет программировать широкий спектр микроконтроллеров, включая популярные серии ATmega и ATtiny.
Основные характеристики USBasp:
- Подключение к компьютеру через USB-интерфейс
- Поддержка внутрисхемного программирования (ISP)
- Программирование микроконтроллеров ATmega, ATtiny, AT90 и других серий Atmel AVR
- Скорость программирования до 5 КБ/с
- Встроенная защита от перегрузки по току
- Выбор напряжения логических уровней 3.3В или 5В
- Возможность обновления прошивки самого программатора
- Поддержка различных операционных систем — Windows, Linux, Mac OS X
USBasp построен на базе микроконтроллера ATmega8 или ATmega88 и использует программную реализацию USB-интерфейса. Это позволяет сделать программатор недорогим, но при этом достаточно функциональным для большинства задач.
Подключение и настройка USBasp
Для подключения USBasp к компьютеру и целевому микроконтроллеру нужно выполнить следующие шаги:
- Подключить USBasp к свободному USB-порту компьютера с помощью кабеля USB A — USB A.
- Установить необходимые драйверы (для Windows потребуется установка драйвера, Linux обычно распознает устройство автоматически).
- Подключить программируемый микроконтроллер к 10-контактному разъему USBasp согласно цоколевке.
- При необходимости установить перемычку JP1 для выбора напряжения логических уровней (3.3В или 5В).
- Запустить программу для прошивки (например, AVRDUDE) и выбрать USBasp в качестве программатора.
Правильное подключение очень важно, чтобы избежать повреждения микроконтроллера или программатора. Всегда сверяйтесь с документацией на конкретную модель USBasp.
Обновление прошивки USBasp
Периодическое обновление прошивки USBasp позволяет исправить ошибки и добавить поддержку новых микроконтроллеров. Для обновления прошивки нужно:
- Скачать актуальную версию прошивки с официального сайта.
- Установить перемычку JP2 на плате USBasp для перевода в режим самопрограммирования.
- Подключить USBasp к другому программатору (например, к Arduino как ISP).
- С помощью AVRDUDE или другой утилиты загрузить новую прошивку.
- После прошивки удалить перемычку JP2.
Процесс обновления прошивки требует определенных навыков. Если вы не уверены в своих силах, лучше обратиться к специалисту.
Поддерживаемые микроконтроллеры
USBasp поддерживает широкий спектр 8-битных микроконтроллеров Atmel AVR, включая:
- Серия ATmega: ATmega8, ATmega16, ATmega32, ATmega328, ATmega1280 и др.
- Серия ATtiny: ATtiny13, ATtiny25, ATtiny45, ATtiny85 и др.
- Серия AT90: AT90S2313, AT90S8515 и др.
- Серии AT90CAN и AT90PWM
Полный список поддерживаемых микроконтроллеров зависит от версии прошивки USBasp. Актуальный список можно найти в документации к последней версии прошивки.
Преимущества использования USBasp
USBasp имеет ряд преимуществ по сравнению с другими программаторами для микроконтроллеров AVR:
- Низкая стоимость при широкой функциональности
- Простота использования и подключения через USB
- Поддержка большого количества микроконтроллеров
- Возможность работы в различных операционных системах
- Открытый исходный код прошивки, позволяющий модификации
- Компактные размеры, удобные для мобильного использования
Эти преимущества делают USBasp популярным выбором среди разработчиков, особенно для небольших проектов и прототипирования.
Использование USBasp с Arduino IDE
USBasp можно использовать для программирования микроконтроллеров через среду Arduino IDE. Для этого нужно выполнить следующие шаги:
- Установить драйверы USBasp, если это еще не сделано.
- В Arduino IDE выбрать нужную плату и порт.
- В меню «Инструменты» выбрать «Программатор: USBasp».
- Использовать команду «Загрузить с помощью программатора» для прошивки.
Такой подход позволяет программировать микроконтроллеры Arduino без использования загрузчика, что может быть полезно в некоторых случаях.
Решение проблем при работе с USBasp
При использовании USBasp могут возникнуть некоторые проблемы. Вот наиболее распространенные из них и способы их решения:
- Устройство не определяется в Windows: проверьте правильность установки драйверов или попробуйте использовать утилиту Zadig для установки альтернативного драйвера.
- Ошибка «cannot set sck period»: обновите прошивку USBasp до последней версии.
- Ошибка «could not find USB device»: проверьте USB-подключение и попробуйте использовать другой USB-порт.
- Не удается запрограммировать микроконтроллер: проверьте правильность подключения и соответствие выбранного напряжения.
В большинстве случаев проблемы решаются проверкой подключений, обновлением прошивки или переустановкой драйверов.
usbhub + usbasp + ch441 + j-link = one PCB / Хабр
Все началось с того, что мне в большом количестве понадобилось собрать/отладить устройства на базе AVR. Я взял USBASP, открыл документацию и с радостью обнаружил, что у него есть встроенная поддержка uart.
Как оказалось, потратив пару-тройку дней на поиск разнообразных драйверов, запустить такой мост под windows — задача маловероятная (с пингвинами все дружится практически «из коробки»). Если это не так — пишите в комментариях, но я не нашел ни одного работоспособного подтверждения в сети. В качестве временного решения собрал костыль: USBHUB + USBASP + USB-UART(ch440). Все работает, но как минимум — не эстетично, как максимум — устройства иногда отваливаются (с USB портами у моего старичка lenovo x230 все ок). Если подключать без USBHUBа, то заняты 2 из 3 usb портов + короткие провода (USBASP и USB-UART обычно имеют USB-разъемы сразу на плате).
Решено: изобретаю велосипед с подключением всего окружения на одной плате одним проводом с разъемом type-C.
Вспомнил про ch441 (у него есть конфигурационный вход, позволяющий работать как USB-SPI/I2C мост, а также как USB-UART, в т.ч. с наличием #DTR, но об этом позже).
Начал разработку платы с USBHUBа. Выбор пал на дешевый FE1.1.
На 4pda нашел тему про сh441 и «доработки», в т.ч. про дополнительную плату с согласователями уровней (для прошивки SPI флешек с 1.8в). Зачем городить бутерброд, если можно поставить согласователи на саму плату.
Добавил согласователи на UART (один переключатель на плате позволяет выбрать питание usbasp и одновременно уровень сигналов uart 5в/3.3в).
Пока неспешно собирал схему, параллельно столкнулся с проблемой китайских j-link адаптеров со слетающими прошивками. Решил добавить еще и программатор для ARM (В первой версии платы поставил обычный st-link на stm32f103, в последней версии j-link на stm32f205).
Три USB порта хаба заняты, четвертый usb вывел на USB-A (питание платы через предохранитель на 1А).
Терпеть не могу суперпозицию USB, с подключением с третьей попытки, потому поставил USB-typeC.
Как раз обзавелся самодельным микроскопом (eken h9 + гелиос 44-2).
Вывел разъем для прошивки adruno-плат без встроенного usb-uart (как раз нога #DTR через конденсатор), просто потому что смог.
Добавил аналоговый мультиплексор 4052, чтобы переключать UART между usbasp/внешним разъемом/stm32f205(для прошивки).
Бонусом — получилась «вещь в себе» — самопрошивающийся программатор. ch441 в режиме SPI может прошить usbasp, а в режиме UART может прошить stm32f205 (для старого бутлоадера 2.0), либо прям по USB (DFU для версии бутлоадера 3.0)
В итоге плата стала 4-слойной с размерами 70 мм х 35 мм.
Надеюсь, кому-нибудь мой опыт пригодится.
Гербера, инструкции по сборке, список элементов, схему, прошивки выложил на
https://4pda.to/forum/index.php?showtopic=884713&st=6720#entry106407720
Зеркало (у кого нет регистрации на 4пда), схема и архив:
Схема
Архив
Моя первая статья на Хабре, кидайте тряпками.
Прошивка микроконтроллеров Atmega через USBasp
Прошивка микроконтроллеров Atmega без arduino через USBasp:
Купить программатор здесь
Существуют простые и дешевые программаторы для прошивки м/к Atmega ,которые поддерживает среда Arduino IDE- необходимо просто выбрать соотвествующий программатор USBasp в настройках Arduino IDE. USBasp необходим,если вы просто прошиваете микроконтроллеры Amtel.Программатор основан на м/к Atmega 8 и использует програмный USB.
Он имеет выход питания 5v/3.3 v(переключается перемычкой JP1) ,а так же соотвествующие выводы SCK, MISO, MOSI, RESET для подключению напрямую к микроконтроллеру.На картинке показаны выводы на самом программаторе — на разъеме шлейфа соответственно будет зеркально относительно ключа (у 5 вывода),не забывайте об этом.
Для работы в операционной системе Windows необходимы драйвера. Linux же не требует их.
Данный программатор легко превратить в друое устройство,например в I2C-USB переходник , USB контроллер с GIO или контроллер чтения термодатчиков DS18B20.
Программирование через USBasp в Arduino IDE
Для программирования микроконтроллеров,подключенных через USBasp в Arduino IDE необходимо выбрать его в программе.
Программирование осуществляется через меню файл,выбрав пункт «Загрузить с помощью программатора». Не забываем выбрать микроконтроллер в меню «сервис» ->»плата».
Программирование через USBasp утилитой avrdude
Утилиту avrdude можно найти в папке /hardware/tools/ в дистрибутиве Arduino IDE или скачать в интернете.
Для того,чтобы залить прошивку в микроконтроллер необходимо выполнить команду:
avrdude -c usbasp -p m8 -U flash:w:имя_файла.hex . где -p m8 — это модель микроконтроллера.В данном случае atmega 8.
Дополнительно так же можно установить фьюзы дописав :-U hfuse:w:0xХХ:m -U lfuse:w:0xХХ:m .Где ХХ — соотвествующие фьюзы микроконтроллера ,необходимые для конкретной прошивки.
Обычно прошивку можно осуществить через команду make flash ,если Вы имеете исходный код прошивки и установленную WinAVR.
В других средах программирования выбор программатора осуществляется через соответсвующее меню программы.
Обратите внимание, xто на некоторых микроконтроллерах с завода,например на серии Attiny включен по умолчанию фьюз CKDIV8 ,который устанавливает делитель на 8 и из-за этого USBasp не программирует такие микроконтроллеры пока не установить перемычку JP3 на USBasp. Для настройки фьюзов воспользуйтесь калькулятором фьюзов чтобы выставить нужные настройки , в том числе выключить данный делитель.Фьюзы прошиваются через avrdude командой avrdude -c usbasp -p имя_м/к -U lfuse:w:0xХХ:m .
Пример для установки фьюзов attiny85 для внутреннего генератора 8мгц с выключенным делителем на 8 :
avrdude -c attiny85 usbasp -p -U lfuse:w:0x62:m
При программировании через Arduino IDE можно установить нужные фьюзы выбрав в меню «записать загрузчик»,выбрав перед этим необходимый микроконтроллер.
Обновление прошивки USBasp — пайка и сборка электроники для хобби
Обновление прошивки USBaspЕсли у вас есть USBasp, особенно более старая или китайская версия, вы можете подумать об обновлении прошивки USBasp. Если вы перейдете на веб-сайт:
https://fischl.de/usbasp/
Здесь вы можете скачать код .hex. Есть также другие прошивки, доступные на других веб-сайтах, которые вы можете рассмотреть. Позже в этой статье я разместил ссылку, по которой вы можете загрузить прошивку в USBasp, которая дополняет WCID. Это означает, что он будет просто использовать родной USB-драйвер Windows, и вам не придется возиться с отключением или загрузкой других драйверов, использованием Zadig или просто надеждой, что он будет работать.
Определите, какой тип USBasp у вас естьПеред обновлением микропрограммы вам необходимо знать, какой чип установлен в вашем USBasp. Вероятно, это будет ATMega88, ATMega48 или ATMega8. Вы можете увидеть, что на нем напечатано, с помощью лупы. У меня был ATMega8.
Поскольку вы являетесь пользователем USBasp, вы, скорее всего, немного знаете о ISP. Вот как мы собираемся обновить прошивку на USBasp путем схемного программирования ATMega. К сожалению, вам придется использовать другой программатор, чтобы сделать это. Большинство людей используют либо Arduino, либо другой USBasp. Я решил сделать это с другим USBasp. Причина в том, что у меня тогда был бы запасной USBasp (никогда не помешает иметь резервное устройство — на всякий случай). Также проще подключить провод, так как вы можете просто соединить два устройства вместе с проводом, который вы уже используете.
Первое, что нужно сделать, это проверить, есть ли у вас устройство, которое будет легко обновить или нет. Чтобы запрограммировать USBasp, вам нужно закоротить ссылку. На более новых устройствах он четко обозначен как JP2 и напечатан трафаретной печатью на печатной плате. На более старых вам, возможно, придется соединить две дорожки с помощью пайки, что может привести к беспорядку и вызвать серьезные проблемы, если вы ошибетесь, поэтому убедитесь, что он находится в пределах допустимого диапазона. ваши возможности, прежде чем начать, если у вас есть старый.
Припой в разъеме DILУ меня новая версия, и хотя вы можете легко припаять проводное соединение, после того, как вы запрограммируете новую прошивку, вам придется отрезать или отпаять соединение, поэтому я подумал, что это будет слишком более аккуратный и лучший способ на самом деле припаять правильный контактный разъем DIL и использовать правильную перемычку. Затем вы можете вставить его на место и удалить, когда захотите, если вам понадобится обновить прошивку в будущем.
Итак, возьмите устройство, которое вы собираетесь обновить, и закоротите JP2 либо припаяв перемычку, либо перемычкой. Соедините два USBasp вместе, используя два 10-контактных разъема и 10-контактный ленточный кабель. Затем установите USBasp для программирования на 5 В, установив перемычку рядом с JP2. На моем устройстве это четко обозначено 3,3 В 5 В. Затем подключите его к ноутбуку, который вы обычно используете для программирования.
Программирование новой прошивкиЗайдите на сайт и загрузите правильную прошивку для вашего устройства. Затем поместите его на диск C пользователя под своим именем.
Я делаю это, потому что каждый раз, когда я пытаюсь связать команду с файлом, я получаю что-то вроде этого сообщения:
avrdude: не удается открыть входной файл usbasp.atmega8.2011-05-28.hex: Нет такого файл или каталог
Если вы получаете подобное сообщение об ошибке, это обычно означает, что файл, который вы хотите загрузить, находится не в том месте. Я считаю, что гораздо проще поместить файл в то место, которое, как я знаю, ищет командная строка, поэтому для себя я поместил файл:
usb.atmega8.2011-05-28.hex
В диске C/Users/ваше имя
Затем с помощью Winavr, используя CMD, я использую команду:
avrdude -p atmega8 -c usbasp -U flash :w:usbasp.atmega8.2011-05-28.hex:i -F -P usbЭто удалит файл .hex в mega8 и запишет новый файл. С новой прошивкой я больше не получаю сообщение: Cannot установить период SCK. Необходимо обновить версию прошивки. Другие сообщения, которые вы можете получить:
avrdude: Подпись устройства = 0x1e930b
avrdude: Ожидаемая подпись для ATMEGA8: 1E 93 07
Это если у вас не та Mega, либо в USBasp, либо в программе коммендной строки.
После обновления прошивки USBasp не забудьте снять перемычку JP2.
Вот ссылка на прошивку для комплимента вашему USBasp WCID. После этого вы сможете попрощаться со всеми этими проблемами с драйверами Windows:
https://github. com/dioannidis/usbasp
Последние мысли об обновлении прошивки USBaspОбновить прошивку USBasp довольно быстро и просто. Пока у вас есть другие средства для программирования и следуйте инструкциям. Usbasp доступны на Amazon за 7 фунтов стерлингов. Если вы являетесь основным участником, вы можете получить свой заказ на следующий день с бесплатной доставкой.
Скачать обнуленные темы WordPress
USBASP V2.0 Программатор для микроконтроллеров Atmel — Art of Circuits
1000,00 ₨
USBasp V2.0 — внутрисхемный USB-программатор для Atmel: ATMEGA, ATTINY, AT90, микроконтроллеры серий AT90CAN и AT90PWM.
1 в наличии
Артикул: A000040218 Категории: Программисты и отладчики, Инструменты Теги: Программатор Arduino, Программатор AVRISP, Программатор
- Описание
- Отзывы (0)
Описание
USBasp V2. 0 — внутрисхемный USB-программатор для Atmel: микроконтроллеры серий ATMEGA, ATTINY, AT90, AT90CAN и AT90PWM.
Особенности
- Встроенный ATMega8(L).
- Встроенная защита от перегрузки по току.
- Перемычка выбора логического уровня 3,3 В и 5 В (JP1)
- Перемычка самопрограммирования (обновление прошивки) (JP2)
- Перемычка управления тактовой частотой (JP3)
- Разъем USB типа A для прямого подключения к порту USB ПК
- 10-контактная вилка IDC с кожухом
- Встроенные светодиоды питания и состояния программатора
- Поддерживаемые ОС: Windows 8, Windows 7, работает на нескольких платформах. Linux, Mac OS X и Windows тестируются.
- Скорость программирования до 5Кбайт/сек.
Supported Microcontrollers
Mega Series
ATmega8 ATmega8A ATmega48 ATmega48A ATmega48P
ATmega48PA ATmega88 ATmega88A ATmega88P ATmega88PA
ATmega168 ATmega168A ATmega168P ATmega168PA ATmega328
ATmega328P ATmega103 ATmega128 ATmega128P ATmega1280
ATmega1281 ATmega16 ATmega16A ATmega161 ATmega162
ATmega163 ATmega164 ATmega164A ATmega164P ATmega164PA
ATmega169 ATmega169A ATmega169P ATmega169PA ATmega2560
ATmega2561 ATmega32 ATmega32A ATmega324 ATmega324A
ATmega324P ATmega324PA ATmega329 ATmega329A ATmega329P
ATmega329PA ATmega3290 ATmega3290A ATmega3290P ATmega64
ATmega64A ATmega640 ATmega644 ATmega644A ATmega644P
ATmega644PA ATmega649 ATmega649A ATmega649P ATmega6490
ATmega6490A ATmega6490P ATmega8515 ATmega8535
Tiny Series
ATtiny12 ATtiny13 ATtiny13A ATtiny15 ATtiny25
ATtiny26 ATtiny45 ATtiny85 ATtiny2313 ATtiny2313A
Classic Series
AT90S1200 AT90S2313 AT90S2333 AT90S2343 AT90S4414
AT90S4433 AT90S4434 AT90S8515
AT90S8535
Can Series
AT90CAN128
PWN Series
AT90PWM2 AT90PWM3
Documents & Downloads
- USBASP V2.