Jump to content

ТИ MSP430

(Перенаправлено с микроконтроллера MSP430 )

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

MSP430 семейство микроконтроллеров смешанных сигналов от Texas Instruments , впервые представленное 14 февраля 1992 года. [1] Модель MSP430, построенная на базе 16-разрядного процессора , была разработана с учетом низкого энергопотребления. [2] встроенные приложения и низкая стоимость.

Глюкометр Aktivmed GlucoCheck Comfort — печатная плата под ЖК-дисплеем, на которой размещен ЦП MSP 430.

Фундаментальной особенностью MSP430 является низкое энергопотребление. Первые MSP430 (MSP430C3xx) имели потребление около 400 мкА/МГц и менее 2 мкА в режиме пониженного энергопотребления с активным базовым таймером и драйвером ЖК-дисплея . Более поздние модели MSP (MSP430FR5xx) имеют потребление в активном режиме около 100–120 мкА/МГц и 500 нА в режиме пониженного энергопотребления с активным RTC . Потребление самого ЦП составляет менее 32 мкА/МГц. [3] Серия MSP430FR, в которой используется FRAM вместо флэш-памяти , также обеспечивает быструю запись в энергонезависимую память без дополнительных требований к питанию.

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

MSP430 могут работать на частоте до 25 МГц, а операции между регистрами занимают 1 цикл на инструкцию. Семейство MSP430 насчитывает более 550 типов. [4] , варианты упаковки не учитываются. Существуют микроконтроллеры с флэш-памятью 0,5-256 КБ 0,5-512 КБ или FRAM до 66 КБ и ОЗУ .

Устройство выпускается в различных поколениях с обычными периферийными устройствами:

Некоторые менее распространенные периферийные варианты включают встроенные операционные усилители (ОУ) для формирования сигнала , 12-битный цифро-аналоговый преобразователь (ЦАП), драйвер жидкокристаллического дисплея (ЖК-дисплея), аппаратный умножитель , USB и прямой доступ к памяти. (DMA) для результатов АЦП. За исключением некоторых более старых версий стираемой программируемой постоянной памяти ( EPROM , например MSP430E3xx) и ПЗУ с маской большого объема (MSP430Cxxx), все устройства поддерживают внутрисистемное программирование с помощью Joint Test Action Group ( JTAG ), полностью четырехпроводное. или Spy-Bi-Wire ), встроенный загрузчик начальной загрузки (BSL), использующий UART, например RS-232 , или USB на устройствах с поддержкой USB. BSL не включен в устройства семейств F20xx, G2xx0, G2xx1, G2xx2 или I20xx.

Ограничения памяти

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

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

Поколения MSP430

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

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

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

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

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

Серия MSP430x1xx

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

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

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

Серия MSP430F2xx

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

Серия MSP430F2xx аналогична поколению '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 мкс
  • Параметры устройства
    • Параметры флэш-памяти: 0,5–56 КБ.
    • Варианты оперативной памяти: 128 Б–4 КБ
    • Варианты GPIO: 10, 16, 24, 32 контакта
    • Опции АЦП: наклон, 10-битный SAR
    • Другие встроенные периферийные устройства: емкостный сенсорный ввод-вывод, до 3 16-битных таймеров, сторожевой таймер, сброс напряжения, модуль USI (I²C, SPI), модуль USCI, компаратор_A+, датчик температуры.

Серия MSP430x3xx

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

Серия MSP430x3xx — самое старое поколение, выпущенное в период с 1995 по 1998 год. [7] MSP430 был разработан как преемник TSS400 для измерительных приборов с батарейным питанием. [8] Все MSP430x3xx имели встроенный ЖК-контроллер, а также цифровой управляемый генератор (DCO) с автоподстройкой частоты (FLL), который обеспечивал стабильную тактовую частоту системы (от 1 до 4 МГц) с использованием низкочастотного кристалла (32 кГц). [9] Это поколение не поддерживает память EEPROM , а только маскирует ПЗУ и стираемую УФ-излучением и одноразово программируемую СППЗУ . Более поздние поколения предоставляют только варианты флэш-памяти и ПЗУ маски . Эти устройства работают при напряжении 2,5–5,5 В и имеют объем ПЗУ до 32 КБ.

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

Серия MSP430x4xx

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

Серия MSP430x4xx аналогична поколению 1xx, но включает встроенный контроллер ЖК-дисплея, больше по размеру и зачастую более функциональны. Эти устройства на базе флэш-памяти или ПЗУ обеспечивают производительность 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, множитель 16×16 и 32x32, компаратор_A, датчик температуры, скорость процессора 8 MIPS

