RL78/I1A

Продление автономной работы с помощью микроконтроллера RL78,
или Как сделать батарею из лимона

№ 9’2013
PDF версия
На выставке Embedded World 2012 демонстрационная система с микроконтроллером RL78 питалась от одного лимона в течение всех трех дней мероприятия, демонстрируя беспрецедентно низкий уровень энергопотребления для массового микроконтроллера и реальную возможность продлить время автономной работы системы на базе RL78.

Введение

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

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

 

Архитектура с низким энергопотреблением

В семействе микроконтроллеров RL78 предусмотрены широкие возможности управления питанием, которые позволяют микроконтроллеру работать с высочайшей эффективностью (потребляемый ток 66 мкА/МГц), и три режима ожидания: HALT, STOP и новый маломощный режим SNOOZE.

Возможные переходы между рабочим режимом и режимами ожидания

Рис. 1. Возможные переходы между рабочим режимом и режимами ожидания

Есть множество способов снизить общее энергопотребление. На рис. 1 показаны возможные переходы между режимами работы и ожидания. В этой статье мы сосредоточим внимание на основных конструктивных решениях, которые могут помочь снизить энергопотребление микроконтроллера RL78 и тем самым продлить время работы от батареи. Еще одно преимущество RL78 — очень широкий диапазон рабочих напряжений. Эти устройства могут работать при напряжении от 1,6 до 5,5 В, что также помогает продлить время автономной работы. Умень-шение напряжения питания незначительно сказывается на потребляемой мощности самого микроконтроллера, зато может существенно влиять на энергопотребление внешних компонентов, например датчиков. Поэтому возможность работы с высоким быстродействием при низком напряжении питания может стать большим преимуществом с точки зрения конструкции и функционирования системы в целом.

 

Снижение тактовой частоты процессора

Простой и, пожалуй, очевидный способ уменьшить энергопотребление, которым не стоит пренебрегать, — это снижение тактовой частоты процессора (либо на постоянной основе, либо в периоды бездействия). Внутренний высокочастотный тактовый генератор RL78 имеет семь фиксированных значений частоты — от 1 до 32 МГц. Со снижением частоты на каждый шаг рабочий ток уменьшается приблизительно на 22%. Поэтому выбор более низкой рабочей частоты может весьма значительно сказаться на потребляемой мощности.

В периоды, когда в системе не требуется производить никаких вычислений, можно программно переключать процессор на работу от внешнего низкочастотного вспомогательного тактового генератора. Тем самым, например, можно снизить потребляемый ток с 1,8 мА при тактовой частоте 8 МГц и напряжении питания 3 В до 5 мкА при частоте 32 кГц и том же напряжении, в результате чего резко уменьшится общее энергопотребление. Хотя работа микроконтроллера на пониженной тактовой частоте ощутимо снижает потребляемую мощность, основным методом снижения энергопотребления системы является использование режимов ожидания микроконтроллера.

Далее приводится обзор маломощных режимов ожидания RL78.

 

Режим останова процессора (HALT)

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

Режим останова процессора позволяет, например, снизить потребляемый ток с 1,8 мА (8 МГц, 3 В) до 0,53 мА (при работающем главном тактовом генераторе) на время действия этого режима. В режиме останова процессора есть дополнительные возможности для снижения энергопотребления: например, можно переключить периферию на тактовый сигнал от вспомогательного тактового генератора (32 кГц), что вызовет снижение потребляемого тока приблизительно до 0,8 мкА. Пробуждение из режима останова процессора может осуществляться по прерыванию от любого внутреннего или внешнего источника.

 

Режим полного останова (STOP)

Режим полного останова RL78 характеризуется наименьшим потребляемым током — 0,5 мкА. В этом режиме могут быть остановлены все рабочие тактовые генераторы процессора и периферии. Предусмотрена возможность оставить включенными вспомогательный тактовый генератор и некоторые периферийные устройства, такие как часы реального времени (RTC), интервальный таймер и следящий таймер (WDT), чтобы с их помощью можно было выводить из режима ожидания главную систему микроконтроллера. В этом режиме можно легко снизить потребляемый ток до уровня менее 1 мкА. Пробуждение из режима полного останова может осуществляться по прерыванию от любого внутреннего или внешнего источника или по системному сбросу.

 

Режим частичного останова (SNOOZE)

Режим частичного останова — пожалуй, наиболее важный из режимов ожидания с расширенной функциональностью, реализованных в RL78. Являясь одним из вариантов режима полного останова, он призван обеспечить ограниченное функционирование, не пробуждая процессор. Тем самым исключаются лишние затраты энергии и времени, связанные с переходом из режима полного останова в рабочий режим. Сигналом к переходу может быть корректный прием данных от блока последовательной передачи или преобразование данных аналого-цифровым преобразователем (АЦП). Эти два метода можно совмещать, что позволяет реализовывать развитую логику режима ожидания с множеством сценариев пробуждения.

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

Примером использования режима частичного останова с АЦП может служить пробуждение процессора лишь в том случае, если результат преобразования выходит за установленные пределы. Последовательность действий такова: часы реального времени или таймер пробуждают микроконтроллер из режима полного останова, АЦП выполняет преобразование, сравнивает результат с установленными пределами и пробуждает процессор для возобновления нормальной работы только в том случае, если выполнено условие пробуждения; в противном случае процессор остается неактивным, а микроконтроллер возвращается в режим полного останова. Это будет продолжаться в течение неограниченного времени, пока не будет выполнено условие пробуждения или не поступит сигнал внешнего прерывания или сброса. Этот процесс можно использовать, например, в обогревательной системе для проверки температуры, и пробуждать микроконтроллер только в том случае, если температуру нужно изменить. Можно также измерять напряжение батареи, пока система находится в режиме ожидания, и пробуждать систему только тогда, когда напряжение упадет ниже заданного уровня, чтобы выполнить процедуру выключения.

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

Типичные уровни энергопотребления при использовании микроконтроллера RL78 и его режимов ожидания

Рис. 2. Типичные уровни энергопотребления при использовании микроконтроллера RL78 и его режимов ожидания

 

Практические примеры

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

Средний ток рассчитывается следующим образом:

Iср = [(ток активного режима 1 × время активности 1) + (ток активного режима 2 × время активности 2) + (ток бездействия × остаток периода)]//временной интервал.

Подставим в формулу числовые значения:

  • Ток активного режима 1 (AC1) равен 1000 мкА, время активности 1 равно 50 мс.
  • Ток активного режима 2 (AC2) равен 200 мкА, время активности 2 равно 200 мс.
  •  Временной интервал равен 1 с.
  • Ток бездействия (то есть режима полного останова) равен 3 мкА на протяжении остатка временного интервала.
  • Остаток временного интервала = временной интервал – время активности 1 – время активности 2 = 1000–50–200 = 750 мс.

Соответственно, средний ток в этом примере будет таков:

Iср = [(1000×0,05)+(200×0,2)+(3×0,75)]/1 = 92 мкА.

Пример с режимом частичного останова

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

Средний ток при использовании одного только режима полного останова гораздо больше, чем при совместном использовании режимов полного и частичного останова

Рис. 3. Средний ток при использовании одного только режима полного останова гораздо больше, чем при совместном использовании режимов полного и частичного останова

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

 

Заключение

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

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

Добавить комментарий

Ваш адрес email не будет опубликован. Обязательные поля помечены *