TI MSP430

редактировать

TI MSP430
DesignerTexas Instruments
Биты16-бит
ТипПамять-Память
Порядок байтов порядок байтов
РасширенияMSP430X
Регистры
16, R0 - Программный счетчик, R1 - Указатель стека, R2 - Регистр состояния, R2 / R3 - Генератор констант
MSP 430 FG438, управляющий глюкометром Фотография двух экспериментальных плат для набора микросхем MSP430 от Texas Instruments. Слева - большая версия чипа, справа - уменьшенная версия в формате USB.

MSP430 - это микроконтроллер семейства микроконтроллеров от 215>Texas Instruments, впервые представлен 14 февраля 1992 г. MSP430, построенный на базе 16-битного ЦП, рассчитан на низкую стоимость и, в частности, с низким энергопотреблением. Приложения.

Содержание
  • 1 Приложения
  • 2 Номер детали MSP430
  • 3 поколения MSP430
    • 3,1 Серия MSP430x1xx
    • 3,2 Серия MSP430F2xx
    • 3,3 Серия MSP430G2xx
    • 3,4 Серия MSP430x3xx
    • 3,5 Серия MSP430x4xx
    • 3.6 Серия MSP430x5xx
    • 3.7 Серия MSP430x6xx
    • 3.8 Серия RF SoC (CC430)
    • 3.9 Серия FRAM
    • 3.10 Низковольтная серия
    • 3.11 Другие семейства MSP430
  • 4 Периферийные устройства
    • 4.1 Порты ввода-вывода общего назначения 0–10
    • 4.2 Интегрированные периферийные устройства
  • 5 Среда разработки программного обеспечения
  • 6 Недорогие платформы разработки
    • 6.1 eZ430-F2013
    • 6.2 MSP430 LaunchPad
  • 7 Интерфейс отладки
  • 8 ЦП MSP430
    • 8.1 Псевдо-операции
    • 8.2 20-разрядное расширение MSP430X
  • 9 Адресное пространство MSP430
  • 10 Ссылки
  • 11 Внешние ссылки
    • 11.1 Сообщества и информационные сайты
    • 11.2 Визуальное программирование Генераторы кода C
    • 11.3 Компиляторы, ассемблеры и IDE
      • 11.3.1 Бесплатный компилятор и IDE
      • 11.3.2 Самые популярные неограниченные IDE и компиляторы
      • 11.3.3 Прочие IDE s
    • 11.4 Список инструментов отладки (не полный)
    • 11.5 Другие инструменты
Приложения
Глюкометр Aktivmed GlucoCheck Comfort - Печатная плата под ЖК-дисплеем, на которой установлен ЦП MSP 430

MSP430 может быть используется для маломощных встроенных устройств. Ток , потребляемый в режиме ожидания, может быть менее 1 мкА. Максимальная частота процессора - 25 МГц. Его можно отрегулировать для снижения энергопотребления. MSP430 также использует шесть различных режимов низкого энергопотребления, которые могут отключать ненужные тактовые частоты и ЦП. Кроме того, MSP430 способен просыпаться за время менее 1 микросекунды, что позволяет микроконтроллеру дольше оставаться в спящем режиме, сводя к минимуму его среднее потребление тока. Устройство поставляется в различных конфигурациях с обычными периферийными устройствами: внутренний генератор, таймер, включая ШИМ, сторожевой таймер, USART., SPI, I²C, 10/12/14/16/24-бит АЦП и пониженное напряжение сброс схемотехника. Некоторые менее обычные периферийные опции включают компараторы (которые могут использоваться с таймерами для создания простых АЦП), встроенные в микросхемы операционные усилители для формирования сигнала, 12 -bit DAC, LCD драйвер, аппаратный умножитель, USB и DMA для результатов АЦП. За исключением некоторых более старых версий EPROM (MSP430E3xx) и большого объема mask ROM (MSP430Cxxx), все устройства программируются в системе через JTAG. (полный четырехпроводной или Spy-Bi-Wire ) или встроенный загрузчик bootstrap (BSL) с использованием UART, например RS232 или USB на устройствах с поддержкой USB.

Однако существуют ограничения, которые не позволяют использовать его в более сложных встроенных системах. MSP430 не имеет внешней шины памяти, поэтому он ограничен встроенной памятью (до 512 КБ флэш-памяти и 66 КБ ОЗУ ), которая может быть слишком маленьким для приложений, которым требуются большие буферы или таблицы данных. Кроме того, несмотря на наличие контроллера DMA, его очень сложно использовать для перемещения данных с микросхемы из-за отсутствия строба вывода DMA.

Номер детали MSP430
Номенклатура MSP430

MSP430 номер детали, такой как «MSP430F2618ATZQWT-EP », состоит из следующих частей:

  • MSP430 : стандартный префикс.
  • F: указывает тип памяти или специализированное приложение. «F », обозначающий флэш-память, является наиболее популярным. Другие параметры для типа памяти включают «C » для маскированного ПЗУ, «FR » для FRAM, «G <41.>"для строки значения флэш-памяти и" L ", как в серии MSP430L09x, что указывает на часть, предназначенную только для ОЗУ; он должен оставаться постоянно включенным, чтобы сохранить свое программирование. Вторая буква (кроме «FR») указывает на специализированное применение детали. Например, «G » - это дополнительная буква специализации, указывающая на поддержку оборудования для специального использования. «E » обозначает специальные функции электросчетчика, устройства «G » предназначены для медицинского оборудования, а устройства «W » включают специальный «интерфейс сканирования», разработанный для расходомеров. Исключением являются устройства MSP430FG2xx, которые считаются отдельным поколением.
  • 2: Поколение устройства. Могут быть значительные изменения в основных периферийных устройствах (генераторы тактовых импульсов, UART и т. Д.) В разных поколениях. Они расположены не в хронологическом порядке, а более высокие значения примерно указывают на больший размер, сложность и стоимость. Например, поколения 3 и 4 включают ЖК-контроллеры, которых нет у других.
  • 6: Модель в рамках поколения. Это указывает на сочетание встроенных периферийных устройств и количество контактов.
  • 18: одна или две цифры, обозначающие объем памяти на устройстве. Нумерация (в основном) одинакова во всей серии MSP430. Не все суффиксы действительны для всех моделей; большинство моделей доступны с 3–6 объемами памяти, выбранными в соответствии с другими возможностями устройства. Большие числа указывают на увеличение объема памяти, но иногда одним типом памяти (RAM или ROM) жертвуют ради большего количества другого.
Конфигурации памяти MSP430
СуффиксRAMПЗУСуффиксОЗУПЗУ
01281 кб105 кб32 кб
11282 K1110 K48 K
22564 K125 K55/56 K
32568 K13
451212 K14
551216 K15
61 K24 K164 K92 K
71 K32 K178 K92 K
82 K48K188 K116 K
92 K60K194 K120 K
  • Дополнительная цифра суффикса, указывающая на вариант устройства, добавляющий или удаляющий некоторые аналоговые периферийные устройства. Например, суффикс «1 » может указывать на добавление компаратора или удаление АЦП. Если размер памяти равен «1 », этот суффикс можно спутать с частью размера памяти, но не существует единой модели с размерами памяти «1» и «10» (или больше).
  • Необязательный суффикс «A », указывающий на пересмотренную версию, совместимую с предыдущими версиями. MSP430F11x1A имеет дополнительные 256 байтов флэш-памяти данных, которых нет в обычном F11x1.

Буквы в конце суффикса указывают на параметры, не видимые программному обеспечению:

  • T: указывает диапазон температур от -40 ° C до +105 ° C.
  • ZQW : указывает на упаковку, в которой хранится деталь. «ZQW » - это специфичное для TI имя для массива сетки шариков.
  • T: указывает, что детали отправлены в упаковке с катушкой (7 дюймов).
  • -EP : указывает на дополнительную функцию. «-Q1 » указывает, что деталь соответствует требованиям для автомобильной промышленности. «-EP » и «-HT » обозначают продукты с увеличенной температурой. Усовершенствованные продукты «-EP » имеют диапазон температур от -40 ° C до 125 ° C, а детали с экстремальными температурами «-HT » имеют диапазон температур от - От 56 ° C до 150 ° C.
Поколения MSP430

Существует шесть общих поколений процессоров MSP430. В порядке развития это поколение 3xx, поколение 1xx, поколение 4xx, поколение 2xx, поколение 5xx и поколение 6xx. Цифра после поколения идентифицирует модель (как правило, более высокие номера моделей больше и более функциональны), третья цифра определяет объем памяти на плате, а четвертая, если присутствует, идентифицирует второстепенный вариант модели. Наиболее распространенный вариант - это другой аналого-цифровой преобразователь на кристалле .

. Поколения 3xx и 1xx ограничены 16-битным адресным пространством. В более поздних поколениях это было расширено за счет включения инструкций «430X», которые допускают 20-битное адресное пространство. Как и в случае с другими архитектурами процессоров (например, с процессором PDP-11 ), расширение диапазона адресации за пределы 16-битного размера слова привело к некоторым особенностям и неэффективности для программ размером более 64 кбайт.