Серия MSP430x5xx

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

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

  • Обзор характеристик мощности, начиная с:
    • 0,1 мкА сохранения ОЗУ
    • Режим часов реального времени 2,5 мкА
    • 165 мкА / MIPS активный
    • Обеспечивает быстрый выход из режима ожидания менее чем за 5 мкс.
  • Параметры устройства:
    • Параметры флэш-памяти: до 512 КБ
    • Варианты оперативной памяти: до 66 КБ
    • Варианты АЦП: 10 и 12-битный SAR
    • Варианты GPIO: 29, 31, 47, 48, 63, 67, 74, 87 контактов.
    • Другие дополнительные встроенные периферийные устройства: 12-битный ЦАП, ШИМ высокого разрешения, 5 входов/выходов, 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 ГГц, работающий при напряжении 1,8–3,6 В. Программирование с использованием интегрированной среды разработки (IDE) Arduino возможно через API panStamp .

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

Серия ФРАМ

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

Серия 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, способные работать при напряжении 0,9 В. Эти две серии низковольтных 16-разрядных микроконтроллеров имеют конфигурации с двумя 16-разрядными таймерами, 8-разрядным аналого-цифровым (АЦП) ) преобразователь, 8-битный цифро-аналоговый преобразователь (ЦАП) и до 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). Для получения дополнительной информации см. Бесконтактное питание. [ постоянная мертвая ссылка ] .

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

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

  • Определения устройств:
    • ВТ: от -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, а регистры управления переназначены для обеспечения большего количества пар портов. Каждый порт контролируется следующими регистрами. Порты, которые не реализуют определенные функции (например, прерывание при изменении состояния), не реализуют соответствующие регистры.

