От простого к сложному.
Использование оценочной платы Xplained Mini компании Atmel в программной среде Arduino IDE

№ 11’2015
PDF версия
Для разработки устройств на базе собственных микроконтроллеров компания Atmel предлагает универсальную интегрированную программную среду Atmel Studio и набор аппаратных отладочных устройств различной сложности. Среда Atmel Studio позволяет управлять проектами, вводить и редактировать тексты входящих в них программ и модулей, компилировать исходные тексты программ и загружать код в память микроконтроллеров, а также осуществлять отладку алгоритмов.

Как и любой другой профессиональный продукт, Atmel Studio требует определенных усилий для его освоения. Поэтому для первоначального обучения начинающих пользователей различными коллективами предпринимались неоднократные попытки предложить упрощенные инструментальные средства для разработки, применяя ограничения их функциональных свойств и возможностей по сравнению с профессиональными. Наиболее успешным из них, на взгляд авторов, является проект Arduino [1].

В 1992 году выпускники Норвежского университета технологии и науки Алф Эгил Боген (Alf Egil Bogen) и Вегард Воллан (Vegard Wollan) предложили концепт «RISC-микроконтроллер с Flash-памятью», ставший основой архитектуры, известной сегодня как одна из самых успешных в индустрии. Серийный выпуск микроконтроллеров с архитектурой AVR начался в 1996 году. На протяжении почти двух десятилетий было изготовлено свыше 7 млрд экземпляров устройств. Микроконтроллеры AVR можно обнаружить как в профессиональном оборудовании и бытовой технике, так и в DIY (Do It Yourself) проектах самодельщиков. Благодаря удачному сочетанию простоты, доступной стоимости и высокой функциональности контроллеры AVR являются привлекательными для освоения начинающими и для приобщения к микропроцессорной технике специалистов, чья профессиональная деятельность не связана с электроникой.

Arduino представляет собой открытую платформу для построения прототипов на базе гибкой и легкой в применении аппаратуры и программных средств. Arduino была создана именно для непрофессионалов и начинающих: студентов и школьников, художников и дизайнеров, то есть людей, для которых электроника — это хобби. Примечательно, что модули Arduino используют микроконтроллеры AVR (а теперь еще и ARM) от компании Atmel, а интегрированная среда разработки IDE основана на программных средствах Atmel. Компания Atmel поддерживает данный проект и тесно сотрудничает с его основателями.

Плата Arduino (рис. 1) содержит основной микроконтроллер (наиболее распространены варианты с ATmega328P) с необходимыми узлами питания и тактирования, а также второй микроконтроллер, чей USB-интерфейс используется для связи с персональным компьютером. Через USB осуществляется питание и программирование обоих микроконтроллеров, а также организуется связь по последовательному каналу. Arduino позволяет начинающему разработчику буквально в течение часа запустить свою первую программу и в дальнейшем построить реально работающее устройство на его основе. Интернет наполнен примерами программ и готовыми библиотеками алгоритмов для Arduino, а также предложениями о продаже процессорных модулей различной конфигурации и дополнительных периферийных модулей, так называемых шилдов (shields). Доступны как простые шилды, например для подключения кнопок и небольших электродвигателей, так и сложные, содержащие цветные сенсорные LCD-дисплеи, Ethernet и Wi-Fi-интерфейсы.

Плата Arduino Uno

Рис. 1. Плата Arduino Uno

Однако по мере приобретения опыта и усложнения решаемых задач перед разработчиком возникает необходимость преодоления ограничений таких упрощенных средств разработки. В частности, особенно сильно сказывается отсутствие в них развитых средств диагностики и отладки. Для снижения барьера и для сохранения накопленного начинающим разработчиком опыта в виде собственных программ, уже освоенных библиотек и приобретенной аппаратуры компания Atmel создала и предлагает методы постепенного перехода от платформы Arduino к профессиональным платам Xplained Mini, Xplained Pro и к программной среде Atmel Studio. Такие методы позволяют использовать плату Xplained Mini в Arduino IDE, переносить и запускать скетчи (программные файлы), написанные с помощью Arduino IDE, в Atmel Studio. Существует возможность сразу создавать в Atmel Studio новые скетчи в формате Arduino IDE, компилировать и загружать их в отладочную плату Xplained Mini. При этом разработчику становится доступным развитый функционал отладчика Atmel Studio, включая точки останова, просмотр содержимого областей памяти и регистров и т. п.