В следующем списке можно представить себе типичную емкость 200 мА · ч для плоского элемента CR2032 литиевая таблетка как 200000 мкА · ч, или 22,8 мкА. ·год. Таким образом, с учетом потребления только ЦП, такая батарея может обеспечивать потребление тока 0,7 мкА в течение 32 лет. (На самом деле, саморазряд батареи уменьшил бы это число.)

Значение «удержания ОЗУ» по сравнению с «режимом часов реального времени» заключается в том, что в режиме часов реального времени ЦП может перейти в спящий режим с работающими часами, которые разбудят его в определенное время в будущем. В режиме сохранения ОЗУ требуется внешний сигнал, чтобы разбудить его, например Сигнал контакта ввода / вывода или прерывание приема ведомого SPI.

Серия MSP430x1xx

Серия MSP430x1xx - это базовое поколение без встроенного контроллера LCD. Как правило, они меньше поколения 3xx. Эти микроконтроллеры со сверхнизким энергопотреблением на базе флэш-памяти или ПЗУ предлагают 8 операций в секунду, 1,8–3,6 В, флэш-память до 60 КБ и широкий спектр аналоговых и цифровых периферийных устройств.

  • Обзор характеристик мощности, всего:
    • 0,1 мкА, удержание ОЗУ
    • 0,7 мкА в режиме часов реального времени
    • 200 мкА / MIPS в активном состоянии
    • Быстрый выход из режима ожидания менее чем за 6 мкс.
  • Параметры устройства
    • Параметры флэш-памяти: 1–60 КБ
    • Параметры ПЗУ: 1–16 КБ
    • RAM: 128 B – 10 KB
    • Опции GPIO: 14, 22, 48 контактов
    • Опции АЦП: наклон, 10 и 12-битный SAR
    • Другие встроенные периферийные устройства : 12-битный ЦАП, до 2 16-битных таймеров, сторожевой таймер, сброс пониженного напряжения, SVS, модуль USART (UART, SPI), DMA, множитель 16 × 16, Comparator_A, датчик температуры

MSP430F2xx series

MSP430F2xx Series похожи на поколение 1xx, но работают с еще меньшей мощностью, поддерживают работу до 16 МГц и имеют более точные (± 2%) встроенные часы, которые упрощает работу без внешнего кристалла. Эти устройства со сверхнизким энергопотреблением на основе флэш-памяти обеспечивают работу от 1,8 до 3,6 В. Включает в себя генератор с очень малой мощностью (VLO), внутренние подтягивающие / понижающие резисторы и варианты с малым количеством выводов.

  • Обзор характеристик мощности, всего:
    • 0,1 мкА, удержание ОЗУ
    • 0,3 мкА в режиме ожидания (VLO)
    • 0,7 мкА в режиме часов реального времени
    • 220 мкА / MIPS в активном состоянии
    • Функция сверхбыстрого выхода из режима ожидания менее чем за 1 мкс
  • Параметры устройства
    • Параметры флэш-памяти: 1–120 КБ
    • Параметры ОЗУ: 128 Б - 8 КБ
    • Параметры GPIO: 10, 11, 16, 24, 32 и 48 контактов
    • Параметры АЦП: наклон, 10 и 12-разрядный SAR, 16- и 24-битная сигма-дельта
    • Другая встроенная периферия: операционные усилители, 12-битный ЦАП, до 2 16-битных таймеров, сторожевой таймер, сброс при пониженном напряжении, SVS, модуль USI (I²C, SPI), Модуль USCI, DMA, множитель 16 × 16, Comparator_A +, датчик температуры

Серия MSP430G2xx

Серия MSP430G2xx Value включает микроконтроллеры со сверхнизким энергопотреблением на базе флэш-памяти до 16 MIPS при работе 1,8–3,6 В.. Включает в себя генератор очень низкой мощности (VLO), внутренние подтягивающие / понижающие резисторы и варианты с малым числом выводов по более низким ценам, чем серия MSP430F2xx.

  • Сверхнизкое энергопотребление, всего (при 2,2 В):
    • 0,1 мкА, удержание ОЗУ
    • 0,4 ​​мкА Режим ожидания (VLO)
    • 0,7 мкА в реальном режим часов
    • 220 мкА / MIPS активен
    • Сверхбыстрый выход из режима ожидания в <1 μs
  • Параметры устройства
    • Параметры флэш-памяти: 0,5–56 КБ
    • Параметры ОЗУ: 128 Б – 4 КБ
    • Параметры GPIO: 10, 16, 24, 32 контакта
    • Параметры АЦП: наклон, 10-битное SAR
    • Другие встроенные периферийные устройства: емкостный сенсорный ввод / вывод, до 3-х 16-битных таймеров, сторожевой таймер, сброс после отключения питания, модуль USI (I²C, SPI), модуль USCI, Comparator_A +, датчик температуры

Серия MSP430x3xx

MSP430x3xx Series - самое старое поколение, разработанное для портативных приборов со встроенным ЖК-контроллером. Он также включает в себя генератор контура автоподстройки частоты, который может автоматически синхронизироваться с низкоскоростным (32 кГц) кристаллом. Это поколение не поддерживает память EEPROM, только ПЗУ с маской и УФ-стираемое и одноразовое программируемое EPROM. Более поздние поколения предоставляют только флэш-память и параметры маскирующего ПЗУ. Эти устройства предлагают работу 2,5–5,5 В с объемом ПЗУ до 32 КБ.

  • Обзор характеристик питания, всего:
    • 0,1 мкА, удерживаемая в ОЗУ
    • 0,9 мкА в режиме часов реального времени
    • 160 мкА / MIPS в активном состоянии
    • Быстрый выход из режима ожидания менее чем за 6 мкс.
  • Параметры устройства:
    • Параметры ПЗУ: 2–32 КБ
    • Параметры ОЗУ: 512 Б – 1 КБ
    • Опции GPIO: 14, 40 контактов
    • Опции АЦП: наклон, 14-битное SAR
    • Другие интегрированные периферийные устройства: ЖК-контроллер, умножитель

Серия MSP430x4xx

Серия MSP430x4xx аналогична поколению 3xx, но включает встроенный ЖК-контроллер, они больше и обладают большими возможностями. Эти устройства на основе флэш-памяти или ПЗУ предлагают 8–16 MIPS при работе 1,8–3,6 В, с FLL и SVS. Идеально подходит для измерения малой мощности и медицинских приложений.

  • Обзор характеристик мощности, всего:
    • 0,1 мкА, удержание ОЗУ
    • 0,7 мкА в режиме часов реального времени
    • 200 мкА / MIPS в активном состоянии
    • Быстрый выход из режима ожидания менее чем за 6 мкс.
  • Параметры устройства:
    • Параметры флэш-памяти / ПЗУ: 4–120 КБ
    • Параметры ОЗУ: 256–8 КБ
    • Параметры GPIO: 14, 32, 48, 56, 68, 72, 80 контактов
    • Параметры АЦП: наклон, 10 и 12-битное SAR, 16-битная сигма-дельта
    • Другие интегрированные периферийные устройства: SCAN_IF, ESP430, 12-битный ЦАП, операционные усилители, RTC, до 2 16-битных таймеров, сторожевой таймер, базовый таймер, сброс при пониженном напряжении, SVS, модуль USART (UART, SPI), USCI модуль, ЖК-контроллер, DMA, множитель 16x16 и 32x32, Comparator_A, датчик температуры, 8 MIPS Скорость процессора

Серия MSP430x5xx

Серия MSP430x5xx может работать до 25 МГц, имеют до 512 КБ флэш-памяти и до 66 КБ оперативной памяти. Это семейство на основе флеш-памяти отличается низким потреблением активной мощности: до 25 MIPS при работе 1,8–3,6 В (165 мкА / MIPS). Включает в себя инновационный модуль управления питанием для оптимального энергопотребления и встроенный USB.

  • Обзор технических характеристик питания, всего:
    • 0,1 мкА, удержание ОЗУ
    • 2,5 мкА, режим часов реального времени
    • 165 мкА / MIPS в активном состоянии
    • Быстрый выход из режима ожидания менее чем за 5 мкс.
  • Параметры устройства:
    • Параметры флэш-памяти: до 512 КБ
    • Параметры ОЗУ: до 66 КБ
    • Параметры АЦП: 10 и 12-битный SAR
    • Параметры GPIO: 29, 31, 47, 48, 63, 67, 74, 87 контакты
    • Другие встроенные периферийные устройства: ШИМ высокого разрешения, 5 VI / O, USB, переключатель резервного аккумулятора, до 4 16-битных таймеров, сторожевой таймер, часы реального времени, сброс при пониженном напряжении, SVS, USCI модуль, DMA, множитель 32x32, Comp B, датчик температуры

Серия MSP430x6xx

