Проектирование устройств с автономным питанием: выбор микроконтроллера
Бурное развитие электроники в последние годы, а также постоянное уменьшение цены на электронные компоненты приводят к тому, что многие производители бытового и промышленного оборудования заменяют в производимой аппаратуре электромеханические узлы электронными схемами с микроконтроллерным управлением. В последние годы чаще встречается электронный регулятор температуры, чем регулятор, построенный на биметаллической пластине, и таймер с электронным заданием времени, чем механический таймер.
Стоимость «электронной» реализации отдельных узлов аппаратуры при массовом производстве становится меньше традиционной «механической» реализации. Кроме того, конкуренция вынуждает производителей оснащать, казалось бы, уже привычные приборы новыми интересными функциями, которые хотя и оказываются зачастую мало востребованными при эксплуатации устройства, могут сыграть решающую роль в момент его выбора при покупке. Потребитель охотнее выберет прибор, который при стоимости, сравнимой с конкурентами, способен выполнять большее число функций.
По оценкам компании Semico Research, к 2010 году каждый человек ежедневно будет иметь дело с 350 микроконтроллерами, установленными в домашнем и офисном оборудовании, автомобильных системах, а также в устройствах личного пользования. По оценкам той же кампании рынок 8-разрядных микроконтроллеров в настоящее время оценивается примерно в 6 миллиардов долларов в год.
Вокруг можно обнаружить множество устройств под управлением микроконтроллеров в самых разнообразных приборах — телевизоре, беспроводном или сотовом телефоне, видеомагнитофоне, DVD-плеере, компьютере, в игрушках для детей. Даже обычные бытовые устройства — электрический утюг, холодильник, микроволновая печь — не могут обойтись без микроконтроллера.
В промышленной автоматике эта тенденция проявляет себя широким применением интеллектуальных датчиков — устройств, производящих сбор информации, ее первичную обработку и дальнейшую пересылку или хранение. Такие датчики могут работать автономно, собирая информацию об объекте измерения и накапливая ее до момента передачи оператору (реализуются обычно на основе батарейного питания), либо могут быть объединены в сенсорную сеть, осуществляя постоянное взаимодействие с центральным измерительным блоком. Во втором случае для подключения датчиков применяется один из стандартизованных промышленных интерфейсов. Питание датчика при этом производится по интерфейсному кабелю (иногда посредством сигнальных линий), что также накладывает ограничение на максимальную потребляемую мощность.
Общими функциями подобного класса устройств являются прием информации с датчиков или элементов управления, обработка информации, отображение полученного результата или передача его по линии связи. Можно построить их обобщенную структурную схему (рис. 1).
Центральной частью приведенной структурной схемы является однокристальный микроконтроллер, под управлением которого реализуются все основные функции устройства.
Входными источниками информации для него являются элементы управления, аналоговые или цифровые датчики, либо управляющие команды, полученные по проводному или беспроводному интерфейсу.
Элементы индикации (как правило, жидкокристаллические индикаторы различного типа) используются для отображения статуса устройства или результатов работы устройства.
Система питания таких приборов может быть построена на основе питания от батарей или аккумуляторов либо непосредственно, либо с последующим преобразованием напряжения питания.
Спектр применения устройств подобного класса достаточно широк (рис. 2). И именно особенностям их реализации посвящена данная статья.
Становятся понятны основные требования, определяющие принципы построения рассматриваемых устройств.
- Вычислительная мощность, достаточная для решения поставленных перед устройством задач.
- Минимизация потребления энергии, позволяющая увеличить срок автономной работы устройства.
- Минимальная стоимость комплектующих, определяющая минимальную стоимость готового устройства. Критерий минимизации стоимости играет тем большую роль, чем большими тиражами планируется выпускать разрабатываемое устройство.
- Достаточно часто требуется наличие необходимых аппаратных средств для передачи или приема информации. В последнее время для этого все чаще используются беспроводные стандарты передачи данных.
- При необходимости — наличие средств индикации, позволяющих отображать выходную информацию или статус работы устройства.
При необходимости проектирования подобных устройств разработчик часто сталкивается с ситуацией, когда большинство представленных на рынке производителей предлагают широкий спектр производимых ими компонентов и информацию об их применении. Но в то же время сравнение подобных компонентов разных производителей часто является проблемой, равно как и обоснование критериев их выбора. Попытки обсуждения данной проблемы в форумах часто приводят к получению конкретных рекомендаций о предпочтении того или иного компонента (часто противоречивых). В данной статье сделана попытка систематизации подходов к выбору элементной базы таких устройств, определение основных критериев выбора и сравнение имеющихся на рынке предложений различных фирм с позиции выбранных критериев.
Стоит сразу ограничить спектр рассматриваемых устройств устройствами малой и средней интеграции, построенными с применением небольшого числа компонентов, имеющих небольшие размеры и минимальную стоимость реализации.
Развивающийся бурными темпами в последние годы рынок «гаджетов» (мультимедийных электронных устройств высокой сложности с достаточно высокой ценой) имеет совершенно другие подходы к выбору элементной базы и формированию рыночной стоимости, поэтому не будет здесь рассматриваться.
Ниже будет рассмотрен процесс выбора микроконтроллера — основного элемента, реализующего выполнение устройством заданных функций и в значительной степени определяющего энергопотребление устройства. Особое внимание уделено вопросу снижения потребляемой устройством мощности, факторам, влияющим на потребление и возникающим при этом специфическим проблемам.
Снижения потребляемой устройством мощности (увеличения времени автономной работы устройства) добиваются комплексом мер, показанных на рис. 3.
Для микроконтроллера уменьшения потребляемой мощности является только одним из целого ряда предъявляемых к нему требований, которые к тому же вступают в противоречие друг с другом.
- Во-первых — достаточная производительность.
- Во-вторых — требование минимального потребления энергии, которое противоречит первому, так как потребляемая контроллером энергия пропорциональна его производительности.
- В-третьих— минимальная стоимость чипа.
- В-четвертых — набор периферии (цифровых и аналоговых периферийных модулей), который позволил бы минимизировать количество дополнительных компонентов схемы. Большое число периферийных блоков противоречит требованию минимальной стоимости контроллера.
Большинство производителей микроконтроллеров в последние годы ориентируют свою продукцию на рынок устройств с малым потреблением мощности. Это проявляется в непрерывном уменьшении энергопотребления новых семейств, уменьшении допустимого напряжения питания, увеличении числа режимов пониженного потребления энергии («спящих» режимов). Набор периферии новых семейств рассчитан на их применение в устройствах с автономным (батарейным) питанием — драйвер ЖКИ, поддержка популярных интерфейсов, таких как USB, TCP/IP, CAN. Кроме того, происходит расширение числа аналоговых периферийных модулей, таких как аналоговые компараторы, программируемые усилители, датчики температуры, аналого-цифровые преобразователи.
Список наиболее популярных в настоящее время на рынке семейств микроконтроллеров, предназначенных для применений в устройствах с автономным питанием:
- MSP430 (Texas Instruments);
- AVR (Atmel);
- PIC (Microchip);
- клоны 8051 (большое число производителей);
- 68HC08 (Freescale, ранее Motorola);
- 78K0S, 78K0, 78K0R (NEC);
- Z8 (Zilog);
- H8 (Renesas, ранее Hitachi).
Различия в архитектуре ядер этих семейств, их вычислительной мощности и наборах периферии ориентируют каждое из них на определенную область применения.
Семейство MSP430 фирмы Texas Instruments имеет 16-разрядную архитектуру. Его отличает очень хорошее соотношение производительности и потребляемой мощности и цена, сравнимая с ценой на 8-разрядные контроллеры. Это делает контроллеры Texas Instruments оптимальными для применения в мобильных приложениях, сочетающих требования по высокой производительности и малой потребляемой мощности.
Новое семейство 16-разрядных микроконтроллеров 78K0R фирмы NEC тоже может оказаться очень интересным для разработчиков по соотношению производительности и потребляемой мощности. Особенностью этого семейства является большой объем адресуемой памяти ОЗУ (до 1 Мбайт). Имеется программная совместимость «сверху вниз» с младшими семействами контроллеров этой фирмы.
В качестве представителя архитектуры 8051 рассмотрим контроллеры фирмы Silicon Labs. Они имеют процессорное ядро, совместимое по системе команд с ядром MCS-51. Увеличением тактовой частоты и применением конвейеризации производительность контроллера удалось поднять до 50–100 MIPS (миллионов операций в секунду). Контроллеры этой фирмы отличаются очень богатым набором периферии. Особенно это касается блоков для аналоговой обработки сигнала. Кроме привычных АЦП и аналогового компаратора в состав контроллера могут входить ЦАП, управляемый усилитель, термодатчик и АЦП высокой разрядности. Это все позволило компании Silicon Labs называть контроллеры этой серии «аналоговыми сигнальными процессорами». Это, разумеется, повлияло на цену чипов, но позволило разработчикам реализовывать большинство функций устройства без применения дополнительных компонентов.
Контроллеры семейства AVR фирмы Atmel обладают высокой производительностью (до 16 MIPS), достаточной для решения большинства вычислительных задач, и развитым набором периферии. Это семейство очень популярно среди разработчиков и обеспечено хорошей информационной поддержкой производителя.
Контроллеры PIC фирмы Microchip давно зарекомендовали себя высокой надежностью, малым потреблением и хорошей поддержкой. Кроме того, Microchip продолжает выпуск существующих семейств достаточно долгое время, что помогает разработчикам при организации сопровождения и ремонта выпущенных на рынок продуктов. Младшие серии PIC (например, PIC16) отличает также низкая стоимость (правда, при невысокой производительности).
8-разрядные контроллеры фирм Zilog (семейство Z8) и NEC (семейство 78K0S) часто бывают незаслуженно обойдены вниманием разработчиков. На самом деле 8-разрядные контроллеры этих фирм отличают достаточные для большинства задач набор периферии и производительность, а кроме того — очень невысокая стоимость. Последний фактор, а также то, что большинство изделий этих фирм доступно в версии с однократно программируемой памятью программ или масочной памятью, и определяет то, что большинство окружающих нас бытовых устройств построено на основе именно этих контроллеров.
Снижение потребляемой мощности микроконтроллеров производители ведут параллельно несколькими путями:
- Разработка эффективной с точки зрения энергопотребления архитектуры контроллера. Низким потреблением знамениты среди разработчиков микроконтроллеры Texas Instruments. Специальные технологии, снижающие потребление котроллеров, представлены также другими фирмами — PicoPower у контроллеров Atmel, nanoWatt у контроллеров Microchip, Kx2 Expansion у NEC и т. д.
- Увеличение производительности микроконтроллера также влияет на энергопотребление устройства напрямую влияет на его энергопотребление устройства. Выполнение вычислительных операций за меньшее число тактов, то есть за меньшее время, при той же тактовой частоте приведет к меньшему расходу энергии для их выполнения.
- Снижение минимального напряжения питания контроллеров. Минимальное напряжение питания в 1,8 или 2 В позволяет питать микроконтроллер напрямую от трехвольтовой литиевой батарейки без дополнительного преобразователя напряжения. Сравнительная информация по минимальному напряжению питания рассматриваемых семейств приведена в таблице.
- Использование развитой системы энергосберегающих режимов работы. Как правило, большую часть времени контроллеры, работающие в мобильных устройствах/с автономным питанием, проводят в «спящем» режиме, характеризующемся низким потреблением электроэнергии. Переход в активный режим производится обычно по таймеру или от внешнего прерывания. У большинства представленных семейств количество режимов пониженного потребления достигает 4–5. Отличие между ними — в наборе активной периферии и режиме ее тактирования. В среднем потребление контроллера сокращается с единиц миллиампер в активном режиме до десятков микроампер в спящем режиме с минимальным количеством активной периферии и до десятых долей микроампер в режиме полного останова контроллера (с сохранением даных в ОЗУ контроллера). Сравнительная информация по потреблению контроллеров различных производителей показана в таблице.
- Усовершенствование схемы тактирования. В составе микроконтроллера имеется несколько тактовых генераторов. Один из них (обычно на основе внешнего кварцевого резонатора) определяет частоту тактирования ядра в активном режиме. Отдельный внутренний RC-генератор используется обычно для работы сторожевого таймера. Отдельный генератор также может использоваться для тактирования периферии контроллера в спящем режиме при отключении основного генератора. Контроллеры некоторых фирм допускают программное управление частотой генератора, синтезируемой управляемым программно умножителем частоты, либо программное переключение между различными типами генераторов.
- Сокращение времени стабилизации основного тактового генератора. Это время может оказывать сильное влияние на среднее потребление контроллера. Во многих системах опрос внешних устройств производится контроллером всего несколько раз в секунду и занимает относительно небольшое число тактов машинного времени, в то время как период стабилизации основного тактового генератора при переходе из спящего в активный режим может занимать до нескольких миллисекунд. Этот период и будет определять основное время нахождения контроллера в активном режиме. Интересной с этих позиций является возможность переключения контроллера на встроенный RC-генератор на время стабилизации частоты основного генератора.
Ниже рассмотрены основные критерии, определяющие процесс выбора микроконтроллера. Цель процесса выбора — найти наименее дорогой микроконтроллер, удовлетворяющий спецификации системы, то есть требованиям по производительности, надежности, условиям применения и т. д. Общая стоимость системы включает инженерные исследования, разработку, производство, гарантийный ремонт, обслуживание, совместимость, простоту в обращении и т. д.
- Пригодность выбранного микроконтроллера для проектируемого устройства. Под этим можно понимать достаточную производительность ядра, требуемый размер памяти программ и данных, наличие необходимых периферийных блоков, достаточное число линий портов ввода/вывода.
- Стоимость микроконтроллера. Может ли бюджет проекта позволить использование выбранного микроконтроллера? Если этот критерий не выполняется, то все остальные становятся несущественными. Стоимость может существенно уменьшаться при заказе больших партий (несколько тысяч штук).
- Технические параметры микроконтроллера, такие как диапазон питающих напряжений, рабочий температурный диапазон, устойчивость к электромагнитным помехам, будут определяться областью применения разрабатываемого устройства.
- Жизненный цикл выбранного семейства. Гарантия того, что производитель будет выпускать выбранный для разработки контроллер еще в течение нескольких лет, может оказаться определяющей при необходимости дальнейшего обслуживания и ремонта производимых устройств (особенно важно в таких областях, как промышленные объекты, военная техника). Информация о планах выпуска выбранного семейства может быть доступна у производителя по запросу. Семейства или модели контроллеров, которые планируется снять с производства в ближайшее время, отмечаются на сайте производителя грифом «Не рекомендуется для новых разработок».
- Надежность фирмы-производителя. Как давно компания существует на рынке микроконтроллеров, как зарекомендовала себя качеством производимой ранее продукции.
- Доступность продукции выбранной фирмы в регионе. Наличие представительства производителя или зарекомендовавшего себя регионального дилера.
- Наличие технической и информационной поддержки производителя, примеров применения, примеров исходных текстов. Наличие специальной группы, занимающейся поддержкой применений, и квалификация работающего в ней персонала. Доступность персонала по телефону, факсу, электронной почте.
- Поддержка разработчика. Наличие сопутствующих аппаратных средств: оценочных комплектов (Evolution Board или Starter Kit), внутрисхемных отладчиков и программаторов. Наличие программного инструментария, сочетающего набор средств разработки, симуляции и отладки программы и способного к эффективной оптимизации программы по критериям быстродействия или размера программного кода.
- Flash-память программ, обладающая достаточным ресурсом программирования (минимальный ресурс — 1000 раз, желательный — 100 000). При последующем крупносерийном выпуске разрабатываемого устройства наличие исполнений контроллера с памятью программ OTP (однократного программирования) или с масочной памятью является большим преимуществом, позволяя снизить стоимость серийного изделия.
Взвешенный выбор микроконтроллера является только первым шагом на пути к снижению потребления проектируемого устройства. Дальнейшие мероприятия по снижению потребления происходят на этапе схемотехнического проектирования устройства. Ниже приведены наиболее важные схемотехнические приемы, на которые разработчику стоит обратить внимание.
- Снижение напряжения питания схемы до разумно выбранного минимума.
- Уменьшение до реально необходимого значения частоты работы процессора. Из таблицы видно, что использование часового кварца вместо кварца на несколько мегагерц приводит к снижению потребления тока микроконтроллером на несколько порядков. В критических по времени моментах возможно увеличение тактовой частоты программными средствами (если выбранный микроконтроллер допускает такую возможность).
- Подача питания на периферийные микросхемы (внешние АЦП, Flash-память) непосредственно с выходов процессора или через ключевые элементы только на время их работы.
- Внимательный выбор элементов обвязки схемы. Некоторые типы конденсаторов, используемых в качестве фильтров по питанию (особенно электролитические конденсаторы), имеют весьма значительный ток утечки, сравнимый с потреблением активных элементов схемы. Что еще неприятнее — для некоторых типов увеличение тока утечки происходит уже в процессе эксплуатации устройства (из-за электрохимических процессов старения).
- Организация эффективной системы питания. Для устройств, питание которых производится через преобразователь напряжения, возможны ситуации, когда потери, связанные с преобразованием энергии, составляют 90% потребления схемы. В тех случаях, когда это возможно, стоит отказаться от преобразователя напряжения и перейти на питание устройства непосредственно от батареи.
Специфические проблемы, которые могут подстерегать разработчика при проектировании схем с малым потреблением тока (порядка единиц микроампер):
- Повышенная чувствительность устройства к электромагнитным помехам. Помехи от радиопередающих устройств (например, от сотовых телефонов), наводящиеся на подключенных кабелях, могут вызвать сбои в работе устройства, а также перенапряжения или выход устройства из строя.
- Схема функционирует значительное время после отключения батареи за счет заряда, сохранившегося в фильтрующих конденсаторах.
- Фильтрующие и защитные элементы могут потреблять больше тока, чем активные компоненты.
- Защитные диоды, включенные в обратном направлении, могут иметь токи утечки, сравнимые с потреблением активных элементов схемы.
- Внешний активный уровень на одном из входов может привести к запуску всей схемы.
Написание управляющей программы для микроконтроллера является следующим важным шагом, определяющим итоговое потребление устройства. Приведем программные способы снижения потребления энергии:
- Использование спящего режима, в котором микропроцессор должен проводить большую часть рабочего времени.
- Избегание программных конструкций вида «NOP» или «delay» для реализации временных задержек.
- Использование табличных вычислений вместо математических формул. Особенно это можно посоветовать для вычисления тригонометрических функций или БПФ.
- Программное отключение неиспользуемых периферийных модулей контроллера (UART, ADC). Включение используемых модулей только на время их непосредственного использования.
- Перевод процессора в спящий режим на время оцифровки аналогового сигнала модулем встроенного АЦП. Выход из этого режима возможен по прерыванию по окончании преобразования.
- Использование в структуре программы макрокоманд вместо подпрограмм небольшого размера. Макрокоманды будут выполняться быстрее, чем подпрограммы, выполняющие те же операции.
- Внимательное конфигурирование неиспользуемых линий портов. Некоторые микроконтроллеры имеют возможность использования встроенных подтягивающих резисторов для линий порта. Это вызывает повышенное потребление тока контроллером (и в спящем режиме тоже).
Так же, как и при схемотехническом проектировании устройства, программные методы управлением потреблением энергии могут привести к появлению различных неприятностей в работе устройства. Наиболее распространенные из них:
- Отключение модуля UART может распознаваться как начало передачи на противоположной стороне линии. Перед его отключением необходимо подтянуть линию связи к уровню питания, а выход UART сконфигурировать как входную линию порта.
- При контроле тока, потребляемого схемой, непосредственное измерение тока может оказаться сложной задачей. Внутреннее сопротивление обычных мультиметров при измерении малых токов бывает настолько большим, что это может привести к ошибочному функционированию схемы. Особенно это проявляется в момент подачи питания на схему. Для этого можно зашунтировать включенный последовательно в цепь питания амперметр в первые секунды работы схемы.
- Среднее потребление тока схемой рассчитывается путем арифметического усреднения потребляемого тока в активном и в спящем режиме. Однако при значительной величине потребляемого тока в активном режиме (от сотен миллиампер) разряд элемента питания произойдет значительно раньше расчетного времени. В этом случае надо учитывать импульсную разрядную характеристику, приводимую в документации на элемент питания.
- Программное подключение и отключение внешних компонентов, использующих для работы собственные конденсаторы, ведет к возникновению в моменты подключений нежелательных реактивных токов.
- Некоторые активные компоненты функционируют даже при отключенных линиях питания. Для этого им может быть достаточно активного уровня на одном из входов (например, последовательный вход микросхемы FT232BM фирмы FTDI).
Список рекомендаций, приведенных в этой статье, может быть полезен разработчику как на этапе выбора элементной базы, так и на этапах проектирования и разработки устройства. Разумеется, дать набор универсальных, всегда применимых рекомендаций в принципе невозможно. Ценность приведенных выше советов для конкретного устройства может быть оценена только самим разработчиком и будет полностью определяться назначением разработки.
Литература
- http://www.mikrocontroller.net/articles/Entscheidung_Mikrocontroller
- http://www.mikrocontroller.net/articles/Ultra_low_power
- http://asutpnews.ru/articles/-choice_microcontroller_tornado-/
- http://www.eu.necel.com/_pdf/U18213EJ2V0PF00.PDF
- http://www.eu.necel.com/_pdf/U17380EJ6V0PF00.PDF