Микроконтроллеры MSP430 — это процессоры для обработки смешанных
(аналоговых и цифровых) сигналов (Mixed Signal Processor — MSP), обладающие сверхнизким энергопотреблением.
Микроконтроллеры семейства MSP430 имеют фон неймановскую
архитектуру (Рис. 1.1) и содержат 16-битное RISC ЦПУ, периферийные модули, а также гибкую систему тактирования, объединённые общими шинами адреса (MAB) и данных (MDB). Сочетание современного ЦПУ и отображаемых в памяти аналоговых и цифровых периферийных модулей делает семейство MSP430 пригодным для работы в приложениях, связанных с обработкой смешанных сигналов.
- ток сохранения содержимого ОЗУ — не более 0.1 мкА;
- ток потребления в режиме часов реального времени — не более 0.8 мкА; - ток потребления в активном режиме — 250 мкА/MIPS. На данный момент семейство микроконтроллеров MSP430 представлено тремя линейками:
Микроконтроллеры линейки Value Line обладают высокой
производительностью и плотностью кода, характерными для 16-разрядных приложений, в сочетании с традиционными для 8-разрядных решений экономичностью и невысокой стоимостью. Особенностью этой линейки является возможность работы в широком диапазоне питающих напряжений 1,8…3,6 В и ультрамалый ток потребления, максимальное значение которого в активном режиме не превышает 2 мА, в режиме ожидания – менее 1 мкА, а в выключенном состоянии – всего 15 нА.
Микроконтроллеры линейки CapTIvate ориентированы на использование в
устройствах с сенсорным управлением. Все микроконтроллеры этой линейки содержат встроенный специализированный периферийный модуль CapTIvate, позволяющий контролировать кнопки, ползунки (слайдеры) и колеса прокрутки, не содержащие механических контактов. Используемая в модуле уникальная технология измерения емкости в широком диапазоне (10 пФ… 300 пФ) отличается высокой чувствительностью и обеспечивает четкую работу органов управления.
Микроконтроллеры линейки Ultrasonic Sensing, благодаря наличию
специализированного модуля USS (Ultrasonic Sensing Solution), ориентированы на использование в приложениях, требующих определения расхода жидкости или газа. Особенностью модуля USS является минимальное количество внешних компонентов, что положительно сказывается на стоимости конечного устройства. Кроме этого, в состав периферийных модулей микроконтроллеров данной линейки входят все необходимые вспомогательные узлы, используемые в подобных приложениях: часы реального времени, АЦП, компараторы, драйверы ЖКИ и другие. Микроконтроллеры Ultrasonic Sensing также содержат малопотребляющий математический сопроцессор (Low-EnergyAccelerator, LEA).
Организация памяти:
Однобайтные значения располагаются по чётным или нечётным адресам.
Двухбайтные значения располагаются только по четным адресам, как показано на Рис. 1.3. При использовании команд, оперирующих словами, обращаться можно только к четным адресам памяти. К интегрированным в кристалл МК устройствам ввода/вывода относятся:
1) 12-разрядный аналого-цифровой преобразователь с частотой
дискретизации 200 кГц. Имеет 8 внешних входов для аналоговых сигналов, буфер на 16 слов для хранения результатов преобразования, организованный как очередь с автоматическим заполнением и сохранением ее содержимого в основной памяти. Источник опорного напряжения встроен в схему АЦП. Кроме того, в него интегрированы датчик температуры и цепь обнаружения разряда источника питания, позволяющая контролировать состояние источника (батареи) при автономной работе; 2) двухканальный 12-разрядный цифро-аналоговый преобразователь (ЦАП);
3) аналоговый компаратор − без гистерезиса со
встроенным программируемым делителем для установки напряжения компарирования (опорного напряжения). Компаратор имеет несколько входов, переключаемых с помощью мультиплексора, и программно отключаемый RC-фильтр на выходе;
4) контроллер прямого доступа к памяти (КПДП), имеющий три канала,
каждый из которых может использоваться для перемещения данных из устройства (или в устройство) ввода/вывода в оперативную (или из оперативной) память(и) независимо от ЦПЭ;
5) супервизор напряжения источника питания с блоком системного сброса и
инициализации контролирует состояние источника питания и генерирует сигнал системного сброса при снижении напряжения питания ниже установленного порогового значения.
6) два универсальных 16-битовых таймера (Timer A и Timer B) с режимами
«захват/сравнение» и возможностью формирования сигнала широтноимпульсной модуляции (ШИМ). Оба таймера выполнены в виде 16- разрядных двоичных счётчиков, подсчитывающих импульсы, получаемые либо от устройства синхронизации, либо от выделенных для этого выводов микросхемы МК. Счётчики таймеры способны работать в нескольких режимах. При этом разрядность счётчика таймера B может программно установиться на 8, 10, 12 или 16.
7) сторожевой таймер. Главная функция сторожевого таймера – контроль
системного рестарта при сбое в работе программы: если программа не производит обращение к сторожевому таймеру в течение заданного интервала времени, то производится системный сброс.
8) два универсальных синхронно/асинхронных приёмо-передатчика
(USART0,1). USART0 работает в трёх режимах: в режиме универсального асинхронного приёмо-передатчика (UART режим), в режиме синхронного периферийного интерфейса (SPI) и в режиме I2C (в режиме двухпроводного интерфейса). В USART1 такой режим работы не предусмотрен. При обмене данными в асинхронном режиме UART каждый передаваемый символ содержит стартовый бит, семь или восемь битов данных, бит контроля чётности и один или два стоповых бит. Период следования битов определяется выбранным источником тактовых импульсов и настройкой работы сдвиговых регистров, преобразующих поступающий по шине данных MDB параллельный код в последовательный, а принимаемый последовательный код – в параллельный для передачи его на шину MDB. Скорость передачи определяется частотой тактирования принимающего и передающего сдвиговых регистров. В асинхронном режиме обмена данными между двумя устройствами используется протокол с форматом «свободная линия». При таком формате блоки данных на линиях передачи или приёма разделены временем простоя (временем, когда линия свободна).
9) шесть портов общего назначения (P1−P6) являются
многофункциональными портами ввода/вывода, которые могут быть использованы как 8- разрядные параллельные цифровые порты, так и как средство для подключения к контактам микроконтроллера таймеров, аналоговых входов АЦП, выходов ЦАП, входов и выходов компаратора и последовательных портов, а также для выдачи и приёма сигналов синхронизации. Для реализации этих возможностей предусмотрены средства конфигурации портов посредством занесения в принадлежащие им регистры управления соответствующей информации. Система тактирования микроконтроллера разработана специально для использования в приложениях с питанием от батарей.
Основное тактирование (MCLK − Master Clock), необходимое
для работы ЦПЭ, имеет три источника: 1) внутренний низкочастотный/высокочастотный генератор последовательности тактовых импульсов LFXT1CLK с внешним резонатором с низкочастотным часовым кристаллом на 32768 Гц или с одним из стандартных резонаторов (кристаллов) на диапазон от 450 кГц до 8 МГц;
2) один из источников дополнительных тактовых импульсов XT2CLK: либо
высокочастотный внутренний генератор со стандартными внешними резонаторами, либо внешний генератор на диапазон от 450 кГц до 8 МГц;
3) встроенный тактовых импульсов DCOCLK с цифровым управлением
(DCO Digitally Controlled Oscillator), состоящий из задающего управляемого RC-генератора и дополнительной схемы формирования тактирующей последовательности DCOCLK.
Архитектура MSP430 позволяют эффективно использовать
16-разрядный ЦПЭ только в нужные промежутки времени, что позволяет на низких тактовых частотах снизить энергопотребление, сводя его до ультранизкого, а на высоких при активизации основного высокоскоростного модуля тактирования − выполнять быструю обработку сигналов. Основной модуль тактирования может быть программно сконфигурирован − на работу с номинальной частотой без использования внешних компонент кроме одного внешнего резистора и − на работу с одним или двумя внешними кристаллами (резонаторами) XT1 и XT2. Внешние компоненты подключаются к соответствующим контактам Rosc, XIN, XOUT, XT2IN и XT2OUT.
Прерывания:
Приоритеты прерываний фиксированы и зависят от местонахождения
конкретного модуля в цепочке, как показано на Рис. 2.3. Чем ближе расположен модуль к ЦПУ, тем выше приоритет его прерывания. Приоритеты определяют порядок обработки прерываний при одновременной генерации нескольких запросов. В MSP430 имеется три типа прерываний: - сброс системы; - немаскируемые (NMI); - маскируемые. Немаскируемое прерывание может быть вызвано тремя событиями: - появление активного фронта на выводе RST/NMI при конфигурации пос леднего в режиме NMI; - возникновение неисправности тактового генератора; - нарушение доступа к флэшпамяти.
Алгоритм обработки немаскируемого прерывания:
Маскируемые прерывания генерируются периферийными устройствами, имеющими такую возможность. В том числе, маскируемое прерывание может генерироваться по переполнению сторожевого таймера при работе последнего в режиме интервального таймера. Прерывания от каждого из источников могут быть запрещены с помощью индивидуальных битов разрешения прерываний. Кроме того, все маскируемые прерывания могут быть запрещены с помощью бита общего разрешения прерываний GIE регистра состояния (SR).
Обработка маскируемого прерывания:
При возникновении запроса прерывания от периферийного устройства, если установлены бит разрешения прерывания от этого устройства и бит общего разрешения прерываний GIE, вызывается процедура обработки прерывания. Для вызова обработчика немаскируемого прерывания достаточно установленного индивидуального бита разрешения конкретного прерывания.
ЦПУ:
ЦПУ MSP430 имеет следующие особенности:
- RISC архитектура, поддерживающая 27 команд и 7 режимов адресации; - ортогональная архитектура — с каждой из команд может использоваться любой режим адресации; - полная доступность регистров, включая счетчик команд, регистры состояния и указатель стека; - однотактные регистровые операции; - большой 16 битный регистровый файл, уменьшающий количество обращений к памяти; - 16 битная шина адреса, обеспечивающая прямой доступ и ветвление во всём диапазоне адресов; - 16 битная шина данных, позволяющая напрямую оперировать 2 битными значениями; - генератор констант формирует шесть наиболее часто используемых значений, уменьшая размер кода; - прямой обмен данными между ячейками памяти без промежуточной записи в регистр; одно и двухбайтные адресация и форматы команд. Регистры ЦПУ: Центральный процессор содержит шестнадцать 16 битных регистров. Регистры R4−R15 – это регистры общего назначения, а четыре регистра R0−R3 выполняют соответственно функции счетчика команд PC, указателя вершины стека SP, регистра статуса SR и генератора констант CG. Несмотря на специализацию некоторых регистров (это относится к регистрам R0−R3), по отношению к АЛУ все регистры равноправны. Микроконтроллеры семейства MSP430 имеют возможность встроенной внутрисхемной эмуляции. Ниже перечислены ее преимущества: - создание и отладка кода программы с возможностью его выполнения в реальном времени; - поддержка точек останова и выполнения программы в пошаговом режиме; - отлаживаемый объект имеет те же характеристики, что и конечное устройство; - сохраняется целостность смешанных сигналов благодаря отсутствию взаимного влияния проводов.
Умножитель-аккумулятор (MAC)
К вычислительным устройствам микроконтроллера относится 16-разрядный
аппаратный умножитель. Аппаратный умножитель не входит в состав ЦПЭ и работает независимо от него. Поддерживаются четыре типа операций: знаковое и беззнаковое умножение (MPYS и MPY), знаковое и беззнаковое умножение с накоплением (MACS и MAC).
Программные инструменты разработки:
Поддерживае Название Описание мые девайсы
Коллекция ресурсов для проектирования с
MSP430Ware™ All MSP430 использованием микроконтроллеров MSP430, software MCUs включая широкий выбор высоко абстрактных программных библиотек. Программное обеспечение доступно как компонент Code Composer Studio ™ IDE для настольных ПК и облачных версий, или как отдельный пакет.
Инструменты, документация и примеры
Capacitive программного обеспечения для упрощения и CapTIvate touch ускорения разработки емкостных сенсорных Design Center MCUs устройств с помощью микроконтроллеров MSP430 CapTIvate.
Инструменты, графический интерфейс,
Ultrasonic Ultrasonic документация, библиотека программного Design Center Sensing MCUs обеспечения и примеры приложений для разработки решений для ультразвуковых датчиков.
Инструмент быстрой разработки, позволяющий
MSP430i20xx измерять энергию. Инструмент проектирования Energy and включает графический интерфейс, документацию, Measurement MSP430F67xx библиотеку программного обеспечения и примеры, Design Center flash-based которые могут упростить разработку и ускорить MCUs проектирование в широком диапазоне приложений для мониторинга и измерения энергии.
Набор инструментов, используемых для
разработки и отладки встроенных приложений. Он Code All MSP430 включает оптимизирующий компилятор C / C ++, Composer MCUs редактор исходного кода, среду сборки проекта, Studio IDE отладчик, профилировщик и многие другие функции.
IDE и программная среда с открытым исходным
Supports кодом и сообществом. Основываясь на структуре devices with Wiring, Energia предоставляет интуитивно понятную Energia IDE LaunchPad среду кодирования, а также надежную структуру development простых в использовании функциональных API и kits библиотек для программирования микроконтроллера.
IAR Embedded All MSP430 Полный набор инструментов отладчика и
Workbench® MCUs компилятора C / C ++ для создания и отладки встроенных приложений на основе микроконтроллеров MSP430. Отладчик полностью интегрирован для отладки на уровне исходного кода и дизассемблирования с поддержкой сложного кода и точек останова по данным.
Бесплатный полный набор инструментов
отладчика и компилятора C / C ++ с открытым исходным кодом для создания и отладки GCC open All MSP430 встроенных приложений с использованием source MCUs микроконтроллеров MSP430 без ограничений по packages размеру кода. Компиляторы можно использовать отдельно из командной строки или в среде IDE Code Composer Studio.