Микроконтроллеры МБР430:
отличительные особенности семейства MSP430x2xx от MSP430x1xx
Решение задачи минимизации себестоимости проектируемой электронной техники напрямую зависит от соответствия выбранной элементной базы требованиям к разработке. В частности, правильный выбор микроконтроллера позволяет сэкономить как на стоимости самого микроконтроллера, так и на стоимости внешних компонентов за счет использования встроенных аппаратных ресурсов и благодаря хорошим электрическим характеристикам. В рамках данной публикации будет дана сравнительная характеристика двух семейств 16-разрядных микроконтроллеров МБР430х1хх и МБР430х2хх, которая поможет сориентироваться в особен-Константин СТАРОВЕРОВ ностях этих семейств как при разработке нового приложения, так и при
к. т. н. модернизации существующих устройств, выполненных на основе микро-
ti@compel.ru контроллеров МБР430Х1ХХ.
Микроконтроллеры (МК) 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 мкА/МІРв.
Архитектура
По своей архитектуре микроконтроллеры обоих семейств идентичны и используют одинаковое 16-разрядное ЦПУ. Нарис. 1 показана структурная схема микроконтроллеров М8Р430х1хх и МвР430х2хх. Из нее видно, что небольшим архитектурным отличием семейства М8Р430х1хх является использование у некоторых микроконтроллеров ПЗУ (суффикс «С»),
ACLK
SMCLK
Рис. 1. Архитектура микроконтроллеров MSP430x1xx и MSP430x2xx
Vcc
Vcc
Vcc
|X_______ __________
Супервизор Детекция Задержка
питания POR POR
~50mkc
SVS_POR -
RST/NMI Ш-----------
WDTNMI ■-----------
WDSSEL m___________
WDTQn ------------
WDTIFG ------------
(из модуля сторожевого
таймера)
EQU ------------
KEYV
и
<> & і
Resetwd2
(из модуля флэш-памяти)
Некорректная выборка инструкции
MSP430x1xx
MSP430x2xx
Resetwd 1
Защелка
POR
->POR
Задержка
Защелка
PUC
~Т“
MCLK
—6—►PUC
Рис. 2. Структурная схема системы сброса и инициализации
однократно-программируемой памяти OTP (one-time programming) (суффикс «Р») или ЭППЗУ (суффикс «Е») для хранения программного кода (взамен флэш-памяти). В семействе MSP430x2xx используется только флэш-память.
Семейства отличаются, в основном, составляющими архитектуру элементами, включая системы сброса и синхронизации, сторожевые таймеры, ряд аналоговых и цифровых периферийных устройств, цифровые вводы-выводы, а также корпусные исполнения.
Система сброса и инициализации
На рис. 2 представлена структурная схема системы сброса сравниваемых микроконтроллеров (дополнительные особенности MSP430x2xx выделены красным цветом, MSP430x1xx — зеленым). Система формирует два сигнала: POR (сброс при подаче питания) и PUC (очистка при нарастании питания). При изучении исходных настроек встроенных регистров необходимо обращать внимание на то, каким сигналом (POR или PUC) вводится та или иная установка.
Генерация сигнала POR выполняется одинаковым образом у обоих семейств МК при возникновении трех событий: подача питания; подача низкого уровня на вход RST/NMI, если он настроен на генерацию сброса, и срабатывание супервизора питания, если его работа разрешена.
Отличие заключается в логике генерации сигнала PUC. Если у MSP430x1xx он формируется при срабатывании супервизора питания, переполнении сторожевого таймера или нарушении ключей защиты сторожевого таймера и флэш-памяти, то у MSP430x2xx поддерживается дополнительная возможность генерации этого сигнала при попытке выборки инструкции из адресного диапазона периферийных устройств (0h - 01FFh).
Последовательность действий микроконтроллера после генерации указанных сигналов идентична, совпадает и последовательность программной инициализации.
К числу прочих отличий можно отнести тот факт, что супервизор питания входит в состав всех МК семейства MSP430x2xx, а в МК MSP430x1xx он интегрирован лишь в некоторые микроконтроллеры. Кроме того, у МК MSP430x2xx реализованы флаги индикации причины сброса, которые позволяют более гибко осуществлять программную инициализацию.
Система синхронизации
Система синхронизации оказывает наиболее весомое влияние на характеристики энергопотребления микроконтроллера и его быстродействие. От гибкости ее построения и динамических характеристик зависит эффективность экономичных режимов работы, которые активно используются в устройст-
вах с батарейным питанием и определяют среднее значение потребляемого тока.
Система синхронизации микроконтроллеров М8Р430х2хх имеет некоторые улучшения. Во-первых, рабочий диапазон тактовых частот модулей синхронизации LFXT1 и ХТ2 расширен с 450 кГц - 8 МГц до 400 кГц - 16 МГц. Во-вторых, существенно повышена рабочая частота генератора с цифровым управлени-
ем фСО), и улучшены такие его характеристики, как температурная стабильность и время запуска (не более 2 мкс). В третьих, добавлен новый модуль синхронизации VLKOCLK со сверхмалой потребляемой мощностью, типичная частота которого равна 12 кГц.
Прочие отличия показаны на рис. 3. На рисунке показано, что MSP430F2xx поддерживают возможность программирования
Внутренний VLOCLK
ратор
MCLK
Rose P2.5/Rosc
SMCLK
Вспомогательная системная синхронизация
Рис. 3. Структурная схема системы синхронизации MSP430F1xx и MSP430F2xx
емкости нагрузочных конденсаторов (1, 6, 10 или 12,5 пФ) модуля LFXT1 (у MSP430F1xx используются конденсаторы фиксированного номинала 12 пФ). Кроме того, у MSP430F2xx предусмотрены фильтры для подавления коротких импульсов во всех модулях синхронизации, что позволяет улучшить помехоустойчивость системы синхронизации.
В связи с описанными расширениями модуля синхронизации в микроконтроллеры MSP430F2xx добавлен регистр управления основной синхронизацией BCSCTL3 (в дополнение к BCSCTL1, BCSCTL2).
Сторожевой таймер
В микроконтроллеры MSP430F2xx входит усовершенствованный модуль сторожевого
таймера (интервального счетчика) WDT+. Его функционирование полностью идентично модулю WDT, входящему в состав М8Р430Ихх, а усовершенствование заключается в поддержке функции защиты синхронизации данного модуля. Данная функция гарантирует постоянство подачи сигнала синхронизации, когда WDT+ работает в режиме сторожевого таймера. Это означает, что при выборе источника синхронизации WDT+ могут быть нарушены экономичные режимы работы микроконтроллера. Например, если в качестве источника синхронизации WDT+ выступает А^К, то экономичный режим LPM4 не поддерживается, тем самым предотвращая отключение А^К. Кроме того, если источниками синхронизации WDT+ являются А^К или 8М^К, и происходит нарушение
их работы, то в качестве источника синхронизации будет автоматически выбран М^К. В этом случае, если М^К генерируется с помощью внешнего кварцевого резонатора и возникает сбой в его работе, то в качестве источника М^К подключается DCO.
Если модуль WDT+ используется в режиме интервального счетчика, то данная функция не поддерживается.
Периферийные устройства
Микроконтроллеры М8Р430Ихх и М8Р430Е2хх содержат большое количество аналоговых и цифровых периферийных устройств. В таблице 1 приведено сравнение периферийных устройств обоих семейств с выделением отличий.
Аналоговый компаратор На рис. 4 приведена структурная схема аналогового компаратора, где показано, что усовершенствованный компаратор МвР430Р2хх имеет на каждом из своих входов схемы мультиплексирования, которые позволяют гибко коммутировать два из десяти входных сигналов с неинвертирующим и инвертирующим входами компаратора. В отличие от этого, у компаратора М8Р430Пхх предусмотрена возможность коммутации только двух входов с входами компаратора. В остальном работа компараторов идентична.
Аналоговые периферийные устройства
Функция аналого-цифрового преобразования поддерживается не всеми микроконтроллерами и реализуется с помощью нескольких модулей. Оба семейства содержат 10-разрядный АЦП с идентичной функциональностью и характеристиками (частота преобразования 200 кГц, встроенные ИОН 1,5/2,5 В или внешний ИОН). Некоторые представители семейства МвР430Р1хх содержат 12-разрядный АЦП последовательного приближения с характеристиками и функционированием, идентичными 10-разрядному АЦП. С другой стороны, в состав одного из представителей семейства М8Р430Р2хх входит 16-разрядный дельта-сигма АЦП, реализованный в виде модуля SD16_A. Преобразователь основан на сигма-дельта модуляторе с передискретизацией второго порядка и цифровым прореживающим фильтром гребенчатого типа с выборочным коэффициентом передискретизации до 1024. К другим особенностям модуля SD16_A относятся:
• 16-разрядная сигма-дельта архитектура;
• до 8 мультиплексированных аналоговых входов в каждом канале;
• программно-выбираемый встроенный источник опорного напряжения (1,2 В);
• программный выбор внутреннего или внешнего источника опорного напряжения;
• встроенный датчик температуры;
• входная частота модулятора до 1,1 МГц;
• высокоомный входной буфер;
Таблица 1. Сравнение периферийных устройств микроконтроллеров МБР430Р1хх и МБР430Р2хх
МБР430Р1хх МБР430Р2хх
| Аналоговые периферийные устройства
• Аналоговый компаратор (MSP430x11x1, MSP430x12x, MSP430x13x, MSP430x14x, MSP430x15x и MSP430x16x) • 10-разрядный АЦП последовательного приближения (MSP430x11x2, MSP430x12x2) • 12-разрядный АЦП последовательного приближения (MSP430x13x, MSP430x14x, MSP430x15x и MSP430x16x) • Датчик температуры • 12-разрядный цАп (MSP430x15x и MSP430x16x) • Усовершенствованный аналоговый компаратор (все MSP430x2xx, кроме MSP430x20x0 и MSP430x22x4) • 10-разрядный АЦП последовательного приближения (MSP430x20x2 и MSP430x22x4) • 1б-разрядный сигма-дельта АЦП (MSP430x20x3) • Датчик температуры • Операционный усилитель (MSP430x22x4)
| Таймеры
• 16-разрядный таймер А с 3 регистрами захвата-сравнения (все МК МБР430х1хх) • 16-разрядный таймер В с 3 (МБР430х13х, МБР430х15х) и 7 (МБР430х14х, МБР430х1бх) регистрами захвата-сравнения • 16-разрядный таймер А с 3 регистрами захвата-сравнения у всех MSP430x2xx, кроме MSP430x20x с 2 регистрами захвата-сравнения • 16-разрядный таймер В с 3 регистрами захвата-сравнения (MSP430x22x4)
| Цифровые последовательные интерфейсы
•УСАПП - режимы УАПП и БРІ у УСАПП0 МБР430х12хх, МБР430х13хх, МБР430х15х и УСАПП1 МБР430х14х, МБР430х16х; - режим І2С у УСАПП0 МБР430х15х и МБР430х16х. • Универсальный синхронный интерфейс 1^1 - режимы SPI и 12С • Универсальный последовательный коммуникационный интерфейс 1^С1 - режимы УАПП (1гРА-шифрование и дешифрование, автоопределение скорости), SPI и 12С
| Запоминающие устройства
• Флэш-память 1-60 кбайт • ОЗУ 128 байт — 10 кбайт • Флэш-память 1-32 кбайт • ОЗУ 128 байт — 1 кбайт
| Цифровой ввод-вывод
| • 14-48 линий ввода-вывода | • 10-32 линий ввода-вывода
Прочие устройства
• Умножающее устройство (МБР430х14х и МБР430х16х) |
Рис. 4. Структурная схема аналогового компаратора
• выборочный режим экономичного преобразования.
Уникальной чертой семейства М8Р430Р1хх является интегрирование двух модулей 12-разрядного ЦАП с вольтажным выходом. К отличительным чертам модуля ЦАП относятся:
• 8- или 12-разрядное преобразование «код-напряжение»;
• программирование соотношения времени установления и потребляемой мощности;
• выбор внутреннего или внешнего источника опорного напряжения;
• формат данных: обычный двоичный или двоичное дополнение;
• опция самокалибровки для коррекции смещения;
• возможность одновременного обновления выходов нескольких ЦАП.
В свою очередь, в микроконтроллерах М8Р430Б2хх используется другой интересный аналоговый модуль, которого нет у микроконтроллеров М8Р430Пхх, — двухканальный программируемый операционный усилитель, который может использоваться в качестве входного интерфейса АЦП. Каждый из каналов операционного усилителя может функционировать в одном из восьми режимов: операционный усилитель общего назначения, буфер с единичным усилением для дифференциального усилителя на трех ОУ, буфер с единичным усилением, компаратор, неинвертирующий усилитель с программируемым усилением, каскадный неинвертирующий усилитель с программируемым усилением, инвертирующий усилитель с программируемым усилением и дифференциальный усилитель. Каналы могут функционировать как раздельно, так и совместно — например, для организации дифференциального усилителя на двух ОУ. В режимах с программируемым усилением поддерживается возможность задания нескольких коэффициентов усиления (0, 1/3, 1, 1 2/3, 3, 4 1/3, 7 и 15). Таймеры
Логика работы 16-разрядных таймеров, входящих в состав каждого из семейств, не отличается. Разница заключается лишь в количестве встроенных таймеров (1 или 2) ив количестве каналов захвата-сравнения (2, 3 или 7). Данные отличия отображены в таблице 1. Цифровые последовательные интерфейсы
Реализация цифровых последовательных интерфейсов в семействах несколько различается. В семействе М8Р430Б1хх используется модуль УСАПП (устройство синхронноасинхронного приема-передачи), который в зависимости от выбранного режима работы может функционировать как УАПП, 8Р1 или 12С-интерфейс. В микроконтроллерах М8Р430Б2хх используется два модуля: Ш1 — универсальный синхронный интерфейс, который позволяет организовать один порт 8Р1 или один порт 12С, а также модуль И8С1 — универсальный последовательный коммуни-
кационный интерфейс, который является усовершенствованным УСАПП М8Р430Б1хх, по аналогии с ним поддерживающий режимы УАПП, 8Р1 и 12С. Отличие И8С1 от УАПП заключается в следующем:
• в режиме УАПП поддерживается возможность автоматической детекции скорости связи, что необходимо при реализации LIN-интерфейса;
• возможность включения шифратора и дешифратора на линиях передачи и приема, соответственно, для организации двунаправленной инфракрасной передачи сигналов по протоколу ЬСА.
Флэш-память
У микроконтроллеров обоих семейств используется идентичное деление массива флэш-памяти на основную и информационную память. Эти области состоят из сегментов (наименьшая стираемая часть флэш-памяти), а сегменты, в свою очередь, состоят из блоков. Также совпадают размеры составляющих частей памяти: размер блока 64 байта, размер сегмента основной памяти 512 байт, а отличие заключается в размере сегмента информационной памяти, которая у М8Р430Б1хх равна 128 байт, а у М8Р430Б2хх — 64 байта.
Кроме того, сегмент А (первый сегмент информационной памяти) отдельную защиту от остальных сегментов. Если установлен бит защиты данного сегмента LOCKA=1, то не поддерживается запись-стирание данного сегмента и при выполнении общего стирания содержимое информационной памяти не нарушается.
Состояние данного бита инвертируется при записи в него логической 1, а запись логического 0 игнорируется. Использование такого механизма позволяет применять существующие процедуры программирования флэш-памяти без изменений.
Также следует отметить, что диапазон размеров флэш-памяти от 1 до 32 кбайт у микроконтроллеров семейства М8Р430Б2хх в сравнении с флэш-памятью М8Р430Б1хх размером 1-64 кбайт не является недостатком М8Р430Б2хх, а свидетельствует лишь о новизне данного семейства. В будущем возможно появление новых микроконтроллеров с увеличенным размером флэш-памяти (а также объемом оперативной памяти, количеством линий ввода-вывода и набором периферийный устройств).
Наконец, у микроконтроллеров М8Р430Б2хх улучшен ряд характеристик флэш-памяти:
• напряжение программирования флэш-памяти снижено с 2,7 В (у микроконтроллеров М8Р430Б1хх) до 2,2 В;
• стирание сегментов может быть прекращено прерыванием;
• обновление флэш-памяти может быть прекращено прерыванием;
• снижено время программирования и стирания;
• обновление флэш-памяти прекращается при отказе синхронизации.
Цифровой ввод-вывод
Функционирование цифрового ввода-вывода микроконтроллеров обоих семейств полностью идентично за исключением возможности программирования «подтягивающих» резисторов к плюсу и общему проводу питания раздельно на каждом выводе микроконтроллера М8Р430Б2хх. Для этого у каждого порта ввода-вывода предусмотрен регистр включения-отключения подтягивающего резистора РхИЕ^ а регистру РхОиТ (если соответствующий вывод настроен на ввод и на нем активизирована функция подтягивания потенциала) добавлена функция выбора типа подключения подтягивающего резистора: к плюсу питания или к общему проводу.
Прочие устройства
Микроконтроллеры М8Р430Б1хх содержат аппаратное умножающее устройство, которое не является частью ЦПУ, а выступает в роли автономного устройства. Взаимодействие ЦПУ с этим устройством осуществляется посредством регистров и инструкций чтения-записи ЦПУ. Аппаратное умножающее устройство поддерживает беззнаковое и знаковое умножение, а также беззнаковое и знаковое умножение с накоплением в форматах 16x16 бит, 16x8 бит, 8x16 бит, 8x8 бит. Микроконтроллеры М8Р430Б2хх такого устройства не содержат, поэтому для выполнения этих операций потребуется программная реализация, что связано с загрузкой ЦПУ и снижением производительности обработки.
Корпусные исполнения
Различия в корпусных исполнениях обусловлены отличиями в количестве линий ввода-вывода. Наличие в составе семейства М8Р430х2хх микроконтроллеров с 10 линиями ввода-вывода обусловило появление 14-выводных корпусов PDIP, Т880Р и 16-вы-водных QFN. Аналогично, превосходство семейства М8Р430х1хх по максимальному числу линий ввода-вывода (48) привело к появлению 64-выводных исполнений в корпусах QFN, LQFP и TQFP (табл. 2). Также необходимо отметить отсутствие сведений по корпусным исполнениям микроконтроллеров
Таблица 2. Корпусные исполнения
Количество выводов Р01Р С01Р ТББОР ТУБОР ОРЫ БО1С ЮРР ТОРР
14 • •
16 •
20 • • • • • • •
24 • •
28 • •
32 •
64 • • •
Примечание: «•» — указывает на принадлежность к семейству МвР430х1хх, а «•» — МвР430х2хх.
MSP430x2xx с 32 линиями ввода-вывода, так как они находятся в статусе Preview и подробная информация по ним в открытых источниках отсутствует.
Выводы
Микроконтроллеры семейств MSP430x1xx и MSP430x2xx идентичны по своей архитектуре, однако в связи с тем, что семейство MSP430x2xx новее, в нем усовершенствованы системы сброса и синхронизации, а также ряд периферийных устройств.
Следует обратить внимание на отсутствие некоторых периферийных модулей MSP430x1xx у MSP430x2xx (например, 12-разрядного АЦП/ЦАП), что может усложнить процесс миграции или адаптации существующего программного кода.
Ограниченный диапазон внутренней памяти у MSP430x2xx не является недостатком, а лишь косвенно свидетельствует о новизне этого семейства (ряд представителей этого семейства находится в статусе Preview). В дальнейшем возможно появление новых микроконтроллеров с расширенной внутренней памятью и количеством линий ввода-вывода. ■
Литература
1. Mixed Signal Products: MSP430x1xx Family. User's Guide, Lit. num. SLAU049F. Texas Instruments. 2006.
2. Mixed Signal Products: MSP430x2xx Family. User's Guide, Lit. num. SLAU144B. Texas Instruments. 2005.