Семейство микроконтроллеров AVR
со сверхнизким энергопотреблением picoPower
Владимир ЕРЕМЕЕВ
Платформа AVR остается популярной уже многие годы благодаря постоянному совершенствованию технологии, появлению новых версий микроконтроллеров и активному развитию отладочных средств. Одним из направлений современного развития AVR-контроллеров является разработка микросхем со сверхнизким энергопотреблением.
В 2006 году компания Л1ше1 представила новое семейство экономичных ЛУИ-контроллеров. Семейство получило обозначение picoPower. Контроллеры этого семейства способны длительное время работать от батарейного источника питания в таких приложениях, как приборы с ЖКИ, управление освещением, системы безопасности, бытовая автоматизация, ZigBee-решения. Новые ЛУИ-микроконтрол-леры являются обновленной версией популярных микроконтроллеров серий ATmega.
В обозначении этих микросхем появится суффикс «Р». Новые микросхемы являются совместимыми функционально и ртЧо-рт с микросхемами ATmega без суффикса «Р». Первыми микроконтроллерами этой серии стали ATmega169P с 4х25-сегментным контроллером ЖКИ и ATmega165P — микроконтроллер общего применения. До конца 2007 года планируется расширение серии picoPower.
Характеристики микроконтроллеров этой серии приведены в таблице 1.
Таблица 1. Характеристики микроконтроллеров серии picoPower
Название ай б к ь, re s а Js EEPROM, байт ОЗУ, байт Порты В/В Дополнительно Интерфейсы 8/16-битные таймеры ШИМ, каналов Аналоговый компаратор 10-битный АЦП, каналов C н R Сторожевой таймер Апп. Умножитель Напряжение питания, В Макс. тактовая частота, МГц Тип корпуса
ATmega48P 256 512 23 Общ. назн. (GP) UART, 2 SPI, I2C 2/1 + + + + 1,8-5,5 20 TQFP32, MLF32
ATmega88P 512 1024 23 GP UART, 2 SPI, I2C 2/1 + + + + 1,8-5,5 20 TQFP32, MLF32
ATmega168P 16 512 1024 23 GP UART, 2 SPI, I2C 2/1 + + + + 1,8-5,5 20 TQFP32, MLF32
ATmega328P 32 1024 2048 23 GP UART, 2 SPI, I2C 2/1 + + + + 1,8-5,5 20 TQFP32, MLF32
ATmega164P** 16 512 1024 32 GP 2 USART, SPI, I2C 2/1 + + + + 1,8-5,5 20 DIP40, TQFP44, MLF44
ATmega324P** 32 1024 2048 32 GP 2 USART, SPI, I2C 2/1 + + + + 1,8-5,5 20 DIP40, TQFP44, MLF44
ATmega644P** 64 2048 4096 32 GP USART, SPI, I2C 2/1 + + + + 1,8-5,5 20 DIP40, TQFP44, MLF44
ATmega165P* 16 512 1024 54 GP SPI, USI, USART 2/1 + + + + 1,8-5,5 16 TQFP64, MLF64
ATmega325P 32 1024 2048 54 GP SPI, USI, USART 2/1 + + + + 1,8-5,5 20 TQFP64, MLF64
ATmega3250P 32 1024 2048 69 GP SPI, USI, USART 2/1 + + + + 1,8-5,5 20 TQFP100
ATmega169P* 16 512 1024 54 Драйвер ЖКИ 4x25 SPI, USI, USART 2/1 + + + + 1,8-5,5 16 TQFP64, MLF64
ATmega329P 32 1024 2048 54 Драйвер ЖКИ 4x25 SPI, USI, USART 2/1 + + + + 1,8-5,5 20 TQFP64, MLF64
ATmega3290P 32 1024 2048 69 Драйвер ЖКИ 4x40 SPI, USI, USART 2/1 + + + + 1,8-5,5 20 TQFP100
* — «Спящий» BOD у микроконтроллеров ATmega165P и ATmega169P отсутствует.
** — сертифицированы для автомобильного применения (рабочий диапазон температур от —40 до +125 °С)
Микросхемы, выполненные по технологии picoPower, обладают рядом преимуществ, которые позволяют экономить расходуемую энергию в активном и энергосберегающем режимах:
• напряжение питания от 1,8 В;
• минимизированный ток утечки;
• автоматически отключаемый модуль слежения за уровнем напряжения питания;
• часовой кварцевый генератор 32 768 Гц с повышенной экономичностью;
• сниженная потребляемая мощность модуля Flash-памяти;
• отключение цифровых портов ввода/вывода в аналоговом режиме;
• интеллектуальное управление потребляемой мощностью;
• расширенные возможности по управлению тактированием периферийных модулей. Ниже более подробно рассмотрены особенности нового семейства.
Питание 1,8 В
для всех модулей кристалла
В отличие от микроконтроллеров прежних поколений, технология picoPower подразумевает напряжение 1,8 В для питания абсолютно всех модулей кристалла, включая аналоговые модули (АЦП, компаратор, источник опорного напряжения), а также модулей памяти (Flash-ПЗУ, EEPROM и ОЗУ).
Минимизация токов утечки
Потребление тока в режимах энергосбережения в большей степени определяется токами утечки кристалла. Разработанные технологии фирмой Atmel были объединены под общим названием picoPower. Кристаллы, изготовленные по технологии picoPower, позволяют получить токи утечки в режиме Standby при напряжении питания 1,8 В не более 100 нА (для ATmega165P).
Концепция «спящий BOD»
Практически все современные микроконтроллеры имеют на кристалле модуль слежения за уровнем напряжения питания — BOD (Brown Out Detector). Есть два подхода к снижению потребления этого модуля. Первый — сделать модуль очень экономичным. Плата за экономичность — резкое снижение быстродействия. Второй — использовать быстродействующий BOD, однако отключать этот модуль на время пребывания контроллера в режиме ожидания. Именно этот подход используется в микроконтроллерах серии picoPower. При этом время срабатывания модуля составляет 2 мкс. Естественно, для надежной работы контроллера модуль BOD отключается после перехода в режим ожидания, а включается до выхода из этого режима.
Ультранизкопотребляющий генератор на 32 кГц
При переходе контроллера в режим Standby существенный вклад в общее энергопотребление контроллера вносят цепи генератора. Применение новой версии модуля генератора, работающего с «часовым» кварцем, позволяет получить ток не более 650 нА (для ATmega165P) при работающем модуле BOD.
Снижение энергопотребления периферийных узлов в активном режиме
Потребление КМОП-микросхем в активном режиме напрямую зависит от количества одновременно переключаемых вентилей и частоты их переключения вследствие перезаряда паразитных емкостей кристалла. Таким образом, если запретить подачу тактовых импульсов на некоторые модули контроллера, можно снизить потребляемую мощность. Эта технология получила название Clock Gating. Существует три уровня работы Clock Gating — Analog Domain, CPU Domain и In/Out Domain.
Первый уровень отвечает за тактирование каждого энергопотребителя в зависимости от текущего режима работы контроллера.
Второй уровень задается программированием специального регистра снижения потребляемой мощности (Power Reduction Register, PRR). Известно, что в конкретной программе, выполняемой контроллером, не все периферийные модули могут быть активными постоянно. Некоторые модули задействуются на определенные интервалы времени, а какие-то — вообще не используются. Регистр PRR управляет включением и выключением периферийных модулей.
При отключении модуля его текущий статус запоминается, и все его регистры становятся недоступными для модификации. Как показывает статистика, использование такого механизма позволяет снизить суммарную потребляемую мощность на 5-10% в активном режиме и на 10-20% в режиме Idle.
Третий уровень Clock Gating отвечает за адаптивное тактирование регистров. Извест-
но, что не все регистры модифицируются в каждом такте. Таким образом, можно не подавать тактирующие импульсы на регистры, состояние которых не требуется модифицировать в данном цикле процессора.
Снижение потребления модуля Flash-памяти
Как правило, блок Flash-памяти во время работы контроллера всегда активен. Однако следует учесть, что в ряде случаев контроллер используется не на максимальной тактовой частоте, следовательно, время выборки команды из Flash-ПЗУ меньше одного периода тактовой частоты. Когда AVR-контроллер работает на частоте не выше нескольких мегагерц, используется техника «Flash sampling» — модуль памяти активизируется только на время, необходимое для выборки команды, а затем отключается.
Снижение токов утечки по входам
Многие AVR-контроллеры имеют модуль АЦП, который использует некоторые порты как аналоговые входы. Мультиплексирование выводов контроллера для цифровых или аналоговых операций повышает функциональность, однако приводит к увеличению энергопотребления. Это объясняется следующим.
Входной каскад КМОП-логики состоит из двух комплементарных МДП-транзисторов. При изменении уровня входного напряжения, в моменты, когда на вход подается уровень, примерно равный половине питания, оба транзистора «приоткрыты», и через входной каскад протекает сквозной ток. Для цифровых сигналов с крутыми фронтами это время пренебрежимо мало, однако если вывод используется как вход АЦП, на нем «неудобное» напряжение может оставаться сколь угодно долгое время, что приводит к увеличению уровня потребляемого тока. Для снижения потребления нужно отключать цифровой вход на время работы АЦП. Для этого введен специальный регистр DIDR (Dedicated Input Disable Register), который выборочно запрещает цифровые входы при работе АЦП.
Также этот регистр запрещает неиспользуемые входы контроллера при переходе в ждущий режим.
Для управления потребляемой мощностью контроллер имеет шесть режимов энергосбережения:
• Холостой режим (Idle mode) — в этом режиме блокируется подача тактовых импульсов на CPU и Flash-память.
• Режим снижения шума АЦП (ADC noise reduction mode) — холостой режим, плюс блокируется тактирование портов ввода/ вывода.
• Расширенный дежурный режим (Extended Standby mode) — режим снижения шума АЦП, плюс запрещается работа АЦП и EEPROM.
• Дежурный режим (Standby mode) — расширенный дежурный режим, плюс запрещается работа таймера 2.
• Режим отключения (Power Down mode) — дежурный режим, плюс запрещается работа генератора.
• Экономичный режим (Power Save mode) — самый низкопотребляющий режим, активны только асинхронные модули — прерывания и порт TWI.
Совокупность мер по уменьшению тока потребления как в активном режиме, так и в режимах ожидания позволила создать производительный процессор, который отличается малыми токами потребления. Для систем с автономным питанием наиболее популярны микроконтроллеры со сверхнизким потреблением, среди которых можно выделить продукцию компаний Texas Instruments Inc (серия MSP430), Microchip (серия nanoWatt), Renessas (серия H8/38076R) и Atmel (серия picoPower).
В таблицах 2, 3 для сравнения приведены параметры низкопотребляющих микроконтроллеров этих компаний.
Таблица 2. Потребление в режиме Power Save с включенным генератором 32 кГц
Прибор Типовое значение при 25 °С Максимальное значение при 2,2 В и 85 °С Комментарий
MSP430F435 1,1 мкА (Vcc = 2,2 B) 6 мкА Малопотребляющий BOR
MSP430F2xxx 0,8 мкА (Vcc = 2,2 B) 2,3 мкА Малопотребляющий BOR
ATmega164P 0,5 мкА (Vcc = 1,8 B) Нет данных «Спящий» BOD
ATmega165P 0,55 мкА (Vcc = 1,8 B) 1,6 мкА «Спящий» BOD
HD64F38076Rxxx 0,7 мкА (Vcc = 1,8 B) 5 мкА
Таблица 3. Потребление в режиме Power Down
Прибор Типовое значение при 3,0/5,0 В и 25 °С Максимальное значение при 3,0/5,0 В и 85 °С Комментарий
MSP430F435 0,1 мкА/- 3,5 мкА/ - Макс. Усс 3,6 В
MSP430F2xxx 0,1 мкА/ - 1,9 мкА/ - Макс. Усс 3,6 В
ATmega164P 0,1 мкА/ - 2 мкА/ - Нет данных для 5 В
ATmega165P 0,1 мкА/ 0,6 мкА 2 мкА/ - Нет данных для 5 В
PIC16F88x 0,15 мкА/ 0,35 мкА 1,5 мкА/ 1,8 мкА
PIC18F4220 0,1 мкА/ 0,1 мкА 1,7 мкА/ 6,5 мкА
HD64F38076Rxxx 0,3 мкА/ - 5 мкА/ - Нет данных для 5 В
Примеры применения
Поскольку микроконтроллеры серии picoPower являются совместимыми рт^-рт и функционально со своими собратьями семейства ATmega, переход на новые контроллеры достаточно прост. Основное различие заключается в том, что появился новый регистр управления снижением потребляемой мощности.
Линейка контроллеров picoPower включает в себя устройства, которые могут использоваться в автомобилестроении: ATmega164P, ATmega324P и ATmega644P. Они прошли
сертификацию по стандарту ЛEC-Q100 (возможность эксплуатации в жестких условиях) и доступны как в общем, так и в автомобильном исполнении. Во втором случае рабочий температурный диапазон этих контроллеров — от -40 до + 125 °С, а диапазон рабочих напряжений — от 2,7 до 5,5 В.
Микроконтроллеры со встроенным драйвером ЖКИ поддерживают такие возможности, как экономичная генерация сигналов управления ЖКИ, встроенное управление контрастностью, гибкий выбор длительностей сигналов управления и частоты обновления, формирование напряжения питания ЖКИ и продолжение работы после перевода микроконтроллера в экономичный режим работы. По сравнению с существующими аналогичными решениями наличие встроенного источника питания позволит снизить количество внешних компонентов. Для работы с 3,3-вольтовыми ЖКИ потребуется один внешний конденсатор и источник питания напряжением не менее 1,8 В. В типичных приложениях с ЖКИ технология picoPower совместно со встроенным контроллером ЖКИ позволят на годы продлить ресурс батареи питания. При этом себестоимость конечного изделия будет ниже за счет уменьшения количества внешних компонентов.
Многолетний срок службы батарей становится необходимым условием во многих приложениях. Микроконтроллеры семейства picoPower предназначены для средств управления осветительными системами, средств
безопасности, ZigBee-приложений и других устройств, которые большую часть срока эксплуатации находятся в режиме ожидания. В технических требованиях к ZigBee-приложениям особо оговаривается срок службы батарей. Конечная ZigBee-продукция должна работать от одной батареи не менее 2 лет, иначе она не будет сертифицирована. Спецификация ZigBee разработана для создания дешевых беспроводных сетей передачи небольших объемов данных с низким энергопотреблением. Областями применения таких сетей являются:
• автоматизация зданий, где технология ZigBee используется для связи с датчиками температуры, влажности, освещения, вентиляции и т. д.;
• системы промышленного контроля и автоматизация производственных процессов;
• домашняя автоматизация и система «умный дом».
Компания Atmel довольно часто использует при разработке беспроводных сетей комбинированный подход, основанный на объединении радиочастотного прибора с традиционным или специализированным контроллером. Решение компании Atmel для сетей ZigBee получило название AVR Z-Link и представляет собой связку 802.15.4-совместимого приемопередатчика AT86RF230 с микроконтроллером семейства AVR ATmega644(P), ATmega1281 или ATmega2561.
Atmel ZigBee является гибкой системой. Она поддерживается семейством микрокон-
троллеров Atmel AVR 8-битовый RISC с объемом внутренней Flash-памяти от 32 до 256 кбайт. Система Atmel Z-Link при рабочем напряжении 1,8 В потребляет ток 17 мА в режиме передачи, 15 мА — в режиме приема и 0,7 мкА — в спящем режиме. Это наилучшие показатели среди систем 802.15.4, предлагаемых на рынке.
Упрощенный выбор нужного универсального микроконтроллера для конкретного приложения из относительно небольшого, но сбалансированного семейства AVR, хорошая совместимость микроконтроллеров по коду и расположению выводов, отличное соотношение «цена — производительность — энергопотребление» для 8-разрядных микроконтроллеров являются хорошими аргументами в их пользу. Общие тенденции развития AVR показывают, что данная платформа еще долго будет удерживать положительную динамику роста продаж и удовлетворять пожеланиям большого числа конечных поль-
зователей.
Литература
■
1. Горелков Р. AVR-микроконтроллеры picoPower компании Atmel с ультранизким потреблением. // Компоненты и технологии. 2006. № 12.
2. Королев Н., Шабынин А. Архитектура AVR: развитие вширь и в глубь. Часть 1. // Компоненты и технологии. 2007. № 2.
3. www.atmel.com/products/AVR/picopower
4. www.atmel.com/products/AVR/z-link/