№6 / 2018 / статья 2

Программа «25 функций за 25 центов»

Александр Русу (г. Одесса)

Специальная программа компании Texas Instruments предоставляет разработчикам готовые решения и техническую поддержку для реализации 25 наиболее распространенных в большинстве современных приложений с автономным питанием функций, таких как интерфейсные мосты, генераторы ШИМ-сигнала, системные контроллеры и системные АЦП, ЧРВ и таймеры. Все эти функции реализуются на бюджетных, но достаточно производительных микроконтроллерах MSP430 из линейки Value Line.

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

Другим направлением использования небольших микроконтроллеров, которое сформировалось относительно недавно, является замена ими специализированных микросхем с ограниченной функциональностью. В среднестатистическом приборе присутствует множество стандартных функций, реализованных с помощью специализированных микросхем: энергонезависимая память (EEPROM), преобразователи интерфейсов (например, SPI/UART), контроллер сброса с монитором питания (Reset Controller), часы реального времени (Real-Time Clock – RTC), сторожевой таймер (Watch Dog Timer – WDT). Очевидно, что такой подход к проектированию имеет ряд недостатков, с которыми приходится мириться из-за отсутствия альтернативы.

Специализированные микросхемы имеют функциональность, жестко ограниченную их внутренней схемой. В большинстве случаев этого оказывается достаточно для решения задачи, но бывают ситуации, когда с помощью стандартных микросхем реализовать ее не предоставляется возможным, и разработчику приходится ограничивать технические характеристики устройства или увеличивать его размеры и стоимость за счет установки дополнительных элементов. Например, большинство мониторов питания формирует сигнал сброса при выходе контролируемой величины за пределы фиксированного на аппаратном уровне диапазона допустимых значений. Но иногда этот диапазон должен меняться в зависимости от состояния устройства: скажем, при питании от внешнего источника минимальное рабочее напряжение должно быть 4,5 В, а при питании от батарей оно может быть снижено до 3,0 В с одновременным ограничением функциональности системы. В этом случае необходимо или несколько мониторов питания со схемой выбора, или одна специализированная микросхема с расширенной функциональностью, которой может просто не оказаться в природе. Еще одним недостатком использования узкоспециализированных микросхем является расширение элементной базы устройства, которое приводит к зависимости от большого числа производителей и поставщиков компонентов. Кроме того, специализированные микросхемы, как правило, имеют значительную стоимость, и к их использованию предъявляется множество специфических требований, например, к трассировке платы или к элементам обвязки.

Для устранения этих проблем компания Texas Instruments предлагает альтернативный вариант, заключающийся в замене специализированных микросхем недорогими стандартными микроконтроллерами, которые, с одной стороны, могут полноценно обеспечить большинство необходимых системных функций, а с другой – позволяют сделать их гибкими и динамически изменяемыми. Кроме того, подобная замена позволяет уменьшить номенклатуру используемой элементной базы.

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

Для поддержки этого направления компания Texas Instruments запустила специальную программу – «25 функций за 25 центов», в рамках которой разработчикам предоставляется полная техническая поддержка в реализации 25 наиболее распространенных системных функций на основе высокопроизводительных микроконтроллеров семейства MSP430. Для продвижения программы на сайте TI размещено электронное руководство, содержащее 25 кратких заметок, в которых приведены все особенности проектирования той или иной функции со ссылками на примеры проектов с исходными кодами. Это позволяет разработчику оперативно получить стандартный вариант любой функции и приступить к осуществлению собственных уникальных решений.

Все приведенные примеры имеют настолько малый размер кода, что позволяют использовать контроллеры MSP430FR2000 с наименьшим объемом памяти программ, равным всего 0,5 кбайт, и стоимостью, начинающейся с 25 центов за микросхему.

Предлагаемые примеры системных функций сгруппированы по четырем категориям: интерфейсные функции, генерация ШИМ-сигналов, системные устройства и таймеры. По каждой из категорий компания Texas Instruments подготовила небольшие видеоуроки, просмотрев которые, разработчик сможет быстро начать работу над реализацией своего технического задания и в сжатые сроки и с высокой эффективностью решить поставленную задачу.

