цифровая электроника
вычислительная техника
встраиваемые системы

 
» » » Самодельный программатор UPDI для программирования микроконтроллеров ATtiny серии 0

Самодельный программатор UPDI для программирования микроконтроллеров ATtiny серии 0

Автор: Mike(admin) от 22-11-2019, 05:55

Программатор UPDI для микроконтроллеров ATtiny своими руками


Благодаря своим крошечным размерам и улучшенным возможностям, микроконтроллеры ATtiny серии 0 были восхищением для разработчиков, ищущих микроконтроллер с простотой использования, связанной с платами Arduino, но с гораздо меньшим форм-фактором. Наряду с ATtiny серии 1 микроконтроллеры серии ATtiny-0 должны были служить современной заменой другим популярным чипам ATtiny, таким как ATtiny85 и ATtiny45. Хотя они были в состоянии сделать это, обеспечивая при этом невероятный функционал, одна проблема, с которой пользователи сталкивались со временем, заключалась в трудности в программировании микросхем, так как в отличие от предыдущих микросхем ATtiny они используют не очень популярный протокол программирования UPDI вместо протокола ISP, использовавшегося в предыдущих сериях.


Самодельный программатор UPDI для программирования микроконтроллеров ATtiny серии 0

Чтобы решить эту проблему, несколько инженеров разработали различные способы программирования серии Attiny-0. В сегодняшнем материале мы рассмотрим, пожалуй, самый элегантный способ, который может предложит инженерное сообщество – миниатюрный программатор UPDI с разъемом USB, разработанный Дэвидом Джонсоном-Дэвисом.


Этот программатор основан на Atmega328P и действительно может быть назван Arduino Uno на USB. Он использует микроконтроллер Atmega328P в качестве программатора UPDI, а FT231 служит конвертером USB в UART, облегчая обмен данными между программатором и компьютером. Как упомянуто выше, устройство может также использоваться в качестве ограниченного Arduino Uno, по той причине, что цифровой вывод 6 Atmega328P, который совместим с контактом 6 на Arduino Uno, выведен, поэтому его можно использовать для связанных с Arduino действий.


Принципиальная схема программатора UPDI представлена на следующем изображении. Здесь в основном используются SMD-компоненты для достижения необходимого уровня миниатюризации.


Схема самодельного программатора UPDI для программирования микроконтроллеров ATtiny серии 0

Он имеет две основные микросхемы: микроконтроллер Atmega328p и конвертер FT231 «USB в UART». ATmega328p действует как программатор UPDI, а FTDI-чип служит конвертером, преобразуя сигналы USB с ПК в UART для ATmega328p и наоборот. Одним из ключевых конструктивных соображений, реализованных на плате, является создание трех дополнительных площадок вместе с контактами программирования UPDI на краю платы. Дополнительные контакты предоставляют пользователю порт ISP, через который пользователи могут загружать загрузчик на ATmega328p.