П х В
Вход порта x . Это регистр, доступный только для чтения, и он отражает текущее состояние контактов порта.
П х ВЫХОД
порта x Выход . Значения, записанные в этот регистр чтения/записи, выводятся на соответствующие выводы, когда они настроены на вывод.
П х НАПРАВЛЕНИЕ
порта x Направление данных . Биты, записанные как 1, настраивают соответствующий вывод для вывода. Биты, записанные как 0, настраивают вывод для ввода.
П х ВЫБОР
порта x Выбор функции . Биты, записанные как 1, настраивают соответствующий вывод для использования специализированным периферийным устройством. Биты, записанные как 0, настраивают вывод для ввода-вывода общего назначения. Порт 0 (только детали '3xx) не мультиплексируется с другими периферийными устройствами и не имеет регистра P0SEL.
П х РЕН
Включение резистора порта x (только '2xx и '5xx). Биты, установленные в этом регистре, включают слабые подтягивающие или понижающие резисторы на соответствующих выводах ввода-вывода, даже если они сконфигурированы как входы. Направление вытягивания задается битом, записанным в регистр P x OUT.
П х ДС
Мощность диска порта x (только '5xx). Биты, установленные в этом регистре, позволяют выводить большие токи. Это увеличивает выходную мощность, но может вызвать электромагнитные помехи (EMI).

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

П х МЭС
порта x Выбор фронта прерывания . Выбирает фронт, при котором будет P x установлен бит IFG. Когда входной бит переходит с состояния, соответствующего состоянию P x IES, на несоответствие ему (т. е. всякий раз, когда бит в P x IES XOR P x соответствующий бит P x IFG. IN меняется со состояния «чистый» на «установленный»), устанавливается
П х ИЭ
порта x Разрешение прерываний . Когда этот бит и соответствующий бит P x IFG установлены, генерируется прерывание.
П х ИФГ
порта x Флаг прерывания . Устанавливается всякий раз, когда соответствующий вывод меняет состояние, запрошенное P x IES. Очистить можно только программно. (Также можно установить с помощью программного обеспечения.)
П х IV
Вектор прерывания порта x (только '5xx). Этот 16-битный регистр является приоритетным энкодером , который можно использовать для обработки прерываний по смене контактов. Если n — это бит прерывания с наименьшим номером, который находится в состоянии ожидания в P x IFG и разрешен в P x IE, этот регистр читается как 2 n +2. Если такого бита нет, он читается как 0. Масштабный коэффициент 2 позволяет напрямую использовать его в качестве смещения в таблице ветвей . Чтение этого регистра также очищает сообщенный флаг P x IFG.

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

Карта адресов регистров ввода-вывода общего назначения
Семьи '1xx–'4xx
П х В П х ВЫХОД П х НАПРАВЛЕНИЕ П х ВЫБОР П х МЭС П х ИЭ П х ИФГ П х РЕН
Р0 0x10 0x11 0x12 0x13 0x14 0x15
П1 0x20 0x21 0x22 0x26 0x24 0x25 0x23 0x27
П2 0x28 0x29 0x2a 0x2e 0x2c 0x2d 0x2b 0x2f
П3 0x18 0x19 0x1a 0x1b 0x10
П4 0x1c 0x1d 0x1е 0x1f 0x11
П5 0x30 0x31 0x32 0x33 0x12
П6 0x34 0x35 0x36 0x37 0x13
Хорошо Р7 0x38 0x3a 0x3c 0x3e 0x14
Р8 0x39 0x3b 0x3d 0x3f 0x15
ПБ Р9 0x08 0x0a 0x0c 0x0e 0x16
Р10 0x09 0x0b 0x0d 0x0f 0x17
Семейства '5xx –'6xx и '0xx
П х В П х ВЫХОД П х НАПРАВЛЕНИЕ П х РЕН П х ДС П х ВЫБОР П х IV П х МЭС П х ИЭ П х ИФГ
Хорошо П1 0x200 0x202 0x204 0x206 0x208 0x20А 0x20E 0x218 0x21A 0x21C
П2 0x201 0x203 0x205 0x207 0x209 0x20B 0x21E 0x219 0x21B 0x21D
ПБ П3 0x220 0x222 0x224 0x226 0x228 0x22A
П4 0x221 0x223 0x225 0x227 0x229 0x22B
ПК П5 0x240 0x242 0x244 0x246 0x248 0x24A
П6 0x241 0x243 0x245 0x247 0x249 0x24B
ПД Р7 0x260 0x262 0x264 0x266 0x268 0x26A
Р8 0x261 0x263 0x265 0x267 0x269 0x26B
НА Р9 0x280 0x282 0x284 0x286 0x288 0x28A
Р10 0x281 0x283 0x285 0x287 0x289 0x28B
P11 0x2A0 0x2A2 0x2A4 0x2A6 0x2A8 0x2AA
Пи Джей 0x320 0x322 0x324 0x326 0x328 только 4 бита; общий с контактами JTAG .

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

[ редактировать ]
Аналоговый
  • Аналого-цифровой преобразователь
Линия MSP430 предлагает два типа аналого-цифрового преобразования (АЦП). 10- и 12-битные преобразователи последовательного приближения , а также 16-битный сигма-дельта-преобразователь . Контроллеры передачи данных и буфер преобразования и управления на 16 слов позволяют MSP430 преобразовывать и сохранять образцы без вмешательства ЦП, сводя к минимуму энергопотребление.
  • Аналоговый пул
Модуль аналогового пула (A-POOL) можно настроить как АЦП, ЦАП, компаратор, SVS или датчик температуры. Это позволяет пользователю гибко программировать ряд аналоговых функций всего за одну настройку.
  • Компаратор А, А+
Модуль компаратора MSP430 обеспечивает прецизионное аналогово-цифровое преобразование. Контролирует внешние аналоговые сигналы и обеспечивает измерение напряжения и номиналов резисторов. Возможность выбора режима мощности.
  • ЦАП12
Модуль DAC12 представляет собой 12-разрядный ЦАП с выходным напряжением, оснащенный внутренним/внешним выбором опорного напряжения и программируемым временем установления для оптимального энергопотребления. Его можно настроить в 8- или 12-битном режиме. При наличии нескольких модулей DAC12 их можно сгруппировать для синхронного обновления.
  • Операционные усилители
Характеризуется однополярным питанием, малым током, выходным напряжением между напряжением и программируемым временем стабилизации. Варианты конфигурации, выбираемые программным обеспечением: режим единичного усиления, режим компаратора, инвертирующий PGA, неинвертирующий PGA, дифференциальный и инструментальный усилитель.
  • Сигма Дельта (СД)
Каждый из модулей SD16/SD16_A/SD24_A оснащен 16-/24-битными сигма-дельта АЦП с внутренним опорным напряжением 1,2 В. Каждый преобразователь имеет до восьми полностью дифференциальных мультиплексированных входов, включая встроенный датчик температуры. Преобразователи представляют собой сигма-дельта модуляторы второго порядка с передискретизацией с выбираемыми коэффициентами передискретизации до 1024 (SD16_A/SD24_A) или 256 (SD16).
Таймеры
  • Базовый таймер (БТ)
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 нс).
WDT+ выполняет контролируемый перезапуск системы после возникновения проблемы с программным обеспечением. Если выбранный интервал времени истекает, генерируется сброс системы. Если функция сторожевого таймера не требуется в приложении, модуль можно настроить как интервальный таймер и генерировать прерывания через выбранные интервалы времени.
Система
  • Расширенный стандарт шифрования (AES)
Модуль ускорителя AES выполняет шифрование и дешифрование 128-битных данных с помощью 128-битных ключей в соответствии с передовым аппаратным стандартом шифрования и может быть настроен с помощью пользовательского программного обеспечения.
  • Сброс при снижении напряжения (BOR)
Схема BOR обнаруживает низкое напряжение питания и сбрасывает устройство, вызывая сигнал сброса при включении питания (POR) при подаче или отключении питания. Схема BOR с нулевым энергопотреблением микроконтроллера MSP430 постоянно включена, в том числе во всех режимах пониженного энергопотребления.
  • Контроллер прямого доступа к памяти (DMA)
Контроллер DMA передает данные с одного адреса на другой по всему диапазону адресов без вмешательства ЦП. DMA увеличивает пропускную способность периферийных модулей и снижает энергопотребление системы. Модуль имеет до трех независимых каналов передачи.
Хотя подсистема DMA MSP430 очень эффективна, у нее есть несколько недостатков, наиболее существенным из которых является отсутствие внешнего стробоскопа передачи. Хотя передача DMA может быть инициирована извне, внешний индикатор завершения передачи отсутствует. Следовательно, DMA к внешним источникам и из них ограничивается передачей побайтовых данных по внешнему триггеру, а не автоматически полными блоками через DMA. Это может привести к значительной сложности (например, к необходимости обширной ручной настройки кода) при реализации связи процессор-процессор или процессор-USB. [6] В цитируемой ссылке используется непонятный режим таймера для генерации высокоскоростных стробов для передач 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 регистров:
Адрес Имя Функция
0x130 MPY Операнд1 для беззнакового умножения
0x132 МПИС Операнд1 для знакового умножения
0x134 MAC Операнд1 для беззнакового умножения-накопления
0x136 МАКС Операнд1 для знакового умножения-накопления
0x138 ОП2 Второй операнд для операции умножения
0x13А Борьба Младшее слово результата умножения
0x13C ResHi Старшее слово результата умножения
0x13E СуммаExt Проведение умножения-накопления
Первый операнд записывается в один из четырех 16-битных регистров. Записанный адрес определяет выполняемую операцию. Хотя записанное значение можно прочитать обратно из любого регистра, номер записанного регистра восстановить невозможно.
Если требуется операция умножения-накопления, ResLo и ResHi Регистры также должны быть инициализированы.
Затем каждый раз, когда выполняется запись в OP2 регистре, выполняется умножение, а результат сохраняется или добавляется в регистры результатов. SumExt Регистр — это регистр, доступный только для чтения, который содержит результат сложения (0 или 1) в случае беззнакового умножения) или расширение знака 32-битной суммы (0 или -1) в случае знакового умножения. . В случае знакового умножения-накопления SumExt значение должно быть объединено со старшим битом предыдущего SumHi содержимое для определения истинного результата выполнения (-1, 0 или +1).
Результат доступен после трех тактовых циклов задержки, то есть времени, необходимого для выборки следующей инструкции и следующего индексного слова. Таким образом, задержка обычно незаметна. Явная задержка требуется только в том случае, если для получения результата используется режим косвенной адресации.
  • Блок защиты памяти (MPU)
MPU FRAM защищает от случайной записи в выделенные сегменты постоянной памяти или выполнения кода из постоянной памяти. 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; формирование импульсов для IrDA; и автоматическое определение скорости передачи данных для связи LIN. Синхронный канал (USCI_B) поддерживает режимы I²C и SPI.
  • УЗИ (SPI, I²C)
Модуль универсального последовательного интерфейса (USI) представляет собой синхронный последовательный интерфейс связи с длиной данных до 16 бит и может поддерживать связь SPI и I²C с минимальным программным обеспечением.
  • Инфракрасная модуляция
Эта функция доступна на микросхемах серий MSP430FR4xxx и MSP430FR2xxx и настраивается с помощью набора регистров SYSCFG. Это периферийное устройство подключается к другим периферийным устройствам (таймерам, eUSCI_A) для генерации ИК-модулированного сигнала на выходном контакте. [11]
Измерение
  • ESP430 (встроен в устройства FE42xx)
Модуль ESP430CE выполняет расчеты измерений независимо от ЦП. Модуль имеет отдельный SD16, аппаратный умножитель и встроенный процессор ESP430 для однофазных приложений учета энергии.
  • Интерфейс сканирования (SIF)
Модуль SIF, программируемый конечный автомат с аналоговым интерфейсом, используется для автоматического измерения линейного или вращательного движения с минимально возможным энергопотреблением. Модуль поддерживает различные типы LC- и резистивных датчиков, а также квадратурное кодирование.
Отображать
  • ЖК-дисплей/ЖК-А/ЖК-Б
Контроллер LCD/LCD_A напрямую управляет ЖК-дисплеями, состоящими из 196 сегментов. Поддерживает статические ЖК-дисплеи с 2, 3 и 4 мультиплексорами. Модуль LCD_A имеет встроенный зарядовый насос для контроля контрастности. LCD_B позволяет мигать отдельным сегментам с отдельной памятью миганий.
  • ЖК_Е
Контроллер LCD_E поставляется с более новыми микроконтроллерами серии MSP430FR4xxx и напрямую управляет ЖК-дисплеями с числом до 448 сегментов. Поддерживает статические ЖК-дисплеи с 2, 3, 4, 5, 6, 7, 8 мультиплексорами (смещение 1/3). Сегментные и общие контакты можно перепрограммировать на доступные контакты ЖК-дисплея. Это периферийное устройство может работать в режиме LPM3.5 (работает RTC + режим пониженного энергопотребления при выключении основного процессора). [11]

Среда разработки программного обеспечения

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

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

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

Для тех, кому удобнее работать с Arduino , есть еще одно программное обеспечение Energia , платформа для прототипирования электроники с открытым исходным кодом, цель которой — перенести структуру Wiring и Arduino на панель LaunchPad на базе Texas Instruments MSP430, куда можно экспортировать код Arduino для программирования микросхем MSP430. . Последняя версия Energia поддерживает MSP-EXP430G2xxx, MSP-EXP430FR5739, MSP-EXP430FR5969, MSP-EXP430FR5994, MSP-EXP430F5529LP, Stellaris EK-LM4F120XL, Tiva-C EK-TM4C123GXL, Tiva-C EK-TM4C1294XL. , CC3200 Wi-Fi Панель запуска. [12]

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

( МСПГКК )

( MSPGCC Униарх )

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

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

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

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

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

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

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

Панель запуска MSP430

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

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

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

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

Отладочный интерфейс

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

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

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

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

Процессор MSP430

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

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

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

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

Набор инструкций MSP430
15 14 13 12 11 10 9 8 7 6 5 4 3 2 1 0 Инструкция
0 0 0 1 0 0 код операции Ч/Б Как зарегистрироваться Арифметика с одним операндом
0 0 0 1 0 0 0 0 0 Ч/Б Как зарегистрироваться RRC Поворот вправо (1 бит) посредством переноса
0 0 0 1 0 0 0 0 1 0 Как зарегистрироваться SWPB Обмен байтами
0 0 0 1 0 0 0 1 0 Ч/Б Как зарегистрироваться RRA Поворот вправо (1 бит) арифметика
0 0 0 1 0 0 0 1 1 0 Как зарегистрироваться Знак SXT расширяет байт до слова
0 0 0 1 0 0 1 0 0 Ч/Б Как зарегистрироваться PUSH Поместить значение в стек
0 0 0 1 0 0 1 0 1 0 Как зарегистрироваться CALL Вызов подпрограммы; нажмите ПК и переместите источник на ПК
0 0 0 1 0 0 1 1 0 0 0 0 0 0 0 0 RETI Возврат из прерывания; поп SR, затем поп ПК
0 0 1 состояние 10-битное знаковое смещение Условный переход; ПК = ПК + 2×смещение + 2
0 0 1 0 0 0 10-битное знаковое смещение JNE / JNZ Переход, если не равно/ноль
0 0 1 0 0 1 10-битное знаковое смещение JEQ / JZ Переход, если равно/ноль
0 0 1 0 1 0 10-битное знаковое смещение JNC / JLO Перейти, если нет переноса/опустить
0 0 1 0 1 1 10-битное знаковое смещение JC / JHS Прыжок, если керри/выше или такой же
0 0 1 1 0 0 10-битное знаковое смещение JN Перейти, если отрицательный
0 0 1 1 0 1 10-битное знаковое смещение JGE Переход, если больше или равно
0 0 1 1 1 0 10-битное знаковое смещение JL Прыгай, если меньше
0 0 1 1 1 1 10-битное знаковое смещение JMP Jump (безоговорочно)
код операции источник Объявление Ч/Б Как место назначения Арифметика с двумя операндами
0 1 0 0 источник Объявление Ч/Б Как место назначения MOV Переместить источник в пункт назначения
0 1 0 1 источник Объявление Ч/Б Как место назначения ДОБАВИТЬ Добавить источник в пункт назначения
0 1 1 0 источник Объявление Ч/Б Как место назначения ADDC Добавить источник и перенести в пункт назначения
0 1 1 1 источник Объявление Ч/Б Как место назначения SUBC Вычесть источник из пункта назначения (с переносом)
1 0 0 0 источник Объявление Ч/Б Как место назначения SUB Вычесть источник из назначения
1 0 0 1 источник Объявление Ч/Б Как место назначения CMP Сравните (притворитесь, что вычитаете) источник из места назначения
1 0 1 0 источник Объявление Ч/Б Как место назначения DADD Decimal добавить источник в пункт назначения (с переносом)
1 0 1 1 источник Объявление Ч/Б Как место назначения BIT Тестовые биты источника И назначения
1 1 0 0 источник Объявление Ч/Б Как место назначения Бит BIC очищен (назначение &= ~src)
1 1 0 1 источник Объявление Ч/Б Как место назначения Набор битов BIS (логическое ИЛИ)
1 1 1 0 источник Объявление Ч/Б Как место назначения XOR Эксклюзивное или источник с пунктом назначения
1 1 1 1 источник Объявление Ч/Б Как место назначения И Логическое И источник с пунктом назначения (dest &= src)

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

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

Режимы адресации MSP430
Как Объявление Зарегистрироваться Синтаксис Описание
00 0 н Р н Зарегистрируйтесь напрямую. Операндом является содержимое R n .
01 1 н х н ) Индексируется. Операнд находится в памяти по адресу Rn + x .
10 н н Регистрация косвенная. Операнд находится в памяти по адресу, хранящемуся в Rn .
11 н н + Косвенный автоинкремент. Как и выше, регистр увеличивается на 1 или 2.
Режимы адресации с использованием R0 (ПК)
01 1 0 (ПК) АДРЕС Символично. Эквивалент x(ПК). Операнд находится в памяти по адресу PC+ x .
11 0 (ПК) # х Немедленный. Эквивалент @PC+. Операнд — это следующее слово в потоке команд.
Режимы адресации с использованием R2 (SR) и R3 (CG), декодирование особого случая
01 1 2 (СР) И АДРЕС Абсолютный. Операнд находится в памяти по адресу x .
10 2 (СР) #4 Постоянный. Операндом является константа 4.
11 2 (СР) #8 Постоянный. Операндом является константа 8.
00 3 (КГ) #0 Постоянный. Операндом является константа 0.
01 3 (КГ) #1 Постоянный. Операндом является константа 1. Индексного слова нет.
10 3 (КГ) #2 Постоянный. Операндом является константа 2.
11 3 (КГ) #−1 Постоянный. Операндом является константа −1.

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

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

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

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

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

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

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

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