Цель данной статьи — кратко описать методику настройки и подключения платы Xplained Mini к персональному компьютеру с установленной Arduino IDE, загрузку в нее прикладной программы и запуск простейшего примера, включенного в IDE. Начнем работу с общего знакомства с Xplained Mini (рис. 2).

Отладочная плата ATMEL ATmega328P Xplained Mini

Рис. 2. Отладочная плата ATMEL ATmega328P Xplained Mini

Семейство плат Xplained Mini выпускается с различными микроконтроллерами. Для нашего примера возьмем Atmel ATmega328P Xplained Mini evalutation kit, несущий на борту AVR-микро-контроллер mega328P, который используется в самых распространенных платах Arduino Nano и Uno. Подобно Arduino Uno и Nano, в ATmega328P Xplained Mini встроен второй микроконтроллер mega32U4 с записанной в него программой отладчика mEDBG FW с функцией программатора.

Ключевые свойства платы Xplained Mini:

  • Встроенный отладчик с поддержкой отладки в Atmel Studio на уровне исходного кода.
  • Auto-ID, идентификатор типа для автоматического определения платы в среде Atmel Studio.
  • Доступ ко всем сигналам в исследуемом микроконтроллере.
  • Один светодиод зеленого цвета для индикации состояния отладчика mEDBG.
  • Один светодиод желтого цвета для применения в пользовательской программе.
  • Одна механическая кнопка для применения в пользовательской программе.
  • Виртуальный последовательный COM-порт (CDC).
  • Внешний по отношению к тестируемому микроконтроллеру источник тактового сигнала CLK с частотой 16 MГц при питании платы 5 В; с частотой 8 MГц при питании платы напряжением 3,3 В.
  • Цепи питания от разъема USB.
  • Регулятор напряжения 3,3 В.
  • Контактные площадки для установки разъемов в соответствии с планом Arduino Uno для подключения плат расширения (Arduino shields).
  • Контактные площадки для установки разъема шины SPI тестируемого микроконтроллера.
  • Контактные площадки для установки разъема, совместимого с платами расширения Xplained Pro.

Для подключения Xplained Mini к Arduino IDE требуется сделать обновление кода отладчика mEDBG, записанного во вспомогательный контроллер ATmega32U4. Эта операция подробно описана в статье “How to connect the AVR Xplained Mini to the Arduino IDE”. Данная процедура проводится однократно и может быть выполнена на любом компьютере, где уже установлена программная среда Atmel Studio. Статью с пошаговыми инструкциями можно скачать с сайта компании Atmel [2].

После обновления в основной микроконтроллер ATmega328P с помощью Atmel Studio записывается программа-загрузчик Arduino ATmegaBOOT_168_atmega328.hex, которая находится в составе Arduino IDE в папке /hardware/arduino/ hardware /bootloaders/atmega/.

Все дальнейшие операции с платой могут быть проделаны на совершенно другом компьютере с установленной Arduino IDE и при отсутствующей Atmel Studio. При этом отладочная плата Xplained Mini в среде IDE идентифицируется как Arduino Nano (рис. 3).

Установка типа платы в Arduino IDE

Рис. 3. Установка типа платы в Arduino IDE

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

Стандартный пример управления светодиодом

Рис. 4. Стандартный пример управления светодиодом

Потом программу можно слегка модифицировать для иллюстрации работы цифровых входов (рис. 5).

Текст модифицированной программы

Рис. 5. Текст модифицированной программы

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

В случае успешного прохождения всех описанных шагов следует считать, что настройка и подключение платы Xplained Mini к персональному компьютеру с установленной Arduino IDE выполнены. Теперь пользователю становятся доступны многочисленные примеры программ и хорошо документированные библиотеки алгоритмов. Подключая к Xplained Mini разнообразные периферийные модули и платы расширения, удается значительно ускорить и расширить опыт проектирования конечных устройств на базе AVR-микроконтроллеров ATmega, что в дальнейшем позволит быстрее освоить профессиональные средства разработки компании Atmel. Об этом планируется рассказать в следующих статьях.

Литература
  1. Arduino Uno overview
  2. How to connect the AVR XPlained Mini to the Arduino IDE. Материалы корпорации Atmel / Май www.spaces.atmel.com/gf/project/avr_xp_mini/frs/ссылка утрачена/

Добавить комментарий

Ваш адрес email не будет опубликован. Обязательные поля помечены *