Модули серии MSP430x6xx могут работать на частоте до 25 МГц, иметь до 512 КБ флэш-памяти и более до 66 КБ ОЗУ. Это семейство на основе флеш-памяти отличается низким потреблением активной мощности: до 25 MIPS при работе 1,8–3,6 В (165 мкА / MIPS). Включает инновационный модуль управления питанием для оптимального энергопотребления и встроенный USB.

  • Обзор характеристик мощности, всего:
    • 0,1 мкА, удерживаемая в ОЗУ
    • 2,5 мкА, режим часов реального времени
    • 165 мкА / MIPS в активном состоянии
    • Быстрый выход из режима ожидания менее чем за 5 мкс.
  • Параметры устройства:
    • Параметры флэш-памяти: до 512 КБ
    • Параметры ОЗУ: до 66 КБ
    • Опции АЦП: 12-битный SAR
    • Опции GPIO: 74 контакта
    • Другие встроенные периферийные устройства: USB, ЖК-дисплей, ЦАП, Comparator_B, DMA, умножитель 32x32, модуль управления питанием (BOR, SVS, SVM, LDO), сторожевой таймер, RTC, датчик температуры

Серия RF SoC (CC430)

Серия RF SoC (CC430) обеспечивает тесную интеграцию между ядром микроконтроллера, периферийные устройства, программное обеспечение и радиочастотный трансивер. Характеристики <1 GHz RF transceiver, with 1.8 V–3.6 V operation. Programming using Arduino IDE is possible via the panStamp API.

  • Обзор характеристик питания, всего:
    • 1 мкА, удержание ОЗУ
    • 1,7 мкА, режим часов реального времени
    • 180 мкА / MIPS активный
  • Параметры устройства:
    • Параметры скорости: до 20 МГц
    • Параметры флэш-памяти: до 32 КБ
    • Параметры ОЗУ: до 4 КБ
    • Опции АЦП: 12-битный SAR
    • Опции GPIO: 30 и 44 контакта
    • Другие встроенные периферийные устройства: ЖК-контроллер, до 2 16-битных таймеров, сторожевой таймер, RTC, управление питанием модуль (BOR, SVS, SVM, LDO), модуль USCI, DMA, множитель 32x32, Comp B, датчик температуры

Серия FRAM

Серия FRAM от Texas Instruments обеспечивает унифицированную память с динамическим разделением и скоростью доступа к памяти в 100 раз быстрее, чем у флэш-памяти. FRAM также может сохранять нулевое энергопотребление во всех режимах энергопотребления, что означает, что запись гарантируется даже в случае потери мощности. При длительности записи более 100 триллионов циклов EEPROM больше не требуется. Активная потребляемая мощность менее 100 мкА / МГц.

  • Обзор характеристик мощности, всего:
    • 320 нА, удержание ОЗУ
    • 0,35 мкА в режиме часов реального времени
    • 82 мкА / MIPS в активном состоянии
  • Параметры устройства :
    • Параметры скорости: от 8 до 24 МГц
    • Параметры FRAM: от 4 до 256 КБ
    • Параметры ОЗУ: от 0,5 до 8 КБ
    • Параметры АЦП: 10 или 12-битный SAR
    • Опции GPIO: от 17 до 83 контактов GPIO
    • Другие возможные интегрированные периферийные устройства: MPU, до 6 16-битных таймеров, сторожевой таймер, RTC, модуль управления питанием ( BOR, SVS, SVM, LDO), модуль USCI, DMA, умножитель, Comp B, датчик температуры, драйвер ЖК-дисплея, I2C и UART BSL, расширенный интерфейс сканирования, 32-битный умножитель, AES, CRC, ускорение обработки сигнала, емкостное касание, ИК-модуляция

Серия низкого напряжения

Серия Серия низкого напряжения включает детали MSP430C09x и MSP430L092. Эти 2 низковольтных 16-битных микроконтроллеров имеют конфигурацию с двумя 16-битными таймерами, 8-битным аналого-цифрового (A / D) преобразователем, 8-битным цифро-аналоговым (D / A) преобразователем, и до 11 контактов ввода / вывода.

  • Характеристики мощности, всего:
    • 1 мкА, удержание ОЗУ
    • 1,7 мкА в режиме часов реального времени
    • 180 мкА / MIPS в активном состоянии
  • Параметры устройства:
    • Параметры скорости: 4 МГц
    • Параметры ПЗУ: 1-2 кБ
    • Параметры SRAM: 2 кБ
    • Параметры АЦП: 8- битное SAR
    • Опции GPIO: 11 контактов
    • Другие встроенные периферийные устройства: до 2 16-битных таймеров, сторожевой таймер, сброс при пониженном напряжении, SVS, компаратор, датчик

Другие семейства MSP430

Дополнительные семейства в MSP430 включают детали Фиксированная функция, Автомобильная промышленность и Расширенная температура.

Фиксированная функция : 16-разрядный микроконтроллер MSP430BQ1010 - это усовершенствованное устройство с фиксированной функцией, которое образует блок управления и связи на стороне приемника для беспроводной передачи энергии в портативных приложениях. MSP430BQ1010 соответствует спецификации Wireless Power Consortium (WPC). Для получения дополнительной информации см. Contactless Power.

Автомобильная промышленность : Автомобильные микроконтроллеры (MCU) MSP430 от Texas Instruments (TI) - это 16-битные процессоры смешанных сигналов на основе RISC, соответствующие требованиям AEC-Q100 и подходят для автомобильного применения при окружающей среде среды до 105 ° C. LIN-совместимые драйверы для MCU MSP430, предоставленные IHR GmbH.

Extended Temp : Устройство MSP430 очень популярны в суровых условиях, таких как промышленные датчики, благодаря низкому энергопотреблению и инновационной аналоговой интеграции. Некоторые приложения для суровых условий окружающей среды включают транспорт / автомобилестроение, возобновляемые источники энергии, военное дело / космос, разведку полезных ископаемых, промышленность и безопасность.

  • Определения устройств:
    • HT: от -55 ° C до 150 ° C
    • EP: Улучшенные продукты от -55 ° C до 125 ° C
    • Q1: Автомобильная промышленность Q100 квалифицированный от -40 ° C до 105 ° C
    • T: Расширенный диапазон температур от -40 ° C до 105 ° C для приложений

Обратите внимание, что когда размер флэш-памяти превышает 64 КБ слов (128 КБ), адреса инструкций не могут больше кодироваться всего двумя байтами. Это изменение размера указателя вызывает некоторую несовместимость с предыдущими частями.

Периферийные устройства

Периферийные устройства MSP430 обычно просты в использовании, с (в основном) согласованными адресами между моделями и без регистров только для записи (за исключением аппаратного умножителя).

Порты ввода / вывода общего назначения 0–10

Если периферийное устройство не требуется, контакт можно использовать для ввода / вывода общего назначения. Выводы разделены на 8-битные группы, называемые «портами», каждая из которых управляется 8-битными регистрами. В некоторых случаях установлены парами, доступ к которому можно получить как 16-битные регистры.

Семейство MSP430 определяет 11 портов ввода-вывода, с P0 по P10, хотя ни один чип не поддерживает более 10 из них. P0 реализован только в семействе 3xx. P7 - P10 реализованы только на самых больших элементах (и версиях с наибольшим исходом выводов) семейств «4xx и» 2xx. Новейшие семейства «5xx» и «6xx» имеют от P1 до P11, а регистры управления переназначены для обеспечения большего количества пар портов. Каждый порт управляется регистрами. Порты, которые не реализуют верхние функции (например, прерывание при изменении состояния), не реализуют соответствующие регистры.