MSP430 Эмулированные инструкции
Эмулируемый Действительный Описание
АЦП . х летнее время АДДК. х #0, летнее время Добавить перенос в пункт назначения
БР летнее время МОВ ДСТ , ПК Ответвление до места назначения
CLR . х летнее время МОВ. х #0, летнее время Очистить пункт назначения
CLRC БИК №1,СР Очистить бит для переноски
CLRN БИК №4,СР Очистить отрицательный бит
ЦЛРЗ БИК №2,СР Очистить нулевой бит
ДАДК . х летнее время ПАПА. х #0, летнее время Десятичное добавление переноса в пункт назначения
ДЕК . х летнее время СУБ. х #1, летнее время Декремент
ДЭКД . х летнее время СУБ. х #2, летнее время Двойной декремент
ВМЯТИНА БИК №8,СР Отключить прерывания
ОДИН БИС №8, СР Включить прерывания
ИНК . х летнее время ДОБАВЛЯТЬ. х #1, летнее время Приращение
INCDИнк. х ДОБАВЛЯТЬ. х #2, летнее время Двойное приращение
ИНВ . х летнее время ИСКЛЮЧАЮЩЕЕ ИЛИ. x #−1, летнее время Инвертировать
НЕТ ДВИГАТЕЛЬ № 0, R3 Нет операции
POP- переход MOV @SP+, летнее время Вытащить из стека
ВЕРНО МОВ @SP+,ПК Возврат из подпрограммы
РЛА . х летнее время ДОБАВЛЯТЬ. х летнее время , летнее время Повернуть арифметику влево (сдвиг влево на 1 бит)
РЛК . х летнее время АДДК. х летнее время , летнее время Поворот влево через перенос
СБК . х летнее время СУБК. х #0, летнее время Вычесть заимствование (1-перенос) из пункта назначения
СЭТС БИС №1, СР Установить переносной бит
НАБОР БИС №4, СР Установить отрицательный бит
НАБОР БИС №2, СР Установить нулевой бит
ТСТ . х летнее время КМП. х #0, летнее время Тестовый пункт назначения