Аппаратное обеспечение программы

Программа «25 функций за 25 центов» ориентирована на использование микроконтроллеров семейства MSP430 Value Line, обладающих высокой производительностью и плотностью кода, характерными для 16-разрядных приложений, в сочетании с традиционными для 8-разрядных решений экономичностью и стоимостью. Особенностью этого семейства является возможность работы в широком диапазоне питающих напряжений 1,8…3,6 В и ультрамалый ток потребления, максимальное значение которого в активном режиме не превышает 2 мА, в режиме ожидания – менее 1 мкА, а в выключенном состоянии – всего 15 нА. Все это делает микроконтроллеры данного семейства идеальными для малогабаритных и носимых устройств с батарейным питанием. Кроме того, данные микроконтроллеры, как и остальные представители семейства MSP430, могут использоваться в качестве замены традиционных 8-разрядных микроконтроллеров 16-разрядными аналогами, соизмеримыми по цене и функциональным возможностям, но гораздо более производительными.

Другой ключевой особенностью микроконтроллеров семейства MSP430 Value Line является использование энергонезависимой сегнетоэлектрической оперативной памяти с произвольным доступом (Ferroelectric Random Access Memory, FRAM) для хранения программного кода и пользовательских настроек. Обладая производительностью, эквивалентной производительности традиционных статических ОЗУ (SRAM), FRAM сохраняет данные при отключении питания и при этом обладает впечатляющим сроком службы, составляющим не менее 1015 циклов перезаписи, что намного превышает ресурс самой высококачественной Flash-памяти, обычно составляющей менее 106 циклов. Это позволяет использовать микроконтроллеры с FRAM не только в качестве замены традиционных микроконтроллеров с Flash-памятью, но и в приложениях, требующих настоящего энергонезависимого ОЗУ. Например, в системах сбора и накопления данных, где необходимо часто обновлять или перезаписывать информацию «на лету».

Семейство микроконтроллеров MSP430 Value Line условно разделено на две линейки – MSP430FR2x и MSP430FR4x, – отличающиеся набором периферийных модулей (таблица 1), причем основное отличие линейки MSP430FR4x от MSP430FR2x заключается в наличии драйвера жидкокристаллического индикатора (ЖКИ). Все представители семейства (таблица 2) могут работать с тактовыми частотами до 16 МГц. Большинство из них содержат встроенный  многоканальный интегрированный АЦП и как минимум один приемопередатчик SPI или UART. Этого вполне достаточно для применения в большом количестве приложений, в том числе – в детекторах огня и дыма, датчиках освещенности, фитнес-браслетах, устройствах мониторинга состояния пациента, датчиках открытия дверей и окон и других приложениях, работающих от батарей, где требуется, в первую очередь, экономичность и неприхотливость к питающему напряжению.

Таблица 1. Ключевые особенности микроконтроллеров MSP430 Value Line

Наименование MSP430FR2x MSP430FR4x
Память До 16 кбайт, 1015 циклов перезаписи, гибкое сегментирование До 16 кбайт, 1015 циклов перезаписи, гибкое сегментирование
Корпус TSSOP, VQFN, LQFP, DSBGA 16…64 вывода TSSOP или LQFP 48…64 вывода
Периферийны модули 10-разрядный АЦП, компаратор, операционный усилитель с токовой обратной связью (трансимпедансный усилитель), инфракрасный приемопередатчик, I2C, SPI, UART 10-разрядный АЦП, ЖКИ-драйвер (256 сегментов), инфракрасный приемопередатчик, I2C, SPI, UART
Потребляемый ток Выключенный, нА 15 15
Режим ожидания, нА 700 700
Активный режим, мкА/МГц 120 120
Оценочные платы MSP-EXP430FR2433, MSP-EXP430FR2311 MSP-EXP430FR4133

