Мигание светодиодом на MSP430G2 с помощью Energia IDE


MSP-EXP430G2 представляет собой плату разработки, также известную как LaunchPad, от компании Texas Instruments. С помощью данной платы можно производить программирование всей серии микроконтроллеров MSP430.

Внешний вид проекта мигания светодиодом на MSP430G2

В этой серии обучающих статей на нашем сайте мы рассмотрим основы работы с платой MSP430G2 LaunchPad. С помощью данной платы мы можем работать с 16-битными микроконтроллерами MSP430, функционирующими на частоте до 16MHz. Данные статьи будут написаны простым понятным языком и подойдут для начинающих энтузиастов микроконтроллерной техники. Для работы с данными проектами будет нужен обычный компьютер и один из наборов разработки (конструкторов) для микроконтроллеров MSP430, предпочтительно набор под названием MSP430 Value Line LaunchPad Development Toolkit.

В данной статье мы рассмотрим начало работы с платой разработки MSP430G2 с помощью Energia IDE и написание программы мигания светодиодом с ее помощью.

Что включает в себя MSP430G2 LaunchPad

Когда вы купите набор разработки MSP430G2 LaunchPad от компании Texas Instruments или другого производителя в него войдут следующие компоненты (хотя в текущих реалиях состав набора может все таки немного отличаться от представленного):

  • плата разработки MSP-EXP430G2;
  • микроконтроллеры MSP430G2452 и MSP430G2553;
  • кабель mini USB;
  • кварцевый мини генератор (32.7kHz);
  • руководство пользователя.

Внешний вид этого набора показан на следующем рисунке.

Внешний вид набора MSP430G2 LaunchPad

Плата разработки MSP-EXP430G2

Эффектная плата разработки MSP-EXP430G2 красного цвета позволяет программировать микроконтроллеры серии MSP430 от компании Texas Instruments. Основная функция данной платы состоит в загрузке кода программы из компьютера в микроконтроллер и считывания последовательных данных от микроконтроллера для целей отладки. Она полностью поддерживает распиновку микроконтроллеров MSP430 и содержит в своем составе два светодиода и кнопку для облегчения процесса разработки. Показанная на следующем рисунке плата имеет обозначение MSP_EXP430G2 Rev1.5. Более подробно о назначении компонентов данной платы вы можете посмотреть в видеоролике, приведенном в конце статьи.

Плата разработки MSP-EXP430G2

Микроконтроллеры MSP430G2452 и MSP430G2553

Плата разработки MSP-EXP430G2 позволяет программировать любые микроконтроллеры серии MSP430, но в рассматриваемом нами наборе представлены микроконтроллеры MSP430G2452 и MSP430G2553. Внешне каждый из них представляет собой микросхему с 20 контактами в корпусе типа DIP. По умолчанию, микроконтроллер MSP430G2553 вставлен в соответствующий разъем платы разработки, а микроконтроллер MSP430G2452 поставляется отдельно от платы. Технические характеристики данных микроконтроллеров приведены в следующей таблице.

Микроконтроллер Технические характеристики
MSP430G2553 16kB Flash, 512B RAM, 16GPIO, 2×16-bit Timer, Watch Dog Timer, Brown Out Reset, 1×USI(IIC/SPI/UART), 8ch 10-bit ADC, 8ch Comparator, Capacitive Touch IO Module
MSP430G2452 8kB Flash, 256B RAM, 16GPIO, 1×16-bit Timer, Watch Dog Timer, Brown Out Reset, 1×USI(IIC/SPI), 8ch 10-bit ADC, 8ch Comparator, Capacitive Touch IO Module

Как вы можете видеть из представленной таблицы, микроконтроллер MSP430G2553 имеет немного более лучшие характеристики чем MSP430G2452, в частности, он содержит модуль последовательного порта (UART), который удобно использовать для отладки программ в среде разработки Energia. И в серии обучающих статей про микроконтроллеры MSP430 на нашем сайте мы будем использовать именно микроконтроллер MSP430G2553 чтобы задействовать весь функционал рассматриваемого нами набора разработки.

Кабель mini USB используется для подключения платы MSP-EXP430G2 к компьютеру для загрузки программы из него в микроконтроллер. Также во время процесса отладки (Serial Monitor) данные от микроконтроллера в компьютер также передаются по данному кабелю. Дополнительно через данный кабель осуществляется подача питания на плату и после загрузки программы в микроконтроллер вы даже можете использовать для этой цели зарядку от мобильного телефона.