Обратите внимание, что непосредственные константы −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
15 14 13 12 11 10 9 8 7 6 5 4 3 2 1 0 Второе слово Инструкция
0 0 0 0 источник 0 0 код операции место назначения Расширенные перемещения регистров памяти
0 0 0 0 источник 0 0 0 0 летнее время MOVA @R источник , R dst
0 0 0 0 источник 0 0 0 1 летнее время MOVA @R источник +,R dst
0 0 0 0 адрес[19:16] 0 0 1 0 летнее время адрес[15:0] MOVA &abs20,R dst
0 0 0 0 источник 0 0 1 1 летнее время х[15:0] MOVA x(R источник ),R dst
0 0 0 0 n−1 на. 0 1 0 В/А место назначения Битовые сдвиги (1–4 битовые позиции)
0 0 0 0 n−1 0 0 0 1 0 В/А летнее время РРКМ . x # n ,R dst (Повернуть вправо до переноса.)
0 0 0 0 n−1 0 1 0 1 0 В/А летнее время РРАМ . x # n ,R dst (Арифметический поворот вправо, также известный как сдвиг вправо со знаком.)
0 0 0 0 n−1 1 0 0 1 0 В/А летнее время РЛАМ . x # n ,R dst (Арифметический поворот влево, также известный как сдвиг влево.)
0 0 0 0 n−1 1 1 0 1 0 В/А летнее время РРУМ . x # n ,R dst (Поворот вправо без знака, то есть логический сдвиг вправо.)
0 0 0 0 источник 0 1 1 на. место назначения Расширенные перемещения регистровой памяти
0 0 0 0 источник 0 1 1 0 адрес[19:16] адрес[15:0] MOVA R src ,&abs20
0 0 0 0 источник 0 1 1 1 летнее время х[15:0] MOVA R источник , x(R dst )
0 0 0 0 источник 1 код операции место назначения Расширенные операции ALU
0 0 0 0 имм [19:16] 1 0 0 0 летнее время имм[15:0] MOVA #imm20,R dst
0 0 0 0 имм [19:16] 1 0 0 1 летнее время имм[15:0] CMPA #imm20,R dst
0 0 0 0 имм [19:16] 1 0 1 0 летнее время имм[15:0] ADDA #imm20,R dst
0 0 0 0 имм [19:16] 1 0 1 1 летнее время имм[15:0] СУБА #imm20,R dst
0 0 0 0 источник 1 1 0 0 летнее время MOVA R источник , R dst
0 0 0 0 источник 1 1 0 1 летнее время CMPA R источник , R dst
0 0 0 0 источник 1 1 1 0 летнее время ADDA R источник , R dst
0 0 0 0 источник 1 1 1 1 летнее время SUBA R источник , R dst
0 0 0 1 0 0 1 1 на. режим варьируется КАЛЛА
0 0 0 1 0 0 1 1 0 0 0 0 0 0 0 0 RETI (то же, что и MSP430)
0 0 0 1 0 0 1 1 0 1 Как зарегистрироваться КАЛЛА Источник
0 0 0 1 0 0 1 1 1 0 0 0 пресс[19:16] абс[15:0] КАЛЛА &abs20
0 0 0 1 0 0 1 1 1 0 0 1 х[19:16] х[15:0] КАЛЛА x(ПК)
0 0 0 1 0 0 1 1 1 0 1 0 (сдержанный)
0 0 0 1 0 0 1 1 1 0 1 1 имм [19:16] имм[15:0] КАЛЛА #imm20
0 0 0 1 0 0 1 1 1 1 (сдержанный)
0 0 0 1 0 1 ты В/А n−1 зарегистрироваться Push/pop n регистров, оканчивающихся на указанный
0 0 0 1 0 1 0 В/А n−1 источник ПУШМ . x # n ,R src Нажмите R src , R( src −1), ... R( src n +1)
0 0 0 1 0 1 1 В/А n−1 dst-n+1 ПОПМ . x # n ,R dst Pop R( dst n +1), R( dst n +2), ... R dst