Все микроконтроллеры MSP430 Value Line совместимы по набору инструкций с остальными представителями семейства MSP430, насчитывающего на момент написания статьи более 500 приборов. Это полностью соответствует базовой концепции Texas Instruments – «One platform, one ecosystem, endless possibilities» (одна платформа, одна экосистема, безграничные возможности), заложенной в 1999 году во время разработки самых первых экземпляров семейства. Все примеры кода, приведенные в рамках программы «25 функций за 25 центов», могут быть открыты и модифицированы с помощью собственной среды разработки компании Texas Instruments – Code Composer Studio (CCStudio) или большого количества программных инструментов сторонних производителей, например, IAR Embedded Workbench (IDE).

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

Таблица 2. Характеристики микроконтроллеров семейства MSP430 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 0 LQFP, TSSOP, TSSOP
MSP430FR2033 16 2 10-разрядный SAR (10 каналов) 60 1 2 1 IR Logic 0 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 0 TSSOP, VQFN
MSP430FR2433 16 4 10-разрядный SAR (8 каналов) 19 1 2 2 4 16-bit Timers 0 VQFN
MSP430FR4131 4 0,5 10-разрядный SAR (10 каналов) 60 1 2 1 LCD, IR Logic 0 LQFP, TSSOP, TSSOP
MSP430FR4132 8 1 10-разрядный SAR (10 каналов) 60 1 2 1 LCD, IR Logic 0 LQFP, TSSOP, TSSOP
MSP430FR4133 16 2 10-разрядный SAR (10 каналов) 60 1 2 1 LCD, IR Logic 0 LQFP, TSSOP, TSSOP

Обобщенная структурная схема микросхем MSP430FR2x показана на рисунке 1. Микроконтроллеры MSP430 используют фоннеймановскую архитектуру с единым адресным пространством для команд и данных. Ключевой особенностью MSP430 является возможность тактировать любой периферийный модуль асинхронно от ядра, что позволяет гибко настраивать тактовую частоту каждого узла микроконтроллера, а следовательно – и энергопотребление микросхемы в целом.

Рис. 1. Структурная схема микроконтроллеров MSP430FR2x

Рис. 1. Структурная схема микроконтроллеров MSP430FR2x

Среди представителей семейства MSP430 Value Line особо следует отметить микроконтроллер MSP430FR2000. Обладая самыми скромными характеристиками, которых, тем не менее, достаточно для реализации всех 25 системных функций, он имеет наименьшую стоимость, что и определило имя программы, предлагаемой Texas Instruments – «25 функций за 25 центов».

Все приведенные в рамках программы примеры исходного кода проверены на оценочной плате MSP-TS430PW20 с использованием высокоскоростного программатора-отладчика MSP-FET. Тем не менее, разработчики могут легко модифицировать предлагаемое программное обеспечение для использования более бюджетных оценочных плат, например, MSP-EXP430FR2311. Все рекомендации по портированию и оптимизации кода при переходе с MSP-TS430PW20 на MSP-EXP430FR2311 также приведены в рамках этой программы и доступны в прилагаемом электронном руководстве.

Интерфейсные функции

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

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

В рамках программы «25 функций за 25 центов» компания Texas Instruments предлагает разработчикам примеры реализации на основе микроконтроллеров MSP430 четырех стандартных системных функций, которые можно использовать в большом количестве приложений:

  • контроллер шины Single-Wire;
  • мост UART/UART;
  • мост UART/SPI;
  • расширитель шины SPI.

Например, в двунаправленном мосте UART/SPI (рисунок 2), реализованном на основе рассмотренного выше микроконтроллера MSP430FR2000, интегрированный модуль SPI настраивается на работу в режиме мастера и обеспечивает обмен данными между мостом и ведомой SPI-микросхемой. При этом устройство, являющееся в системе ведущим, в качестве которого может выступать центральный микроконтроллер или персональный компьютер, получает эти данные уже по интерфейсу UART.

Рис. 2. Мост UART/SPI на основе микроконтроллера MSP430FR2000

Рис. 2. Мост UART/SPI на основе микроконтроллера MSP430FR2000