PxIN
Порт x вход. Это регистр только для чтения, он отражает текущее состояние контактов порта.
PxOUT
Вывод порта x. Значения, записанные в этот регистр чтения / записи, выводятся на соответствующие выводы, когда они настроены на вывод.
PxDIR
Направление данных порта x. Биты, записанные как 1, настраивают соответствующий вывод для вывода. Биты, записанные как 0, настраивают контакт для входа.
PxSEL
Выбор функции порта x. Биты, записанные как 1, настраивают соответствующий вывод для использования специализированным периферийным представителем. Биты, записанные как 0, настраивают вывод для ввода-вывода общего назначения. Порт 0 (только части 3xx) не мультиплексирован с другими периферийными устройствами и не имеет регистра P0SEL.
PxREN
Разрешение резистора порта x (только 2xx и 5xx). Биты, установленные в этом регистре, включают слабые подтягивающие или подтягивающие резисторы на соответствующие выводы ввода / вывода, если они сконфигурированы как входы. Направление вытягивания устанавливается битом, записанным в регистр PxOUT.
PxDS
Мощность привода порта x (только '5xx). Биты, установленные в этом регистре, включают сильноточные выходы. Это может увеличить выходную мощность, но может вызвать EMI.

Порты 0–2 могут вызвать прерывания при изменении входов. Дополнительные регистры края настраивают эту возможность:

PxIES
Выбор прерывания порта x. Выбирает фронт, в котором будет установлен бит PxIFG. Когда входной бит изменился с очищенным на установленный PxIES на несоответствие (т. Е. Всякий раз, когда бит в PxIES XOR PxIN изменен с очищенным на установленный), устанавливается соответствующий бит PxIFG.
PxIE
Разрешение прерывания порта x. Когда этот бит и установлен соответствующий бит PxIFG, генерируется прерывание.
PxIFG
Флаг прерывания порта x. Устанавливается, когда соответствующее представляет изменение состояния, запрошенное PxIES. Можно очистить только программно. (Также может быть установлено программным продуктом.)
PxIV
Вектор прерывания порта x (только '5xx). Этот 16-битный регистр является кодировщиком приоритета , который может установить для обработки прерываний при смене вывода. Если n - это бит прерывания с наименьшим номером, ожидающий обработки в PxIFG и разрешенный в PxIE, этот регистр читается как 2n + 2. Если такого бита нет, он читается как 0. Масштабный коэффициент 2 позволяет напрямую использовать в качестве участка в таблице ветвления. Чтение этого регистра также очищает сообщенный флаг PxIFG.

Некоторые выводы имеют специальное назначение либо как входы, либо как выходы. (Например, выводы таймера могут быть сконфигурированы как входы захвата или выходы ШИМ.) В этом случае бит PxDIR контролирует, из двух функций вывод, когда установлен бит PxSEL. Если есть только одна специальная функция, то PxDIR обычно игнорируется. Регистр PxIN все еще доступны для чтения, если бит PxSEL установлен, но генерация прерывания отключена. Если PxSEL сброшен, входные функции замораживаются и отключаются от внешнего контакта. Кроме того, настройка вывода для вывода общего назначения не отключает генерацию прерывания.

Карта сведений регистров ввода / вывода назначения
семейства '1xx -' 4xx
PxINPxOUTPxDIRPxSELPxIESPxIEPxIFGPxREN
P00x100x110x120x130x140x15
P10x200x210x220x260x240x250x230x27
P20x280x290x2a0x2e0x2c0x2d0x2b0x2f
P30x180x190x1a0x1b0x10
P40x1c0x1d0x1e0x1f0x11
P50x300x310x320x330x12
P60x340x350x360x370x13
PAP70x380x3a0x3c0x3e0x14
P80x390x3b0x3d0x3f0x15
PBP90x080x0a0x0c0x0e0x16
P1 00x090x0b0x0d0x0f0x17
'5xx -' 6xx '0xx семейства
PxINPxOUTPxDIRPxRENPxDSPxSELPxIVPxIESPxIEPxIFG
PAP10x2000x2020x2040x2060x2080x20A0x20E0x2180x21A0x21C
P20x2010x2030x2050x2070x2090x20B0x21E0x2190x21B0x21D
PBP30x2200x2220x2240x2260x2280x22A
P40x2210x2230x2250x2270x2290x22B
PCP50x2400x2420x2440x2460x2480x24A
P60x2410x2430x2450x2470x2490x24B
PDP70x2600x2620x2640x2660x2680x26A
P80x2610x2630x2650x2670x2690x26B
PEP90x2800x2820x2840x2860x2880x28A
P100x2810x2830x2850x2870x2890x28B
P110x2A00x2A20x2A40x2A60x2A80x2AA
PJ0x3200x3220x3240x3260x328только 4 бита; вместе с контактами JTAG.

Интегрированные периферийные устройства

Аналоговый
  • Аналого-цифровой преобразователь
Линия MSP430 предлагает два типа аналого-цифрового преобразования (АЦП). 10- и 12-битные преобразователи последовательного приближения, а также 16-битные сигма-дельта преобразователи. Контроллеры передачи данных и буфер преобразования и управления на 16 слов позволяют MSP430 преобразовывать и делать образцы без вмешательства ЦП, сводя к минимуму энергопотребления.
  • Аналоговый пул
Модуль аналогового пула (A-POOL) можно настроить как АЦП, ЦАП, компаратор, SVS или датчик температуры. Он позволяет пользователю гибко программировать серию аналоговых функций с помощью только одной настройки.
  • Компаратор A, A +
Модуль компаратора MSP430 обеспечивает точное аналого-цифровое преобразование наклона кривой. Контролирует напряжение аналоговые сигналы и измерение и сопротивление резистора. Возможность выбора режима мощности.
  • DAC12
Модуль DAC12 представляет собой 12-разрядный ЦАП с выходом по напряжению, с помощью программного обеспечения выбора внутреннего / внешнего задания и программного обеспечения оптимального энергопотребления. Его можно настроить в 8- или 12-битном режиме. Когда присутствует несколько модулей DAC12, они сгруппированы вместе для операции синхронного обновления.
  • Операционные усилители
Обеспечивают однополярное питание, работу с низким током с выходами от Rail-to-Rail и программируемое время отв. Программно выбираемые параметры конфигурации: режим единичного усиления, режим компаратора, инвертирующий PGA, неинвертирующий PGA, дифференциальный и инструментальный усилитель.
  • Дельта сигма (SD)
Каждый модуль SD16 / SD16_A / SD24_A имеет 16/24 битовые сигма-дельта аналого-цифровых преобразователей с внутренним опорным напряжением 1,2 В. Каждый преобразователь имеет до восьми различных мультиплексированных входов, включая встроенный датчик температуры. Преобразователи представляют собой сигма-дельта модуляторы второго порядка с передискретизацией с помощью выбора коэффициентов передискретизации до 1024 (SD16_A / SD24_A) или 256 (SD16).
Таймеры
  • Базовый таймер (BT)
BT имеет два независимых 8-битных таймеров, которые можно каскадировать, чтобы сформировать 16-битный таймер / счетчик. Оба таймера могут быть прочитаны и записаны программным продуктом. BT расширен, чтобы обеспечить интегрированный RTC. Внутренний календарь компенсирует месяцы с менее чем 31 днем ​​и включает поправку на високосный год.
  • Часы реального времени
RTC_A / B - это 32-битные модули счетчиков, которые устанавливают счетчики часов с календарем, гибким программируемым сигналом и калибровкой. Система RTC_B включает в себя переключаемое устройство питания от батареи, которая обеспечивает возможность работы RTC при отказе основного источника питания.
  • 16-битные таймеры
Timer_A, Timer_B и Timer_D - это асинхронные 16-битные таймеры / счетчики с числом до семи регистров захвата / сравнения и различные режимы работы. Таймеры множественный захват / сравнение, выходы ШИМ и интервальную синхронизацию. У них также есть широкие возможности прерывания. Timer_B представляет дополнительные функции, такие как программируемая длина таймера (8, 10, 12 или 16 бит) и обновления регистров сравнения с двойной буферизацией, а Timer_D представляет режим высокого разрешения (разрешение 4 нс).
  • Watchdog (WDT +)
WDT + действующий управляемый перезапуск после возникновения системы программной проблемы. По истечении выбранного временного интервала происходит сброс системы. Если функция сторожевого таймера в приложении не требуется, модуль можно настроить как интервальный таймер и генерировать прерывания через выбранные интервалы времени.
Система
  • Расширенный стандарт шифрования (AES)
Модуль ускорения AES шифрования и дешифровки 128-битных данных с помощью 128-битных ключей в соответствии с передовым стандартом шифрования в оборудовании и может быть настроено с помощью программного обеспечения пользователя.
  • Сброс при пониженном напряжении (BOR)
Схема BOR обнаруживает низкое напряжение питания и сбрасывает устройство, инициируя сигнал сброса при включении питания (POR) при подаче или отключении питания. Схема BOR с нулевым энергопотреблением MCU MSP430 постоянно включена, в том числе во всех режимах с низким энергопотреблением.
  • Контроллер прямого доступа к памяти (DMA)
Контроллер DMA передает данные с одного адреса на другой по всему диапазону адресов без Вмешательство CPU. DMA увеличивает пропускную способность периферийных модулей и снижает энергопотребление системы. Модуль имеет до трех независимых каналов передачи.
Хотя подсистема DMA MSP430 очень способна, она имеет несколько недостатков, наиболее значительный из которых - отсутствие внешнего строба передачи. Хотя передача DMA может быть инициирована извне, нет никакой внешней индикации завершения передачи. Следовательно, прямой доступ к памяти к внешним источникам и от них ограничен внешним запуском на передачу байтов, а не полными блоками автоматически через прямой доступ к памяти. Это может привести к значительной сложности (например, к необходимости обширной ручной настройки кода) при реализации связи процессора с процессором или процессора с USB. В цитируемой ссылке используется режим скрытого таймера для генерации высокоскоростных стробов для передач DMA. Таймеры недостаточно гибкие, чтобы легко компенсировать отсутствие внешнего строба передачи DMA.
Операции DMA, которые включают передачу слов в байтовые ячейки, вызывают усечение до 8 бит, а не преобразование в двухбайтовые передачи. Это делает DMA с 16-битными значениями A / D или D / A менее полезным, чем могло бы быть (хотя в некоторых версиях MSP 430 можно передавать эти значения через порт A или B, используя видимый извне триггер для каждой передачи, например выход таймера).
  • Модуль расширенной эмуляции (EEM)
EEM предоставляет различные уровни функций отладки, такие как 2-8 аппаратных точек останова, сложные точки останова, прерывание при чтении / записи по указанному адресу и многое другое. Встраивается во все устройства MSP430 на базе флеш-памяти.
  • Аппаратный умножитель
Некоторые модели MSP430 включают периферийное устройство аппаратного умножителя с отображением в память, которое выполняет различные операции умножения-накопления 16 × 16 + 32 → 33 бит. В отличие от MSP430, это периферийное устройство включает неявный 2-битный регистр только для записи, что делает практически невозможным переключение контекста. Это периферийное устройство не мешает работе ЦП и может быть доступно через DMA. MPY на всех устройствах MSP430F5xx и некоторых MSP430F4xx поддерживает до 32-битных x 32-битных.
Используемые 8 регистров:
АдресИмяФункция
0x130MPYOperand1 для беззнакового умножения
0x132MPYSOperand1 для знакового умножения
0x134MACOperand1 для беззнакового умножения-накопления
0x136MACSOperand1 для знакового умножения-накопления
0x138OP2Второй операнд для операции умножения
0x13AResLoМладшее слово результата умножения
0x13CResHiСтаршее слово умножения результат
0x13ESumExtВыполнить умножение-накопление
Первый операнд записывается в один из четырех 16-битных регистров. Записанный адрес определяет выполняемую операцию. Хотя записанное значение может быть считано из любого из регистров, номер регистра, записанный в него, не может быть восстановлен.
Если требуется операция умножения-накопления, ResLoи ResHiрегистры также должны быть инициализированы.
Затем каждый раз, когда выполняется запись в регистр OP2, выполняется умножение и результат сохраняется или добавляется в регистры результатов. Регистр SumExt- это регистр только для чтения, который содержит выполнение сложения (0 или 1) в случае беззнакового умножения) или знаковое расширение 32-битной суммы (0 или - 1) в случае знакового умножения. В случае знакового умножения с накоплением значение SumExtдолжно быть объединено со старшим битом предыдущего содержимого SumHi, чтобы определить истинный результат выполнения (-1, 0, или +1).
Результат доступен после трех тактовых циклов задержки, которая представляет собой время, необходимое для выборки следующей инструкции и следующего индексного слова. Таким образом, задержка обычно незаметна. Явная задержка требуется только при использовании режима непрямой адресации для получения результата.
  • Блок защиты памяти (MPU)
FRAM MPU памяти защищает от случайной записи в назначенные сегменты только для чтения или выполнения кода из постоянной памяти. MPU может установить любое разделение памяти с адресом на уровне битов, сделать всю память доступной для операций чтения, записи и выполнения в устройстве FRAM.
  • Модуль управления питанием (PMM)
PMM генерирует напряжение питания для ядра логика и использует несколько механизмов для наблюдения и мониторинга напряжения, подаваемого на устройство, так и напряжения, генерируемого для ядра. Он интегрирован с регулятором напряжения с малым падением напряжения (LDO), сбросом при пониженном напряжении (BOR), а также с контроллером и монитором питания.
  • Модуль напряжения контроля питания (SVS)
SVS - это стандартный настраиваемый модуль для контроля напряжения питания AVCC или внешнего напряжения. SVS может быть настроен для установки флага или генерации сброса при включении (POR), когда напряжение питания или внешнее падение ниже порогового значения, установленного.
Связь и интерфейс
  • Емкостные сенсорные входы / выходы
Встроенный емкостный модуль ввода-вывода с сенсорным управлением предлагает несколько преимуществ для приложений с сенсорными кнопками и сенсорных ползунков. Система не требует внешних компонентов для создания автоколебаний (уменьшение количества материалов), а конденсатор (который определяет частоту автоколебаний) может быть подключен напрямую. Кроме того, нет необходимости во внешних мультиплексорах, позволяющих использовать несколько пэдов, и каждая пэд ввода-вывода может напрямую служить входом для определения ограничения. Гистерезис ~ 0,7 В обеспечивает надежную работу. Управление и последовательность выполняются полностью в программном обеспечении.
  • Ввод / вывод общего назначения
В устройствах MSP430 реализовано до 12 цифровых портов ввода / вывода. Каждый порт имеет восемь контактов ввода / вывода. Каждый вывод ввода / вывода может быть сконфигурирован как вход или выход и может быть индивидуально прочитан или записан. Порты P1 и P2 имеют возможность прерывания. MSP430F2xx, F5xx и некоторые устройства F4xx имеют встроенные, индивидуально конфигурируемые подтягивающие или понижающие резисторы.
  • ВЧ-интерфейс на субггц
Гибкий приемопередатчик CC1101 на суб-1 ГГц обеспечивает необходимую чувствительность и характеристики блокировки для достижения успешных каналов связи в любой радиочастотной среде. Он также отличается низким энергопотреблением и поддерживает гибкие скорости передачи данных и форматы модуляции.
  • USART (UART, SPI, I²C)
Универсальный синхронный / асинхронный периферийный интерфейс приема / передачи (USART) поддерживает асинхронный RS-232 и синхронный SPI связь с одним аппаратным модулем. Модули USART MSP430F15x / 16x также поддерживают I²C, программируемую скорость передачи и возможность независимого прерывания для приема и передачи.
  • USB
USB-модуль полностью совместим со спецификацией USB 2.0 и поддерживает управление, прерывание и массовую передачу в скорость передачи данных 12 Мбит / с (полная скорость). Модуль поддерживает операции приостановки, возобновления и удаленного пробуждения по USB и может быть настроен для работы с восемью входными и восемью выходными конечными точками. Модуль включает интегрированный физический интерфейс (PHY); контур фазовой автоподстройки частоты (PLL) для генерации тактовых импульсов USB; и гибкая система питания, позволяющая использовать устройства с питанием от шины и с автономным питанием.
  • USCI (UART, SPI, I²C, LIN, IrDA)
Модуль универсального интерфейса последовательной связи (USCI) имеет два независимых канала, которые могут использоваться одновременно. Асинхронный канал (USCI_A) поддерживает режим UART; Режим SPI; формирование импульсов для ИК-порта; и автоматическое определение скорости передачи для связи LIN. Синхронный канал (USCI_B) поддерживает режимы I²C и SPI.
  • USI (SPI, I²C)
Модуль универсального последовательного интерфейса (USI) представляет собой интерфейс синхронной последовательной связи с длиной данных до 16 бит и может поддерживает связь SPI и I²C с минимальным программным обеспечением.
  • Инфракрасная модуляция
Доступная в микросхемах серий MSP430FR4xxx и MSP430FR2xxx, эта функция настраивается с помощью набора регистров SYSCFG. Это периферийное устройство подключается к другим периферийным устройствам (таймерам, eUSCI_A) для генерации модулированного ИК-сигнала на выходном контакте. (стр. 43)
Измерение
  • ESP430 (встроено в устройства FE42xx)
Модуль ESP430CE выполняет расчет измерений независимо от ЦП. Модуль имеет отдельный SD16, аппаратный умножитель и встроенный процессор ESP430 для однофазных приложений измерения энергии.
  • Интерфейс сканирования (SIF)
Используется модуль SIF, программируемый конечный автомат с аналоговым внешним интерфейсом. для автоматического измерения линейного или вращательного движения с минимально возможным энергопотреблением. Модуль поддерживает различные типы ЖК-датчиков и резистивных датчиков, а также квадратурное кодирование.
Дисплей
  • LCD / LCD_A / LCD_B
Контроллер LCD / LCD_A напрямую управляет ЖК-дисплеями с количеством сегментов до 196. Поддерживает статические, 2-мультиплексные, 3-мультиплексные и 4-мультиплексные ЖК-дисплеи. Модуль LCD_A имеет встроенный нагнетательный насос для контроля контрастности. LCD_B включает мигание отдельных сегментов с отдельной мигающей памятью.
  • LCD_E
Контроллер LCD_E поставляется с новыми микроконтроллерами серии MSP430FR4xxx и напрямую управляет ЖК-дисплеями с количеством сегментов до 448. Поддерживает статические, 2-мультиплексные, 3-мультиплексные, 4-мультиплексные, 5-мультиплексные, 6-мультиплексные, 7-мультиплексные, 8-мультиплексные (смещение 1/3) ЖК-дисплеи. Сегментные и общие выводы можно перепрограммировать на доступные выводы привода ЖК-дисплея. Это периферийное устройство может работать в LPM3.5 (работа часов реального времени + режим пониженного энергопотребления при выключении ядра центрального процессора).
Среда разработки программного обеспечения

Texas Instruments предоставляет различное оборудование экспериментальные платы, которые поддерживают большие (примерно два квадратных сантиметра) и маленькие (примерно один квадратный миллиметр) микросхемы MSP430. TI также предоставляет инструменты для разработки программного обеспечения, как напрямую, так и совместно с партнерами (см. Полный список компиляторов, ассемблеров и IDE ). Одним из таких наборов инструментов является IAR C / C ++ компилятор и Интегрированная среда разработки или IDE. Редакцию Kickstart можно бесплатно загрузить с сайтов TI или IAR; он ограничен 8 КБ кода C / C ++ в компиляторе и отладчике (язык ассемблера программы любого размера можно разрабатывать и отлаживать с помощью этого бесплатного набора инструментов).

TI также сочетает в себе версию собственного компилятора и инструментов со своей Eclipse -based Code Composer Studio IDE («CCS»). Он продает полнофункциональные версии и предлагает для загрузки бесплатную версию с ограничением размера кода 16 КБ. CCS поддерживает внутрисхемные эмуляторы и включает симулятор и другие инструменты; он также может работать с другими процессорами, продаваемыми TI.

Для тех, кому удобнее использовать Arduino, есть еще одно программное обеспечение Energia Energia, платформа для создания прототипов электроники с открытым исходным кодом, цель которой - обеспечить проводку и Платформа Arduino для LaunchPad на базе Texas Instruments MSP430, куда можно экспортировать код Arduino для программирования микросхем MSP430. Последняя версия Energia поддерживает MSP-EXP430G2xxx, MSP-EXP430FR5739, MSP-EXP430FR5969, MSP-EXP430FR5994, MSP-EXP430F5529LP, Stellaris EK-LM4F120XL, Tiva-C123G-EK-TM4C-WiFi CC-C123-C-C-C-C-C-C-C-C-C-C-C-C-D-9.

Сообщество с открытым исходным кодом создает свободно доступный набор инструментов для разработки программного обеспечения на основе набора инструментов GNU. Компилятор GNU в настоящее время отклонен в трех версиях:

(MSPGCC )

()

TI проконсультировался с RedHat для предоставления официальной поддержки архитектуры MSP430 для коллекции компиляторов GNU C / Компилятор C ++. Этот компилятор msp430-elf-gcc поддерживается TI Code Composer Studio версии 6.0 и выше.

Существует очень ранний проект llvm-msp430, который в конечном итоге может обеспечить лучшую поддержку MSP430 в LLVM.

других наборах коммерческих инструментов разработки, которые включают редактор, компилятор, Доступны компоновщик, ассемблер, отладчик и в некоторых случаях мастера кода. VisSim, язык блок-схем для разработки на основе моделей, генерирует эффективный C-код с фиксированной точкой непосредственно из диаграммы. Сгенерированный VisSim код для замкнутого контура АЦП + ШИМ на основе ПИД-управления на F2013 компилируется во флэш-память менее 1 КБ и 100 байт ОЗУ. VisSim имеет встроенные периферийные блоки для всего семейства MSP430: I²C, ADC, SD16, PWM.

Недорогие платформы разработки

MSP430F2013 и его братья и сестры отличаются тем, что (за исключением MSP430G2 Value Line ) это единственная часть MSP430, которая выпускается в корпусе с двойным расположением рядов (DIP). Другие варианты этого семейства доступны только в различных корпусах для поверхностного монтажа. Компания TI приложила некоторые усилия, чтобы поддержать платформу разработки eZ430, сделав необработанные чипы легкими для использования любителями в прототипах.

eZ430-F2013

Компания TI решила проблему низкого бюджета, предложив очень маленькую плату для экспериментаторов eZ430-F2013 на USB-накопителе. Это упрощает разработчикам выбор микросхемы MSP430 для недорогих платформ разработки, которые можно использовать с компьютером. EZ430-F2013 содержит микроконтроллер MSP430F2013 на съемной макетной плате и прилагаемый компакт-диск с программным обеспечением для разработки. Это полезно для школ, любителей и изобретателей гаража. Это также приветствуется инженерами крупных компаний, создающих прототипы проектов с проблемами капитального бюджета.

MSP430 LaunchPad

Texas Instruments выпустила MSP430 LaunchPad в июле 2010 года. MSP430 LaunchPad имеет встроенный эмулятор флэш-памяти, USB, 2 программируемых светодиодов и 1 программируемая кнопка. В качестве дополнения к экспериментам с LaunchPad доступна плата защиты .

С тех пор TI предоставила несколько новых LaunchPads на базе платформы MSP430:

  • MSP-EXP430F5529LP включает MSP430F5529 MCU с поддержкой USB-устройств со 128 КБ флэш-памяти и 8 КБ SRAM
  • MSP-EXP430FR5969 включает MSP430FR5969 FRAM MCU с 64 КБ FRAM и 2 КБ SRAM
  • MSP-EXP430FR4133 оснащен MSP430FR4133 SRAM MCU с 16 КБ FRAM, 2 КБ FRAM и встроенный ЖК-дисплей
  • MSP-EXP430FR6989 оснащен MCU MSP430FR6989 FRAM с 128 КБ ОЗУ, 2 КБ SRAM, встроенным ЖК-дисплеем и периферийным устройством с расширенным интерфейсом сканирования
  • MSP-EXP430FR2311 включает MSP430FR2311 FRAM MCU с 4KB FRAM, 1KB SRAM, OpAmp и периферийный трансимпедансный усилитель
  • MSP-EXP430FR2433 имеет MSP430FR2433 FRAM MCU с 15.5KB FRAM, 4KB FRAM
  • MSP-EXP430FR2355 включает MSP430FR2355 FRAM MCU с 32 КБ ОЗУ, 4 КБ SRAM, 12-битный АЦП, 12-битный ЦАП, OpAmp / PGA, ICC для вложенных прерываний
  • MSP- EXP430FR5994 включает MSP430FR5994 FRAM MCU с th 256KB FRAM, 8KB SRAM, 12-bit ADC и LEA DSP периферийное устройство

Все три из этих LaunchPads включают отладчик eZ-FET JTAG с обратным каналом UART, способный работать со скоростью 1 Мбит / с. Платы FRAM LaunchPads (например, MSP-EXP430FR5969, MSP-EXP430FR4133) включают EnergyTrace, функцию, поддерживаемую TI Code Composer Studio IDE для мониторинга и анализа энергопотребления.

Интерфейс отладки

Как и другие производители микроконтроллеров, TI разработала двухпроводной интерфейс отладки, который можно найти в некоторых из их частей MSP430, который может заменить более крупный интерфейс JTAG. Средство разработки eZ430 содержит полностью подключаемый к USB инструмент эмуляции флэш-памяти ("FET") для этого нового двухпроводного протокола, названного TI "Spy-Bi-Wire ". Spy-Bi-Wire изначально был представлен только на самых маленьких устройствах в семействе F2xx с ограниченным количеством контактов ввода-вывода, таких как MSP430F20xx, MSP430F21x2 и MSP430F22x2. Поддержка Spy-Bi-Wire была расширена с появлением последнего семейства 5xx, в котором все устройства поддерживают интерфейс Spy-Bi-Wire в дополнение к JTAG.

Преимущество протокола Spy-Bi-Wire в том, что он использует только две линии связи, одна из которых является выделенной линией _RESET. Интерфейс JTAG на частях MSP430 с меньшим количеством выводов мультиплексирован с линиями ввода / вывода общего назначения. Это делает относительно трудным отладку схем, построенных на небольших микросхемах с низким бюджетом ввода-вывода, поскольку полное 4-контактное оборудование JTAG будет конфликтовать с чем-либо еще, подключенным к этим линиям ввода-вывода. Эта проблема решается с помощью микросхем с поддержкой Spy-Bi-Wire, которые все еще совместимы с обычным интерфейсом JTAG для обратной совместимости со старыми инструментами разработки.

Инструменты отладки JTAG и flash-программирования, основанные и широко используемые в сообществе ARM, недоступны для MSP430. Инструменты программирования, специально разработанные для MSP430, немного дешевле, чем интерфейсы JTAG, использующие OpenOCD. Однако если проект обнаружит, что требуется больше MIPS, больше памяти и больше периферийных устройств ввода-вывода, эти инструменты не будут передаваться на процессор от другого поставщика.

ЦП MSP430

ЦП MSP430 использует архитектуру фон Неймана с единым адресным пространством для инструкций и данных. Память имеет адрес байтов, и пары байтов объединяются little-endian для получения 16-битных слов.

Процессор содержит 16 16-битных регистров, из которых четыре предназначены для специальных целей: R0 - это программный счетчик , R1 - это указатель стека, R2 - регистр состояния, а R3 - «генератор констант». "который читается как ноль и игнорирует записи. Дополнительное кодирование режима адреса с использованием R3 и R2 позволяет в общей сложности шесть обычно используемых постоянных значений (0, 1, 2, 4, 8 и -1), не требуя немедленного слова операнда. R4 - R15 доступны для общего использования.

Набор инструкций очень прост; 27 инструкций в трех семьях. Большинство инструкций доступно в версиях с суффиксом.B (8-битный байт) и.W (16-битное слово), в зависимости от значения бита Ч / Б: бит установлен в 1 для 8-битных и 0 для 16 -немного. Отсутствующий суффикс эквивалентен.W. Байтовые операции с памятью влияют только на адресный байт, в то время как байтовые операции с регистрами очищают самый значимый байт.

Набор команд MSP430
1514131211109876543210Команда
000100opcodeЧ / БAsрегистрОднооперандная арифметика
000100000Ч / БAsрегистрRRC Повернуть вправо (1 бит) через регистр переноса
0001000010AsSWPB Поменять местами байты
000100010Ч / БAsрегистрRRA Повернуть вправо (1 бит) арифметический
0001000110AsрегистрSXT Знак расширить байт до слова
000100100Ч / БAsрегистрPUSH Вставить значение в стек
0001001010AsрегистрCALL Вызов подпрограммы; нажмите ПК и переместите источник на ПК
0001001100000000RETI Возврат из прерывания; pop SR, затем pop PC
001условие10-битное смещение со знакомУсловный переход; PC = PC + 2 × смещение
00100010-битное смещение со знакомJNE / JNZ Переход, если не равно / ноль
00100110-битное смещение со знакомJEQ /JZПерейти, если равно / нулю
00101010-битное смещение со знакомJNC / JLO Перейти, если нет переноса / меньше
00101110-битное смещение со знакомJC/JHS Перейти, если перенос / больше или такое же
00110010-битное смещение со знакомJNПерейти, если отрицательное
00110110-битное смещение со знакомJGE Перейти, если больше или равно
00111010-битное смещение со знакомJLПерейти, если меньше
00111110-битное смещение со знакомJMP Перейти (безусловно)
opcodeисточникAdЧ / БAsпункт назначенияДвухоперандная арифметика
0100источникAdЧ / БAsпункт назначенияMOV Переместить источник в пункт назначения
0101источникAdЧ / БAsпункт назначенияДОБАВИТЬ Добавить источник в пункт назначения
0110источникAdЧ / БAsпункт назначенияADDC Добавить источник и перенести в пункт назначения
0111источникAdЧ / БAsпункт назначенияSUBC Вычесть источник из пункта назначения (с переносом)
1000источникAdЧ / БAsпункт назначенияSUB Вычесть источник из пункта назначения на
1001источникеAdЧ / БAsпункте назначенияCMP Сравнить (сделать вид, что вычитать) источник из пункта назначения
1010источникAdЧ / БAsпункт назначенияDADD Десятичный добавить источник к месту назначения (с переносом)
1011источникAdЧ / БAsназначениеБИТ Тестовые биты источника И назначения
1100источникAdЧ / БAsпункт назначенияBIC Очистка бита (dest = ~ src)
1101источникAdЧ / БAsпункт назначенияBIS Бит установлен (логическое ИЛИ)
1110источникAdЧ / БAsпункт назначенияXORИсключительный или источник с пунктом назначения
1111источникAdЧ / БAsпункт назначенияИ Логическое И источник с местом назначения (dest = src)

Инструкции состоят из 16 бит, за которыми следуют до двух 16-битных слов расширения. Режимы адресации задаются 2-битным полем As и 1-битным полем Ad. Некоторые специальные версии могут быть созданы с использованием R0, а режимы, отличные от прямого использования регистра с использованием R2 (регистр состояния) и R3 (генератор констант), интерпретируются особым образом. Объявление может использовать только подмножество режимов адресации для As.

В режимах индексированной адресации к инструкции добавляется 16-битное слово расширения. Если индексируются и источник, и место назначения, первым идет слово расширения источника. x относится к следующему слову расширения в потоке инструкций в таблице ниже.

Режимы адресации MSP430
AsAdРегистрСинтаксисОписание
000nRnПрямая регистрация. Операнд - это содержимое Rn.
011nx (Rn)проиндексировано. Операнд находится в памяти по адресу Rn + x.
10n@RnЗарегистрируйте косвенный. Операнд находится в памяти по адресу, содержащемуся в Rn.
11n@ Rn +Косвенный автоинкремент. Как и выше, регистр увеличивается на 1 или 2.
Режимы адресации с использованием R0 (ПК)
0110 (ПК)ADDRСимвольный. Эквивалентно x (ПК). Операнд находится в памяти по адресу PC + x.
110 (ПК)#xНемедленно. Эквивалент @ PC +. Операнд - это следующее слово в потоке инструкций.
Режимы адресации с использованием R2 (SR) и R3 (CG), декодирование в частном случае
0112 (SR)ADDRАбсолютный. Операнд находится в памяти по адресу x.
102 (SR)#4Константа. Операндом является константа 4.
112 (SR)#8Константа. Операндом является константа 8.
003 (CG)#0Константа. Операндом является константа 0.
013 (CG)#1Константа. Операндом является константа 1. Индексного слова нет.
103 (CG)#2Константа. Операндом является константа 2.
113 (CG)# -1Константа. Операнд - константа -1.

Команды обычно занимают 1 цикл на каждое извлеченное или сохраненное слово, поэтому время выполнения команд варьируется от 1 цикла для простой инструкции регистр-регистр до 6 циклов для инструкции с индексированными как источником, так и получателем.

Расширение MSP430X с 20-битной адресацией добавляет дополнительные инструкции, для которых может потребоваться до 10 тактов. Установка или очистка периферийного бита занимает два такта. Прыжок, сделанный или нет, требует двух часов. В серии 2xx 2 MCLK составляют 125 нс на частоте 16 МГц.

Разрешены переходы к счетчику программ и выполнение прыжков. Например, возврат из подпрограммы реализован как MOV @ SP +, PC .

Когда R0 (PC) или R1 (SP) используются в режиме адресации с автоинкрементом, они всегда увеличиваются на два. Другие регистры (с R4 по R15) увеличиваются на размер операнда, либо на 1, либо на 2 байта.

Регистр состояния содержит 4 арифметических бита состояния, глобальное разрешение прерывания и 4 бита, которые отключают различные часы для перехода в режим пониженного энергопотребления. При обработке прерывания процессор сохраняет регистр состояния в стеке и очищает биты низкого энергопотребления. Если обработчик прерывания не изменяет сохраненный регистр состояния, при возврате из прерывания будет возобновлен исходный режимс низким энергопотреблением.

Псевдооперации

Ряд дополнительных инструкций реализован как псевдонимы для форм вышеперечисленного. Например, нет конкретной инструкции «возврат из подпрограммы», но она реализована как «MOV @ SP +, PC». Эмулируемые инструкции:

Эмулированные инструкции MSP430
ЭмулированныеФактическиеОписание
ADC .x dstADDC.x # 0, dstДобавить перенос к месту назначения
BRdstMOV dst, PCПереход к месту назначения
CLR .x dstMOV.x # 0, dstОчистить адрес назначения
CLRCBIC # 1, SRОчистить бит переноса
CLRNBIC # 4, SRОчистить отрицательный бит
CLRZBIC # 2, SRОчистить нулевой бит
DADC .x dstDADD.x # 0, dstДесятичное добавление переноса в пункт назначения
DEC .x dstSUB.x # 1, dstDecrement
DECD . x dstSUB.x # 2, dstДвойной декремент
DINTBIC # 8, SRОтключить прерывания
EINTBIS # 8, SRРазрешить прерывания
INC .x dstADD.x # 1, dstIncrement
INCD .x dstADD.x # 2, dstДвойное приращение
INV .x dstXOR.x # −1, dstИнвертировать
NOPMOV # 0, R3Нет операции
POP dstMOV @ SP +, dstИзвлечь из стека
RETMOV @ SP +, PCВозврат из подпрограммы
RLA . x dstADD.x dst, dstПовернуть арифметику влево (сдвинуть на 1 бит влево)
RLC .x dstADDC.x dst, dstПовернуть влево через перенос
SBC .x dstSUBC.x # 0, dstВычесть заимствование (1-перенос) из места назначения
SETCBIS # 1, SRУстановить бит переноса
SETNBIS # 4, SRУстановить отрицательный бит
SETZBIS # 2, SRУстановить нулевой бит
TST .x dstCMP.x # 0, dstТестовое назначение

Обратите внимание, что немедленное константы -1 (0xffff), 0, 1, 2, 4 и 8 могут быть указаны в инструкции из одного слова без необходимости в отдельном непосредственном операнде.

20-битное расширение MSP430X

Базовый MSP430 не может поддерживать больше памяти (ПЗУ + ОЗУ + периферийные устройства), чем его адресное пространство 64 КБ. Для поддержки этого расширенная форма MSP430 использует 20-разрядные регистры и 20-разрядное адресное пространство, что позволяет использовать до 1 МБ памяти. Здесь используется тот же набор инструкций, что и в базовой форме, но с двумя расширениями:

  1. ограниченное количество 20-битных инструкций для общих операций и
  2. общий механизм префиксного слова, который может расширить любую инструкцию до 20 бит.

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

20-битные операции используют суффикс длины «A» (для адреса) вместо.B или.W..W по-прежнему используется по умолчанию. Как правило, более короткие операции очищают старшие биты регистра назначения.

Новые инструкции выглядят следующим образом:

Расширенные инструкции MSP430X
1514131211109876543210Второе словоКоманда
0000источник00opcodeназначениеРасширенный регистр памяти перемещает
0000src0000dstMOVA @ Rsrc, Rdst
0000src0001dstMOVA @ Rsrc +, Rdst
0000адрес [19:16]0010dstадрес [15: 0]MOVA abs20, Rdst
0000src0011dstx [15: 0 ]MOVA x (Rsrc), Rdst
0000n−1op.010W/AназначениеБитовые сдвиги (1–4 позиции битов)
0000n−100010W/AdstRRCM .x # n, Rdst (Повернуть вправо через перенос.)
0000n − 101010W / AdstRRAM .x # n, Rdst (Повернуть арифметику вправо, иначе сдвиг вправо со знаком.)
0000n-110010W / AdstRLAM .x # n, Rdst (Повернуть влево арифметику, также можно сдвинуть влево)
0000n−111010W/AdstRRUM .x # n, Rdst (Поворот вправо без знака, он же логический сдвиг вправо)
0000источник011op.назначениеРасширенные перемещения регистров и памяти
0000src0110адрес [19:16]адрес [ 15: 0]MOVA Rsrc, abs20
0000src0111dstx [15: 0]MOVA Rsrc, x (Rdst)
0000источник1код операциипункт назначенияРасширенные операции ALU
0000imm[19:16 visible1000dstimm [15: 0]MOVA # imm20, Rdst
0000imm[19:16 impression1001dstimm [15: 0]CMPA # imm20, Rdst
0000imm [19:16]1010dstimm [15: 0]ADDA # imm20, Rdst
0000imm[19:16 provided1011dstimm [15: 0 ]SUBA # imm20, Rdst
0000src1100dstMOVA Rsrc, Rdst
0000src1101dstCMPA Rsrc, Rdst
0000src1110dstADDA Rsrc, Rdst
0000src1111dstSUBA Rsrc, Rdst
00010011op.режимварьируетсяCALLA
0001001100000000RETI (То же, что и MSP430)
0001001101AsрегистрCALLA источник
000100111000abs[19:16 impressionabs [15: 0]CALLA abs20
000100111001x[19:16 impressionx [15: 0]CALLA x (PC)
000100111010(зарезервировано)
000100111011imm [19:16]imm [15: 0]CALLA # imm20
0001001111(зарезервировано)
000101dirW / An−1регистрPush / pop n регистров, заканчивающихся указанным
0001010W / An − 1srcPUSHM .x # n, Rsrc Push Rsrc, R (src − 1),... R (src − n + 1)
0001011W / An − 1dst − n + 1POPM .x # n, Rdst Pop R (dst − n + 1), R ( dst − n + 2),... Rdst

Все другие инструкции могут иметь добавленное префиксное слово, которое расширяет их до 20 бит. Слово префикса содержит дополнительный бит размера операнда, который комбинируется с существующим битом Ч / Б для определения размера операнда. Есть одна неиспользованная комбинация размеров; есть признаки того, что это может быть использовано в будущем для 32-битного размера операнда.

Префиксное слово бывает двух форматов, и выбор между ними зависит от следующей инструкции. Если инструкция имеет какие-либо не регистровые операнды, то используется простая форма, которая предоставляет 2 4-битных поля для расширения любого смещения или непосредственной константы в потоке инструкций до 20 бит.

Если команда является записываемой, используется другое слово расширения. Сюда входит флаг «ZC», который подавляет перенос (полезно для таких инструкций, как DADD, которые всегда используют бит переноса), и счетчик повторов. 4-битное поле в слове расширения кодирует либо счетчик повторов (0–15 повторов в дополнение к начальному выполнению), либо номер регистра, который содержит 4-битный счетчик повторов.

Слова префикса MSP430X
1514131211109876543210Инструкция
00011A / L00Расширяющее слово
00011src[19:16 impressionA / L00dst [19: 16]Расширение операнда памяти
0001100ZC0A / L00n-1Расширение операнда регистра (немедленное количество повторов)
0001100ZC1A / L00RnРасширение операнда регистра (счетчик повторов регистра)
Адресное пространство MSP430

Общая структура адресного пространства MSP430:

0x0000–0x0007
Регистры специальных функций процессора ( регистры управления прерываниями)
0x0008–0x00FF
8-битные периферийные устройства. Доступ к ним должен осуществляться с использованием 8-битной загрузки и сохранения.
0x0100–0x01FF
16-битные периферийные устройства. Доступ к ним должен осуществляться с использованием 16-битной загрузки и сохранения.
0x0200–0x09FF
До 2048 байтов RAM.
0x0C00–0x0FFF
1024 байта ПЗУ загрузочного загрузчика (только флэш-части).
0x1000–0x10FF
256 байтов данных флэш-ПЗУ (только флэш-части).
0x1800 -0x19FF
512 байтов данных FRAM (большинство микроконтроллеров FRAM, записываемые пользователем, не содержащие данных калибровки)
0x1100–0x38FF
Расширенное ОЗУ включено модели с более чем 2048 байтами ОЗУ. (0x1100–0x18FF является копией 0x0200–0x09FF)
0x1100–0xFFFF
До 60 килобайт ПЗУ программы. ПЗУ меньшего размера начинаются с более высоких адресов. Последние 16 или 32 байта - это векторы прерывания.

Некоторые модели включают более 2048 байтов ОЗУ; в этом случае RAM начинается с 0x1100. Первые 2048 байтов (0x1100–0x18FF) зеркалируются по адресу 0x0200–0x09FF для совместимости. Кроме того, некоторые последние модели изменяют правила для 8-битных и 16-битных периферийных устройств, обеспечивая 16-битный доступ к периферийным устройствам в 8-битном диапазоне периферийных адресов.

Существует новая расширенная версия архитектуры (называемая MSP430X), которая допускает 20-битное адресное пространство . Это позволяет дополнительное ПЗУ программы, начиная с 0x10000.

Серия 5xx имеет значительно переработанное адресное пространство: первые 4 КБ предназначены для периферийных устройств и до 16 КБ ОЗУ.

Источники
  1. ^Эванчук, Стивен (20 августа 2013 г.). «Слайд-шоу: самые популярные MCU когда-либо». edn.com. Сеть проектирования электроники. Проверено 3 сентября 2020 года.
  2. ^MSP430 будет работать на Grapes - видео на YouTube
  3. ^ D. Петерс, Д. Раскович и Д. Торсен, «Энергосберегающая параллельная встроенная система для малых спутниковых приложений», ISAST Транзакции на компьютерах и интеллектуальных системах, т. 1 (2), 2009
  4. ^Микроконтроллеры MSP430 с наименьшим энергопотреблением от Texas Instruments
  5. ^ http://www.ti.com/lit/slau445
  6. ^[1], сайт Энергии
  7. ^Статья о MSP430 опубликовано в журнале IEEE.
  8. ^Visual Solutions
  9. ^MSP430 LaunchPad (MSP-EXP430G2), Wiki по встраиваемым процессорам Texas Instruments
  10. ^«Микроконтроллер со сверхнизким энергопотреблением MSP430» (PDF). Инструменты Техаса. Проверено 9 июля 2008 г.
  11. ^Сам бит размера называется «A / L», где «L» (длинный) используется другими процессорами для обозначения 32-битных операндов. Также описание инструкции SXTX (Руководство пользователя семейства MSP430F5xx alau208f стр. 237) описывает действие инструкции в битах 20–31 регистров.
Внешние ссылки

Сообщество и информационные сайты

Генераторы кода C для визуального программирования

Компиляторы, ассемблеры и IDE

Бесплатный компилятор и IDE

Самые популярные неограниченные IDE и компиляторы

Прочие IDE

Список инструментов отладки (не полный)

ИмяПроизводительИнтерфейсПротокол (ы)Статус
MSP-FET430PIFTI Параллельный портJTAG
MSP-FET430UIFTI U SB-интерфейсJTAG, Spy-Bi-Wire
MSP-FETTI USB-интерфейсJTAG, Spy-Bi-Wire
MSP-430 LaunchPadTI USB-интерфейсSpy-Bi-Wire
MSP-430 LaunchPad eZ-FETTI USB-интерфейсSpy-Bi-Wire
eZ430-F2013TI USB-интерфейсSpy-Bi-Wire
eZ430-RF2500TI USB-интерфейсSpy-Bi-Wire
FETPSoftBaugh Параллельный -PortJTAG
USBPSoftBaugh USB-интерфейсJTAG, Spy-Bi-Wireснято с производства
MSP430-JTAGOlimex Параллельный портJTAG
MSP430-JTAG-ISOOlimex USB-интерфейсJTAG, Spy-Bi-Wireobsolete
MSP430-JTAG-ISO-MK2Olimex USB-InterfaceJTAG, Spy-Bi-Wire
MSP430-JTAG-TinyOlimex USB-InterfaceJTAG, Spy-Bi-Wirenot found
MSP430-JTAG-TINY-V2Olimex USB-InterfaceJTAG?, Spy-Bi-Wire
MSP430-JTAG-RFOlimex USB-InterfaceJTAG, Spy-Bi-Wire
Fla shPro-CCElprotronic USB-InterfaceJTAG, Spy-Bi-Wire, BSL
VisSim /ECDVisual Solutions USB-InterfaceJTAG, Spy-Bi-Wire
LA-3713Lauterbach USB-Interface / EthernetJTAG, Spy-bi-Wire

Other tools

Последняя правка сделана 2021-06-09 05:58:20
Содержание доступно по лицензии CC BY-SA 3.0 (если не указано иное).
Обратная связь: support@alphapedia.ru
Соглашение
О проекте