Loading

Микроконтроллеры MSP430. Первые шаги

Что бы ни говорили упрямые сторонники «жёсткой логики» — устройств на привычных логических микросхемах малой и средней степени интеграции, сегодня практически невозможно представить себе серьёзную радиолюбительскую конструкцию без микроконтроллера. Эти приборы весьма тесно вошли в нашу жизнь. Наибольшее распространение среди радиолюбителей многих стран, в том числе Украины и России, получили микроконтроллеры фирм Microchip (семейство PICmicro) и Atmel (семейства MSC-51 и AVR). Их популярность обусловлена доступностью, разнообразием сред разработки, сравнительно низкой стоимостью, обилием справочной и учебной литературы, а также готовых примеров реализации программ.

Однако мир не стоит на месте, и на смену восьмиразрядным микроконтроллерам приходят новые, имеющие большие разрядность, объём памяти, скорость работы, набор встроенных периферийных устройств. Это вполне нормально и закономерно. Так стоит ли с таким упорством держаться за привычные PIC, ATmega и ATtiny? Пришла пора осваивать во многих отношениях более совершенные микроконтроллеры, в том числе семейства MSP430 фирмы Texas Instruments. Прочитав предлагаемую статью, вы узнаете их основные особенности, освоите одну из популярных компьютерных сред разработки программ для них, напишете и запустите свою первую программу.

Микроконтроллеры семейства MSP430 характеризуются ультра низким энергопотреблением в активном режиме потребляемый ток от 160 до 220 мкА/МГц, а в спящем режиме он может снижаться до долей микроампера. Цены на микроконтроллеры MSP430 весьма привлекательны. На сайте производителя они начинаются с 0,35 долл США. Понятно, что это цена оптовая, для конечного потребителя она возрастёт раза в два-три. Но даже около 1 долл. США — довольно низкая плата за предлагаемые возможности.

В отличие от PIC и AVR, микроконтроллеры MSP430 имеют 16-разрядную архитектуру, что существенно повышает удельное быстродействие. Кроме того, они способны работать при питающем напряжении от 1,8 до 3,6 В, чго вместе с пониженным энергопотреблением позволяет создавать на их базе устройства с автономным питанием. Микроконтроллеры MSP430 ориентированы на асинхронную работу процессора и периферийных модулей. Для разработчиков это значит что для процессора, таймеров, АЦП, интерфейсных модулей могут использоваться до четырёх разных источников тактовых сигналов За счёт этого можно добиться оптимального отношения производительности к энергопотреблению.

Периферийным устройствам однозначную характеристику дать сложно поскольку у разных подсемейств набор периферийных модулей сильно различается. В целом же имеющиеся в продаже микроконтроллеры снабжены сходным с изделиями фирм Microchip и Atmel набором периферии.

Что касается доступной литературы по микроконтроллерам MSP430, то можно с сожалением отметить, что в этом они явно проигрывают своим конкурентам. Мне удалось найти не более десятка книг на русском языке, посвящённых программированию этих микроконтроллеров. Однако на сайте компании Texas Instruments имеется довольно обширный набор примеров программ для них с исходными текстами и подробным комментарием (естественно, на английском языке).

Трудоёмкость разработки программ для микроконтроллеров MSP430 в целом такая же, как для PIC и AVR. Конечно, имеются некоторые нюансы, связанные с переходом на 16-разрядную архитектуру, а также с другой организацией памяти, но при программировании на языке Си эти различия стираются

Чтобы начать знакомство с новыми микроконтроллерами. потребуются собственно микроконтроллеры, среда для разработки текста программы и преобразования его в загрузочный код («файл прошивки”), средство для загрузки этого кода в программную память микроконтроллера. Всё это можно получить „в одном флаконе“, воспользовавшись выпущенной фирмой Texas Instruments отладочной платой MSP-EXP430G2 LaunchPad, внешний вид которой представлен на рис. 1. Она мгновенно завоевала огромную популярность среди зарубежных радиолюбителей и постепенно всё шире применяется и у нас.

Ниже перечислены основные особенности LaunchPad:
1. Встроенный загрузчик FLASH-памяти. За счёт этого от падает необходимость самостоятельно собирать программатор. Кроме того, имеется отладчик, который позволяет отлаживать загруженную в микроконтроллер программу со всеми необходимыми функциями: пошаговым исполнением программы, организацией точек останова, просмотром значений всех переменных программы и регистров реального микроконтроллера.

2. На плате имеется цанговая панель для установки микроконтроллеров MSP430 в 14- и 20-выводных корпусах DIP а также два однорядных штыревых разъёма, на которые выведены все линии портов микроконтроллера, что позволяет, разрабатывая собственные модули расширения, легко подключать их к плате.

3. Для первичной проверки программ на плате имеются две кнопки (одна из них RESET) и два светодиода.

4. Имеется разъём mini-USB для соединения платы с компьютером стандартным кабелем.

5. В комплект входят два микроконтроллера подсемейства MSP430G2xx. Следует быть внимательным: с января 2012 г. компания Texas Instruments выпустила новую версию отладочной платы. Старая (1.4) была укомплектована следующими микроконтроллерами:
— MSP430G2211IN14, содержащим 2 Кбайт программной FLASH-памяти, 128 байт ОЗУ, 10 линий ввода-вывода, один 16-разрядный таймер, сторожевой таймер, детектор понижения напряжения питания, аналоговый компаратор;
— MSP430G2231IN14, содержащим, кроме того, модуль универсального последовательного интерфейса и вось-миканапьный 10-разрядный АЦП. Аналоговый компаратор в нём отсутствует.