В исходном примере при приеме байта от ведущего в системе устройства по интерфейсу UART микроконтроллер MSP430FR2000 сохраняет его во внутреннем буфере и инициирует обмен данными c ведомой SPI-микросхемой. Передав ей полученную информацию и получив от нее байт ответа, мост UART/SPI возвращает принятый байт ведущему устройству, но уже по интерфейсу UART. Таким образом, ведущее в системе устройство обменивается данными со SPI-микросхемой через UART, не тратя процессорное время на формирование сигналов интерфейса SPI.

Модифицировав соответствующим образом исходное программное обеспечение моста UART/SPI, разработчик может переконфигурировать систему, например, для передачи многобайтных пакетов, автоматической проверки контрольной суммы, работы в полнодуплексном режиме, генерации аппаратных флагов и реализации других функций без вмешательства в исходный код ПО центрального контроллера или ведомой SPI-микросхемы.

Генерация ШИМ-сигналов

Широтно-импульсная модуляция (ШИМ) широко используется в различных приложениях. Пропустив ШИМ-сигнал через фильтр нижних частот, можно реализовать простейший цифро-аналоговый преобразователь (ЦАП) и генерировать как постоянное, так и переменное напряжение, используемые, например, для перестройки принимаемой частоты в радиоприемнике или для управления яркостью осветительного прибора. Импульсы с фиксированной частотой и переменной длительностью являются управляющими для сервоприводов и электродвигателей и могут служить выходными сигналами различных датчиков. Поэтому неудивительно, что в программе «25 функций за 25 центов» приведено большое количество примеров реализации автономных генераторов ШИМ-сигналов на основе микроконтроллеров MSP430 Value Line:

  • трехканальный (RGB) светодиодный драйвер с управлением по UART;
  • контроллер сервопривода;
  • контроллер шагового двигателя;
  • двухканальный 8-разрядный ЦАП;
  • преобразователь «напряжение/длительность импульса».

В качестве примера на рисунке 3 показан предлагаемый вариант двухканального 8-разрядного ЦАП, один канал которого генерирует синусоидальное напряжение с частотой 250 Гц, а второй – постоянное напряжение в диапазоне от нуля до напряжения питания. Для устранения высокочастотных пульсаций сгенерированного напряжения, неизбежных при таком методе формирования, к выходам микроконтроллера подключены RC-фильтры нижних частот.

Рис. 3. Двухканальный ЦАП на основе микроконтроллера MSP430FR2000

Рис. 3. Двухканальный ЦАП на основе микроконтроллера MSP430FR2000

В исходном примере синусоидальный сигнал формируется табличным методом на основе тридцати двух заранее предустановленных значений, а постоянное напряжение – на основе данных, хранящихся в одной из ячеек FRAM. Однако разработчику не составит труда модифицировать приведенный пример и превратить статические сигналы в динамические, параметры которых – амплитуду, частоту, форму и прочее – можно изменять ведущим в системе устройством по одному из стандартных интерфейсов, например, UART, тем более что варианты такой реализации приведены в других примерах. Это позволит автономно генерировать широкий спектр низкочастотных сигналов с минимальным участием центрального процессора, что, безусловно, позитивно скажется на стоимости и производительности системы.

Системные устройства

Стандартным системным устройствам посвящена практически половина программы «25 функций за 25 центов». Это закономерно, поскольку данные функции не всегда можно полноценно обеспечить с помощью стандартных периферийных модулей центрального контроллера или приходится реализовывать с помощью отдельных микросхем, например, в целях повышения устойчивости и безопасности системы.

В рамках программы «25 функций за 25 центов» компания Texas Instruments предлагает примеры реализации:

  • эмулятора EEPROM;
  • экономичного контроллера 16-кнопочной клавиатуры;
  • многофункционального контроллера сброса;
  • квадратурного энкодера;
  • интегрирующего АЦП на основе компаратора;
  • АЦП с будильником системы по пороговым значениям измеряемого сигнала;
  • управляемого по UART компаратора с гистерезисом;
  • детектора взлома системы;
  • программируемого узла автоподстройки частоты;
  • программируемого тактового генератора.

