Микроконтроллеры MSP430: отличительные особенности семейства MSP430x2xx от MSP430x1xx
Решение задачи минимизации себестоимости проектируемой электронной техники напрямую зависит от соответствия выбранной элементной базы требованиям к разработке. В частности, правильный выбор микроконтроллера позволяет сэкономить как на стоимости самого микроконтроллера, так и на стоимости внешних компонентов за счет использования встроенных аппаратных ресурсов и благодаря хорошим электрическим характеристикам. В рамках данной публикации будет дана сравнительная характеристика двух семейств 16-разрядных микроконтроллеров MSP430x1xx и MSP430x2xx, которая поможет сориентироваться в особенностях этих семейств как при разработке нового приложения, так и при модернизации существующих устройств, выполненных на основе микроконтроллеров MSP430x1xx.
Микроконтроллеры (МК) MSP430 выполнены на основе 16-разрядного RISC ЦПУ с 27 инструкциями и 7 режимами адресации, периферийными устройствами и гибкой системой синхронизации. Блоки контроллера соединены шинами адреса и шинами данных общей фон-неймановской памяти (MAB иMDB, соответственно). Объединение современного ЦПУ с модульными аналоговыми и цифровыми периферийными устройствами ориентирует микроконтроллеры MSP430 на приложения смешанной обработки сигналов. MSP430 являются очень экономичными МК, поэтому они широко распространены в 8- и 16-разрядных измерительных приложениях с батарейным питанием.
Общее представление об особенностях и отличиях семейств MSP430x1xx и MSP430x2xx можно получить из следующих определений.
MSP430x1xx — семейство микроконтроллеров с флэш-памятью или ПЗУ без контроллера ЖКИ с напряжением питания 1,8–3,6 В, размером памяти до 60 кбайт, производительностью до 8 миллионов инструкций в секунду (MIPS), которые содержат широкий диапазон периферийных устройств от простого маломощного компаратора до высокопроизводительных преобразователей данных, интерфейсов и умножающего устройства.
MSP430F2xx — новое семейство флэш-микроконтроллеров с повышенной экономичностью и производительностью до 16 миллионов операций в секунду при работе от того же напряжения питания 1,8–3,6 В. В них интегрирован дополнительный сверхмаломощный 1%-ный генератор, имеется возможность подключения подтягивающих резисторов к плюсу или общему питания на каждой линии ввода-вывода, расширено количество линий аналогового ввода и имеются исполнения с сокращенным числом выводов.
Микроконтроллеры обоих семейств характеризуются сверхмалой потребляемой мощностью, что ориентирует их на приложения с батарейным питанием. В частности, потребляемый ток в режиме удержания данных в ОЗУ составляет 0,1 мкА, а в режиме часов реального времени — 0,8 мкА. В активном же режиме потребляемый ток зависит от производительности и равен 250 мкА/MIPS.
Архитектура
По своей архитектуре микроконтроллеры обоих семейств идентичны и используют одинаковое 16-разрядное ЦПУ. На рис. 1 показана структурная схема микроконтроллеров MSP430x1xx и MSP430x2xx. Из нее видно, что небольшим архитектурным отличием семейства MSP430x1xx является использование у некоторых микроконтроллеров ПЗУ (суффикс «С»), однократно-программируемой памяти OTP (one-time programming) (суффикс «Р») или ЭППЗУ (суффикс «Е») для хранения программного кода (взамен флэш-памяти). В семействе MSP430x2xx используется только флэш-память.
Рис. 1. Архитектура микроконтроллеров MSP430x1xx и MSP430x2xx
Семейства отличаются, в основном, составляющими архитектуру элементами, включая системы сброса и синхронизации, сторожевые таймеры, ряд аналоговых и цифровых периферийных устройств, цифровые вводы-выводы, а также корпусные исполнения.
Система сброса и инициализации
На рис. 2 представлена структурная схема системы сброса сравниваемых микроконтроллеров (дополнительные особенности MSP430x2xx выделены красным цветом, MSP430x1xx — зеленым). Система формирует два сигнала: POR (сброс при подаче питания) и PUC (очистка при нарастании питания). При изучении исходных настроек встроенных регистров необходимо обращать внимание на то, каким сигналом (POR или PUC) вводится та или иная установка.
Рис. 2. Структурная схема системы сброса и инициализации
Генерация сигнала POR выполняется одинаковым образом у обоих семейств МК при возникновении трех событий: подача питания; подача низкого уровня на вход RST/NMI, если он настроен на генерацию сброса, и срабатывание супервизора питания, если его работа разрешена.
Отличие заключается в логике генерации сигнала PUC. Если у MSP430x1xx он формируется при срабатывании супервизора питания, переполнении сторожевого таймера или нарушении ключей защиты сторожевого таймера и флэш-памяти, то у MSP430x2xx поддерживается дополнительная возможность генерации этого сигнала при попытке выборки инструкции из адресного диапазона периферийных устройств (0h – 01FFh).
Последовательность действий микроконтроллера после генерации указанных сигналов идентична, совпадает и последовательность программной инициализации.
К числу прочих отличий можно отнести тот факт, что супервизор питания входит в состав всех МК семейства MSP430x2xx, а в МК MSP430x1xx он интегрирован лишь в некоторые микроконтроллеры. Кроме того, уМК MSP430x2xx реализованы флаги индикации причины сброса, которые позволяют более гибко осуществлять программную инициализацию.
Система синхронизации
Система синхронизации оказывает наиболее весомое влияние на характеристики энергопотребления микроконтроллера и его быстродействие. От гибкости ее построения и динамических характеристик зависит эффективность экономичных режимов работы, которые активно используются в устройствах с батарейным питанием и определяют среднее значение потребляемого тока.
Система синхронизации микроконтроллеров MSP430x2xx имеет некоторые улучшения. Во-первых, рабочий диапазон тактовых частот модулей синхронизации LFXT1 и XT2 расширен с 450 кГц – 8 МГц до 400 кГц – 16 МГц. Во-вторых, существенно повышена рабочая частота генератора с цифровым управлением (DCO), и улучшены такие его характеристики, как температурная стабильность и время запуска (не более 2 мкс). В третьих, добавлен новый модуль синхронизации VLKOCLK со сверхмалой потребляемой мощностью, типичная частота которого равна 12 кГц. Прочие отличия показаны на рис. 3.
Рис. 3. Структурная схема системы синхронизации MSP430F1xx и MSP430F2xx
На рисунке показано, что MSP430F2xx поддерживают возможность программирования емкости нагрузочных конденсаторов (1, 6, 10 или 12,5 пФ) модуля LFXT1 (у MSP430F1xx используются конденсаторы фиксированного номинала 12 пФ). Кроме того, уMSP430F2xx предусмотрены фильтры для подавления коротких импульсов во всех модулях синхронизации, что позволяет улучшить помехоустойчивость системы синхронизации.
В связи с описанными расширениями модуля синхронизации в микроконтроллеры MSP430F2xx добавлен регистр управления основной синхронизацией BCSCTL3 (в дополнение к BCSCTL1, BCSCTL2).
Сторожевой таймер
В микроконтроллеры MSP430F2xx входит усовершенствованный модуль сторожевого таймера (интервального счетчика) WDT+. Его функционирование полностью идентично модулю WDT, входящему в состав MSP430F1xx, а усовершенствование заключается в поддержке функции защиты синхронизации данного модуля. Данная функция гарантирует постоянство подачи сигнала синхронизации, когда WDT+ работает в режиме сторожевого таймера. Это означает, что при выборе источника синхронизации WDT+ могут быть нарушены экономичные режимы работы микроконтроллера. Например, если в качестве источника синхронизации WDT+ выступает ACLK, то экономичный режим LPM4 не поддерживается, тем самым предотвращая отключение ACLK. Кроме того, если источниками синхронизации WDT+ являются ACLK или SMCLK, и происходит нарушение их работы, то в качестве источника синхронизации будет автоматически выбран MCLK.
В этом случае, если MCLK генерируется с помощью внешнего кварцевого резонатора и возникает сбой в его работе, то в качестве источника MCLK подключается DCO.
Если модуль WDT+ используется в режиме интервального счетчика, то данная функция не поддерживается.
Периферийные устройства
Микроконтроллеры MSP430F1xx иMSP430F2xx содержат большое количество аналоговых и цифровых периферийных устройств. В таблице 1 приведено сравнение периферийных устройств обоих семейств с выделением отличий.
Таблица 1. Сравнение периферийных устройств микроконтроллеров MSP430F1xx и MSP430F2xx
MSP430F1xx |
MSP430F2xx |
Аналоговые периферийные устройства |
Аналоговый компаратор (MSP430x11x1, MSP430x12x, MSP430x13x, MSP430x14x, MSP430x15x и MSP430x16x)
10+разрядный АЦП последовательного приближения (MSP430x11x2, MSP430x12x2)
12+разрядный АЦП последовательного приближения (MSP430x13x, MSP430x14x, MSP430x15x и MSP430x16x)
Датчик температуры
12+разрядный ЦАП (MSP430x15x и MSP430x16x) |
Усовершенствованный аналоговый компаратор (все MSP430x2xx, кроме MSP430x20x0 и MSP430x22x4)
10+разрядный АЦП последовательного приближения (MSP430x20x2 и MSP430x22x4)
16+разрядный сигма+дельта АЦП (MSP430x20x3)
Датчик температуры
Операционный усилитель (MSP430x22x4) |
Таймеры |
16+разрядный таймер А с 3 регистрами захвата+сравнения (все МК MSP430x1xx)
16+разрядный таймер В с 3 (MSP430x13x, MSP430x15x) и 7 (MSP430x14x, MSP430x16x) регистрами захвата+сравнения |
16+разрядный таймер А с 3 регистрами захвата+сравнения у всех MSP430x2xx, кроме MSP430x20x с 2 регистрами захвата+сравнения
16+разрядный таймер В с 3 регистрами захвата+сравнения (MSP430x22x4) |
Цифровые последовательные интерфейсы |
УСАПП
- режимы УАПП и SPI у УСАПП0 MSP430x12xx, MSP430x13xx, MSP430x15x и УСАПП1 MSP430x14x, MSP430x16x;
- режим I2C у УСАПП0 MSP430x15x и MSP430x16x. |
Универсальный синхронный интерфейс USI
– режимы SPI и I2C
Универсальный последовательный коммуникационный интерфейс USCI
– режимы УАПП (IrDA+шифрование и дешифрование, автоопределение скорости), SPI и I2C |
Запоминающие устройства |
Флэш+память 1–60 кбайт
ОЗУ 128 байт — 10 кбайт |
Флэш+память 1–32 кбайт
ОЗУ 128 байт — 1 кбайт |
Цифровой ввод-вывод |
14–48 линий ввода+вывода |
10–32 линий ввода+вывода |
Прочие устройства |
Умножающее устройство (MSP430x14x и MSP430x16x) |
|
Аналоговый компаратор
На рис. 4 приведена структурная схема аналогового компаратора, где показано, что усовершенствованный компаратор MSP430F2xx имеет на каждом из своих входов схемы мультиплексирования, которые позволяют гибко коммутировать два из десяти входных сигналов с неинвертирующим и инвертирующим входами компаратора. В отличие от этого, у компаратора MSP430F1xx предусмотрена возможность коммутации только двух входов с входами компаратора. В остальном работа компараторов идентична.
Рис. 4. Структурная схема аналогового компаратора
Аналоговые периферийные устройства
Функция аналого-цифрового преобразования поддерживается не всеми микроконтроллерами и реализуется с помощью нескольких модулей. Оба семейства содержат 10-разрядный АЦП с идентичной функциональностью и характеристиками (частота преобразования 200 кГц, встроенные ИОН 1,5/2,5 В или внешний ИОН). Некоторые представители семейства MSP430F1xx содержат 12-разрядный АЦП последовательного приближения с характеристиками и функционированием, идентичными 10-разрядному АЦП. С другой стороны, в состав одного из представителей семейства MSP430F2xx входит 16-разрядный дельта-сигма АЦП, реализованный в виде модуля SD16_A. Преобразователь основан на сигма-дельта модуляторе с передискретизацией второго порядка и цифровым прореживающим фильтром гребенчатого типа с выборочным коэффициентом передискретизации до 1024. К другим особенностям модуля SD16_A относятся:
- 16-разрядная сигма-дельта архитектура;
- до 8 мультиплексированных аналоговых входов в каждом канале;
- программно-выбираемый встроенный источник опорного напряжения (1,2 В);
- программный выбор внутреннего или внешнего источника опорного напряжения;
- встроенный датчик температуры;
- входная частота модулятора до 1,1 МГц;
- высокоомный входной буфер;
- выборочный режим экономичного преобразования
Уникальной чертой семейства MSP430F1xx является интегрирование двух модулей 12-разрядного ЦАП с вольтажным выходом. К отличительным чертам модуля ЦАП относятся:
- 8- или 12-разрядное преобразование «код—напряжение»;
- программирование соотношения времени установления и потребляемой мощности;
- выбор внутреннего или внешнего источника опорного напряжения;
- формат данных: обычный двоичный или двоичное дополнение;
- опция самокалибровки для коррекции смещения;
- возможность одновременного обновления выходов нескольких ЦАП.
В свою очередь, в микроконтроллерах MSP430F2xx используется другой интересный аналоговый модуль, которого нет у микроконтроллеров MSP430F1xx, — двухканальный программируемый операционный усилитель, который может использоваться в качестве входного интерфейса АЦП. Каждый из каналов операционного усилителя может функционировать в одном из восьми режимов: операционный усилитель общего назначения, буфер с единичным усилением для дифференциального усилителя на трех ОУ, буфер с единичным усилением, компаратор, неинвертирующий усилитель с программируемым усилением, каскадный неинвертирующий усилитель с программируемым усилением, инвертирующий усилитель с программируемым усилением и дифференциальный усилитель. Каналы могут функционировать как раздельно, так и совместно — например, для организации дифференциального усилителя на двух ОУ. В режимах с программируемым усилением поддерживается возможность задания нескольких коэффициентов усиления (0, 1/3, 1, 1 2/3, 3, 4 1/3, 7 и 15).
Таймеры
Логика работы 16-разрядных таймеров, входящих в состав каждого из семейств, не отличается. Разница заключается лишь в количестве встроенных таймеров (1 или 2) и в количестве каналов захвата-сравнения (2, 3 или 7). Данные отличия отображены в таблице 1.
Цифровые последовательные интерфейсы
Реализация цифровых последовательных интерфейсов в семействах также несколько различается. В семействе MSP430F1xx используется модуль УСАПП (устройство синхронно-асинхронного приема-передачи), который в зависимости от выбранного режима работы может функционировать как УАПП, SPI или I2C-интерфейс. В микроконтроллерах MSP430F2xx используется два модуля: USI—универсальный синхронный интерфейс, который позволяет организовать один порт SPI или один порт I2C, а также модуль USCI — универсальный последовательный коммуникационный интерфейс, который является усовершенствованным УСАПП MSP430F1xx, по аналогии с ним поддерживающий режимы УАПП, SPI и I2C. Отличие USCI от УАПП заключается в следующем:
- в режиме УАПП поддерживается возможность автоматической детекции скорости связи, что необходимо при реализации LIN-интерфейса;
- возможность включения шифратора и дешифратора на линиях передачи и приема, соответственно, для организации двунаправленной инфракрасной передачи сигналов по протоколу IrDA.
Флэш-память
У микроконтроллеров обоих семейств используется идентичное деление массива флэш-памяти на основную и информационную память. Эти области состоят из сегментов (наименьшая стираемая часть флэш-памяти), а сегменты, в свою очередь, состоять из блоков. Также совпадают размеры составляющих частей памяти: размер блока 64 байта, размер сегмента основной памяти 512 байт, а отличие заключается в размере сегмента информационной памяти, которая у MSP430F1xx равна 128 байт, а у MSP430F2xx— 64 байта. Кроме того, сегмент А (первый сегмент информационной памяти) поддерживает может быть защищен отдельно от остальных сегментов. Если установлен бит защиты данного сегмента LOCKA=1, то не поддерживается запись-стирание данного сегмента и при выполнении общего стирания содержимое информационной памяти не нарушается.
Состояние данного бита инвертируется при записи в него логической 1, а запись логического 0 игнорируется. Использование такого механизма позволяет применять существующие процедуры программирования флэш-памяти без изменений.
Также следует отметить, что диапазон размеров флэш-памяти от 1 до 32 кбайт у микроконтроллеров семейства MSP430F2xx в сравнении с флэш-памятью MSP430F1xx размером 1–64 кбайт не является недостатком MSP430F2xx, а свидетельствует лишь о новизне данного семейства. В будущем возможно появление новых микроконтроллеров с увеличенным размером флэш-памяти (а также объемом оперативной памяти, количеством линий ввода-вывода и набором периферийный устройств).
Наконец, у микроконтроллеров MSP430F2xx улучшен ряд характеристик флэш-памяти:
- напряжение программирования флэш-памяти снижено с 2,7 В (у микроконтроллеров MSP430F1xx) до 2,2 В;
- стирание сегментов может быть прекращено прерыванием;
- обновление флэш-памяти может быть прекращено прерыванием;
- снижено время программирования и стирания;
- обновление флэш-памяти прекращается при отказе синхронизации.
Цифровой ввод-вывод
Функционирование цифрового ввода-вывода микроконтроллеров обоих семейств полностью идентично за исключением возможности программирования «подтягивающих» резисторов к плюсу и общему проводу питания раздельно на каждом выводе микроконтроллера MSP430F2xx. Для этого у каждого порта ввода-вывода предусмотрен регистр включения-отключения подтягивающего резистора PхREN, а регистру PхOUT (если соответствующий вывод настроен на ввод и на нем активизирована функция подтягивания потенциала) добавлена функция выбора типа подключения подтягивающего резистора: к плюсу питания или к общему проводу.
Прочие устройства
Микроконтроллеры MSP430F1xx содержат аппаратное умножающее устройство, которое не является частью ЦПУ, а выступает в роли автономного устройства. Взаимодействие ЦПУ с этим устройством осуществляется посредством регистров и инструкций чтения-записи ЦПУ. Аппаратное умножающее устройство поддерживает беззнаковое и знаковое умножение, а также беззнаковое и знаковое умножение с накоплением в форматах 16x16 бит, 16x8 бит, 8x16 бит, 8x8 бит. Микроконтроллеры MSP430F2xx такого устройства не содержат, поэтому для выполнения этих операций потребуется программная реализация, что связано с загрузкой ЦПУ и снижением производительности обработки.
Корпусные исполнения
Различия в корпусных исполнениях обусловлены отличиями в количестве линий ввода-вывода. Наличие в составе семейства MSP430x2xx микроконтроллеров с 10 линиями ввода-вывода обусловило появление 14-выводных корпусов PDIP, TSSOP и 16-выводных QFN. Аналогично, превосходство семейства MSP430x1xx по максимальному числу линий ввода-вывода (48) привело к появлению 64-выводных исполнений в корпусах QFN, LQFP и TQFP (табл. 2). Также необходимо отметить отсутствие сведений по корпусным исполнениям микроконтроллеров MSP430x2xx с 32 линиями ввода-вывода, так как они находятся в статусе «PREVIEW» и подробная информация по ним в открытых источниках отсутствует.
Таблица 2. Корпусные исполнения
Количество выводов |
PDIP |
CDIP |
TSSOP |
TVSOP |
QFN |
SOIC |
LQFP |
TQFP |
14 |
* |
|
* |
|
|
|
|
|
16 |
|
|
|
|
* |
|
|
|
20 |
|
x |
x* |
x* |
|
x* |
|
|
24 |
|
|
|
|
x* |
|
|
|
28 |
|
|
x |
|
|
x |
|
|
32 |
|
|
|
|
x |
|
|
|
64 |
|
|
|
|
x |
|
x |
x |
Примечание:
«x»— указывает на принадлежность семейству MSP430x1xx, а «*»— MSP430x2xx.
Выводы
Микроконтроллеры семейств MSP430x1xx и MSP430x2xx идентичны по своей архитектуре, однако в связи с тем, что семейство MSP430x2xx новее, в нем усовершенствованы системы сброса и синхронизации, а также ряд периферийных устройств. Следует обратить внимание на отсутствие некоторых периферийных модулей MSP430x1xx у MSP430x2xx (например, 12-разрядного АЦП/ЦАП), что может усложнить процесс миграции или адаптации существующего программного кода.
Ограниченный диапазон внутренней памяти у MSP430x2xx не является недостатком, а лишь косвенно свидетельствует о новизне этого семейства (ряд представителей этого семейства находится в статусе PREVIEW).
В дальнейшем возможно появление новых микроконтроллеров с расширенной внутренней памятью и количеством линий ввода-вывода.
Литература
- Mixed Signal Products: MSP430x1xx Familiy. User's Guide, Lit. num. SLAU049F. Texas Instruments. 2006.
- Mixed Signal Products: MSP430x2xx Familiy. User's Guide, Lit. num. SLAU144B. Texas Instruments. 2005.
К. СТАРОВЕРОВ, к. т. н.
|