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

 
» » » Начало работы с новыми микроконтроллерами ATtiny – программирование ATtiny417, ATtiny817, ATtiny1604, ATtiny402 в Arduino IDE

Начало работы с новыми микроконтроллерами ATtiny – программирование ATtiny417, ATtiny817, ATtiny1604, ATtiny402 в Arduino IDE

Автор: Mike(admin) от 30-09-2019, 03:55

Программируем в Arduino IDE микроконтроллеры ATtiny417, ATtiny817, ATtiny1604, ATtiny402, ATTiny1614, ATtiny3216 и другие


Несколько лет назад Microchip/Atmel объявили о выпуске совершенно новой линейки микросхем, предназначенных для замены их старых серий ATmega и ATtiny. Новые чипы ATtiny начались с 1-й серии, в которую вошли ATtiny417 и ATtiny817, за которой в 2018 году последовали более дешевые микроконтроллеры 0-й серии, включающие такие микроконтроллеры, как ATtiny1604 и ATtiny402. Новая линейка микроконтроллеров в настоящее время состоит из 25 компонентов.


программирование ATtiny417, ATtiny817, ATtiny1604, ATtiny402 в Arduino IDE

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


MegaTinyCore – это ядро Arduino для программирования новой серии микроконтроллеров Microchip с помощью Arduino IDE. Ядро основано на работе, проделанной командой Arduino при разработке поддержки их новых плат на базе ATmega4809. Хотя ядро обеспечивало все необходимое для компиляции кода для новых плат, все еще оставалась небольшая проблема, поскольку серии ATtiny 0 и 1 можно программировать только через унифицированный интерфейс программирования и отладки (UPDI) (1- проводной интерфейс, используя контакт сброса на ATtiny), потому что у них нет загрузчика, и как таковой не может быть запрограммирован через ISP или с помощью программатора ISP. Чтобы решить эту проблему, пользователь GitHub ElTangas написал ядро программатора UPDI, который можно загрузить на Arduino Uno или эквивалентную плату, чтобы превратить плату в программатор UPDI для платы новой серии, предоставляя пользователям возможность не только разрабатывать свой код с помощью Arduino IDE, но также загружать код в целевой микроконтроллер, используя плату Arduino в качестве программатора, полностью исключая необходимость использования Atmel studio в процессе разработки. Исходя из вышеизложенного, этот пример покажет, как настроить плату Arduino в качестве программатора UPDI и как настроить megaTinyCore в вашей среде разработки Arduino.


Нужно заметить, что ни одно из новых устройств ATtiny не доступно в DIP-корпусах, поэтому для их подключения на макетной плате вам понадобится своего рода коммутационная плата, поэтому здесь используется 8-контактная плата SOIC. Для микроконтроллеров с большим количеством контактов вы можете найти 14 и 20-контактный SOIC или 24-контактную плату VQFN. Все эти компоненты можно купить в большинстве онлайн-магазинов электронных компонентов. Найдя компоненты, можно установить MegaTinyCore в Arduino IDE.


Для megaTinyCore требуется Arduino IDE версии 1.6.3 или более поздней, хотя на странице GitHub было указано, что может потребоваться более свежая версия IDE, но первоначальный тест проводился с версией 1.8.9. MegaTinyCore можно установить на Arduino IDE двумя способами: установка через Arduino Board Manager и ручная установка. Мы приведем оба метода, что даст вам возможность решить, какой из них проще или быстрее.


Установка через Arduino Board Manager


Менеджер плат Arduino (Arduino Board Manager) был разработан, чтобы облегчить пользователям установку новых плат и дополнений. Чтобы установить megaTinyCore с помощью этого метода, выполните шаги, перечисленные ниже.


Сначала откройте окно настроек в Arduino IDE (preferences). Перейдите в Файл – Настройки (File - Preferences) или Arduino – Настройки (Arduino - Preferences), если вы работаете в MacOS.


Далее в окне настроек найдите текстовое поле «Дополнительные URL-адреса менеджера плат» (Additional Board Manager URLs) и введите «http://drazzy.com/package_drazzy.com_index.json» в поле, как показано ниже, и нажмите кнопку «ОК».


