Микроконтроллеры AVR: что нового?
Уже стало традицией, что фирма Atmel ежегодно анонсирует свои планы развития семейства AVR-микроконтроллеров на специализированных дистрибьюторских тренингах в центре AVR (Тронхейм, Норвегия). В данной статье мы расскажем о запланированных мероприятиях Atmel на следующий 2006 год, включая информацию о новых интересных кристаллах и технологических решениях.
Новые технологические решения
Начиная с 2001 года, силы фирмы Atmel по развитию архитектуры AVR были сконцентрированы на выработке мер по снижению энергопотребления кристаллов, в результате чего удалось получить очень хорошие показатели по сравнению с признанным лидером - линейкой микросхем MSP430 от TI. Разработанные технологии были объединены под общим названием PicoPower, а в обозначении микросхем, которые будут выпущены с этими технологическими особенностями, теперь появится суффикс "P" (например, ATmega169P).
При разработке мер по снижению энергопотребления AVR приоритетным было выбрано направление на оптимизацию энергопотребления в энергосберегающих режимах. Были выработаны следующие схемы функционирования:
- На кристалл интегрирован низкочастотный тактовый генератор 32 кГц, потребление которого ничтожно мало по сравнению с суммарным энергопотреблением в режиме Power-Save. Для данной тактовой частоты при напряжении питания 2.2В (такое напряжение выбрано для удобства сравнения с серией MSP430F2) суммарный ток потребления микроконтроллера составляет 0.6 мкА. Следует отметить, что нижний порог питающего напряжения для микроконтроллеров AVR составляет 1.8В.
- Предусмотрена возможность отключения блока контроля питания (BOD, Brown-out Detection) при переходе в режим энергосбережения. Функциональность такова: если во время работы микроконтроллера в энергосберегающем режиме не производится запись в энергонезависимую память (Flash, EEPROM), то нет необходимости в работе блока BOD, а значит, его можно отключить. Для обеспечения защиты от сбоев при выходе из энергосберегающего режима, в первую очередь разрешается BOD.
- Предусмотрена возможность останова каждого отдельного периферийного блока микроконтроллера. Функция останова производится отключением системной тактовой частоты от этого блока, что выполняется программно записью соответствующего значения в регистр PRR (Power Reduction Register) во время работы программы (с этого момента регистры SFR отключенного блока будут недоступны). Напомним, что микроконтроллеры AVR полностью статические, поэтому после включения тактовой частоты блок начнет работу в том же состоянии, в котором он находился до отключения. Именно такой способ отключения периферии признан разработчиками AVR наиболее правильным, так как при отсутствии тактовой частоты возникают минимальные токи утечки.
- Добавлены регистры запрещения буфера цифрового ввода для линий ввода-вывода общего назначения (Digital Input Disable Registers - DIDR). Данный шаг был вызван тем, что при возникновении дрейфующих напряжений на входе триггера Шмитта в буфере цифрового ввода возникают токи утечки, нагружающие источник питания. Функция запрещения необходима, прежде всего, на мультиплексированных линиях (аналоговый ввод / цифровой ввод-вывод), работающих в режиме ввода аналогового сигнала, где токи утечки могут создаваться входным аналоговым сигналом, а также на неиспользуемых линиях, где логический уровень входного сигнала строго не определен. Для более гибкого конфигурирования на мультиплексированных линиях введены индивидуальные биты запрещения цифрового ввода для каждой линии 8-битного порта. Для снижения потребляемого тока в энергосберегающих режимах, функция отключения буфера цифрового ввода выполняется автоматически для всех линий, которые не отвечают за выход микроконтроллера из "спящего" состояния.
В таблицах 1 и 2 приведены достигнутые на сегодняшний день значения по энергопотреблению AVR в энергосберегающих режимах, которые были получены с применением технологии PicoPower. Для сравнения в таблицах также приведены данные для микроконтроллеров MSP430.
Табл. 1 Потребление в режиме Power-Down МК Atmel и TI
Наименование |
ЖКИ |
Типовое |
Максимальное |
MSP430F4xxx |
Есть |
0.1uA |
3.5uA |
MSP430F2xxx |
- |
0.1uA |
1.9uA |
ATmega169P |
Есть |
< 1uA |
2uA |
Для Uпит.=2.2В и температуре 25°C (типовое значение) и 85°C (максимальное значение) |
Табл. 2 Потребление в режиме Power-Save МК Atmel и TI
Наименование |
ЖКИ |
Типовое |
Максимальное |
MSP430F435 |
Есть |
1.1мкA |
6мкA |
MSP430F2131 |
- |
0.8мкA |
2.3мкA |
Atmega169P |
Есть |
0.6мкA |
Нет инф. |
Для Uпит.=2.2В и температуре 25°C (типовое значение) и 85°C (максимальное значение) |
Что касается работы микроконтроллера в активном режиме, то за счет улучшения технологических процессов производства кристаллов также удалось снизить энергопотребление (см. рис.1). В отличие от конкурентных архитектур, главная особенность решения AVR заключается в том, что микроконтроллеры, выполненные с применением технологии PicoPower, имеют ту же производительность и диапазон питающих напряжений, что и традиционные микроконтроллеры, а значит могут работать на тактовых частотах до 20 МГц.
Рис. 1. Энергопотребление в зависимости от тактовой частоты
Приведенный на рис. 1 график показывает, что на высоких тактовых частотах AVR выигрывает у своего соперника по энергопотреблению - MSP430 от TI.
Новые микроконтроллеры AVR
На 2006 год запланирован выпуск целого ряда новых кристаллов. Наблюдается следующая тенденция: расширяются возможности, добавляются новые блоки, снижается энергопотребление, развивается направление AVR-микроконтроллеров специального назначения.
Среди микроконтроллеров семейства Tiny ожидается начало серийного выпуска заявленных еще в начале 2005 года трех линеек (см. рис.2):
- Линейка ATtiny25/45/85 в 8-выводном корпусе, в которую (в отличие от ATtiny13) добавлен блок ФАПЧ для генерации высокочастотного (до 64МГц) тактового сигнала, быстродействующий таймер/счетчик с двумя каналами ШИМ, температурный датчик для измерения температуры корпуса микросхемы, универсальный последовательный интерфейс (USI), обеспечивающий передачу данных по интерфейсам UART, SPI и TWI/I2C.
- Линейка ATtiny24/44/84 в 14-выводном корпусе, похожая на кристалл ATtiny2313, но с меньшим количеством выводов, в который добавлен 10-разрядный АЦП.
- Линейка микросхем ATtiny261/461/861, аналогичная ATtiny26, но с более быстрым АЦП, быстрыми таймерами/счетчиками с тремя каналами ШИМ и отладочным интерфейсом debugWIRE.
Отметим, что в планируемых к выпуску линейках микросхем улучшены блоки для генерации ШИМ-модулированного сигнала, что особенно важно для задач управления электродвигателями. Такая закономерность обусловлена тем, что большая часть микросхем семейства Tiny применяется на рынке именно для этой задачи. Для того, чтобы поддержать начинающих разработки в этой области производителей, фирма Atmel разместила отдельный раздел на сайте (www.atmel.com/products/avr/mc), где можно найти руководства по применению различными типами двигателей.
Рис. 2. Планы развития Tiny AVR
Расширение линейки микроконтроллеров семейства Mega будет проводиться не менее активно (см. рис. 3). В первую очередь, для основной части микросхем этого семейства будут выпущены дублирующие кристаллы, но с технологическими особенностями и усовершенствованиями от технологии PicoPower. Во-вторых, запланирован выпуск кристаллов с большим объемом Flash-памяти в корпусах с большим количеством выводов (ATmega1281/2561 и ATmega640/1280/2560).
Рис. 3. Планы развития Mega AVR
Микросхемы семейства Mega, которые традиционно работали при напряжениях питания от 2.7 В, будут выпущены в новом варианте, где нижний порог питающего напряжения будет снижен до 1.8В: ATmega16 - ATmega164P, ATmega32 - ATmega324P, ATmega128 - ATmega1281. Некоторые линейки AVR-микроконтроллеров будут способны работать в расширенном (автомобильном) температурном диапазоне (рис.4).
Рис. 4. Планы развития AVR для автомобильных применений
Для линеек микроконтроллеров AVR специального назначения у корпорации Atmel наконец-то появились планы на выпуск Flash-версий AVR с интерфейсом USB (см. рис. 5), причем сразу двух типов: USB Device (Full-Speed) и USB OTG (On The Go). Обе линейки будут выпускаться с префиксом в наименовании AT90USB.
Рис. 5. Планы развития AVR специального назначения
Первая микросхема линейки USB Device будет выпущена уже в первой половине 2006 года, а микроконтроллеры USB OTG еще находятся на этапе тестирования, и для проведения испытаний этих микросхем фирма Atmel приглашает сторонние организации (в т.ч. приветствуются и представители российских компаний).
Для работы в режиме USB Device микросхемы будут снабжены 6-ю конечными точками, обеспечивающими передачу данных по USB во всех стандартных режимах (bulk, isochronous, interrupt и control). Для каждой конечной точки может быть выделен блок памяти размером до 256 байт из общего буфера памяти DPRAM объемом 832 байта. Для работы интерфейса USB в режиме OTG будет включена поддержка протоколов HNP (Host Negotiation Protocol) и SRP (Session Request Protocol).
Приведенные на рис. 5 планы развития микросхем специального назначения в 2006 году мало отличаются от планов, заявленных Atmel в начале 2005 года [1]. Эта ситуация объясняется тем, что запланированные ранее параметры микроконтроллеров были "заточены" под небольшое количество крупных заказчиков, на которых сейчас и работает Atmel Corp., выпуская эти специализированные микросхемы в больших количествах. Например, микросхема ATmega406 была заказана фирмой Sony, а теперь её применяют еще четыре крупнейших мировых производителя электронной техники. Сама же микросхема может быть использована не только в приборах, где требуется заряд батарей литий-ионных элементов, но и для задач, где требуются прецизионные измерения входных аналоговых сигналов. Правда, есть существенное ограничение - встроенный 18-разрядный сигма-дельта АЦП обладает большим периодом накопления сигнала, низкой частотой дискретизации и малым диапазоном измерения.
Новые средства поддержки разработок
Большие изменения наблюдаются прежде всего среди программных средств поддержки разработок. Главной новостью в конце 2005 года стал выход AVR Studio версии 4.12, в которую, помимо стандартных обновлений микрокодов для аппаратных средств поддержки разработок и исправления ошибок, был добавлен ряд существенных возможностей:
- В программную оболочку AVR Studio добавлена возможность вызова С-компилятора WinAVR (AVRGCC), распространяемого свободно. Сам же компилятор не включен в дистрибутив AVR Studio - производитель рекомендует скачать его самостоятельно на сайте www.avrfreaks.net. Вызов компилятора производится через встроенный плагин (plug-in), который выполняет функции создания и конфигурирования проекта, поддержку написания кода программы на языке С непосредственно в среде AVR Studio, а также позволяет производить пошаговую отладку кода в симуляторе или в "железе" по строкам программы, написанной на С. В предыдущих версиях AVR Studio необходимо было самостоятельно загружать объектный код, сформированный внешним компилятором. Получить справку по использованию плагина можно во встроенном файле справки AVR Studio.
Возникает вопрос: почему Atmel Corp. не написала этот плагин для профессионального компилятора (например, IAR), укрепив этим отношения с конкретным производителем программного обеспечения? Дело в том, что плагин AVR GCC был написан в качестве примера использования созданного совсем недавно SDK, предназначенного для подключения внешних модулей сторонних разработчиков к среде AVR Studio. Именно этот пример и будет распространяться свободно для всех желающих создать аналогичный продукт. Объектные коды SDK, обеспечивающего доступ к ресурсам AVR Studio, и исходные коды плагина AVR GCC можно получить через региональных представителей Atmel.
- Усовершенствована схема использования точек останова. Помимо постоянных точек останова (program breakpoints), появилась возможность устанавливать точки останова по условию (по различным условиям при операциях с данными - data breakpoints), причем останов может производиться как каждый раз при достижении точки останова, так и после прохождения точки заданное количество раз. Следует отметить, что популярный среди разработчиков внутрисхемный эмулятор ATJTAGICE mkII поддерживает всего три условия останова: чтение, запись или чтение/запись данных, причем можно установить только 2 точки останова. Если нужны более широкие возможности, то нужно использовать эмулятор ICE50 или симулятор AVR Studio.
Для удобства работы с большим набором точек останова было добавлено отдельное окно "Breakpoints and Tracepoints", в котором можно выполнять следующие операции: добавлять (методом drag-&-drop) переменные из текста программы и окна просмотра содержимого регистров SFR, запрещать и разрешать каждую конкретную точку без необходимости её поиска в тексте программы, конфигурировать условия останова.
- В графический интерфейс пользователя добавлена система "smart docking", которая позволяет располагать окна (текста программы, просмотра содержимого регистров или переменных и т.д.) в удобном для пользователя месте. Удобство использования состоит в том, что при перетаскивании окон пользователь может легко выбрать нужное расположение окна среди других окон и увидеть, как будет выглядеть результат еще до окончания операции перемещения, причем окна можно располагать не только рядом, но и в общем окне с закладками.
Ряд программных продуктов для микроконтроллеров AVR в ближайшее время пополнится пакетом ATAVRRTOS, основа которого - операционная система реального времени MicroC/OS-II. Особенность пакета состоит в том, что в его состав помимо самой операционной системы входит полный набор технической документации и плагин для AVR Studio, позволяющий производить отладку пользовательской программы в целевом микроконтроллере с запущенной на нем операционной системой. Использовать этот пакет производитель рекомендует с микроконтроллерами ATmega2560, mega2561, mega1280 и ATmega1281 (хотя принципиальных ограничений нет - ядро ОС занимает 3кБ Flash-памяти и 150 Байт ОЗУ). Еще одним большим плюсом такого пакета будет его цена, ожидаемая не выше 100$.
Существующие аппаратные средства разработки претерпели некоторые изменения, а также появился ряд новых устройств.
Что касается изменений, то в конце прошлого года была выпущена новая версия внутрисхемного программатора ATAVRISP с наименованием ATAVRISP mkII (читается "марк два", код для заказа ATAVRISP2). Новый программатор подключается к компьютеру по интерфейсу USB и имеет более совершенные цепи защиты от короткого замыкания, статического электричества и неправильных действий пользователя. Обеспечивая более высокую скорость работы (12 с против 43 с при программировании Flash-памяти объемом 128К) и более высокую надежность, программатор стал более сложным и дорогим (дороже предшественника на ~7$).
Для поддержки ожидаемых к выпуску кристаллов, фирма Atmel традиционно выпускает мезонинные модули для STK500. Для разработок на базе 14-выводных микросхем серии ATtiny24/44/84 и 20-выводных ATtiny261/461/861 будет изготавливаться плата STK505, а для 24- и 32- выводных кристаллов линейки AT90PWMx, выпускаемых только в корпусах SOIC, - мезонинная плата STK520.
Для быстрого старта при разработке блоков управления бесколлекторными двигателями постоянного тока, помимо STK520 предлагается использовать набор ATAVRMC100 (рис.6), который представляет собой законченное устройство, построенное на базе AT90PWM3. Новое отладочное средство снабжено мощными МОП-транзисторами и готово к подключению двигателя постоянного тока, который также включен в комплект поставки набора.
Рис. 6. Набор разработчика ATAVRMC100
Для отладки программного кода для микроконтроллера ATmega406 можно воспользоваться набором ATAVRSB100, в котором реализованы все требования для создания блоков заряда батарей Li-Ion элементов. Плата набора построена таким образом, что для отладки конечной программы нет необходимости постоянного заряда/разряда реальных батарей - они симулируются внешней "обвязкой", поэтому отладку можно выполнять гораздо быстрее и удобнее.
Всего понемногу...: или что еще было обещано Atmel Corp.?
Производитель объявил о своих планах (2007 год) по выпуску интегрированной среды разработки AVR Studio нового поколения, построенной на платформе "Eclipse", которая представляет собой набор программных компонентов (SDK) для написания интегрированных сред разработки различного назначения. Выполненная на JAVA, данная платформа позволит создавать программные продукты, работающие в различных операционных системах! Сама же платформа была создана одноименным независимым сообществом, в состав которого вошли Borland, IBM, QNX Software Systems, Red Hat, SuSE, TogetherSoft (подробнее на www.eclipse.org), и распространяется в открытых кодах. Среди производителей микроконтроллеров переход на платформу Eclipse планируют также компании Microchip и Freescale.
Для разработчиков, которые начнут разработку на базе микроконтроллеров с интерфейсом USB, разработана мезонинная плата STK525 (рис. 7). К моменту серийного выпуска платы Atmel обещает снабдить её набором полезных программ и примеров в исходных кодах. Функция программирования кристалла на плате (и в системе) будет предусмотрена через интерфейсы SPI и USB (с использованием пользовательского загрузчика в кристалле и утилиты FLIP3 со стороны компьютера).
Рис. 7. Набор разработчика STK525
Заключение
Благодаря постоянному совершенствованию технологии, появлению новых версий микроконтроллеров и активному развитию отладочных средств, платформа AVR остается популярной уже многие годы и в феврале 2006 года отметит свое десятилетие. Общие тенденции развития AVR показывают, что данная платформа еще долго будет удерживать положительную динамику роста продаж и удовлетворять пожеланиям большого числа конечных пользователей. По опросам потребителей, такая тенденция удерживается не только доступной ценой на микроконтроллеры, но и наличием качественного и доступного инструментального программного обеспечения, примерами программ, надежностью работы.
Источники:
- Курилин А., Ламберт Е. AVR - микроконтроллеры: развитие продолжается. "Компоненты и технологии" c2`2005
- AVR Technical Training. Atmel Corp. Norway. 2005
- AVR Software and Technical Library. December 2005
Алексей Курилин
|