Ко всем остальным инструкциям можно добавить префиксное слово, которое расширяет их длину до 20 бит. Слово префикса содержит добавленный бит размера операнда, который объединяется с существующим битом B/W для указания размера операнда. Существует одна неиспользованная комбинация размеров; признаки позволяют предположить, что в будущем его можно будет использовать для 32-битного размера операнда. [17]

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

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

Префиксные слова MSP430X
15 14 13 12 11 10 9 8 7 6 5 4 3 2 1 0 Инструкция
0 0 0 1 1 А/Л 0 0 Расширенное слово
0 0 0 1 1 исходник[19:16] А/Л 0 0 летнее время [19:16] Расширение операнда памяти
0 0 0 1 1 0 0 ЗК 0 А/Л 0 0 n−1 Зарегистрировать расширение операнда (немедленный счетчик повторений)
0 0 0 1 1 0 0 ЗК 1 А/Л 0 0 Рн Зарегистрировать расширение операнда (счетчик повторений регистра)

Адресное пространство MSP430

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

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

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

Некоторые модели включают более 2048 байт оперативной памяти; в этом случае ОЗУ начинается с адреса 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 будет работать на винограде – видео на YouTube
  3. ^ «Микроконтроллеры смешанных сигналов MSP430FR573x» (PDF) . ti.com . Техасские инструменты . Проверено 27 июля 2024 г.
  4. ^ «Микроконтроллеры MSP430» . ti.com . Техасские инструменты . Проверено 27 июля 2024 г.
  5. ^ «Методика однотактного аналого-цифрового преобразования с использованием микроконтроллеров MSP430™» (PDF) . Техасские инструменты . 2017. Архивировано (PDF) из оригинала 3 февраля 2023 года . Проверено 3 сентября 2023 г.
  6. ^ Jump up to: а б Д. Петерс, Д. Рашкович и Д. Торсен, «Энергоэффективная параллельная встраиваемая система для приложений малых спутников» , ISAST Transactions on Computers and Intelligent Systems , vol. 1(2), 2009 г.
  7. ^ «Микроконтроллеры сверхмалого энергопотребления MSP430 – третий квартал 2000 г.» (PDF) . Техасские инструменты . Проверено 5 июля 2024 г.
  8. ^ Бирл, Лутц (2004). Большая практическая книга по MSP430 . Фрэнсис. п. 21. ISBN  377234299X .
  9. ^ «Бюллетень продукции — Микроконтроллеры сверхмалого энергопотребления MSP430 — второй квартал 1999 г.» (PDF) . Техасские инструменты . Проверено 5 июля 2024 г.
  10. ^ Микроконтроллеры MSP430 с самым низким энергопотреблением от Texas Instruments
  11. ^ Jump up to: а б [1] (стр. 43) [ только URL-адрес PDF ]
  12. ^ http://www.energia.nu , сайт Энергии.
  13. ^ Статья MSP430 [ постоянная мертвая ссылка ] опубликовано в журнале IEEE .
  14. ^ Визуальные решения
  15. ^ MSP430 LaunchPad (MSP-EXP430G2) , Wiki по встроенным процессорам Texas Instruments
  16. ^ «Микроконтроллер сверхмалого энергопотребления MSP430» (PDF) . Техасские инструменты . Проверено 9 июля 2008 г. [ постоянная мертвая ссылка ]
  17. ^ Бит размера назван A/L, где L (длинный) используется другими процессорами для обозначения 32-битных операндов. Также описание инструкции SXTX (Руководство пользователя семейства MSP430F5xx alau208f, стр. 237) описывает действие инструкции в битах регистра 20–31.