программирование ATtiny417, ATtiny817, ATtiny1604, ATtiny402 в Arduino IDE

Затем откройте менеджер плат Arduino. Перейдите в Инструменты – Платы – Менеджер плат (tools-Boards-Boards manager). Когда менеджер откроется, введите megaTinyCore в строку поиска и прокрутите, вы увидите «megaTinyCore by Spence Konde», нажмите «Установить» (install), как показано ниже.


программирование ATtiny417, ATtiny817, ATtiny1604, ATtiny402 в Arduino IDE

Кроме того, найдите пакет «Official Arduino megaAVR boards» и установите самую последнюю версию этого пакета. После того, как все это будет сделано успешно, вы должны увидеть все платы Attiny, перечисленные в разделе плат (tools – Boards) в Arduino IDE. Если это так, значит установка платы прошла успешно.


программирование ATtiny417, ATtiny817, ATtiny1604, ATtiny402 в Arduino IDE

Ручная установка


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


Для установки вручную выполните следующие действия. Сначала убедитесь, что вы установили последнюю версию пакета Official Arduino megaAVR board. Загрузите пакет MegaTinyCore.zip (либо релиз, либо загрузив .zip основного репозитория) на свой компьютер.


Извлеките файл и поместите его в папку «hardware» внутри папки со скетчами (где хранятся ваши скетчи Arduino). Если такая папка не существует, создайте новую папку и назовите ее «hardware». Перезапустите Arduino IDE.


Для автоматического обновления вместо загрузки zip-файла вы можете загрузить клиент GitHub и синхронизировать этот репозиторий с подпапкой hardware вашей папки Sketchbook. После завершения установки вы должны увидеть все платы Attiny, перечисленные в разделе плат (tools – Boards) в Arduino IDE, если процесс установки прошел успешно. Следующим шагом будет настройка программатора UPDI, после чего вы будете готовы выгрузить код в любой из новых микроконтроллеров Microchip серии ATtiny.


Делаем программатор UPDI


Как было упомянуто во введении, нам нужно сделать так, чтобы программатор UPDI мог загружать код в серию attiny, используя IDE и плату Arduino. Для этого есть два шага. Первый шаг включает в себя преобразование платы Arduino для использования в качестве программатора UPDI, в то время как вторая часть показывает, как подключить Attiny к программатору и процесс загрузки.


Чтобы преобразовать нашу плату Arduino в программатор UPDI, мы будем использовать скетч UPDI Arduino, созданный ElTangas. Скетч преобразует Arduino на основе ATmega328 (p), как Arduino UNO, Nano и Pro mini, в программатор UPDI. Скетч, однако, не работает на платах, основанных на других микроконтроллерах, таких как 32u4 (на Arduino Micro / Leo) или любой плате, отличной от AVR.


Итак, для начала закройте все скетчи Arduino IDE, чтобы избежать ошибок. Скачайте и распакуйте скетч программатора UPDI (https://github.com/SpenceKonde/jtag2updi). Откройте папку jtag2updi после распаковки загрузки. Откройте скетч jtag2updi.ino и загрузите его на плату Arduino, которую вы хотели бы использовать. Когда вы открываете код, файл .ino будет казаться пустым, и это нормально, так как весь код содержится в других файлах в той же папке, что и .ino, но нужен пустой .ino, чтобы они могли быть скомпилированы IDE.


После успешной загрузки вы будете готовы к использованию программатора UPDI. Если вы часто используете новую серию ATtiny, это будет разумный шаг, чтобы полностью посвятить Arduino Pro Mini или Nano Board в качестве постоянного программатора UPDI.


Теперь подключите ATiny к Arduino, как показано на схеме далее (здесь используется вывод D6 для линии UPDI).


программирование ATtiny417, ATtiny817, ATtiny1604, ATtiny402 в Arduino IDE

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


программирование ATtiny417, ATtiny817, ATtiny1604, ATtiny402 в Arduino IDE

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


программирование ATtiny417, ATtiny817, ATtiny1604, ATtiny402 в Arduino IDE

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


программирование ATtiny417, ATtiny817, ATtiny1604, ATtiny402 в Arduino IDE

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




© digitrode.ru


Теги: Arduino, ATtiny



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


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

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

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