В новом варианте (1.5) микроконтроллеры уже другие:
— MSP430G2553IN20, содержащий 16 Кбайт программной FLASH-памяти, 512 байт ОЗУ, 16 линий ввода-вывода с поддержкой ёмкостного сенсорного интерфейса, два 16-разрядных таймера, сторожевой таймер, детектор понижения напряжения питания, аналоговый компаратор, 10-разрядный АЦП, модуль универсального последовательного интерфейса.

— MSP430G2452IN20, содержащий те же периферийные устройства, но лишь 8 Кбайт программной FLASH-памяти и 256 байт ОЗУ.

Как видим, характеристики этих пар микроконтроллеров существенно различаются, поэтому при приобретении отладочной платы следует быть внимательным, чтобы не получить устаревшую версию.

6. В комплект поставки входят также разъёмы BLS для подключения плат расширения и кварцевый резонатор на 32768 кГц, который при необходимости можно установить на плату.

Но самое главное — стоимость комплекта MSP-EXP430G2 LaunchPad. В интернет-магазине компании Texas Instruments его можно заказать всего за 4,30 долл. США, причём с бесплатной доставкой по всему миру. В местных магазинах цена приблизительно в два раза выше, что, однако, тоже вполне приемлемо, учитывая комплектацию.

Учтите, в приобретаемом комплекте отсутствует диск с программным обеспечением, которое предлагается „скачать“ (150 Мбайт) из Интернета. Но сегодня это не представляет особой сложности.
Итак, приобретая отладочную плату MSP-EXP430G2 LaunchPad, радиолюбитель сразу получает программатор-отладчик, а также два микроконтроллера, которые в версии 1.5 по своим характеристикам сравнимы с такими распространёнными, как ATmega8 или PIC16F876, а по некоторым показателям даже превосходят их. Дальнейшее содержание статьи ориентировано именно на эту плату.

Теперь разберёмся с компьютерным программным обеспечением, позволяющим разрабатывать и отлаживать собственные программы для микроконтроллеров MSP430.

Во-первых, это собственная разработка фирмы Texas Instruments — среда Code Composer Studio. На интернет-странице можно получить её бесплатную версию, имеющую ограничение по объёму загрузочного кода разрабатываемой программы до 16 Кбайт. Учитывая, что объём программной памяти микроконтроллеров, которыми сегодня комплектуют LaunchPad, не превосходит этой цифры, можно смело говорить, что этот продукт пригоден для них без ограничений

К недостаткам можно отнести высокую требовательность к характеристикам компьютера. При объёме ОЗУ менее 1 Гбайт устанавливать на компьютере Code Composer Studio смысла не имеет, процесс компиляции и загрузки программы в микроконтроллер будет занимать столько времени, что вполне можно не спеша выпить чашку чая.

Кроме того, в Code Composer Studio периодически происходят различные непонятные явления: исчезают и появляются некоторые экранные кнопки, пропадают панели инструментов. В общем, рекомендовать её можно только владельцам мощных компьютеров, собирающимся смириться с некоторыми неудобствами ради возможности разрабатывать программы большого объёма.

Во-вторых, программный пакет — известной фирмы IAR Systems, именуемый 1AR Embedded Workbench. На сайте IAR Systems можно получить бесплатную версию этой среды, называющуюся IAR Embedded Workbench Kickstart. К сожалению, в этой версии объём загрузочного кода сильно ограничен (всего 4 Кбайт). Но учитывая, что первые программы вряд ли будут большими, рекомендую остановиться именно на ней. IAR Embedded Workbench Kickstart, в отличие от Code Composer Studio, менее требовательна к компьютеру, при этом выполняет те же самые операции намного быстрее. Кроме того, за время работы с ней никаких „странностей” обнаружено не было.

В-третьих, можно использовать бесплатное программное обеспечение MSPGCC, разработанное на базе
библиотек Linux (наподобие WinAVR для микроконтроллеров AVR). Однако сегодня оно представляет собой набор исполняемых файлов без графического интерфейса, запускаемых из командной строки. Поэтому рекомендовать его начинающим, на мой взгляд, не стоит.

В дальнейшем я буду описывать порядок действий при работе со средой IAR Embedded Workbench Kickstart.

А теперь перейдём к практике и напишем первую программу. Прежде всего следует зайти на интернет-страницу и “скачать» оттуда бесплатную версию среды IAR Embedded Workbench Kickstart, нажав на кнопку «Download», расположенную под надписью «Code size limited Kickstart version download». В результате получим архив slac050xx.zip, где хх — две буквы, зависящие от текущей версии среды. Распаковав архив, необходимо найти в нём и запустить исполняемый файл, устанавливающий программную среду. В старых версиях он назывался FET_R610.exe (цифры зависели от номера версии), а в более новых — autorun.exe. При запуске последнего на экране открывается меню, в котором нужно выбрать пункт «Install IAR Embedded Workbench». Процесс установки — стандартный для приложений Windows. Из его предлагаемых вариантов лучше выбрать «Complete», чтобы установлены были все программные модули.

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