Хотя программатор серии ATTiny-0 можно прошить с помощью нескольких инструментов, таких как Atmel Studio, мы понимаем, что среднестатистический радиолюбитель хочет иметь возможность писать код, как в Arduino IDE. В результате мы сосредоточимся на программировании с помощью Arduino IDE. Как и в случае любой платы / микроконтроллера, для программирования в Arduino IDE требуется ядро Arduino. Это требование было реализовано для серии ATtiny-0 с новым ядром Arduino для новых чипов ATtiny, разработанным Спенсом Конде и его сотрудниками, под названием megaTinyCore (https://github.com/SpenceKonde/megaTinyCore).


Однако перед загрузкой программного обеспечения нам необходимо установить загрузчик на нашу плату, чтобы можно было программировать с помощью Arduino IDE. Следуйте инструкциям ниже, чтобы установить загрузчик.


Сначала припаяйте провод на месте резистора 0 Ом на плате. Это соединит линию сброса с микроконтроллером. Далее припаяйте провода к контактам MOSI, MISO, SCK и RESET на плате и соедините их с разъемами, к которым можно подключить провода. Рекомендуется использовать для соединений очень тонкие провода, чтобы вы случайно не перекрыли площадки печатной платы. Другой вариант – припаять контакты разъема прямо к плате.


Затем подключите 3-контактный разъем к трем клеммам в верхней части платы программатора UPDI, чтобы вы могли использовать это для подключения GND и 5 В к плате.


Самодельный программатор UPDI для программирования микроконтроллеров ATtiny серии 0

Подключите ISP-программатор к плате через шесть проводов, которые вы припаяли. Обратите внимание, что это может быть плата Arduino, как UNO. В Arduino IDE выберите Arduino/Genuino Uno из раздела Arduino AVR Boards в меню Boards (Платы) и установите для Programmer (Программатор) значение ArduinoISP при использовании Arduino UNO или соответствующее имя программатора при использовании любого другого программатора. Выберите порт, к которому подключен программатор, и выберите Burn Bootloader (Загрузить загрузчик), чтобы загрузить загрузчик на плату.


После того, как эта работа будет успешно завершена, у вас должен быть установлен загрузчик UPDI. Вы можете проверить успешность процесса перепрошивки загрузчика, загрузив пример Arduino Blink в программатор UPDI через порт USB. После тестирования загрузчика следующая задача – загрузить код jtag2updi на плату.


Сначала загрузите скетч jtag2updi (https://github.com/SpenceKonde/jtag2updi). Распакуйте zip-файл и откройте папку jtag2updi. Откройте скетч jtag2updi.ino с помощью Arduino IDE, подключите программатор UPDI к компьютеру через USB и загрузите код, как вы это делали для примера Blink. Уберите провод, который вы установили ранее на позицию резистора 0 Ом на плате программатора UPDI.


Вот и все, плата теперь готова к использованию в качестве программатора UPDI, но у нас есть еще один шаг. UPDI – это протокол, который не входит в список протоколов программатора, которые были поставлены с Arduino IDE. Таким образом, чтобы Arduino IDE распознал плату как программатор, в IDE необходимо установить megaTinyCore. Шаги по установке megaTinyCore уже были описаны в нашем недавнем руководстве, в котором мы рассмотрели, как превратить Arduino Nano в программатор UPDI. Вы можете выполнить эти шаги, чтобы установить megaTinyCore в Arduino IDE.


Итак, программатор UPDI готов, и Arduino IDE готова к программированию по UPDI. Выполните следующие действия, чтобы запрограммировать микроконтроллер ATtiny серии 0. Сначала подключите ATtiny к программатору UPDI, как показано на следующем изображении.


Самодельный программатор UPDI для программирования микроконтроллеров ATtiny серии 0

Соединение довольно простое: GND – GND, 5V – VCC, UPDI – UPDI.


С микроконтроллером, подключенным к вашему программатору Arduino UPDI, теперь мы готовы загрузить код в ATtiny/ Откройте или напишите код, который вы хотите загрузить. Проверьте код, чтобы убедиться в отсутствии ошибок, затем перейдите в Tools - Board (Инструменты – Плата) и прокрутите вниз, пока не увидите ATtiny, с которым вы работаете, в списке и выберите его. Платы ATtiny будут установлены автоматически после установки megaTinyCore.


Самодельный программатор UPDI для программирования микроконтроллеров ATtiny серии 0

Это должно обновить параметры, отображаемые при нажатии на инструменты. Теперь нам нужно указать Arduino IDE, чтобы мы использовали наш программатор. Для этого перейдите в Tools-Programmers (Инструменты – Программаторы). Прокрутите вниз панель и выберите в качестве программатора jtag2updi (megaTinycore).


Самодельный программатор UPDI для программирования микроконтроллеров ATtiny серии 0

После этого ваш экран должен выглядеть как на следующем изображении, когда вы нажимаете на инструменты.


Самодельный программатор UPDI для программирования микроконтроллеров ATtiny серии 0

Теперь выберите порт, к которому подключен программатор, и нажмите кнопку загрузки в IDE. Вы должны сразу увидеть процесс загрузки, а после завершения микроконтроллер должен работать как запрограммировано.


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




© digitrode.ru


Теги: UPDI, ATtiny, Arduino, программатор



   Благодарим Вас за интерес к информационному проекту digitrode.ru.
   Если Вы хотите, чтобы интересные и полезные материалы выходили чаще, и было меньше рекламы,
   Вы можее поддержать наш проект, пожертвовав любую сумму на его развитие.


Уважаемый посетитель, Вы зашли на сайт как незарегистрированный пользователь.
Мы рекомендуем Вам зарегистрироваться либо войти на сайт под своим именем.

Комментарии:

Оставить комментарий