Здравствуйте, уважаемые читатели! В данной статье разберем один из самых популярных программаторов для прошивки AVR микроконтроллеров – USBasp программатор.
В серии статей по программированию ATtiny13 и ATtiny85 я уже рассказывал, как можно использовать Ардуино в качестве ISP программатора. И как собрать удобный модуль для программирования данных микроконтроллеров с помощью Arduino UNO (Создаем удобный модуль для программирования микроконтроллеров ATtiny).
Начнем с описания USBasp программатора. Это программатор с открытым исходным кодом, придуманный Томасом Фишлем. Он позволяет запрограммировать любой AVR микроконтроллер, поддерживающий интерфейс SPI. И даже интерфейс TPI (Tiny Programming Interface) о котором я рассказывал на примере микроконтроллера ATtiny10 (Программирование ATtiny10 с помощью USBasp программатора).
Слева на картинке показан ISP разъем, подключаемый к программируемому микроконтроллеру, а справа USB разъем для подключения к компьютеру.
По центру размещен кварцевый резонатор и микроконтроллер. Обычно это ATmega8, иногда ATmega88.
Джампер JP1 - служит для выбора выходного напряжения программатора 3.3 или 5 В.
Джампер JP2 - переводит программатор в режим обновления прошивки. Т.е. теперь в сам программатор мы можем загружать скетчи, как в обычный микроконтроллер.
Джампер JP3 – позволяет снизить скорость программирования микроконтроллера. Его установка полезна, если микроконтроллер запрограммирован на частоту 1 МГц и менее. В противном случае, при попытке прошивки микроконтроллера может выводится сообщение об ошибке.
Чаще всего гребенки контактов для джамперов JP2 и JP3 не припаяны, так что их лучше припаять самому.
На сайте разработчика https://www.fischl.de/usbasp/ есть подробное описание программатора, схема с перечислением электронных компонентов, прошивка программатора и драйвера для операционной системы. Т.е. при желании, или в качестве обучающего проекта, такой программатор можно собрать самому.
Но проще всего приобрести USBasp программатор на AliExpress за 150-200 рублей, а иногда и дешевле.
Можно сразу приобрести с вот таким переходником, для удобства подключения к 6-ти контактным ISP разъемам. Таким как например у Ардуино Уно, Ардуино Нано и многих других плат с AVR микроконтроллерами.
Установка драйвера для USBasp программатора
Для операционной системы MacOS и Linux драйвера не нужны, а вот для пользователей Windows вначале нужно скачать и установить по ссылке https://www.fischl.de/usbasp/
Переходим по ссылке и скачиваем самый свежий архив с драйверами.
Далее распаковываем архив, переходим в папку bin , далее win-driver, libusb_1.2.4.0 и запускаем файл installer_x86.exe или installer_x64.exe в зависимости от того, 32 разрядная у вас система или 64 разрядная.
После установки важно проверить, чтобы при подключении программатора к ПК, в Диспетчере устройств появлялась новая группа устройств libusbK UsbDevices и внутри USBasp. При этом, должен быть статус устройства, что оно работает нормально.
Подключение USBasp программатора к микроконтроллеру
Схема подключения USBasp программатора к микроконтроллеру зависит от распиновки каждого конкретного микроконтроллера. У всех AVR микроконтроллеров поддерживающих интерфейс SPI есть группа портов обозначенная на схеме как SCK, MISO и MOSI. Дополнительно нам понадобится подключение к ножке RESET микроконтроллера. И именно эти пины микроконтроллера мы соединяем с аналогичными пинами выхода USBasp программатора. Дополнительно подключаем VCC и GND программатора к аналогичным пинам питания и земли микроконтроллера.
Загрузка скетчей в USBasp программатора из среды Arduino IDE
После подключения микроконтроллера к USBasp программатору и выбора микроконтроллера (для примера ATtiny2313) устанавливаем в качестве программатора USBasp.
И в меню Скетч, выбираем пункт Загрузить через программатор.
Если при загрузке скетча появляется ошибка нужно попробовать повторить загрузку, установив джампер JP3 понижающий скорость загрузки. В случае очередной неудачи, нужно проверить качество соединения, установленную версию библиотеки для работы с микроконтроллером и выбранные опции для его программирования.
О загрузке скетчей без использования среды Arduino IDE, а так же об обновлении прошивки USBasp программатора мы поговорим в следующей статье.
>>>> Часть 2. Обновление прошивки USBasp программатора
_________________________________________________________
Спасибо, что дочитали до конца! Если статья понравилась, нажмите, пожалуйста, соответствующую кнопку. Если интересна тематика электроники и различных электронных самоделок, подписывайтесь на канал. До встречи в новых статьях!
Другие публикации по теме:
- Программирование ATtiny10 с помощью USBasp программатора
- Создаем удобный модуль для программирования микроконтроллеров ATtiny