В состав нашего набора разработки входит микро кварцевый генератор на 32 кГц, который припаян к плате, но его использование опционально (то есть вы можете его и не использовать) поскольку микроконтроллер MSP430G2553 имеет встроенный генератор на 16 МГц.

Подача питания на плату MSP-EXP430G2

Перед тем как начать записывать программу в микроконтроллер MSP430G2553 необходимо подать на нее питание и проверить корректно ли она работает. Подать питание на плату можно с помощью кабеля USB, после подачи питания вы должны заметить как светодиоды на плате (красный и зеленый) начнут гореть попеременно. Вы можете нажать на кнопку, подключенную к контакту P1.3 чтобы проверить корректно ли работает датчик температуры. Если вы прикоснетесь к нему пальцем, температура которого выше температуры окружающей среды, вы увидите как загорится светодиод красного цвета, что будет свидетельствовать о повышении температуры.

Программное обеспечение (IDE) для работы с MSP430 LaunchPad

Компания Texas Instruments поддерживает программирование своих микроконтроллеров с помощью большого количества различных сред. Официальным инструментом является Code Composer Studio, также известная под сокращенным наименованием CCS. Она бесплатно, но работа с ним требует определенного уровня знаний о микроконтроллерах и по этой причине новичкам не очень хорошо подходит.

Поскольку данная серия статей на нашем сайте рассчитана на начинающих энтузиастов микроконтроллерной техники, то в них мы будем использовать более простую среду разработки под названием Energia. У нее открытый исходный код и она значительно упрощает процесс программирования микроконтроллеров от компании Texas Instruments. Фактически, Energia – это эквивалент Arduino IDE (они и по интерфейсу во многом похожи), только для микроконтроллеров MSP430

Установка Energia IDE

Energia IDE является полностью бесплатным инструментом и ее можно скачать по следующей ссылке. Необходимо выбрать правильный дистрибутив для скачивания в зависимости от версии вашей операционной системы, для Windows это будет ZIP файл. После скачивания извлеките его в необходимую папку и откройте ее. В ней вы обнаружите приложение с названием Energia. Запустите его, после этого на экране вы должны увидеть следующую картину:

Внешний вид Energia IDE

Те, кто знаком с Arduino IDE, сразу скажут что это тоже самое что и Arduino IDE, только "одетая" в яркую красную оболочку. Их схожесть объясняется тем, что они построены на основе одной и той же платформы под названием Processing.

Мигание светодиодом на MSP430G2

Теперь, когда аппаратное и программное обеспечения у вас готовы, вы можете попробовать запустить из Energia простой пример программы мигания встроенным светодиодом платы. Прежде чем приступать к тестированию этой программы необходимо уточнить распиновку (назначение контактов) вашей платы. Для версии платы 1.5 она показана на следующем рисунке, для других версий платы она может немного отличаться.

Распиновка (назначение контактов) платы MSP430G2В нашем случае мы будем тестировать программу мигания светодиодом LED1 (красного цвета), подключенного к контакту P1.0 микроконтроллера. На следующем рисунке этот контакт выделен рамкой синего цвета.

Контакт P1.0 платы MSP430G2

Чтобы открыть программу мигания светодиодом откройте пункт меню File->Example->Basics-> Blink как показано на следующем рисунке.

Открытие примера программы мигания светодиодом в Energia IDE

В вашей IDE после этого появится следующая программа.

Как и в программах для Arduino, каждая программа в Energia содержит две обязательные функции – void Setup() и void Loop().

Код функции void Setup() будет выполняться один раз, а код функции void Loop() будет исполняться непрерывно. Все объявления контактов и переменных необходимо делать в функции Setup(), а основная программа должна выполняться в функции Loop(). Фактически, функция void Loop() – это эквивалент бесконечному циклу while(1).

Первая строка программы называется макросом. Energia IDE достаточно "умна" для того чтобы понимать такие слова как RED_LED, GREEN_LED, TEMP_SENSOR и многие другие. Эти слова обозначают имена контактов, к которым что либо подключено. Это возможно поскольку светодиоды красного и зеленого цвета встроены в плату и поэтому контакты микроконтроллера, к которым они подключены, известны. Для удобства программирования мы используем макрос (Macros), который "говорит", что вместо использования имени “RED_LED” в нашей программе мы будем использовать имя “LED” при помощи команды #define как показано в первой строчке представленной программы.

