Микроконтроллеры MSP430 — это процессоры для обработки смешанных (аналоговых и цифровых) сигналов (Mixed Signal Processor — MSP), обладающие сверхнизким энергопотреблением. Наиболее очевидное преимущество малого потребления проявляется в мобильных устройствах. Низкое энергопотребление позволяет реализовать идею одноразового питания, когда на протяжении всего срока эксплуатации изделия используется один незаменяемый источник. При этом источник питания устанавливается на фабрике, и исключается возможность поломки мобильного устройства в случае неправильной его замены. Эта идея применима для производства измерительных приборов, спортивного оборудования, портативных медицинских устройств. Кроме того, необходимо учитывать еще одно преимущество малого энергопотребления — сверхмалое электромагнитное излучение (EMI).
Компания Texas Instruments (TI) предлагает три семейства микроконтроллеров (MCU) для различных областей применения. На рис. 1 показано позиционирование данных семейств относительно производительности и разрядности.
Рис. 1. Основные семейства микроконтроллеров компании Texas Instruments
Семейство С2000 предназначено для приложений, где необходимы высокопроизводительные 32-разрядные микроконтроллеры, а также сигнальные процессоры начального уровня. В первую очередь — это системы управления двигателями и источники питания. Процессоры данного семейства могут обеспечить пиковую производительность до 150 MIPS.
Процессоры семейства TMS470 основаны на архитектуре ARM7TDMI и первоначально предназначались для реализации 32(16)-разрядных решений в автомобильных приложениях. Однако теперь семейство позиционируется как процессоры общего применения для решения широкого круга задач при проектировании промышленного оборудования, например при разработке медицинской техники, терминалов автоматической продажи, удаленных точек доступа.
Семейство MSP430 нацелено в первую очередь на реализацию 8- и 16-разрядных решений с ультранизким энергопотреблением. Предлагаемая линейка процессоров данного семейства предусматривает ряд стандартных решений для реализации малопотребляющих и портативных приборов. Семейство характеризуется сверхнизким энергопотреблением и минимальной стоимостью (от $0,49).
Сегодня микроконтроллеры со сверхнизким потреблением MSP430 — это всемирноизвестная и популярная серия устройств, включающая более 100 различных модификаций, имеющих Flash-память от 1 до 128 кбайт и количество выводов от 14 до 100, что позволяет подобрать идеальное решение для различных приложений. Распределение основных типов микроконтроллеров показано на рис. 2.
Рис. 2. Основные типы микроконтроллеров MSP430
Модификация MSP430x1xx была представлена в 2000 году и изначально позиционировалась как MCU с ультранизким энергопотреблением. Микроконтроллеры F1xx включают процессоры, начиная от чипов начального уровня C1101, стоимостью $0,49 и имеющих только ROM, до высокоинтегрированных устройств F16xx, обладающих Flash-памятью до 60 кбайт, памятью RAM до 10 кбайт, несколькими 12-разрядными АЦП (или ADC), 12-разрядными ЦАП (или DAC) и контроллером ПДП (прямой доступ к памяти, или DMA). Данные микроконтроллеры обеспечивают сверхнизкое потребление, производительность до 8 MIPS и могут работать в диапазоне питающих напряжений от 1, 8 до 3,6 В. Сегодня все чипы класса F1xx производятся в больших количествах. Они рекомендуются для новых разработок, однако создание новых модификаций F1xx не планируется. Предполагается плавный переход на микроконтроллеры класса F2xx. Краткая характеристика процессоров MSP430x1xx представлена в таблице 1.
Таблица 1. Краткая характеристика микроконтроллеров MSP430x1xx
Внастоящее время модификация MSP430x1xx является наиболее популярной. На рис. 3 показана функциональная схема микроконтроллеров MSP430F16x/15x. Данные чипы полностью совместимы с более ранними модификациями, такими как F14x/13x. Они производятся в корпусе с 64 выводами. На чипе есть контроллер ПДП, который может осуществить передачу данных от АЦП к ЦАП без участия центрального процессора. Имеется BOR, обеспечивающий защиту от перепадов напряжения. Кроме того, реализован расширенный интерфейс UART0, который может быть сконфигурирован для работы в режиме I2C, UART и SPI.
Рис. 3. Функциональная схема микроконтроллеров MSP430F16x/15x
Модификация MSP430F4xx предлагается для решения специфических прикладных задач, таких как реализация контрольного и измерительного оборудования. Процессоры F4xx строятся на базе F1xx путем добавления дополнительных модулей, например драйверов LCD-экранов, более точных модуляторов, 16-разрядных дельта-сигма АЦП, операционных усилителей и т. д. Чипы F4xx рекомендованы для новых разработок, кроме этого, планируется расширение данной линейки микроконтроллеров. Перечень характерных модификаций данных микроконтроллеров приведен в таблице 2.
Таблица 2. Краткая характеристика микроконтроллеров MSP430F4xx
Модификация MSP430F4xx предлагается для решения специфических прикладных задач, таких как реализация контрольного и измерительного оборудования. Процессоры F4xx строятся на базе F1xx путем добавления дополнительных модулей, например драйверов LCD-экранов, более точных модуляторов, 16-разрядных дельта-сигма АЦП, операционных усилителей и т. д. Чипы F4xx рекомендованы для новых разработок, кроме этого, планируется расширение данной линейки микроконтроллеров. Перечень характерных модификаций данных микроконтроллеров приведен в таблице 2.
Линейка чипов F4xx предлагает устройства, имеющие специфические модули, оптимизированные для построения таких устройств, как измерители температуры, водяные расходомеры (MSP430FWxxx), e-метры (MSP430FExxx) и глюкометры (MSP430FGxxx). К тому же имеются модули периферии, отвечающие за подключение LSD-индикаторов, реализующие высокоточные дельта-сигма АЦП. Данные микроконтроллеры постоянно пополняются новыми чипами с разнообразными наборами периферии.
В середине 2006 года запланирован выпуск чипов MSP430FG461x, предназначенных для портативных медицинских приборов. Высокая интеграция FG461x позволит строить законченные решения на одном чипе.
В процессорах FG461x реализована новая архитектура MSP430X, которая поддерживает прямую адресацию до 1 Мбайт памяти. Архитектура MSP430X полностью совместима с MSP430: все существующие библиотеки могут быть использованы без каких-либо ограничений. Расширенный способ адресации позволяет базовому набору команд MSP430 работать без дополнительной страничной адресации во всем объеме 1 Мбайт памяти, что положительно влияет на сокращение размера программного кода и повышение его быстродействия в целом.
Кроме того, в чипах FG461x применяется улучшенная система синхронизации (FLL), увеличено количество таймеров, реализован драйвер LCD, позволяющий повысить контрастность изображения независимо от питающего напряжения, улучшена работа сторожевого таймера. В чип встроен новый модуль часов реального времени, поддерживающих отсчет секунд, минут, часов, дней и месяцев. Все это приводит к снижению стоимости изделий на базе данного микроконтроллера, а также к повышению надежности в целом.
Модификация MSP430F2xx обеспечивает практически двукратное повышение производительности по сравнению с F1хх, при этом потребление снижено в два раза! Микроконтроллеры F2xx — идеальное решение для реализации новых устройств со сверхнизким потреблением, а также для проведения редизайна изделий, построенных на базе F1xx. Выпуск F2xx начался в 2005 году и будет продолжен в течение еще достаточно длительного срока. В таблице 3 приведены основные характеристики наиболее востребованных чипов из данной линейки.
Таблица 3. Краткая характеристика микроконтроллеров MSP430F2xx
Помимо повышения производительности и снижения потребляемой мощности по сравнению с ранними чипами MSP430F1xx, микроконтроллеры MSP430F2xx включают расширения, направленные на снижение полной стоимости системы и улучшение ее надежности. Это позволяет подобрать оптимальное решение для широкого круга задач.
Значительное расширение линейки микроконтроллеров F2xx намечено провести в течение 2006 и 2007 гг. Процессоры F2xx будут включать чипы, совместимые как по выводам, так и функционально с F1xx. Они обеспечат большую производительность, меньшее потребление и более широкий набор периферийных модулей. Запланировано производство и уникальных модификаций F2xx с новыми возможностями:
- внешние интерфейсы типа USCI (USART/SPI/I2C/IrDA);
- больший размер памяти (Flash до 120 кбайт);
- более низкое напряжение программирования Flash-памяти;
- улучшенная система синхронизации (LLF);
- высокочастотный тактовый генератор (XT);
- улучшенный сторожевой таймер (WDT+);
- начальный загрузчик с защитой от взлома;
- расширенный температурный диапазон и т. д.
Несмотря на огромное количество усовершенствований и дополнений, процессоры F2xx полностью совместимы с набором команд MSP430.
Высокая интеграция процессоров F2xxx и их сверхнизкое энергопотребление позволяет реализовать устройства с минимальным количеством навесных компонентов, то есть реализовать идею одночиповых устройств с одноразовыми незаменяемыми источниками питания. Пример такого устройства показан на рис. 4. Это датчик дыма и температуры, построенный на базе MSP430F2274.
Рис. 4. Пример реализации датчика дыма на базе MSP430F2274
В качестве индикатора дыма используется пара диодов IR-LED, измеряющих отраженный свет, величина которого определяется наличием дыма. Один из двух встроенных операционных усилителей чипа F2274 используется как преобразователь сопротивления для фотодиода. Температура измеряется терморезистором с отрицательным температурным коэффициентом. Встроенный АЦП производит измерения напряжений, соответствующих датчикам дыма и температуры. Если присутствует дым либо повышена температура сверх допустимого предела, происходит запуск программы обработки аварийной ситуации.
Работает датчик в режиме ожидания (LPM3), все компоненты, кроме внутреннего генератора и таймера, выключены. При переполнении таймера датчик переходит в активный режим и проводит измерения. Таймер переполняется один раз в 8 секунд.
Производство модификации MSP430x5xx планируется в конце 2006 года. Чипы F5xx, полностью совместимые с существующими MSP430, будут иметь еще больший объем памяти, производительность и более разнообразную периферию. Подробная информация по характеристикам F5xx будет доступна ближе к осени 2006 года.
Семейство MSP430 сегодня предлагает различные решения для рынка радиоустройств со сверхнизким потреблением. После приобретения фирмы Chipcon компания TI может претендовать на одно из ведущих мест в этой области. Так, планируется к производству ряд новых устройств на базе решений от Chipcon и микроконтроллеров MSP430.
Уже сегодня доступны решения для технологии ZigBee на 2,4 ГГц. Предлагаемые модули построены на базе микроконтроллера MSP430F1612 и чипа CC2420 от компании Chipcon. Более подробную информацию о данном предложении можно найти по адресу www.airbeewireless.com.
В конце текущего года компания TI также намерена предложить на рынок новое изделие CC430F2xxx. Этот чип включает микроконтроллер MSP430F22x4 и модуль CC1100. Данное устройство может использоваться для реализации дешевых удаленных датчиков.
Как отмечалось выше, главная особенность микроконтроллеров MSP430 — сверхнизкое энергопотребление. Архитектура этих микроконтроллеров специально разработана для реализации приложений, в которых необходимо минимизировать энергопотребление. Даже режим их функционирования направлен на уменьшение энергозатрат и продление жизни батарейных источников питания. Почти все время процессор находится в режиме ожидания и потребляет всего 0,8 мкA, лишь при производительности 1 MIPS в активном режиме энергопотребление возрастает до 250 мкA, при этом переход из ожидания в активный режим осуществляется менее чем за 1 мкс. Примерный режим функционирования изделий на базе микроконтроллеров MSP430 показан на рис. 5.
Рис. 5. Режим функционирования MSP30
Микроконтроллер MSP430 является первым, где используется встроенный модуль защиты от провалов напряжения с нулевым потреблением (zero-power brown-out reset—BOR). На рис. 6 показана типичная ситуация, иллюстрирующая, что происходит с уровнем напряжения при подключении батареи питания.
Рис. 6. Осциллограмма питающего напряжения при подключении источника питания
Модуль BOR производит сброс (reset) MCU в случае, если напряжение питания VCC имеет провалы меньше номинального уровня, но выше нулевого. Так как BOR имеет нулевое потребление, он работоспособен практически в любых режимах.
Модуль BOR, реализованный у конкурентов, имеет потребление в диапазоне 10–50 мкA и его рекомендуется отключать в режиме малого потребления, что не очень практично, поскольку провалы напряжения происходят и в режимах с малыми токами потребления. Для обеспечения максимальной надежности модуль BOR должен функционировать всегда. Поэтому все существующие модификации MSP430 — F2xx, F4xx, F16x, F15x, F1xx2, а также все будущие MSP430, имеют и будут иметь модуль BOR с нулевым потреблением!
Эффективная 16-разрядная RISC-архитектура процессоров MSP430 позволяет значительно уменьшить размер кода и повысить эффективность обработки сигналов по сравнению с современными 8-разрядными MCU.
Набор интеллектуальных периферийных модулей, предназначенных для обработки смешанных сигналов, включает АЦП разрядностью от 10 до 16 бит, компараторы, ЦАП, драйверы для LCD-индикаторов и супервизоры питания. Интеллектуальной периферия названа потому, что может выполнять ряд операций без участия ядра процессора, что позволяет снизить энергопотребление чипа в целом. Кроме того, интеллектуальная периферия повышает скорость выполнения программного кода за счет его компактности.
Применяется несколько тактирующих генераторов (рис. 7) для обеспечения как низкого энергопотребления, так и высокой производительности «по требованию».
Рис. 7. Система тактирования микроконтроллера MSP430
Микроконтроллер MSP430 имеет гибкую систему тактирования, которая использует один внешний 32 кГц кварц для низкочастотного вспомогательного генератора (Auxiliary Clock — ACLK) без дополнительных компонентов. Вспомогательный генератор включен в режиме ожидания (LPM3) и обеспечивает работу MSP430 в реальном времени. Имеется дополнительный внутренний генератор на 12 кГц с очень низким энергопотреблением (very-low power oscillator — VLO), который в семействах MSP430F2xx/F5xx может использоваться как источник ACLK. В режиме ожидания (LPM3) микроконтроллеры MSP430 обычно потребляют меньше 1 μA.
В качестве источника опорного колебания для центрального процессора (CPU) и быстродействующих внешних устройств используется встроенный высокочастотный генератор (digitally controlled oscillator — DCO). Его конструктивное решение таково, что DCO включается и готов к работе меньше чем за 1мкс без промежуточных шагов. Это позволяет «моментально» выполнять высокопроизводительные приложения — никакого «длинного», или 2-ступенчатого, запуска для DCO. К тому же DCO программно конфигурируется, и тактовая частота может быть выбрана в соответствии с требованиями прикладных программ.
При реализации устройств на базе MSP430 можно использовать только внутренние генераторы DCO и VLO, без дополнительных внешних компонентов. Высокочастотный встроенный генератор может быть использован и в высокопроизводительных приложениях.
При использовании MSP430, обладающих низким энергопотреблением, небольшим корпусом и высокостабильными модуляторами, очень важным преимуществом является наличие встроенного эмулятора.
Применение встроенного эмулятора дает огромное преимущество при разработке современных приложений. Встроенный эмулятор находится непосредственно на чипе MSP430, постоянно отслеживает работу всех модулей микроконтроллера и доступен через стандартный разъем JTAG, не используя дополнительных системных ресурсов.
Теперь, с момента создания нового устройства, разработчики имеют возможность проектировать и отлаживать программный код в реальном времени, используя аппаратные точки остановки и пошаговую отладку непосредственно на целевой плате.
Встроенная эмуляция особенно важна для систем обработки смешанных сигналов, которые должны корректно работать с небольшими по амплитуде аналоговыми сигналами. Очень трудно проводить отладку при помощи отдельной схемы эмулятора, так как возникает проблема взаимовлияния цифровых сигналов в соединительных проводниках. Эта проблема полностью отсутствует при использовании встроенного в микроконтроллер эмулятора.
Гибкое объединение программируемой Flash-памяти, встроенного эмулятора и единого пользовательского интерфейса значительно облегчает разработку изделий. И, что очень важно, позволяет в любой момент внести коррективы в отлаживаемый код. Применение встроенного эмулятора ускоряет реализацию проекта, уменьшает количество ошибок и снижает конечную цену продукта. Необходимо отметить, что доступ к порту JTAG может быть отключен при помощи невосстанавливаемых плавких предохранителей.
Микроконтроллеры MSP430 используют единое адресное пространство для кода, данных и периферийных устройств (рис. 8). Реализован механизм прямого, без каких-либо ограничений, доступа к программному коду и данным в любом месте адресного пространства, которое включает Flash, ROM, RAM и периферийные устройства. Вся память Flash и RAM может быть адресована побайтно (8 бит) или пословно (16 бит).
Рис. 8. Карта памяти микроконтроллеров MSP430
Адреса периферийных модулей собраны ниже 0×200. Ко всем периферийным устройствам может применяться полный набор команд и все способы адресации.
Главный раздел (main memory segments) Flash разбит на сегменты размером 512 байт. Существует также небольшой дополнительный информационный сегмент (information memory segment). Единственное различие между главным разделом и информационным сегментом — их размер, а программный код и данные могут располагаться где угодно. Общее количество сегментов в главном разделе Flash зависит от типа устройства, в примере на рис. 8 показан раздел размером 4 кбайт, имеющий восемь сегментов.
Память Flash работает при напряжении 1,8–3,6 В. Программирующее (стирающее) напряжение равно 2,7 В (для F2xx оно уменьшено до 2,2 В). Flash может быть стерта и повторно запрограммирована 100 000 раз при гарантированном времени хранения программы и кода до 100 лет. Время программирования 60 кбайт Flash составляет 2 секунды.
Есть три метода программирования Flash: использование внутрисхемного программирования через интерфейс JTAG, использование программы начальной загрузки (Bootstrap Loader — BSL) или перепрограммирование в ходе выполнения пользовательских приложений. Программа начальной загрузки расположена в секции ROM и всегда доступна по интерфейсу UART со скоростью 9600 бод.
Алгоритм программирования Flash очень прост и синхронизируется аппаратными средствами. Для обеспечения безопасности Flash не может быть запрограммирована или стерта, если при обращении к управляющим регистрам не задан пароль. Когда происходит программирование или стирание памяти, выполнение программы, записанной во Flash, приостанавливается. Затем выполнение программы возобновляется со следующей команды или любого разрешенного прерывания, которое произошло в течение операции автоматического программирования (стирания).
Ядро микроконтроллера MSP430 (рис. 9) имеет ограниченный набор команд (RISC), является 16-разрядным и оптимизировано для реализации самых современных и передовых методов программирования.
Рис. 9. Структура ядра микроконтроллеров MSP430
Архитектура процессора обеспечивает гибкую 16-разрядную адресацию и однотактовые регистровые операции. Устранено одно из типичных узких мест контроллеров — наличие единственного аккумулятора. Регистры ядра (CPU), включая программный счетчик, указатель стека, регистр статуса и 12 рабочих регистров, являются полнодоступными.
Современный ограниченный набор инструкций (Reduced Instruction Set — RISC) для CPU микроконтроллера включает только 27 простых команд и определяет 7 моделей адресации. Во всем адресном пространстве — Flash, RAM, периферия и CPU-регистры — используются одинаковые инструкции и модели адресации. Все инструкции имеют как 16-, так и 8-битовые форматы. Микроконтроллеры MSP430 обеспечивают ортогональное проектирование, поскольку все инструкции и модели адресации выполняются последовательно во всех областях памяти.
В CPU интегрирован генератор констант (constant generator) для автоматического формирования шести наиболее часто используемых величин. Это позволяет уменьшить размер кода за счет непосредственного вложения значения констант в код программы.
Для обеспечения работы в режиме реального времени и сохранения кодового пространства реализован полный набор команд для операций прямой пересылки «память–память». При этом нет необходимости использовать промежуточные регистровые операции.
Микроконтроллеры MSP430 уже сейчас обеспечивают производительность до 16 MIPS, а в ближайшее время планируется изготовить чипы с еще большим быстродействием.
В результате всех схемотехнических решений получился 16-разрядный, со сверхнизким потреблением, высокопроизводительный процессор, обеспечивающий компактный и эффективный код.
Сегодня многие приложения разрабатываются на языках высокого уровня, таких как Си. Для получения высокоэффективного Сикода самое главное — компилятор. Для построения хорошего компилятора необходимы ортогональный набор инструкций и как можно больше рабочих регистров, которые желательно использовать без каких-либо ограничений. Компилятору также необходим стек для передачи параметров и хранения промежуточных результатов. Все перечисленные факторы и определили основные требования, заложенные в архитектуру MSP430. Эти требования кратко перечислены ниже.
Ортогональный набор инструкций (Orthogonal instruction set). Набор команд микроконтроллера MSP430 содержит всего 27 инструкций, однако каждая из них может применяться без ограничений при любом режиме адресации для всего адресного пространства. Это позволяет при помощи небольшого компактного набора команд реализовывать даже для очень сложных приложений простые и ясные коды, имеющие небольшую стоимость и обеспечивающие низкое энергопотребление CPU. Размер программного кода, который позволяет получить предлагаемый набор команд, по отношению к ряду современных компиляторов других производителей показан на рис. 10.
Рис. 10. Сравнительная характеристика размера кода
Большое количество регистров (High register count). Дополнительно к программному счетчику и указателю стека имеется 12 полнодоступных 16-разрядных идентичных регистров общего назначения.
Отсутствие страничной адресации (Page free). Архитектура MSP430 позволяет осуществлять прямую адресацию в пределах 64 кбайт адресного пространства.
Стековая обработка (Stack processing). Указатель стека допускает полную адресацию при помощи регистров общего назначения с возможностью проведения любых манипуляций с данными, находящимися в стековой области RAM.
Удобство реализации переходов (Usability of jumps). Определено восемь однословных команд для реализации условных переходов в пределах +512.
Три модели адресации (symbolic, absolute и immediate) позволяют выполнять элементарные операции «память–память» с полным набором инструкций. Эти модели адресации очень важны для построения компактного кода и увеличения производительности.
Пословная и побайтная обработка (Byte and word processing). Любая инструкция может быть использована с 16- и 8-и разрядными типами данных. Данное свойство особенно полезно при реализации обработки таблиц, так как позволяет реализовывать эффективную обработку информации.
Генератор констант (Constant generator). Генератор констант автоматически генерирует шесть наиболее часто используемых констант аппаратно.
Низкие токи утечки выводов портов. При подключении внешних сигнальных цепей выводы портов имеют токи утечки меньше 50 нA. Для примера: обычные MCU имеет токи утечки порядка 1–10 мкA.
Внутрисхемная эмуляция. Реализация внутрисхемной эмуляции (in circuit emulator-ICE) позволяет значительно снизить трудоемкость разработки и отладки программного кода, а также дает очень мощный инструмент тестирования уже готового изделия.
Для реализации технологии ICE в каждом чипе MSP430 предусмотрен встроенный отладочный модуль, не использующий ресурса процессора и имеющий доступ ко всем элементам чипа. Через интерфейс JTAG этот отладочный модуль подключается к ПК, где разработчик имеет возможность считывать и контролировать основные параметры микроконтроллера в реальном времени. Для подключения чипов к ПК предназначено специальное устройство — эмулятор.
Компания TI предлагает несколько отладочных наборов, включающих эмулятор, отладочную плату с микроконтроллером и программное обеспечение для разработки и отладки программного кода.
Одним из таких наборов является eZ430-F2013. Его внешний вид показан на рис. 11. Он очень компактен, дешев ($20), подключается к ПК по USB-интерфейсу и обеспечивает достаточно широкие возможности по начальному освоению микроконтроллеров MSP430F20xx. В набор входят все необходимые программные инструменты для полнофункциональной разработки программного кода.
Рис. 11. Отладочный комплект начального уровня eZ430-F2013
Комплект eZ430-F2013 включает две крошечные отладочные платы: непосредственно эмулятор и съемную плату с микроконтроллером и светодиодом. Эмулятор подключается к порту USB. Связь с микроконтроллером осуществляется по JTAG-интерфейсу, причем новые микроконтроллеры MSP430F20xx используют 2-проводный JTAG-интерфейс (рис. 12).
Рис. 12. Двухпроводной JTAG-интерфейс
Компания TI предлагает и более функциональные отладочные средства. Например, отладочный комплект FET (Flash Emulation Tool). В набор входит эмулятор, отладочная плата с сокетом, соединительные кабели для USB- и JTAG-интерфейсов. Этот комплект представлен на рис. 13.
Рис. 13. Отладочный комплект начального уровня FET
В качестве программного инструмента для всех наборов может быть использована отладочная среда IAR Kickstart, поставляемая на CD-диске. Ее вид после запуска показан на рис. 14. Данный инструмент включает Си-компилятор, ассемблер, компоновщик, отладчик, текстовый редактор. Он позволяет производить все необходимые операции по разработке и отладке программного кода. Дает широкие возможности по визуальному контролю работы микроконтроллера непосредственно в разрабатываемом устройстве. Правда, необходимо отметить, что версия, поставляемая с дешевым отладочным комплектом, имеет ограничения по максимальному размеру кода. На первых порах, когда проходит знакомство с процессором, это не является проблемой. Но в дальнейшем рекомендуется приобрести полнофункциональную версию продукта.
Рис. 14. Отладочная среда IAR Kickstart
На этом краткий обзор микроконтроллеров MSP430 закончен. Для получения более полной информации можно обратиться на сайт компании Texas Instruments www.ti.com/msp430.
10 июля Саид Терани, директор Freescale по программе MRAM, сообщил, что корпорация Freescale Semiconductor начала коммерческие поставки 4-Мбит микросхем магнито-резистивной памяти RAM (MRAM — Magneto-Resistive Random Access Memory), с ценами при покупке малой партии около $25 за чип.
Аналитики считают, что Freescale к массовому производству MRAM после двух лет исследований и опытного производства наконец-то достигло цели. «Прорыв Freescale Semiconductor говорит о том, что мы сейчас вступаем в эру технологии новой памяти», — сказал аналитик компании Semico Research Боб Мерит. Приход MRAM в современную электронику произошел после нескольких десятилетий, на протяжении которых в производстве доминировали такие типы памяти, как DRAM, SRAM и Flash, а также ферроэлектрические виды памяти (FeRRAM, FRAM), занимавшие свою нишу.
Память MRAM являются весьма быстрыми — время чтения и записи составляет всего 35 нс. И память Flash, и MRAM являются энергонезависимыми, но MRAM имеет практически неограниченную долговечность при отсутствии проблем износа и старения.
Хотя скептики сомневаются, сможет ли размер ячейки MRAM быть конкурентоспособным на чувствительном к цене рынке памяти, Терани говорит, что 4-Мбит чип имеет размер ячейки 1,26 мкм2 при технологическом процессе 0,18 мкм. Корпорация Freescale пропустит технологию 0,13 мкм и сразу «перепрыгнет» к техпроцессу 90 нм, при котором размер ячейки будет всего 0,29 мкм2. И это в сравнении с примерно 1 мкм2 для 90-нм памяти SRAM, которая использует шеститранзисторную структуру на бит информации.
Несмотря на то, что корпорация Freescale на этом этапе может создавать 16-Мбит чипы DRAM, представитель компании считает, что она «не имеет цели стать продавцом товаров MRAM». Целью же является замена Flash и других типов памяти в микроконтроллерах, включая МК для автомобильных применений, где надежность и долговечность являются ключевыми факторами. В MRAM «не существует механизма изнашивания, в отличие от других видов энергонезависимой памяти. Изнашивание особенно сильно для Flash-памяти, а также некоторых видов ферроэлектрической памяти», — сказал он.
25 октября 2019
Александр Русу (г. Одесса)
Основные преимущества 16-разрядных RISC-микроконтроллеров MSP430 производства Texas Instruments – малое энергопотребление и развитая экосистема разработки. Это делает идеальным их применение в приложениях с батарейным питанием.
Первые модели 16-разрядных RISC-микроконтроллеров MSP430 компания Texas Instruments представила в 1999 году. Кроме нестандартной (по тем временам) разрядности представители этого семейства отличались еще и ультрамалым энергопотреблением, что сразу привлекло к ним внимание разработчиков устройств с батарейным питанием, в которых, как известно, снижение потребляемого тока даже на один микроампер позволяет значительно увеличить время автономной работы. На сегодняшний день семейство MSP430 насчитывает более 500 приборов и с каждым годом завоевывает все большую популярность у разработчиков электроники благодаря целому ряду ключевых преимуществ.
Ключевые преимущества семейства MSP430
Разрядность 16-бит. Для современных измерительных устройств и систем возможностей существующих 8-разрядных платформ очень часто оказывается недостаточно, а построение их на основе 32-разрядных решений приводит к появлению ненужной избыточности и необоснованного повышения энергопотребления. В этом случае 16-разрядные микроконтроллеры MSP430 являются наилучшим выбором, поскольку они, не имея ограничений, присущих 8-разрядных системам, обладают соизмеримой с ними стоимостью и экономичностью.
Ортогональная система команд. Все микроконтроллеры MSP430 имеют одинаковый набор из 27 продуманных ортогональных инструкций, позволяющих добиться высокой плотности кода. Это означает, что при одной и той же функциональности прошивка микроконтроллера MSP430 потребует меньшего количества памяти программ, чем для 8-разрядных платформ.
Ультрамалое энергопотребление. Возможность тактирования каждого периферийного модуля асинхронно от ядра позволило создать множество вариантов энергосберегающих режимов и довести ток потребления в самом экономичном из них до 15 нА. Очевидно, что это свойство наилучшим образом подходит для устройств с батарейным питанием, многие из которых являются основой для широкого круга интеллектуальных систем.
Энергонезависимая сегнетоэлектрическая память FRAM – одно из ключевых преимуществ семейства. Сегнетоэлектрическая память FRAM с произвольным доступом по производительности не уступает традиционным статическим ОЗУ, но при этом, в отличие от них, сохраняет данные при отключении питания. Это позволяет позиционировать семейство MSP430 не только в качестве замены традиционных микроконтроллеров с Flash-памятью, но и для приложений, требующих настоящего энергонезависимого ОЗУ, например, в системах сбора и накопления данных, где необходимо часто обновлять или перезаписывать информацию «на лету».
Развитая периферия. Кроме традиционных портов ввода-вывода общего назначения (GPIO) микроконтроллеры MSP430 могут содержать узлы, необходимые для работы с аналоговыми сигналами (АЦП, ЦАП, компараторы, операционные и трансимпедансные усилители) и цифровыми сигналами (таймеры, ШИМ-модуляторы, сигнальные процессоры, модули расчета CRC). В состав каждого, даже самого простого микроконтроллера обычно входит как минимум один модуль, позволяющий ему обмениваться данными с помощью популярных интерфейсов: USART, SPI, USB и других. Кроме этого, в семействе MSP430 существуют специализированные микроконтроллеры, предназначенные для работы с жидкокристаллическими индикаторами, сенсорными клавиатурами, ультразвуковыми датчиками и другой специфической аппаратурой.
Всесторонняя техническая поддержка. Компания Texas Instruments в рамках концепции «One Platform, One Ecosystem, Endless Possibilities» («одна платформа, одна экосистема, безграничные возможности») обязуется поддерживать разработчика на каждом этапе работы над проектом. С официального сайта компании можно скачать подробную техническую документацию на все микроконтроллеры семейства, бесплатные инструменты для разработки программного обеспечения, примеры готовых проектов с исходным кодом, обучающие информационные текстовые и видеоматериалы, а также заказать отладочные и демонстрационные платы. Кроме этого, семейство MSP430 поддерживается многими сторонними производителями, предлагающими свои инструменты для работы с данными приборами, например, среду разработки программного обеспечения IAR Embedded Workbench от шведской компании IAR Systems.
Ключевые направления использования семейства MSP430
Устройства с батарейным питанием. Ультрамалое потребление в сочетании с повышенной разрядностью и возможностью организации энергонезависимой оперативной памяти уже давно стало «визитной карточкой» этого семейства. Поэтому одно из ключевых направлений использования микроконтроллеров MSP430 – автономные устройства с батарейным питанием, например, устройства Интернета вещей (IoT-устройства).
Замена специализированных микросхем. Это направление сформировалось относительно недавно и заключается в замене традиционных узкоспециализированных микросхем, таких как энергонезависимая память, преобразователи интерфейсов, контроллеры сброса, мониторы питания, часы реального времени и многие другие, более функциональными аналогами на основе микроконтроллеров MSP430. Такой подход позволяет не только снизить стоимость устройства, поскольку в большинстве случаев решения на основе MSP430 будут стоить дешевле, но и повысить функциональность этих узлов за счет возможности гибкой настройки и программирования, в том числе и в реальном времени. Для поддержки этого направления была запущена специальная программа «25 функций за 25 центов», в рамках которой можно скачать примеры реализации 25 наиболее популярных узлов, используемых в современной радиоаппаратуре.
Традиционные автоматизированные устройства и системы. Наличие специфических особенностей не означает, что микроконтроллеры MSP430 нельзя использовать в традиционных устройствах и системах. Напротив, за счет повышенной разрядности реализовать систему на основе MSP430 можно проще и быстрее, чем на традиционных 8-разрядных микроконтроллерах. А малое энергопотребление и привлекательная цена будут являться дополнительными стимулами для выбора этой платформы.
Архитектура микроконтроллеров семейства MSP430
Структурная схема микроконтроллеров MSP430 показана на рисунке 1. Как видно из рисунка, в этом семействе используется архитектура фон Неймана с единым адресным пространством для команд и данных.
Рис. 1. Структурная схема микроконтроллеров MSP430
Любой периферийный модуль микроконтроллера может тактироваться асинхронно от ядра, что позволяет гибко настраивать его рабочую частоту, а значит – и энергопотребление микросхемы в целом. Кроме этого, в составе подсистемы распределения тактовой частоты (Clock System Control, CSC) присутствует встроенный RC-генератор с программируемой частотой (Digital Controlled Oscillator, DCO) и очень малым временем выхода из режима пониженного энергопотребления, составляющим менее 10 мкс. Это позволяет создавать устройства с минимально возможным временем отклика и уменьшать энергопотребление без ущерба для скорости обработки информации.
Другой ключевой особенностью микроконтроллеров семейства MSP430 ValueLine является использование энергонезависимой сегнетоэлектрической оперативной памяти с произвольным доступом (Ferroelectric Random Access Memory, FRAM) для хранения программного кода и пользовательских настроек. Обладая производительностью, эквивалентной производительности традиционных статических ОЗУ (SRAM), FRAM сохраняет данные при отключении питания и при этом обладает впечатляющим сроком службы, составляющим не менее 1015 циклов перезаписи, что намного превышает ресурс самой высококачественной Flash-памяти (обычно 106 циклов). Кроме этого, для записи в сегнетоэлектрическую ячейку требуется намного меньше энергии, чем при использовании технологии Flash. Это означает, что использование FRAM, помимо общего уменьшения энергопотребления, дает значительный выигрыш в быстродействии микроконтроллера за счет увеличения скорости выполнения команд.
Поскольку FRAM поддерживает режимы побайтного (8-бит) и пословного (16-бит) доступа, то у разработчиков появляется возможность ее гибкого сегментирования на память программ, память данных (для хранения настроек) и энергонезависимое ОЗУ. Помимо общей оптимизации использования памяти, это открывает разработчикам совершенно новые возможности, позволяя создавать устройства, реализация которых на основе микроконтроллеров с традиционной SRAM была бы крайне затруднена.
Среди интерфейсных модулей следует особо отметить модуль USB, отличающийся наличием собственной подсистемы питания из двух LDO-стабилизаторов, формирующих из входного напряжения 5-вольтовой USB-шины два напряжения: 3,3 В и 1,8 В. Очевидно, что наличие столь высокоинтегрированного решения значительно упрощает разработку устройств с USB-интерфейсом.
Линейки микроконтроллеров семейства MSP430
На данный момент семейство микроконтроллеров MSP430 представлено тремя линейками:
- Value Line (MSP430FR2xxx);
- CapTIvate (MSP430FR25x/26x);
- Ultrasonic Sensing (MSP430FR504x/604x).
Микроконтроллеры линейки Value Line (таблица 1) обладают высокой производительностью и плотностью кода, характерными для 16-разрядных приложений, в сочетании с традиционными для 8-разрядных решений экономичностью и невысокой стоимостью. Особенностью этой линейки является возможность работы в широком диапазоне питающих напряжений 1,8…3,6 В и ультрамалый ток потребления, максимальное значение которого в активном режиме не превышает 2 мА, в режиме ожидания – менее 1 мкА, а в выключенном состоянии – всего 15 нА. Все это делает их идеальными для малогабаритных и портативных устройств с батарейным питанием.
Таблица 1. Характеристики микроконтроллеров линейки Value Line
Наименование | FRAM, кбайт | SRAM, кбайт | АЦП (каналов) | GPIO | I2C | SPI | UART | Доп. функции | Компаратор | Корпус |
---|---|---|---|---|---|---|---|---|---|---|
MSP430FR2000 | 0,5 | 0,5 | Slope | 12 | 0 | 1 | 1 | – | 4 | TSSOP, VQFN |
MSP430FR2032 | 8 | 1 | 10-разр. SAR (10) | 60 | 1 | 2 | 1 | IR Logic | – | LQFP, TSSOP, TSSOP |
MSP430FR2033 | 16 | 2 | 10-разр. SAR (10) | 60 | 1 | 2 | 1 | IR Logic | – | LQFP, TSSOP, TSSOP |
MSP430FR2100 | 1 | 0,5 | 10-разр. SAR (8) | 12 | 0 | 1 | 1 | – | 4 | TSSOP, VQFN |
MSP430FR2110 | 2 | 1 | 10-разр. SAR (8) | 12 | 0 | 1 | 1 | – | 4 | TSSOP, VQFN |
MSP430FR2111 | 4 | 1 | 10-разр. SAR (8) | 12 | 0 | 1 | 1 | – | 4 | TSSOP, VQFN |
MSP430FR2310 | 2 | 1 | 10-разр. SAR (8) | 16 | 1 | 2 | 1 | OpAmp, TIA | 2 | TSSOP, TSSOP, VQFN |
MSP430FR2311 | 4 | 1 | 10-разр. SAR (8) | 16 | 1 | 2 | 1 | OpAmp, TIA | 2 | TSSOP, TSSOP, VQFN |
MSP430FR2422 | 8 | 2 | 10-разр. SAR (8) | 15 | 1 | 2 | 1 | 2 16-bit Timers | – | TSSOP, VQFN |
MSP430FR2433 | 16 | 4 | 10-разр. SAR (8) | 19 | 1 | 2 | 2 | 4 16-bit Timers | – | VQFN |
MSP430FR4131 | 4 | 0,5 | 10-разр. SAR (10) | 60 | 1 | 2 | 1 | LCD, IR Logic | – | LQFP, TSSOP, TSSOP |
MSP430FR4132 | 8 | 1 | 10-разр. SAR (10) | 60 | 1 | 2 | 1 | LCD, IR Logic | – | LQFP, TSSOP, TSSOP |
MSP430FR4133 | 16 | 2 | 10-разр. SAR (10) | 60 | 1 | 2 | 1 | LCD, IR Logic | – | LQFP, TSSOP, TSSOP |
Микроконтроллеры линейки Value Line имеют 0,5…4 кбайт встроенной FRAM-памяти и позиционируются в качестве альтернативы традиционным 8-разрядным решениям, а также более ранним версиям микроконтроллеров MSP430G2x с Flash-памятью. В последнем случае благодаря полной совместимости достаточно просто заменить микроконтроллер без каких-либо переделок печатной платы.
Микроконтроллеры линейки CapTIvate (таблица 2) ориентированы на использование в устройствах с сенсорным управлением. Все микроконтроллеры этой линейки содержат встроенный специализированный периферийный модуль CapTIvate, позволяющий контролировать кнопки, ползунки (слайдеры) и колеса прокрутки, не содержащие механических контактов. Используемая в модуле уникальная технология измерения емкости в широком диапазоне (10 фФ…300 пФ) отличается высокой чувствительностью и обеспечивает четкую работу органов управления как при использовании различных металлических, стеклянных, пластиковых и других накладок, так и в самых сложных условиях – при наличии влаги, грязи, жира и прочих загрязнений. Еще одной особенностью модуля CapTIvate является возможность одновременной работы с несколькими датчиками, которые можно включать как последовательно, так и параллельно.
Таблица 2. Характеристики микроконтроллеров линейки CapTIvate
Наименование | FRAM, кбайт | SRAM, кбайт | АЦП (каналов) | GPIO | I2C | SPI | UART | Доп. функции | Компаратор | Корпус |
---|---|---|---|---|---|---|---|---|---|---|
MSP430FR2512 | 8 | 2 | 10-разр. SAR (8) | 15 | 1 | 2 | 1 | RTC | – | TSSOP, VQFN |
MSP430FR2522 | 8 | 2 | 10-разр. SAR (8) | 15 | 1 | 2 | 1 | RTC | – | TSSOP, VQFN |
MSP430FR2533 | 16 | 2 | 10-разр. SAR (8) | 19 | 1 | 2 | 2 | RTC | – | TSSOP, VQFN |
MSP430FR2632 | 8 | 2 | 10-разр. SAR (8) | 15 | 1 | 2 | 2 | RTC | – | DSBGA, VQFN |
MSP430FR2633 | 16 | 4 | 10-разр. SAR (8) | 19 | 1 | 2 | 2 | RTC | – | DSBGA, TSSOP, VQFN |
MSP430FR2675 | 32 | 6 | 12-разр. SAR (12) | 43 | 2 | 4 | 2 | RTC | 4 | LQFP, VQFN |
MSP430FR2676 | 64 | 8 | 12-разр. SAR (12) | 43 | 2 | 4 | 2 | RTC | 4 | LQFP, VQFN |
Микроконтроллеры линейки Ultrasonic Sensing (таблица 3), благодаря наличию специализированного модуля USS (Ultrasonic Sensing Solution), ориентированы на использование в приложениях, требующих определения расхода жидкости или газа. Особенностью модуля USS является минимальное количество внешних компонентов, что положительно сказывается на стоимости конечного устройства. Кроме этого, в состав периферийных модулей микроконтроллеров данной линейки входят все необходимые вспомогательные узлы, используемые в подобных приложениях: часы реального времени, АЦП, компараторы, драйверы ЖКИ и другие. Микроконтроллеры Ultrasonic Sensing также содержат малопотребляющий математический сопроцессор (Low-EnergyAccelerator, LEA), позволяющий выполнять умножение матриц, быстрые преобразования Фурье, цифровую фильтрацию и другие вычисления без затрат процессорного времени. Все это позволяет реализовать достаточно сложные в функциональном плане приложения фактически в однокристальном исполнении.
Благодаря малому энергопотреблению микроконтроллеры линейки Ultrasonic Sensing идеально подходят для использования в портативных и стационарных измерительных устройствах с батарейным питанием, в том числе и в счетчиках воды, газа и тепловой энергии.
Таблица 3. Характеристики микроконтроллеров линейки UltrasonicSensing
Наименование | FRAM, кбайт | SRAM, кбайт | АЦП (каналов) | GPIO | I2C | SPI | UART | Доп. функции | Компаратор | Корпус |
---|---|---|---|---|---|---|---|---|---|---|
MSP430FR60431 | 64 | 12 | 12-разр. SAR (8) | 57 | 2 | 6 | 4 | DMA, LCD, LEA, MTIF RTC | 12 | LQFP |
MSP430FR6043 | 64 | 12 | 12-разр. SAR (8) | 57 | 2 | 6 | 4 | DMA, LCD, LEA, MTIF RTC | 12 | LQFP |
MSP430FR6041 | 32 | 12 | 12-разр. SAR (8) | 57 | 2 | 6 | 4 | DMA, LCD, LEA, MTIF RTC | 12 | LQFP |
MSP430FR50431 | 64 | 12 | 12-разр. SAR (8) | 44 | 2 | 6 | 4 | DMA, LCD, LEA, MTIF RTC | 12 | LQFP, VQFN |
MSP430FR5043 | 64 | 12 | 12-разр. SAR (8) | 44 | 2 | 6 | 4 | DMA, LCD, LEA, MTIF RTC | 12 | LQFP, VQFN |
MSP430FR5041 | 32 | 12 | 12-разр. SAR (8) | 44 | 2 | 6 | 4 | DMA, LCD, LEA, MTIF RTC | 12 | LQFP, VQFN |
MSP430FR60471 | 256 | 8 | 12-разр. SAR (16) | 80 | 2 | 6 | 4 | DMA, LCD, LEA, MTIF RTC | 16 | LQFP |
MSP430FR6047 | 256 | 8 | 12-разр. SAR (16) | 80 | 2 | 6 | 4 | DMA, LCD, LEA, MTIF RTC | 16 | LQFP |
MSP430FR6045 | 128 | 8 | 12-разр. SAR (16) | 80 | 2 | 6 | 4 | DMA, LCD, LEA, MTIF RTC | 16 | LQFP |
Программные инструменты разработки
Компания Texas Instruments поддерживает концепцию «One Platform, One Ecosystem, Endless Possibilities» («одна платформа, одна экосистема, безграничные возможности»), предоставляя разработчику полный комплекс бесплатных инструментов для быстрого создания приложений на основе микроконтроллеров MSP430.
Основным инструментом для работы с семейством MSP430 является бесплатный программный пакет Code Composer Studio, созданный на основе Eclipse. Он позволяет создавать программное обеспечение для микроконтроллеров MSP430, C2000, F24x/C24x, Sitara и многих других. В состав пакета включены редактор исходного кода, компилятор C/C++ с возможностью оптимизации, средства управления проектами и множество других инструментов.
Специализированное программное обеспечение CapTIvate Design Center предназначено для разработки приложений с сенсорными устройствами на основе микроконтроллеров линейки CapTIvate. С помощью данного инструмента можно в графическом режиме конфигурировать модуль CapTIvate и в кратчайшие сроки начинать работу над любым проектом, содержащим сенсорные элементы управления
Аналогичное программное обеспечение Ultrasonic Sensing Design Center разработано и для микроконтроллеров линейки Ultrasonic Sensing. При этом кроме утилиты конфигурирования модуля в графическом режиме данный программный пакет содержит множество готовых библиотек с примерами их применения.
Кроме этого, на сайте Texas Instruments присутствует подробная техническая документация на все программные инструменты, в том числе и видеоуроки по их быстрому освоению.
Аппаратные инструменты разработки
Чтобы быстро оценить возможности того или иного микроконтроллера, компания Texas Instruments предлагает широкий выбор отладочных плат для всех линеек семейства MSP430. Большинство из них содержит встроенный программатор-отладчик eZ-FET, позволяющий быстро начать работу с платами. Для самостоятельных проектов рекомендуется приобрести программатор MSP-FET, с помощью которого можно выполнять отладку приложений по интерфейсам JTAG или SWD.
Линейка Value Line
MSP-EXP430FR2355 – отладочная плата на основе MSP430FR2355. Кроме микроконтроллера и встроенного программатора-отладчика, на плате установлены две пользовательские кнопки, два индикаторных светодиода и датчик освещенности. Дополнительные датчики, приводы и другую периферию можно подключить с помощью стандартного разъема Grove. Кроме этого, плата содержит 40-контактный разъем Launch Pad, позволяющий интегрировать ее с другими платами расширения экосистемы Booster Pack.
MSP-EXP430FR2311 – отладочная плата на основе MSP430FR2311. Содержит встроенный программатор-отладчик eZ-FET, обратный канал которого можно использовать для передачи информации на компьютер по интерфейсу UART. Кроме этого, на плате установлены одна пользовательская кнопка, два индикаторных светодиода и фотодиод. Дополнительные платы расширения экосистемы Booster Pack можно подключить к 20-контактному разъему Launch Pad.
MSP-EXP430FR2433 – отладочная плата на основе MSP430FR2433. Содержит встроенный программатор-отладчик eZ-FET и инструменты для определения ультрамалых величин потребляемого тока Energy Trace. Кроме этого, на плате установлены две пользовательские кнопки и два светодиода. Плата содержит 20-контактный разъем Launch Pad, позволяющий интегрировать ее с другими платами расширения экосистемы Booster Pack.
MSP-EXP430FR4133 – отладочная плата на основе MSP430FR4133 со встроенным программатором отладчиком eZ-FET, измерителями ультрамалых токов Energy Trace и буквенно-цифровым жидкокристаллическим индикатором. Плата содержит 20-контактный разъем Launch Pad, позволяющий интегрировать ее с другими платами расширения экосистемы Booster Pack, а также две пользовательские кнопки и два светодиода.
Линейка CapTIvate
Для быстрого ознакомления с технологией CapTivate и освоения возможностей центра CapTIvate Design Center рекомендуется приобрести плату EVM430-CAPMINI на основе микроконтроллера MSP430FR2512, содержащую четырехкнопочную сенсорную клавиатуру, четыре светодиода и звуковой индикатор. Плата имеет возможность двойного питания: как через интерфейс USB, так и автономно – от батареи CR1632.
Если четырех кнопок для разрабатываемого приложения недостаточно, то можно приобрести входящую в часть экосистемы Booster Pack плату расширения BOOSTXL-CAPKEYPAD, содержащую 12 сенсорных кнопок со светодиодной подсветкой. Эта плата рассчитана на работу со специализированным программатором CAPTIVATE-PGMR, ориентированным на использование с отладочными платами линейки CapTIvate в среде CapTIvate Design Center. К этой плате также можно подключить дополнительно до трех дополнительных емкостных датчиков в обход основной клавиатуры.
Оценочные платы CAPTIVATE-FR2676 и CAPTIVATE-FR2633 на основе микроконтроллеров MSP430FR2676 и MSP430FR2633, соответственно, очень похожи между собой по функциональности и предназначены для освоения разнообразных сенсорных устройств. Обе платы содержат 20-контактный разъем для отладки, 48-контактный разъем для подключения внешних датчиков, а также разъем для подачи внешнего питания на плату. Эти отладочные платы также можно интегрировать в экосистему Booster Pack.
Линейка Ultrasonic
Для демонстрации возможностей линейки микроконтроллеров Ultrasonic предлагаются отладочные платы EVM430-FR6047 и EVM430-FR6043 на основе микроконтроллеров MSP430FR6047 и MSP430FR6043, соответственно. Каждая из плат содержит встроенный программатор-отладчик eZ-FET, интегрированный жидкокристаллический индикатор и может входить в экосистему Booster Pack. Питание осуществляется как от внешнего источника, так и от интерфейса USB.
Примеры проектов на основе MSP430
Создание любого нового проекта с нуля может привести к значительным затратам времени, поскольку при таком подходе неизбежно возникновение громадного количества ошибок из-за незнания всех специфических особенностей системы. В этом случае целесообразно начинать работу над проектом на основе уже существующего проверенного решения, а уже затем поэтапно адаптировать его под конкретное техническое задание. В этом случае хорошим подспорьем в работе может стать библиотека готовых проектов, исходные коды которых можно бесплатно скачать на официальном сайте Texas Instruments.
Линейка Value Line
Для освоения особенностей работы с микроконтроллерами MSP430 линейки Value Line компания Texas Instruments подготовила программу «25 функций за 25 центов», в рамках которой разработчикам предоставляется полная техническая поддержка в реализации 25 наиболее распространенных системных функций на основе данных микроконтроллеров. Для продвижения этой программы на нашем сайте размещено электронное руководство, содержащее коллекцию из 25 кратких заметок, в которых приведены все особенности проектирования той или иной функции со ссылками на примеры проектов с исходными кодами. Все приведенные примеры имеют настолько малый размер кода, что позволяют для их реализации использовать микроконтроллеры MSP430FR2000 с наименьшим объемом памяти программ, равным всего 0,5 кбайт, и стоимостью, начинающейся с 25 центов за один прибор.
Предлагаемые примеры системных функций сгруппированы по четырем категориям: интерфейсные функции, генерация ШИМ-сигналов, системные устройства и таймеры. По каждой из категорий компания Texas Instruments подготовила небольшие видеоуроки, которые мы разместили на нашем сайте, переведя их на русский язык. Просмотрев их, разработчик сможет быстро начать работу над реализацией своего технического задания и с высокой эффективностью решить поставленную перед ним задачу.
Опорный проект, описанный в статье «Создаем датчик температуры и влажности с дисплеем и питанием от батарейки», позволяет разработать прибор для измерения температуры и влажности на основе модуля HDC2010METER-EVM и микроконтроллера MSP430FR5969. В данном проекте затронуты не только особенности сопряжения микроконтроллера с термогигрометром HDC2010, но и вопросы повышения точности измерений, подробно рассмотренные в статье «Измерение влажности – как повысить точность?».
Линейка CapTIvate
Общие принципы технологии CapTIvate, механизм работы датчиков, методы измерения емкости и порядок работы с модулем CapTIvate приведены в статьях «Capacitive Touch Design Flowfor MSP430™ MCUs With CapTIvate™ Technology» и «Новая технология TI для создания емкостных сенсорных панелей». Кроме этого, в опорном проекте «MSP432™ With MSP430™ Microcontroller With CapTIvate™ Technology, Haptics, and LCD Reference Design» продемонстрирован пример реализации обмена данными между микроконтроллером MSP430FR2633, контролирующим сенсорную клавиатуру с вибрационной индикацией срабатывания клавиш, и мастер-устройством на основе микроконтроллера MSP432P401R, отображающим действия пользователя на ЖК-экране. Особенности работы с модулем CapTIvate были также рассмотрены на вебинаре «Сенсорное управление с MSP430 – технология CapTIvate».
Линейка Ultrasonic Sensing
Главные преимущества микроконтроллеров с ультразвуковым измерительным модулем приведены в статье «MSP430FR6047 – новый микроконтроллер для ультразвуковых счетчиков», а основные вопросы, связанные с измерением расхода жидкостей и газов, приведены в документе «Frequently asked questions (FAQ) on ultrasonic sensing technology for water and gas flow metering with MSP430FR604x MCUs». Кроме этого, на сайте Texas Instruments можно скачать два опорных проекта: «TIDM-1019 Ultrasonic Sensing Subsystem Reference Design for Water Flow Measurement», в котором приведен пример использования микроконтроллера MSP430FR6047 для создания малопотребляющего расходомера воды с батарейным питанием, и «Ultrasonic Sensing Subsystem Reference Design for Gas Flow Measurement», в котором реализован счетчик расхода газа на основе микроконтроллера MSP430FR6043.
В следующей серии видео представлен обзор оборудования и программного обеспечения, позволяющего быстро и просто начать разработку ультразвукового расходомера газа.
- Построение счетчика расхода газа на базе системы-на-кристалле MSP430FR6043 от Texas Instruments
- Обзор демонстрационного модуля EVM430-FR6043 от Texas Instruments
- Утилита Ultrasonic Design Center от компании Texas Instruments
- Программное обеспечение для разработки ультразвуковых расходомеров Texas Instruments
Другие информационные ресурсы
Детальное описание архитектуры семейства MSP430, система команд, поддерживаемые режимы адресации, периферийные модули и прочие особенности данных микроконтроллеров приведены в документе «MSP430x2xx Family User’s Guide», последняя (на момент написания этого материала) версия которого, – Версия J, – была выпущена в 2013 году. Русскоязычный вариант этого документа версии 2008 года издан в виде книги «Семейство микроконтроллеров MSP430x2xx. Архитектура. Программирование. Разработка приложений» издательством ДОДЭКА в 2010 году.
Заключение
Несмотря на достаточно жесткую конкуренцию среди приборов подобного класса, микроконтроллеры MSP430 уверенно занимают свою нишу в радиоэлектронике, обладая двумя основными преимуществами: малым энергопотреблением и развитой экосистемой разработки. Именно это сочетание, в совокупности с развитой периферией и хорошо документированными возможностями, и позиционирует их в качестве практически безальтернативных вариантов для быстрого создания большого количества приложений с батарейным питанием.
•••
Время на прочтение
5 мин
Количество просмотров 70K
Здравствуйте, обитатели Хабра. В этой статье хочу поделится своими впечатлениями об опыте программирования микроконтроллеров семейств AVR, MSP430, STM32.
Введение
В бытность мою студентом занимался я прикладным программированием на Delphi и горя не знал, но и счастья не ведал. Пока как-то раз не посетил меня на четвертом курсе предмет «Микропроцессорные контроллеры». Ну и пошло-поехало.
Семейство микроконтроллеров AVR
Предмет «Микропроцессорные контроллеры» как раз и был посвящен программированию микроконтроллеров на примере семейства AVR Atmega фирмы Atmel. Лабораторные работы по данному предмету заключались в программировании отладочных плат с Atmega16 на ассемблере данного семейства в программной среде AVR Studio 4.18.
Программа отлаживалась при помощи симулятора и зашивалась в микроконтроллер посредством встроенного в отладочную плату LPT-программатора на логике через программу ponyprog2000. На этих лабораторных работах я и ознакомился с волшебным миром микроконтроллеров, что включало в себя «помигать светодиодом», обработать нажатие на кнопку, настроить аппаратный таймер на работу и обрабатывать генерируемые им прерывания, настроить UART и передать данные по нему и т.д.
Прекрасный новый мир открылся мне. Но потом все это немного заглохло до следующего курса, на котором программирование тех же самых плат происходило, но уже не на ассемблере, а на языке Pascal в среде E-LAB. Об этой среде мало кто знает, а зря. Ведь задолго до всяких там arduino, данная среда включала в себя много библиотек для внешних устройств простых в использовании. Не верите?
Посмотрите сами тут. Тут вам для E-LAB и JTAG-отладчики есть.
Но во времена написания лабораторных работ JTAG-отладка доступна не была. Поэтому мы пользовались встроенным в E-LAB симулятором. Как и тогда, библиотеки E-LAB позволяют создавать проекты с ОСРВ, работающей по принципу Round-robin.
Последние версии E-LAB поддерживают и кооперативную многозадачность.
В принципе с этих двух циклов лабораторных работ я и начал свое знакомство с микроконтроллерами и, в частности, семейством AVR. Что можно сказать теперь?
AVR — самое популярное семейство микроконтроллеров в мире, я думаю.
Arduino-мания только укрепила это. Эти простые в освоении микроконтроллеры и сейчас остаются лучшим решением для первого знакомства. Позволяют получить опыт создания простых приложений с использование интерфейсов SPI, I2C, UART, позволяют понять работу портов ввода/вывода, подсистемы прерываний. По сути, на данном семействе можно научится основам и делать малые и средние проекты. В последних версиях AVR Studio можно делать проекты на С.
А если взять в руки паяльник, то можно себя обеспечить и программатором, и JTAG-отладчиком.
Есть желание начать? Тут тоже много всего.
Фирменные отладочные платы и программаторы от Atmel крайне дороги.
Главным недостатком AVR является слабое вычислительное ядро без вспомогательных математических блоков, причем восьмиразрядность усугубляет ситуацию. Т.е. на сложные математические вычисления может уйти много времени. Микроконтроллер может не успевать обрабатывать собранную или принятую информацию. Последний проект для Atmega16 я делал на С в среде разработки IAR Embedded Workbench for Atmel AVR.
Семейство микроконтроллеров MSP430
После семейства AVR микроконтроллерый мир уже открыл мне часть своих тайн.
А тут подоспел и новый предмет, посвященный также программированию микроконтроллеров, но это было уже семейство MSP430 фирмы Texas Instruments, а именно микроконтроллер msp430f169 на отладочной плате с ziff-панелью и минимальной обвязкой.
Разработка программы для него и отладка проходили в среде IAR Embedded Workbench for MSP430 при помощи JTAG-отладчика MSP-FET430UIF.
В первую очередь в этом семействе понравились примеры программ работы с внутренней периферией от производителя. Ну и с него берет моя подсадка на JTAG и IAR. Однажды попробовав JTAG-отладку не захочется возвращаться к разработке с просто программированием. Ведь под JTAG-отладкой можно по шагам видеть, что происходит в регистрах в памяти и где сейчас идет выполнение кода, ставить точки останова. С этого времени я и на IAR подсел. Ведь это кроссплатформенный компилятор выпущенный под множество микроконтроллерных семейств. Стоит один раз запомнить интерфейс и не надо каждый раз, при переходе на новое микроконтроллерное семейство, переучиваться. Это ли не чудо? Но затягивает.
Минус только в стоимости полной версии. Вообщем на этом семействе я и начал свою работу, как программист микроконтроллеров. И связка язык C (по сути кроссплатформенный ассемблер), кроссплатформенная среда разработки IAR и JTAG-отладка всегда были вместе со мной.
Семейство MSP430 в отличие от AVR шестнадцатиразрядное и более производительное за счет применения встроенного аппаратного умножителя.
Возможность использования режимов пониженного энергопотребления обеспечивает увеличение срока службы элементов питания при применении в мобильных портативных устройствах. А микроконтроллеры MSP430F5419 и MSP430F5438, с которыми я работал, на частоте 25 МГц в плотную подтягиваются к ARM. Так что они такие мощные середнячки. Если иметь фирменный JTAG-отладчик, IAR for MSP-430, нормальную отладочную плату, то работать с ними одно удовольствие.
Семейство микроконтроллеров STM32
Последним я познакомился с семейством STM32 фирмы STMicroelectronics.
Архитектура ARM сама по себе является дверью ко многим семействам.
Т.к. для множества этих микроконтроллеров разных фирм потребуется только один JTAG-отлдачик J-Link или его клон. А также если есть в наличии среда разработки IAR Embedded Workbench for ARM, то двери открыты.
Плюсом в сторону семейства STM32 является наличие библиотеки встроенной периферии, которая позволяет быстро писать свои пользовательские библиотеки с минимальными трудозатратами, а также 32-разрядность ядра в отличии от AVR и MSP430. Линейка микроконтроллеров STM32 включает много вариантов их внутреннего наполнения встроенной периферией от чего варьируется и стоимость. Например, микроконтроллер STM32L152VBT6 на ядре Cortex-M3, как микроконтроллеры семейства MSP430, нацелен на низкое энергопотребление и работает на 32 МГц.
Другой микроконтроллер STM32F107VCT6 также на ядре Cortex-M3 подходит для большинства задач, возлагаемый на данный класс устройств, и имеет частоту 72 МГц. Тут сразу видно, что для «тяжелой» математики и обработки микроконтроллеры на ядре Cortex-M3 куда больше подходят, чем MSP430 и AVR. Я работал и с «тяжеловесом» данного семейства STM32F407VGT6 на ядре Cortex-M4, частота которого доходит до 168 МГц. «Большой брат» идеально подошел для решения сложных математических задач. Кроме того, он имеет аппаратный FPU для математики с плавающей точкой. Для семейства STM32 разработана линейка плат DISCOVERY, которая позволяет получить плату со встроенным JTAG-отладчиком ST-Link, причем его можно использовать, чтобы программировать платы собственной разработки.
Результат их маркетинговой политики позволяет влиться в разработку микроконтроллеров с минимальными затратами, при этом имея фирменные платы и JTAG-отладчики от производителя.
Заключение
В заключении хочу сказать. Что у всех рассмотренных семейств есть свои плюсы. Со всеми связаны теплые воспоминания.
Алексей Пантелейчук
Семейство MSP430F5xx является следующим шагом в развитии микроконтроллеров MSP430 компании Texas Instruments. В статье рассмотрены основные отличия нового семейства, в том числе главное из них – USB-интерфейс, затронуты вопросы энергопотребления MSP430 в USB-приложениях, а также описаны доступные средства разработки для новых MSP430.
Как и их предшественники, микроконтроллеры MSP430F5xx (рисунок 1) разрабатывались специально для обеспечения длительной работы устройства от батареи в портативных применениях и используются в таких приложениях, как системы цифровых датчиков, регистраторы данных, USB-устройства.
Рис. 1. Блок-схема архитектуры микроконтроллеров семейства MSP430F5xx
Отличительные особенности MSP430F5xx:
- Высокая производительность:
- До 25 МГц;
- 12 МГц при 1,8 В;
- До 256 КБ Flash;
- До 16 КБ RAM;
- DMA, USB, АЦП, ЦАП и 4 USCI;
- Функциональность:
- Поддержка USB, беспроводных протоколов, шифрования и ЖКИ-интерфейса;
- Внутрисхемное программирование Flash при 1,8 В;
- Возможность чтения из Flash во время выполнения операции стирания;
- Простота использования:
- Надежная и гибкая система синхронизации (0, 1 или 2 внешних источника тактового сигнала);
- Встроенный осциллятор (REFO) для работы без внешнего часового кварца;
- Надежная система тактирования Flash;
- Определяемый пользователем загрузчик (BSL);
- Интегрированный генератор опорного напряжения;
- Простота перехода:
- Прежняя система команд;
- Архитектура MSP430CPUX;
- Совместимость периферийных устройств:
- ADC12 с меньшим энергопотреблением и улучшенным генератором опорного напряжения;
- Усовершенствованный аппаратный умножитель 32×32;
- Те же отладочные средства;
- Новые периферийные устройства:
- Модуль Управления Энергопотреблением (PMM):
- Дополнительные возможности для пользователя;
- Интегрированный регулятор напряжения (LDO);
- Программируемые мониторы и супервизоры напряжения питания (SVM/SVS);
- Подстройка напряжения ядра для снижения энергопотребления.
- Модуль Управления Энергопотреблением (PMM):
MSP430x5xx производятся по новой технологии, в связи с чем снизилось напряжение питания ядра и множества периферийных модулей. Модуль управления напряжением питания (PMM) — это совершенно новый модуль в составе MSP430. К нему подключена большая часть логики MSP430x5xx. Его задача, как уже понятно из названия и предыдущих двух предложений, заключается в регулировании напряжения питания MSP430x5xx. PMM осуществляет контроль падения напряжения питания. Уровни допустимого падения напряжения питания регулируются программно, что можно использовать для динамического переключения между четырьмя уровнями напряжения, в результате чего снижается энергопотребление приложения в те моменты, когда не требуется максимальная производительность.
В систему синхронизации USC-микроконтроллеров MSP430x5xx добавлен новый низкочастотный встроенный осциллятор, называемый REFO. Этот осциллятор позволяет обойтись без 32-килогерцового часового кварца в качестве источника опорного сигнала системы синхронизации. Встроенный осциллятор с цифровым управлением (DCO) выводит микроконтроллер из режимов низкого энергопотребления в активный режим меньше чем за 5 мкс.
Как и в предыдущих MSP430, в новых микроконтроллерах используются три системных тактовых сигнала: ACLK, MCLK и SMCLK. Для MSP430x5xx нет разницы, какой из осцилляторов будет источником для этих сигналов, что придает системе синхронизации новых микроконтроллеров непревзойденную гибкость.
Системный модуль SYS — новый модуль для MSP430 — берет на себя часть системных функций, имеющихся в предыдущих семействах, а также решает несколько задач, присущих только MSP430x5xx. В состав системного модуля входит сторожевой таймер. Системный модуль обрабатывает все функции сброса и немаскируемые прерывания (NMI), а также дескрипторы микроконтроллера. Дескрипторы представляют собой таблицы с информацией о микроконтроллере (тип, ревизия, доступные периферийные устройства). Эта функция полезна при разработке встраиваемых систем, когда система может подстраивать драйвера в зависимости от доступных ресурсов. Эти таблицы также могут быть использованы различными отладочными средствами для настройки подключения.
Разрядность сторожевого таймера увеличена до 32 бит. Также есть изменения в логике обработки ошибок тактирования сторожевого таймера. Теперь при отказе ACLK или SMCLK (от которых тактируется сторожевой таймер) автоматически происходит переключение на осциллятор VLO.
Микроконтроллеры MSP430x5xx поддерживают четырехпроводный и двухпроводный (Spy-Bi-Wire) интерфейсы JTAG. Режим загрузки выбирается с помощью подачи определенной последовательности сигналов на выводы TEST/SBWTCK и RST/NMI/SBWTDIO.
Система памяти MSP430F5xx значительно отличается от системы памяти MSP430F2xx и MSP430x4xx. Эти изменения необходимы для расширения адресного пространства, поддержки новых периферийных устройств и дальнейших усовершенствований. Область памяти для периферийных устройств расширилась до 4 КБ. Доступ к большинству регистров периферийных устройств можно осуществлять в формате байт и слов (16-бит), однако есть исключения.
Область памяти ОЗУ MSP430F5xx начинается с адреса 01C00h. Размер этой области зависит от объема ОЗУ конкретного микроконтроллера. Таблица векторов прерываний находится там же, вверху адресного пространства, но число векторов прерываний увеличилось до 64. Область памяти для загрузчика увеличилась до 2 кбайт, так как загрузчик поддерживает большее количество режимов загрузки, в том числе и режим, генерируемый пользователем.
Модуль CRC является новым для MSP430, он аппаратно вычисляет циклический избыточный код для проверки корректности данных.
32-битный аппаратный умножитель MPY32 представляет собой расширенную версию 16-битного умножителя, использующегося в микроконтроллерах MSP430x2xx и MSP430x4xx, может осуществлять 32-битные умножения. В отличие от предшественника, MPY32 может работать с дробными числами в форматах Q. Добавлен режим насыщения для предотвращения переполнения.
К регистрам универсального последовательного коммуникационного интерфейса USCI теперь можно обращаться в формате байтов и слов (16-бит). Улучшилась система прерываний коммуникационного интерфейса: выделено два вектора прерывания, один для USCI_A, другой для USCI_B, что значительно облегчает обработку прерываний от каждого из модулей.
Цифровые выводы содержат подтягивающие резисторы. Кроме этого, появилась возможность управлять нагрузочной способностью вывода. То есть, в тех случаях, когда не требуется выдавать максимальное значение тока в нагрузку, с помощью записи одного бита в регистр управления можно перевести вывод в состояние с низкой нагрузочной способностью. При этом снижается энергопотребление и уровень электромагнитных помех микроконтроллера.
12-битный АЦП ADC12_A представляет собой улучшенную версию ADC12, использующегося во многих устройствах MSP430x2xx и MSP430x4xx. Изменения затронули генератор опорного напряжения. Увеличилось число форматов выходных данных. Уменьшилось энергопотребление, возросла линейность характеристик преобразования.
Одним из самых важных отличий MSP430F5xx от предшественников является наличие USB-интерфейса, хотя первые представители нового семейства его не содержат (таблица 1). Распространенность и повсеместность USB-интерфейса обусловливает его привлекательность для приложений, осуществляющих обмен данными с ПК или другими микроконтроллерами, периодическую загрузку данных или обновление прошивки извне. Очень часто такие устройства являются портативными, как, например, медицинские и промышленные устройства, осуществляющие накопление данных с последующей их передачей в головное устройство для анализа и постобработки. По причине портативности устройств применение USB должно быть экономичным с точки зрения энергопотребления и цены.
Таблица 1. Представители семейства MSP430F5xx
Устройство |
Flash, кБ |
SRAM, кБ |
USB |
АЦП, каналов/бит |
Выводов |
MSP430F5438 |
256 |
16 |
– |
16 / 12 |
100 |
MSP430F5438A |
256 |
16 |
– |
16 / 12 |
113 |
MSP430F5437 |
192 |
16 |
– |
16 / 12 |
80 |
MSP430F5436 |
192 |
16 |
– |
16 / 12 |
100 |
MSP430F5436A |
192 |
16 |
– |
16 / 12 |
113 |
MSP430F5435 |
192 |
16 |
– |
16 / 12 |
80 |
MSP430F5419 |
128 |
16 |
– |
16 / 12 |
100 |
MSP430F5419A |
128 |
16 |
– |
16 / 12 |
113 |
MSP430F5418 |
128 |
16 |
– |
16 / 12 |
80 |
MSP430F5500 |
8 |
4+2* |
√ |
– |
48 |
MSP430F5501 |
16 |
4+2* |
√ |
– |
48 |
MSP430F5502 |
24 |
4+2* |
√ |
– |
48 |
MSP430F5503 |
32 |
4+2* |
√ |
– |
48 |
MSP430F5504 |
8 |
4+2* |
√ |
до 8 /10 |
48 |
MSP430F5505 |
16 |
4+2* |
√ |
4 / 10 |
48 |
MSP430F5506 |
24 |
4+2* |
√ |
4 / 10 |
48 |
MSP430F5507 |
32 |
4+2* |
√ |
4 / 10 |
48 |
MSP430F5508 |
16 |
4+2* |
√ |
до 8 /10 |
48, 64 |
MSP430F5509 |
24 |
4+2* |
√ |
до 8 /10 |
48, 64 |
MSP430F5510 |
32 |
4+2* |
√ |
до 8 /10 |
48, 64 |
MSP430F5513 |
32 |
4+2* |
√ |
– |
64, 80 |
MSP430F5514 |
64 |
4+2* |
√ |
– |
64, 80 |
MSP430F5515 |
64 |
4+2* |
√ |
– |
80 |
MSP430F5517 |
96 |
6+2* |
√ |
– |
80 |
MSP430F5519 |
128 |
8+2* |
√ |
– |
80 |
MSP430F5521 |
32 |
6+2* |
√ |
16 / 12 |
80 |
MSP430F5522 |
32 |
8+2* |
√ |
16 / 12 |
64, 80 |
MSP430F5524 |
64 |
4+2* |
√ |
16 / 12 |
64, 80 |
MSP430F5525 |
64 |
4+2* |
√ |
16 / 12 |
80 |
MSP430F5526 |
96 |
6+2* |
√ |
16 / 12 |
64, 80 |
MSP430F5527 |
96 |
6+2* |
√ |
16 / 12 |
80 |
MSP430F5528 |
128 |
8+2* |
√ |
16 / 12 |
64, 80 |
MSP430F5529 |
128 |
8+2* |
√ |
16 / 12 |
80 |
*Дополнительные 2 КБ памяти, доступные, если USB не используется. |
Одна из причин распространенности USB — простота использования. Однако за простотой использования скрывается сложность технологии USB, что очень часто недооценивает пользователь при попытке разработать USB-приложение. Всплывает множество новых терминов и процедур, не разобравшись с которыми, пользователь не может добиться правильного функционирования. В результате этого растягиваются сроки, увеличивается стоимость разработки.
В MSP430F5xx технология USB интегрирована таким образом, что пользователю нет необходимости разбираться с ее организацией. Для использования USB в схему устройства необходимо добавить только USB-коннектор и несколько дискретных компонентов (рисунок 2), а в программный код включить API-стеки, предлагаемые компанией-производителем и реализующие три наиболее популярных класса устройств.
Рис. 2. Использование USB-микроконтроллера MSP430F5xx
Стеки API-функций берут на себя всю черновую работу по обработке процедур USB, являются интуитивно понятными для разработчика, позволяют значительно ускорить процесс разработки и выход нового устройства на рынок. Исходные коды стеков полностью открыты, бесплатны и доступны для скачивания на сайте компании Texas Instruments. Для каждого стека есть полноценное руководство пользователя с описанием каждой API-функции.
Кроме всего перечисленного, компания Texas Instruments разработала так называемый «MSP430 USB Descriptor Tool». Это средство представляет собой панель управления для быстрой конфигурации API-стеков. Оно автоматически создает дескрипторы, которые каждое USB устройство должно передавать хосту, что значительно экономит время разработчика и придает уверенность, что дескрипторы написаны правильно.
По своей природе, MSP430 оптимизированы для работы с низким энергопотреблением. Эта тенденция сохраняется и в новых микроконтроллерах, независимо от того, используется USB-интерфейс или нет. MSP430 имеет пять режимов энергопотребления. В активном режиме, при максимальной производительности, ток потребления составляет всего 160 мкА/МГц. В режиме ожидания это значение снижается до 1.5 мкА, причем переход в активный режим занимает 5 мкс. Значительного сокращения энергопотребления можно также добиться за счет использования контроллера прямого доступа к памяти.
Одним из преимуществ использования USB в портативных приложениях является возможность подачи напряжения питания через интерфейс. В идеальном случае, когда устройство подключено к хосту, оно вообще не расходует заряд батареи. Через USB-протокол подается напряжение 5 В, для его снижения до 3.3 В требуется преобразователь. Благодаря наличию LDO, MSP430 прекрасно справляется с этой задачей, сокращая тем самым число внешних компонентов и размеры устройства.
В тех случаях, когда в системе не требуется ток более 12 мА, LDO микроконтроллера может обеспечивать напряжение питания для всей системы (рисунок 3).
Рис. 3. Подача напряжения питания от USB через MSP430 (до 12 мА)
Если требуется ток более 12 мА, либо в случае необходимости работы приложения от батареи в моменты подключения к USB-интерфейсу, MSP430 может работать в обход встроенного LDO (рисунок 4). TI предлагает множество внешних регуляторов для бюджетных (TPS73033), энергоэкономичных (TPS67233), мощных (TPS73433/735) и малошумящих (TPS1733) приложений.
Рис. 4. Работа MSP430 в обход встроенного LDO (ток более 12 мА)
Напряжение от USB-интерфейса, кроме всего прочего, может использоваться для подзарядки батареи (рисунок 5). Семейство зарядных устройств BQ2407x/3x было специально разработано для таких целей.
Рис. 5. Подзарядка батареи от USB-интерфейса
Для начала работы с микроконтроллерами нового семейства и подробного изучения на практике новой архитектуры TI предлагает использовать экспериментальные платы. Эти платы, кроме самого микроконтроллера, содержат дополнительное аппаратное обеспечение, необходимое для оценки работы микроконтроллера и создания прототипа устройства.
Экспериментальная плата MSP-EXP430F5438 служит платформой для разработки приложений с использованием микроконтроллеров MSP430F543x.
Рис. 6. Экспериментальная плата MSP-EXP430F5438
Плата содержит ZIP-сокет, в который можно помещать MSP430F5438 и другие микроконтроллеры в корпусах TQFP100. Эта возможность позволяет оптимизировать устройство на этапе разработки путем замены микроконтроллера в зависимости от требуемого объема памяти, производительности и набора периферийных устройств. Экспериментальная плата совместима со многими беспроводными отладочными модулями компании TI, как, например, CC2520EMK. Для подключения платы MSP-EXP430F5438 к компьютеру используется стандартный JTAG-программатор.
Отличительные характеристики MSP-EXP430F5438:
- 100-выводной сокет для MSP430F5438;
- Питание от USB, программатора или двух АА батареек;
- Flash Memory (MSP430F5438): 256 кБ;
- RAM (MSP430F5438): 16кБ;
- Clock Speed (MSP430F5438): 18 МГц;
- Интерфейсы (MSP430F5438):
- 4× UART/LIN/IrDA/SPI
- 4× I2C/SPI
- 5-позиционный джойстик (вверх, вниз, влево, вправо, нажатие);
- Две кнопки;
- Два светодиода;
- 138×110 ЖКИ с точечной матрицей (с градацией серого);
- Трехосевой акселерометр (ADXL330);
- Микрофон (сигнал усиливается с помощью TLV2760);
- 3.5мм аудио выход (используется усилитель TPA301);
- На данный момент поддерживаются следующие беспроводные модули:
- eZ430-RF2500T;
- CC1100/CC1101EMK — До 1 ГГц
- CC2500EMK — 2.4 ГГц
- CC2420/CC2430EMK — 2.4 ГГц 802.15.4
- CC2520/CC2530EMK — 2.4 ГГц 802.15.4
- Интерфейс USB для передачи данных;
- Интерфейс JTAG для внутрисхемного программирования в реальном времени.
Непосредственно для MSP430F552x в корпусе LQFP доступна плата MSP-TS430PN80USB с 80-выводной ZIP-колодкой для программирования и отладки микроконтроллеров в корпусах TQFP через JTAG- или Spy-Bi-Wire-интерфейс. Среда разработки и JTAG-программатор могут поставляться в комплекте или отдельно.
Для программирования микроконтроллеров MSP430F5xx в 100-выводных корпусах TQFP можно использовать набор MSP-FET430U5X100. В набор входит USB-JTAG программатор и плата MSP430PZX100 с ZIF-колодкой.
В качестве программной среды разработки для всех микроконтроллеров MSP430 предлагается использовать Code Composer Essentials либо IAR Embedded Workbench, в которые входит Си-компилятор, ассемблер, компоновщик, редактор и множество других модулей, облегчающих написание программного кода и его отладки. Среди JTAG-программаторов наибольшей популярностью пользуется MSP-FET430UIF.
Целью данной статьи является помощь в начале освоения микроконтроллеров MSP430 фирмы Texas Instruments.
Была сделана попытка систематизировать действия, которые позволят минимальными усилиями сделать первые шаги в освоении данного типа микроконтроллеров, не перегружая при этом специфичными и иногда трудными (если не сказать отталкивающими) сведениями. Статья не претендует на полноту обзора указанных микроконтроллеров, а лишь позволяет сделать первые шаги на пути их освоения.
Преимущества MSP430:
1. Очень широкая линейка для практически любых задач.
2. Очень широкий ряд корпусов, от DIP до очень мелких типа pqfp.
Весь доступный ряд можно посмотреть с помощью удобной странички от TI:
Перейдя по ссылкам слева и выбирая нужную серию попадаем в каталог:
Где можно выбрать нужный себе кристалл по объему Flash-памяти, ОЗУ, наличию USART, АЦП, корпуса и т.д. Сразу скажу, что я не использовал корпуса типа DIP. Корпус типа SOIC легко распаивается на самодельную плату изготовленную по технологии ЛУТ. Достаточно стабильно у меня получаются платы и для корпусов типа PW (расстояние между ногами 0,65мм).
3. Сверхнизкое потребление питания (бывает ну крайне важно). На этом остановимся поподробнее ниже с примерами и цифрами.
4. Мне также например нравиться то, что для одного и того же типа корпуса расположение ног для разных серий и типов в пределах серии одинаково. Это дает возможность легко заменить один тип на другой без изменения печатной платы.
5. Немаловажно, что все типы микроконтроллеров можно бесплатно заказать у TI для освоения.
В качестве примера два разных MSP430 в одинаковом корпусе, MSP430f2619 и MSP430f149:
Для начала освоения выберем msp430f1232 или msp430f1222, они отличаются только объемом flash памяти и абсолютно идентичны по расположению ног. Я считаю этот микроконтроллер самым ходовым в радиолюбительской практике. Его плюсом можно также назвать наличие модели его младшего брата msp430f1121 (без usart) в Proteus.
На этой странице есть даташит, а по этой ссылке прочие документы.
Документация от TI имеет особенность (для тех кто уже знаком с микроконтроллерами от, например AVR ATMEL). В даташите указываются специфичные именно для этого камня особенности (количество памяти, наличие USART, электрические характеристики и т.д.). А описание регистров находятся в документе MSP430x1xx Family User’s Guide (Rev. F) для серии msp430f1xx. Этот документ общий для всей серии.
Есть также настольные книги «руководство пользователя» и «рекомендации по применению».
А также примеры исходных кодов для семейства msp430f1x по ссылке.
Итак, начнем.
Минимальная обвязка для включения микроконтроллера:
Сперва нам понадобятся макетка и программатор.
Пример моей макетки в файле к статье.
Теперь небольшое отступление на предмет программатора.
Микроконтроллеры msp430 могут быть запрограммированы следующим образом:
4-х проводной JTAG (прошивка и отладка (очень удобно)) бывает LPT и USB.
2-х проводной JTAG, так называемый Spyi-Bi-wire (прошивка и отладка) только USB.
BSL — последовательный интерфейс (только прошивка). COM или USB-COM.
Не все микроконтроллеры могут быть зашиты всеми указанными программаторами. Смотреть надо в даташите на каждый камень. (Так рекомендуемые для начала работы MSP430F1232 можно шить только по 4-х проводному JTAGу или по BSL) .
Где взять программатор? Естественно можно купить. Есть дорого фирменные от TI или от Olimex, а также море китайских клонов.
Например BSL (хотя bsl можно сделать из любого шнурка от сотового в котором есть линии RTS и DTR) можно найти на AliExpress.
JTAG через USB
JTAG через LPT
Также на сайте TI можно почти за даром заказать LaunchPad:
Который в своем составе имеет 2-х проводной JTAG Spy-Bi-Ware USB, но к сожаленью этот Spy-Bi-Wire есть не во всех камнях. Я поигрался. Мне не пригодилось (у меня практически не было камней с поддержкой spy-bi-wire) и я его отдал другу для освоения.
Также программатор можно сделать и самостоятельно. Где взять детали, смотрите в конце статьи.
В архиве программатор bsl.rar схема BSL программатора на переходнике USB-COM
В архиве программатор JTAG LPT-FET.rar схема и печатка для программатора LPT-FET. Необходимо отметить, что это упрощенная мной схема LPT-FET от Olimex
И ей требуется внешнее питание 3.3В от платы микроконтроллера. Плата получилась компактная и умещается в корпус DB-25.
Для BSL программатора корпуса еще нет, но скорее всего это будет кусок кабель-канала нужного сечения.
Выходные сигналы BSL программатора выведены на разъемы типа PLS. И отдельно выведено питание 3.3В (бонусом так сказать)
Оба типа мной собраны и работают.
Программировать через JTAG можно из среды разработки. А для программирования через BSL используется бесплатная и удобная программа от Kurt-а MSPFET. (Приложена в архиве или может быть скачана по ссылке)
Разработка кода может вестись в различных средах
Например:
http://sourceforge.net/apps/mediawiki/mspgcc/index.php?title=MSPGCC_Wiki
http://www.ti.com/tool/iar-kickstart с ограничение размера кода до 4кБ
http://www.ti.com/tool/ccstudio-msp430 IDE от TI
И другие…
Я использую IAR. Причем я не беру IAR от TI с ограничением кода, а спокойно зарегистрировавшись на iar.com скачиваем 30 дневную полнофункциональную версию IAR для msp430. (а потом можно и еще раз скачать и т.д.) по ссылке
Итак, допустим макетка сделана (нам в первую очередь нужно запаять стабилизатор на 3.3Вольта, светодиод на ножку P1.0 и разъем для LPT-FET. Кварц и прочее можно допаять позже). Программатор LPT-FET тоже.
Устанавливаем и запускаем IAR. Нажимаем create new project:
Выбираем шаблон:
Даем свое название и вот окно проекта с типовым шаблоном.
Перво наперво правой кнопкой мыши кликаем по: название — debug -> option
Выбираем наш микроконтроллер
Меняем тип отладчика
Задаем, что у нас программатор lpt от olimex на lpt1
В окне сишного кода меняем весь на код из файла demo led.c, нажимаем F7 и видим:
Нажимаем зеленый треугольник и происходит заливка кода в микроконтроллер:
В открывшемся окне нажимаем «GO» старт программы:
В итоге, видим мигающий светодиод на плате.
Если у вас программатор типа BSL, то порядок действий следующий: в IAR выбираем нужный контроллер. Пишем код (например demo led.с).
Правой кнопкой по debug, option и ставим настройки в пункте linker как на рисунке:
Жмем F7. Запускаем MSPFET от Kurta. Открывается окно. Нажимаем Setup. Выбираем программатор BSL.
Ставим настройки для выходных ног, патча бутлодера (есть фишка, но нам сейчас не надо), скорости (тоже пока не надо) и т.д.
Для программатора сделанного из TUSB3410 настройки выглядят так.
В выпадающем списке выбираем нужный микроконтроллер.
Меню, открыть, и идем в каталог где лежит наш тестовый проект. В нем ищем каталог Debug. В нем ищем каталог EXE:
И там выбираем файл прошивки с расширением .a43:
Открываем. Нажимаем кнопку auto. Все процесс пошел. В случае удачных действий получаем картинку
И мигающий светодиод. (Если в настройках msp-fet от Kurta поставить галочку перегружать файл, то в дальнейшем нет необходимости повторять все действия. Изменил прошивку в IAR. Нажал F7. Зашел в MSPFET. Нажал auto.)
Теперь вкратце об особенностях микрконтроллеров msp430.
Супер гибкая система тактирования. В примере мы использовали внутренний генератор на 750кГц. Можно изменять его частоту регистрами настройки DCO (смотри руководство пользователя). Можно на ноги XIN XOUT повесить кварц часовой или высокочастотный (причем для часового кварца конденсаторы уже есть внутри камня и их номинал можно выбирать). В программе можно легко переключаться с одного источника тактирования на другой. В купе с разными режимами спячки можно обеспечить беспрецедентное снижение энергопотребления. Например, затактировать таймер от ACKL настроенный на 32768Гц от часового кварца. Разрешить прерывание от таймера. В прерывании разбудить ядро и настроить тактирование ядра на максимальную частоту, быстро сделать необходимые вычисления и уйти опять в глубокий сон. Подробное описание систем тактирования и режимов питания смотрите в руководстве пользователя.
Вот простой пример для повторения.
Зашьем код из файла norma.c
Включаем через миллиамперметр и видим, что в моменты когда светодиод не горит ток потребления 230мкА.
Зашьем код из файла LPM0.c
Включаем через миллиамперметр и видим, что ток потребления 50мкА. (Данные замеры проводились тестером на пределе 20мА, но в качестве иллюстрации сойдет). Особенно целесообразно применение данных микроконтроллеров в паре с ЖК экранами, где столь малое энергопотребление проявляется в полной мере.
Кстати такое низкое потребление порождает и соответствующие проблемы, связанные с паразитным питанием. Особенно если учесть, что для питания достаточно 1.8В. При довольно насыщенной схеме, контроллер стартует от всего подряд, вплоть до usart. Поэтому будьте внимательны. Часто, микроконтроллер не выходит на связь с JTAG, пока не отключишь внешние схемы (если не приняты меры по исключению паразитного питания и согласования уровней).
Что не очень понравилось в MSP430 0- так это неудобно реализованная работа с Flash памятью для хранения каких либо переменных пользователя. Так называемая память info разбита на сегменты по 128 байт и беда в том, что записать можно в каждую ячейку отдельно, но только один раз. Для изменения ранее записанной ячейки необходимо стереть весь сегмент и заново записать в нужную ячейку. Это приводит к тому, что перед изменением любой ячейки необходимо сначала прочитать в ОЗУ все используемые ячейки, изменить необходимую, стереть весь сегмент и записать из ОЗУ все во info flash.
Итак, первый проект Вы удачно сделали и зашили в контроллер. Что дальше?
Для освоения периферии мне очень помогли примеры использования MSP430 от TI, ранее упомянутые в статье. Много примеров и проектов есть в книге «рекомендации по применению» от КОМПЭЛ.
Раздел на форуме по MSP430
Если вы решили сами собрать программатор для MSP430, то я рекомендую зарегистрироваться на сайте TI с указанием своего реального номера телефона и может быть даже выдуманным местом работы.
Заказать в качестве бесплатных образцов следующие компоненты:
— MSP430F1222IDW корпус soic
— MSP430F1232IDW корпус soic
— преобразователь COM-usb tusb3410 (для bsl программатора)
— стабилизатор reg104-3.3 в корпусе SOT223-5
Привезут в течении недели, возможно перед этим позвонят и спросят на русском языке зачем Вам это необходимо. Тут уж каждый сам за себя. Придумывайте что хотите. Как привезут, позвонят еще раз из службы доставки. Именно поэтому должен быть правильный телефон и адрес.
Скачать файлы к статье
Список радиоэлементов
Обозначение | Тип | Номинал | Количество | Примечание | Магазин | Мой блокнот |
---|---|---|---|---|---|---|
Программатор JTAG LPT-FET | ||||||
U2 | ИС буфера, драйвера |
SN74HC244 |
1 | Поиск в магазине Отрон | В блокнот | |
T1 | Биполярный транзистор |
BC846 |
1 | Поиск в магазине Отрон | В блокнот | |
С6 | Конденсатор | 0.1 мкФ | 1 | Поиск в магазине Отрон | В блокнот | |
R1-R5, R12, R15—R17, R19 | Резистор |
33 кОм |
10 | Поиск в магазине Отрон | В блокнот | |
R6 | Резистор |
82 Ом |
1 | Поиск в магазине Отрон | В блокнот | |
R7-R9 | Резистор |
330 Ом |
3 | Поиск в магазине Отрон | В блокнот | |
R18 | Резистор |
3.3 кОм |
1 | Поиск в магазине Отрон | В блокнот | |
Разьем | DB25-MALE | 1 | Поиск в магазине Отрон | В блокнот | ||
Разьем для подключения к программируемой схеме | 1 | Поиск в магазине Отрон | В блокнот | |||
BSL программатор | ||||||
Линейный регулятор |
REG104-33 |
1 | Поиск в магазине Отрон | В блокнот | ||
U2 | ИС USB интерфейса |
TUSB3410 |
1 | Поиск в магазине Отрон | В блокнот | |
U5 | Микросхема | 24LC1281/SN | 1 | Поиск в магазине Отрон | В блокнот | |
С6 | Конденсатор | 1 мкФ | 1 | Поиск в магазине Отрон | В блокнот | |
С9, С10 | Конденсатор | 33 пФ | 2 | Поиск в магазине Отрон | В блокнот | |
С11, С12, С15 | Конденсатор | 0.1 мкФ | 3 | Поиск в магазине Отрон | В блокнот | |
Электролитический конденсатор | 0.1 мкФ | 1 | Поиск в магазине Отрон | В блокнот | ||
Сout(1) | Электролитический конденсатор | 1 | Поиск в магазине Отрон | В блокнот | ||
R17 | Резистор |
10 кОм |
1 | Поиск в магазине Отрон | В блокнот | |
R18 | Резистор |
15 кОм |
1 | Поиск в магазине Отрон | В блокнот | |
R20, R27, R28 | Резистор |
1.5 кОм |
3 | Поиск в магазине Отрон | В блокнот | |
R21, R22 | Резистор |
33 Ом |
2 | Поиск в магазине Отрон | В блокнот | |
R25 | Резистор |
470 Ом |
1 | Поиск в магазине Отрон | В блокнот | |
R31 | Резистор |
47 кОм |
1 | Поиск в магазине Отрон | В блокнот | |
Q2 | Кварцевый резонатор | 12 МГц | 1 | Поиск в магазине Отрон | В блокнот | |
Jp1 | Джампер | 1 | Поиск в магазине Отрон | В блокнот | ||
J1 | Разьем микро-USB | 1 | Поиск в магазине Отрон | В блокнот | ||
Добавить все |
Скачать список элементов (PDF)
Теги:
Опубликовано 29.10.2009
Ведущая Ольга Константинова
Микроконтроллеры MSP430 — это процессоры для обработки смешанных ( аналоговых и цифровых сигналов), обладающие сверхнизким энергопотреблением.
Наиболее перспективными сферами применения микроконтроллеров являются производство измерительных приборов, портативных медицинских устройств, спортивного оборудования.
490 руб.
67 руб.
1 300 руб.
5 760 руб.
1 010 руб.
830 руб.
1 090 руб.
4 930 руб.
940 руб.
1 230 руб.
2 410 руб.
2 370 руб.
380 руб.
370 руб.