Введение
В настоящее время среди огромно
го многообразия микроконтроллеров особое место занимают 16разрядные микроконтроллеры серии MSP430 от компании Texas Instruments [1]. Основное отличие данных микроконтроллеров состоит в их сверхмалом потреблении энергии. Это свойство позволяет использовать данные микроконтроллеры в устройствах с питанием от автономных слаботочных источников энергии или от солнечных батарей. К тому же, в отличие от широко распространённых 8разрядных микроконтроллеров, данное семейство обладает повышенной производительностью благодаря совершенной RISCархитектуре и 16разрядной шине данных. Невысокая стоимость делает микроконтроллеры серии MSP430 доступными,
а функциональная насыщенность открывает возможности их применения в самых разнообразных проектах.
Единственным сдерживающим фактором широкого применения микроконтроллеров серии MSP430, как, впрочем, и других программируемых микросхем, является необходимость освоения архитектуры данного вида микроконтроллеров, а также выбора и изучения среды разработки программного обеспечения.
Компания Texas Instruments своевременно побеспокоилась о решении этих проблем, разработав недорогой отладочный набор под названием LaunchPad MSPEXP430G2 и бесплатную интегрированную среду разработки (IDE) программ Energia, которые позволяют быстро освоить микроконтроллеры серии MSP430. LaunchPad переводится с английского языка как стартовая площадка, и такое название действительно подходит для этой среды разработки устройств на основе микроконтроллеров серии MSP430.
Данный набор предлагается компанией Texas Instruments по очень низкой цене (около 140 руб.), с бесплатной доставкой курьерской службой по всему миру. Заказать такой набор можно непосредственно на сайте самой компании Texas Instruments по ссылке [2].
Обзор LaunchPad
MSP-EXP430G2
Отладочный набор LaunchPad MSPEXP430G2 представляет собой комплексное решение для разработки устройств на базе новой линейки микроконтроллеров MSP430G2xxx от Texas Instruments. Набор LaunchPad MSPEXP430G2 поставляется в удобной картонной коробке, в его состав входят:
● плата MSPEXP430G2 с микроконтроллером MSP430G2231 или MSP430G2553;
● дополнительный микроконтроллер MSP430G2211 или MSP430G2452;
● кабель связи USBMiniUSB длиной
60 см;
● кварцевый резонатор на 32,768 кГц;
● две пары 10контактных разъёмов (розетки PLS10 и вилки PBS10);
● руководство по быстрому старту;
● две наклейки «LaunchPad».
Данная плата представляет собой аналог известных плат Arduino, которые в своё время проложили путь к освоению микропроцессорной техники миллионам начинающих любителей электроники. Это стало возможным благодаря простоте и открытости электрических схем данных устройств, а также лёгкости освоения среды разработки.
Внешний вид платы MSPEXP430G2 с расположением основных элементов приведён на рисунке 1. Плата имеет высококачественный 20контактный соединитель – гнездо типа DIP20 для установки микроконтроллеров серии MSP430G2xxx. Микроконтроллеры, имеющие менее 20 выводов, устанавливаются в данную панельку со смещением к первому выводу в соответствии с рисунком 2.
Микроконтроллер MSP430G2231, входящий в состав набора, представляет собой 14выводной 16разрядный микроконтроллер со встроенным 8канальным 10разрядным АЦП, универсальным последовательным интерфейсом USI, портами вводавывода, таймером, 2 кБ флэшпамя
ти программ и 128 байт статическо
го ОЗУ.
Дополнительный микроконтроллер MSP430G2211 в наборе – это 14выводной 16разрядный микроконтроллер со встроенным модулем аналогового компаратора, универсальным последовательным интерфейсом USI, портами вводавывода, таймером, 2 кБ флэшпамяти программ и 128 байт статического ОЗУ.
Более детально ознакомиться с данными микроконтроллерами можно с помощью подробных описаний, размещённых на Интернетстранице компании Texas Instruments [1].
На плате имеется интегрированный USBэмулятор, поддерживающий микроконтроллеры серии MSP430G2xxx. Данный эмулятор позволяет подключать плату непосредственно к пор
ту USB персонального компьютера, что значительно облегчает программирование и отладку микроконтроллеров.
С помощью платы MSPEXP430G2 можно программировать и другие отладочные платы типа eZ430RF2500T, eZ430F2012T/F2013T и модуль eZ430Chronos, для этого предусмотрен соединитель J4.
Принципиальную электрическую схему с топологией печатной платы и примерами программ для отладочной платы можно найти на ресурсе [3]. Фрагмент принципиальной схемы, содержащий описываемые здесь элементы, представлен на рисунке 3.
Для разработки программ и их отладки с применением MSPEXP430G2 могут использоваться такие интегрированные среды разработки, как
Energia, IAR Embedded Workbench, Code Composer Studio (CCS) и др. Имеющийся на плате отладчик не требователен к ресурсам и позволяет пользователю запускать приложение на полной скорости с аппаратными точками останова или в пошаговом режиме.
Плата позволяет подключать микроконтроллер к персональному ком
пьютеру или к другой плате с использованием последовательного приёмопередатчика UART. Виртуальный последовательный порт появляется на персональном компьютере после установки соответствующего драйвера для USBпорта платы. Этот драйвер может входить в состав среды разработки или устанавливается отдельно, например, с ресурса [4].
Плата имеет зелёный светодиод индикации питания LED0 и два пользовательских светодиода LED1, LED2, соответственно, красного и зелёного цвета, подключённых к линиям вводавывода общего назначения, предназначенные для отладки и визуального контроля работы программ. На плате установлены кнопка сброса микроконтроллера и пользовательская кнопка.
Все выводы микроконтроллера подключены к контактным площадкам на краю платы. Именно к этим площадкам можно припаять входящие в состав набора 10контактные соединители – вилки и подсоединить к ним ответные соединители – розетки, предназначенные для подключения другой платы или внешних устройств.
Аппаратная часть и первое включение
Перед первым включением отладочной платы установите на ваш компьютер драйвер виртуального порта, который можно загрузить по ссылке [5]. Для 32 или 64разрядной операционной системы Windows, загрузите и распакуйте файл EZ430UART.zip в отдельный каталог, а затем запустите в этом каталоге исполняемый файл DPinst.exe или DPinst64.exe, соответственно. Для операционных систем Mac OS и Linux загрузите соответствующие драйверы и выполните рекомендации, приведённые на указанном выше ресурсе [4].
Теперь можно подключить отладочную плату MSPEXP430G2 к вашему компьютеру с помощью кабеля USB – MiniUSB, входящего в состав набора LaunchPad MSPEXP430G2. Компьютер обнаружит новое устройство и автоматически установит для него драйвер. В результате на компьютере появится виртуальный COMпорт с названием «MSP430 Application UART», как показано в окне диспетчера устройств на рисунке 4.
Отладочная плата MSPEXP430G2 получает питание от порта USB, при этом на ней будет светиться зелёный светодиод LED0, информирующий о наличии питания.
Микроконтроллер MSP430G2231, входящий в состав отладочного набора, уже содержит рабочую программу, представляющую собой температурный регулятор с широтноимпульсным модулятором (ШИМ). Поэтому при первом включении на плате будут поочерёдно мигать красный и зелёный светодиоды LED1 и LED2, сигнализирующие о готовности программы начать работу.
Оригинальность и изящность данной программы заключаются в том, что для управления и контроля терморегулятором используются самые простые элементы: одна пользовательская кнопка, а также красный и зелёный светодиоды, входящие в состав платы MSPEXP430G2. Датчиком температуры является встроенный датчик микроконтроллера MSP430G2231. Кроме того, микроконтроллер регулярно выдаёт значение измеряемой температуры в порт UART на скорости 2400 бод, что позволяет удалённо контролировать температуру с помощью компьютера. Если нажать на пользовательскую кнопку, то текущее значение температуры запоминается в микроконтроллере как эталонное. Если температура в течение времени превысит эталонное значение – формируется ШИМсигнал на красный светодиод, а если станет меньше эталонного – формируется ШИМсигнал для зелёного светодиода.
Отклонение температуры датчика от установки можно контролировать по яркости свечения светодиодов. Эталонное значение для температурно
го регулятора легко изменяется с помощью одной кнопки. Например, для установки эталонного значения 36°С необходимо нагреть микроконтроллер до температуры 36°С и нажать пользовательскую кнопку. Теперь микроконтроллер будет формировать ШИМсигнал на красный или зелёный светодиод в зависимости от превышения или понижения температуры датчика относительно нового значения эталонной температуры. Подключив через согласующие устройства параллельно красному светодиоду охлаждающий прибор, например вентилятор, а параллельно зелёному светодиоду – нагреватель, можно реализовать прибор для автоматического поддержания температуры 36°С и использовать его, например, для поддержания температуры в инкубаторе.
Особенностью данной программы является то, что она выдаёт значение измеряемой температуры в порт UART в градусах Фаренгейта. Однако это поправимо, поскольку исходный проект этой программы slac435c.zip можно загрузить с ресурса [6] и отредактировать так, чтобы все измерения производились в градусах Цельсия.
Проект выполнен и представлен в нескольких средах разработки. Его исходный код может служить отправной точкой при разработке собственных проектов и даёт неплохое представление о возможностях линейки микроконтроллеров MSP430G2xxx.
Кроме того, в состав архива проекта входит драйвер отладочной платы для компьютеров с операционной системой Windows и консольная програм
ма – программатор MSP430Flasher.exe [7] от компании Texas Instruments. Эта программа позволяет загружать в микроконтроллеры MSP430, подключённые непосредственно к отладочной плате MSPEXP430G2, готовые прошивки программ в HEXформате или в специальном текстовом формате.
Командная строка «MSP430Flasher.exe n MSP430G2231 w MSPEXP430G2LaunchPad.txt v g z [VCC]» позволя
ет запрограммировать в микроконтроллер MSP430G2231 прошивку MSPEXP430G2LaunchPad.txt. Назначение всех программных ключей данной командной строки можно узнать, выполнив запуск следующей команд
ной строки: «MSP430Flasher.exe h > help.txt». В результате в каталоге появится файл help.txt с описанием всех ключей.
Для подключения кварцевого резонатора 32,768 кГц, входящего в состав набора, на плате предусмотрено посадочное место. Поскольку выводы XIN и XOUT микроконтроллера могут быть использованы как входывыходы общего назначения, данный резонатор изначально не установлен на плату.
Сигналы XIN и XOUT микроконтроллера для кварцевого резонатора также подключены на соответствующие выводы внешнего штыревого разъёма J2 и могут быть использованы для тактирования внешних модулей. Цепи кварцевого резонатора могут быть отключены от контактов разъёма J2 с помощью резисторов R28 и R29, играющих роль выпаиваемых перемычек.
Плата MSPEXP430G2 представляет собой замечательную аппаратную платформу для знакомства с семейством микроконтроллеров MSP430G2xxx и начала разработки собственных приложений на его основе. Интерфейсные разъёмы J1, J2 и разъём питания J6, представляющие собой горизонтальную линейку контактов типа PLS с шагом 2,54 мм, позволяют легко подключать пользовательские платы – расширения. Через контакты этих разъёмов, включённых в состав набора, можно подсоединиться к любому выводу микроконтроллера.
Помимо этого, плата MSPEXP430G2 может использоваться как программатор для внешних микроконтроллерных модулей, поскольку все сигналы программатора доступны через разъёмное соединение.
Программное обеспечение
Теперь можно установить и запустить среду разработки программ для микроконтроллеров MSP430. Из всего многообразия упомянутых выше сред разработки рассмотрим только IDE Energia, которая очень проста в освоении и позволяет быстро начать программирование микроконтроллеров.
Интегрированная среда разработки Energia для LaunchPad MSPEXP430G2 является ответвлением от IDE Arduino. Она полностью повторяет интерфейс IDE Arduino и отличается от неё корпоративными красными тонами Texas Instruments. Принцип программирования сохранён. Программы пишутся на языке программирования Wiring, который является подклассом С++. В качестве компилятора среды разработки Energia для микроконтроллеров MSP430 используется свободно распространяемый и интегрированный в неё пакет msp430gcc. Компиляция программ и загрузка в контроллер производится нажатием одной программной кнопки.
Загрузить данный программный продукт можно с ресурса [8]. Среда не требует установки, достаточно распаковать её в отдельный каталог. После запуска исполняемого файла energia.exe на мониторе компьютера откроется новое окно, представленное на рисунке 5. Вначале необходимо выбрать тип используемого микроконтроллера с помощью элементов меню ToolsBoardLaunchPad w/msp430g2231, как показано на рисунке 6. Затем необходимо выбрать COMпорт с помощью меню ToolsSerialPort
и тип программатора через меню ToolsProgrammer.
Теперь можно открыть библиотечный пример с программой и загрузить его в микроконтроллер. Например, откройте программу, отображающую через порт UART таблицу ASCII кодов
с помощью разделов меню File
ExamplesCommunicationASCIITable, как показано на рисунке 7. В открывшемся окне с кодом программы исправьте в строке «Serial.begin(9600); // msp430g2231 must use 4800» значение скорости порта 9600 на 4800, как рекомендовано в комментариях. Такое снижение скорости необходимо для программно организованного порта UART микроконтроллера MSP430G2231.
С помощью программной кнопки «Upload» (стрелка в кружочке) выполните автоматическую компиляцию и программирование микроконтроллера. При успешном выполнении операции в нижнем окне программы отобразятся следующие строки: «Binary sketch size: 1 657 bytes (of a 2 048 byte maximum) 02 Erasing... Programming... Done, 1658 bytes total», которые сообщают об успешной компиляции программы, а также о стирании и программировании микроконтроллера файлом прошивки, имеющим размер 1658 байт.
Далее необходимо запустить встроенный в среду разработки Energia отладочный монитор с помощью меню ToolsSerial Monitor или с помощью комбинации клавиш Ctrl+Shift+M и установить скорость порта 4800 бод. После чего следует нажать кнопку сброса на плате MSPEXP430G2 для перезапуска программы микроконтроллера. При этом в открытом ок
не отладочного монитора Serial Monitor отобразятся символы ASCII и их цифровые значения в десятичном, шестнадцатеричном, восьмеричном и двоичном виде, как показано на рисунке 8.
Наиболее часто используемые операции можно выполнять также с помощью программных кнопок, расположенных под элементами меню среды разработки. Назначение этих кнопок отображается на экране монитора при наведении на них курсора мыши.
Вот так, за считанные минуты, можно начать пользоваться средой разработки Energia и приступить к созданию собственных программ.
Кроме рассмотренного выше примера среда разработки содержит большое количество других примеров готовых программ, которые предлагается исследовать для накопления знаний.
В дополнение среда Energia включает ряд библиотек, которые доступны через меню ScetchImport Library. К их числу относятся библиотеки IRremote, LiquidCrystal, MspFlash, Servo, SPI, Stepper и Wire. Продукт Energia непрерывно развивается и пополняется новыми библиотеками, поэтому необходимо периодически обновлять его с Интернетстраницы разработчика.
Заключение
Для микроконтроллеров серии MSP430 разработано огромное количество программ, приложений и библиотек, демонстрирующих возможность их применения в самых разных областях техники. Поэтому стоит обратить особое внимание на данные микроконтроллеры и не упускать их из рассмотрения при разработке новых устройств.
Для получения самой свежей информации по MSPEXP430G2, программных примеров и более подробно
го описания поддерживаемого программного обеспечения предлагается периодически посещать Интернетресурс [9].
Данная статья предназначена для радиолюбителей, студентов и начинающих инженеров, а также разработчиков, находящихся на этапе выбора семейства микроконтроллеров для рабочих проектов.
Литература
2. http://www.ti.com/tool/mspexp430g2#buy.
3. http://www.ti.com/tool/mspexp430g2.
4. https://github.com/energia/Energia/wiki/ GettingStarted.
5. https://github.com/energia/Energia/raw/ ghpages/files/EZ430UART.zip.
6. http://www.ti.com/lit/zip/slac435.
7. http://processors.wiki.ti.com/index.php/ MSP430_Flasher__Command_Line_Programmer.
8. https://github.com/energia/Energia/downloads.
9. http://processors.wiki.ti.com/index.php/ MSP430_LaunchPad_(MSPEXP430G2).
© СТА-ПРЕССЕсли вам понравился материал, кликните значок — вы поможете нам узнать, каким статьям и новостям следует отдавать предпочтение. Если вы хотите обсудить материал —не стесняйтесь оставлять свои комментарии : возможно, они будут полезны другим нашим читателям!