Далее в программе у нас идет функция void setup() – в ней обычно задаются режимы работы используемых контактов. В нашем случае мы будем использовать только один контакт LED, с которого будет осуществляться управление светодиодом – его мы конфигурируем для работы на вывод данных.

В приведенном фрагменте кода мы обратились к контакту с именем LED потому мы задали это имя контакту с помощью команды #define, но мы также можем обратиться к данному контакту и по его исходному имени. В нашем случае это контакт 2 микроконтроллера, также к нему можно обратиться по имени P1.0. Поэтому все следующие команды, задающие режим работы этого контакта на вывод данных, равноценны:

Далее переходим к функции void Loop() – в ней нам необходимо написать код программы мигания светодиодом. Чтобы светодиод мигал надо его сначала зажигать (ON), затем через некоторое время его выключать (OFF), затем через такое же время снова зажигать и т.д.

Чтобы включать и выключать светодиод в Energia мы будем использовать функцию digitalWrite(). Включать (зажигать) светодиод мы будем следующим образом:

Аналогичным образом мы будем выключать светодиод.

Как уже указывалось ранее, вместо имени LED мы можем использовать в данной команде непосредственный номер данного контакта, то есть 2 или P1.0. В этом случае команда на выключение данного контакта может выглядеть следующим образом:

Для формирования паузы между состояниями ON и OFF светодиода мы будем использовать функцию delay() – в качестве ее параметра задается время задержки в миллисекундах.

Теперь скомбинируем все эти команды вместе. В результате мы будем включать (ON) светодиод, затем ждать 1 секунду, затем выключать светодиод (OFF) и снова ждать 1 секунду. И этот цикл будет продолжаться бесконечно.

Компиляция и загрузка программы мигания светодиодом

После написания программы ее необходимо загрузить в нашу плату MSP. Для этого подключите плату к компьютеру с помощью кабеля mini USB и подождите немного. Драйверы для платы установятся автоматически. После этого откройте менеджер устройств и в его разделе с COM портами вы должны увидеть имя подключенной платы как показано на следующем рисунке.

Отображение платы MSP430G2 в диспетчере устройств Windows

Если драйвер для вашей платы не установился автоматически, то вы можете скачать его с официального сайта Energia IDE и установить его потом вручную:

После того как плата обнаружена вашей операционной системой, важно еще определить к какому COM порту она оказалась подключена. Как представлено на рисунке выше, в нашем случае это порт 4. После этого необходимо в Energia IDE открыть пункт меню Tools -> Port и выбрать там этот же самый порт, в нашем случае это COM4. Затем необходимо открыть пункт меню Tools -> Boards и выбрать тип платы MSP-EXP430G2553LP. После выбора типа платы и номера порта они должны начать отображаться в правом нижнем углу Energia IDE как показано на следующем рисунке.

Отображение типа платы и номера порта в Energia IDE

Далее нажмите кнопку upload в левом верхнем углу Energia IDE – после этого программа должна начать загружаться в вашу плату. Если программа загрузилась в плату успешно, вы должны заметить сообщение “Done uploading” внизу Energia IDE как показано на следующем рисунке. Более подробно эти процессы показаны на видео, приведенном в конце статьи.

Сообщение об успешной загрузке программы в плату в Energia IDE

В противном случае вы увидите наиболее часто возникающую ошибку “unable to find a device matching 0451:f432”. Далее мы рассмотрим как решить эту проблему.

Решение проблемы “unable to find a device matching 0451:f432”

Процесс решения данной проблемы продемонстрирован на видео, приведенном в конце нашей статьи. Если кратко, то для ее решения необходимо выполнить следующую последовательность шагов:

  1. Скопировать <energia directory>\hardware\tools\DSLite\DebugServer\drivers\MSP430.dll в <energia directory>\hardware\tools\msp430\bin\.
  2. Отредактировать <energia directory>\hardware\energia\msp430\boards.txt – изменить в нем 2 вхождения rf2500 на tilib.
  3. Перезагрузить Energia IDE, после этого вы сможете загружать программы в микроконтроллер MSP430G2553, установленный в плату MSP-EXP430G2.

Тестирование работы проекта

После загрузки кода программы в плату вы должны заметить как светодиод красного цвета на плате начнет мигать с интервалом 1 секунда как показано на следующем рисунке.

Тестирование работы проекта мигания светодиодом

Более подробно эти процессы вы можете посмотреть на видео в конце статьи.

Исходный код программы

Видео, демонстрирующее работу проекта

(Проголосуй первым!)
Загрузка...
528 просмотров

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

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