16-разрядные микроконтроллеры MSP430 компании Texas Instruments
 

Александр Маргелов

Популярность микроконтроллеров MSP430 (Mixed Signal Processor) в мире очень высока, что обусловлено возрастающим спросом на недорогие портативные и необслуживаемые высокопроизводительные устройства с очень малым потреблением энергии (как правило, от батареи). Опытная партия МК MSP430 появилась в 1994 г. За несколько лет это семейство стало передовым. Сегодня MSP430 успешно применяются как в простых датчиках-регистраторах, так и в точной измерительной аппаратуре и промышленных контроллерах.

Особенности MSP430

Сегодня для каждого конкретного применения нетрудно подобрать подходящий по быстродействию, разрядности, объему памяти, встроенной периферии, конструктивному исполнению и цене МК. Однако MSP430 имеет ряд особенностей, присущих далеко не каждому МК:

Самые лучшие показатели по энергопотреблению

Например, при Uп = 3,3 В и F = 1 МГц потребляемый ток в активном режиме составляет 250 мкА, в дежурном – 0,7 мкА и 0,1 мкА в режиме хранения.

Неклассическая RICS-архитектура, простая система команд и ортогональная система программирования

Фон-неймановская архитектура семейства MSP430 (см. рис. 1) основана на принципе регистр-регистр, общем адресном пространстве для всех функциональных модулей и сокращенном наборе команд. Ядро – это мощный 16-разрядный RISC-процессор, состоящий из 16-битного АЛУ и шестнадцати 16-битовых регистров. Четыре регистра из шестнадцати выполняют специальные функции. Это программный счетчик PC, указатель стека SP, регистр статуса SR и регистр констант CG. Остальные двенадцать регистров могут быть использованы разработчиком по своему усмотрению.


Рис. 1. Архитектура MSP430 на примере структурной схемы MK серии MSP430x44x

Микроконтроллер имеет 27 основных и 24 эмулируемых с помощью генератора констант (CG) команд. Время выполнения команды зависит от ее типа и способа адресации и составляет 1…6 тактов системного генератора. Операции типа регистр-регистр производятся за 1 такт. Двухоперандные команды с абсолютной адресацией источников операндов выполняются за 6 тактов. Операндом может являться как слово (16 бит), так и байт. Благодаря ортогональности любой источник операнда может быть адресован любым из семи возможных способов (если команда содержит два операнда, то возможна любая комбинация способов). Для приемника результата операции возможны четыре из семи способов адресации.

Стек MSP430 обеспечивает любую вложенность для подпрограмм и данных пользователя и ограничивается только объемом внутренней RAM микроконтроллера.

Генератор констант (CG), формируя шесть часто используемых при написании программ чисел (–1, 0, 2, 4, 6, 8), позволяет сэкономить память и увеличить производительность, поскольку является регистром процессора.

Микроконтроллеры MSP430 насчитывают от 7 до 14 источников внутренних прерываний в зависимости от модели, и от 14 до 16 линий для обработки внешних прерываний (линии портов P1 и P2). Каждому источнику прерывания фиксировано прописан один из пятнадцати уровней приоритета. Максимальный приоритет имеет системное прерывание «RESET», возникающее при включении питания, от сброса по внешнему входу или от сторожевого таймера WDT. За ним следуют прерывания от системного генератора и нарушения доступа во Flash-память. Остальные 13 уровней распределены между прерываниями от периферийных модулей. Прерывания от внешних устройств (линии портов P0 и P1) имеют самый нижний приоритет.

Гибкий модуль формирования тактовых импульсов (CGO)

Модуль способствует достижению минимального энергопотребления МК, работающего в высокопроизводительных системах реального времени. В состав модуля входит микромощный кварцевый осциллятор (LFXT1), RC-генератор с цифровым управлением (DCO) и петля АПЧ (FLL), образующая совместно с LFXT1 и DCO умножитель частот.

CGO формирует частоты от 4 кГц до нескольких мегагерц, необходимые для работы ЦПУ и периферийных устройств, используя лишь один внешний НЧ кварцевый резонатор на частоту 32,768 кГц, подключаемый к входу осциллятора LFXT1. Тактовые частоты ниже 32,768 кГц получаются путем деления частоты LFXT1 на программно устанавливаемые коэффициенты 2, 4, 8. Для получения более высоких тактовых частот включается умножитель (DCO+FLL) c синхронизацией от LFXT1, формирующий сетку частот до 5 МГц с шагом 32,768 кГц.

В МК также предусмотрена возможность работы только от внутреннего RC-генератора (DCO). Его частота определяется либо внешним резистором, либо внутренними резисторами МК, подключаемыми пользователем программно. Диапазон частот составляет 0,1…5 МГц.

В последних чипах семейства добавлен еще один кварцевый осциллятор XT2, два программно управляемых делителя частоты на 2/4/8/, а LFXT1 может работать с кварцевым резонатором до 8 МГц.