[ редактировать ]

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

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

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

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

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

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

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

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

Разные IDE

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

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

[ редактировать ]
Имя Производитель Интерфейс Протокол(ы) Статус
MSP-FET430PIF ИЗ Параллельный порт JTAG
MSP-FET430UIF ИЗ USB-интерфейс JTAG, Spy-Bi-Wire
МСП-ФЕТ ИЗ USB-интерфейс JTAG, Spy-Bi-Wire
Панель запуска MSP-430 ИЗ USB-интерфейс Шпионский двухпроводной интерфейс
MSP-430 LaunchPad eZ-FET ИЗ USB-интерфейс Шпионский двухпроводной интерфейс
eZ430-F2013 ИЗ USB-интерфейс Шпионский двухпроводной интерфейс устаревший
eZ430-RF2500 ИЗ USB-интерфейс Шпионский двухпроводной интерфейс
ФЕТП СофтБауг Параллельный порт JTAG
USBP СофтБауг USB-интерфейс JTAG, Spy-Bi-Wire прекращено
MSP430-JTAG Олимекс Параллельный порт JTAG
MSP430-JTAG-ISO Олимекс USB-интерфейс JTAG, Spy-Bi-Wire устаревший
MSP430-JTAG-ISO-МК2 Олимекс USB-интерфейс JTAG, Spy-Bi-Wire
MSP430-JTAG-крошечный Олимекс USB-интерфейс JTAG, Spy-Bi-Wire не найдено
MSP430-JTAG-TINY-V2 Олимекс USB-интерфейс JTAG?, Spy-Bi-Wire
MSP430-JTAG-РФ Олимекс USB-интерфейс JTAG, Spy-Bi-Wire
ФлэшПро-CC Элпротроник USB-интерфейс JTAG, Spy-Bi-Wire, BSL
ВисСим /ЭКД Визуальные решения USB-интерфейс JTAG, Spy-Bi-Wire
ЛА-3713 Лаутербах USB-интерфейс/Ethernet JTAG, Spy-bi-Wire