Сегнетоэлектрическая память FRAM может использоваться как альтернатива традиционной энергонезависимой памяти на основе EEPROM или Flash-технологий. При этом ее потребляемый ток, особенно в режимах стирания и записи, на несколько порядков ниже, чем у всех известных на сегодняшний день технологий. Все это позволяет использовать микроконтроллеры семейства MSP430 Value Line в качестве альтернативного экономичного и высоконадежного внешнего хранилища системных и пользовательских данных.

В приведенном примере эмулятор EEPROM (рисунок 4) позволяет ведущему микроконтроллеру хранить и модифицировать 48 байт в FRAM, используя для связи интерфейс SPI. Объем хранимой информации может быть увеличен разработчиком путем выбора микроконтроллера с большим объемом памяти, а возможность программирования позволяет реализовать множество дополнительных функций, например, блочные (многобайтные) чтение и запись, проверку целостности передаваемых данных или автоматическую их корректировку, в том числе – и заводскими установками.

Рис. 4. Эмулятор 48-байтного EEPROM на основе микроконтроллера MSP430FR2000

Рис. 4. Эмулятор 48-байтного EEPROM на основе микроконтроллера MSP430FR2000

Таймеры

Большинство программных процессов, будь то генерация сигнала управления светодиодом в пульте дистанционного управления или прием данных по последовательному интерфейсу, требуют привязки к реальному времени. Поэтому последний в рамках программы «25 функций за 25 центов», но не последний по своему значению блок функций посвящен вопросам измерения времени. В составе этого блока приведены примеры реализации:

  • часов реального времени;
  • программируемого будильника системы;
  • внешнего программируемого сторожевого таймера;
  • простого будильника системы на основе часов реального времени;
  • секундомера с семисегментным индикатором;
  • монитора напряжения с фиксацией времени измерений.

Например, простейший секундомер с семисегментным индикатором (рисунок 5) позволяет измерять время с помощью внутреннего тактового генератора частотой 32 кГц. В базовом примере управление устройством осуществляется с помощью двух кнопок: старт/стоп и сброс. Для индикации используются три разряда индикатора, которые подключаются к микроконтроллеру с помощью транзисторных ключей, выполняющих функцию усилителей мощности, в то время как отдельные сегменты, по которым протекает меньший ток, подключаются к выводам порта GPIO напрямую. Стабильности внутреннего RC-генератора вполне достаточно для измерения небольших отрезков времени, однако для критических функций разработчик всегда может использовать внешний кварцевый резонатор, позволяющий значительно повысить точность измерений.

Рис. 5. Секундомер на основе микроконтроллера MSP430FR2000

Рис. 5. Секундомер на основе микроконтроллера MSP430FR2000

Заключение

Программа «25 функций за 25 центов», предлагаемая Texas Instruments, является хорошей отправной точкой для того, чтобы переосмыслить традиционный подход к проектированию системных плат большинства приложений, особенно с батарейным питанием. Гибкость программирования и настройки, разгрузка центрального микроконтроллера, уменьшение энергопотребления, использование новых технологий хранения информации – все эти факторы, в конечном итоге, позволят разрабатываемым приложениям выйти на совершенно новый технический уровень и обеспечить значительное конкурентное преимущество по сравнению с устройствами, созданными на основе традиционных методов проектирования.

Наши информационные каналы

О компании Texas Instruments

В середине 2001 г. компании Texas Instruments и КОМПЭЛ заключили официальное дистрибьюторское соглашение, которое явилось результатом длительной и успешной работы КОМПЭЛ в качестве официального дистрибьютора фирмы Burr-Brown. (Как известно, Burr-Brown вошла в состав TI так же, как и компании Unitrode, Power Trend и Klixon). С этого времени компания КОМПЭЛ получила доступ к поставке всей номенклатуры производимых компанией TI компонентов, ...читать далее