Пять режимов энергосбережения

В активном режиме (ЦПУ включен) при Uп = 5 В на частоте 1 МГц энергопотребление МК находится на уровне 1 мА. Это отличный показатель, однако поскольку МК MSP430 ориентированны главным образом на применение в портативной измерительной аппаратуре, они имеют пять программно устанавливаемых режимов энергосбережения (LPM0…LPM4), позволяющих устройству на базе МК работать от одной батареи более 10 лет. Энергопотребление при этом соизмеримо с током саморазряда батареи (1…3 мкА).

В режиме LPM0 ток потребления сокращается до 50 мкА. При этом ЦПУ выключается, а периферия (контроллер ЖКИ, АЦП, таймеры, порты ввода/вывода) продолжает работать. Работа периферии независимо от ЦПУ является главной особенностью этого семейства МК.

Режимы LPM1…LPM4 отличаются от LPM0 четырьмя различными конфигурациями тактового генератора. В режиме LPM1 отключается механизм FLL. В режиме LPM2 и LPM3 отключается главная системная частота и соответственно все запрограммированные на работу от нее периферийные модули; ток потребления падает до 0,7 мкА. В режиме LPM4 отключается вспомогательная частота (осциллятор LFXT1) и МК полностью останавливается.

Переход из LPM0…LPM3 в активный режим происходит по внешнему или внутреннему (от периферийных устройств) прерыванию. Возврат из LPM4 возможен только по внешнему прерыванию, прерыванию от счетчика внешних событий или по сбросу. Переход из любого режима в активный происходит за 6 мкс.

Гибкая система выбора источника тактовых импульсов для конкретного периферийного модуля, возможность программного изменения его частоты и программного отключения CPU и неиспользуемых устройств позволяет разработчику оптимальным образом выбирать соотношение производительность/ потребление.

Завершенная система на кристалле

На данный момент доступно около 40 МК серии MSP430 с различными комбинациями устройств: память программ ROM/OTP/FLASH объемом 1…60 Кбайт, память данных RAM 128…1024 байт, от двух до шести 8-битных портов ввода/вывода P1…P6, набор таймеров с регистрами слежения/сравнения, WDT-таймер, 12- или 14-разрядный многоканальный АЦП со временем преобразования 10 мкс, встроенный источник опорного напряжения, прецизионный аналоговый компаратор с возможностью организации канала АЦП, 1…2 модуля USART с протоколами UART и SPI, отладочный JTAG-интерфейс, ЖКИ-контроллер на 64…160 знакомест, а также не зависящий от работы ЦПУ аппаратный умножитель 16 x 16, 8 x 8, 16 x 8 и 8 x 16.

Инструментальные средства разработки и отладки для MSP430

Компания TI поддерживает каждую серию МК MSP430 базовым набором эффективных и недорогих отладочных средств. В состав каждого комплекта MSP-FETxxx входит отладочная плата, 1…2 МК, соединительные шлейфы и CD-ROM, включающий пакет программ KickStart с документацией, описание семейства MSP430 в PDF-формате, рекомендации по применению и примеры программ на ассемблере и Си для различных приложений.

В пакет KickStart входят ассемблер, ограниченный по коду Си-компилятор компании IAR Systems и ПО организации связи по JTAG-протоколу для программирования МК и внутрисхемной отладки.

Серийно выпускаемые МК MSP430Fxxx, благодаря наличию на кристалле Flash-памяти программ и отладочного JTAG-интерфейса сами по себе являются внутрисхемными эмуляторами, а отладочная плата необходима лишь для выполнения соединительных и согласующих функций. Для отладки устройств, в которых будут использоваться однократно программируемые МК серии MSP430Pxxx, TI выпускает отладочные МК с многократно перепрограммируемой памятью программ.

Отладочная плата имеет ZIF-панель для установки МК, контактные площадки, соединенные с выводами установленного в панель МК, разъем для подключения к параллельному порту PC и компоненты реализации JTAG-протокола. Внешний источник питания не требуется.


Рис. 2. Средства отладки и программирования для MSP430

Пакет KickStart (17 Мбайт) можно загрузить с веб-сайта TI (www.ti.com), схемы отладочных плат приведены в сопроводительной документации KickStart и при желании повторяются.

Все МК MSP430 могут быть запрограммированы с помощью фирменного программатора MSP-PRG430 (см. рис.2) непосредственно в готовом устройстве или отдельно. Программирование кристаллов Flash-серии MSP430Fxxx возможно непосредственно в отладочной плате.

Помимо TI, многие другие фирмы (полный список доступен на сайте TI), предлагают свои варианты интегрированных средств разработки, отладки и внутрисхемной эмуляции.  


Автор документа: Александр Маргелов , http://www.compel.ru"
Дата публикации: 21.04.2008
Дата редактирования: 11.01.2010
Кол-во просмотров 3394
 
 Все новости одной лентой