Другие инструменты

[ редактировать ]
Arc.Ask3.Ru: конец переведенного документа.
Arc.Ask3.Ru
Номер скриншота №: f2da3100695a340cbff440943caeff56__1722074100
URL1:https://arc.ask3.ru/arc/aa/f2/56/f2da3100695a340cbff440943caeff56.html
Заголовок, (Title) документа по адресу, URL1:
TI MSP430 - Wikipedia
Данный printscreen веб страницы (снимок веб страницы, скриншот веб страницы), визуально-программная копия документа расположенного по адресу URL1 и сохраненная в файл, имеет: квалифицированную, усовершенствованную (подтверждены: метки времени, валидность сертификата), открепленную ЭЦП (приложена к данному файлу), что может быть использовано для подтверждения содержания и факта существования документа в этот момент времени. Права на данный скриншот принадлежат администрации Ask3.ru, использование в качестве доказательства только с письменного разрешения правообладателя скриншота. Администрация Ask3.ru не несет ответственности за информацию размещенную на данном скриншоте. Права на прочие зарегистрированные элементы любого права, изображенные на снимках принадлежат их владельцам. Качество перевода предоставляется как есть. Любые претензии, иски не могут быть предъявлены. Если вы не согласны с любым пунктом перечисленным выше, вы не можете использовать данный сайт и информация размещенную на нем (сайте/странице), немедленно покиньте данный сайт. В случае нарушения любого пункта перечисленного выше, штраф 55! (Пятьдесят пять факториал, Денежную единицу (имеющую самостоятельную стоимость) можете выбрать самостоятельно, выплаичвается товарами в течение 7 дней с момента нарушения.)