Микроконтроллеры AVR Atmel: что нового?
Уже стало традицией, что фирма 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). В отличие от конкурирующих архитектур, микроконтроллеры, выполненные с применением технологии PicoPower, имеют ту же производительность и диапазон питающих напряжений, что и традиционные микроконтроллеры, а значит могут работать на тактовых частотах до 20 МГц.
Приведенный на рис. 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 создала специальный раздел на сайте (http://www.atmel.com/products/avr/mc), где можно найти руководства по применению с различными типами двигателей.
Расширение линейки микроконтроллеров семейства Mega будет проводиться не менее активно (рис. 3). В первую очередь, для основной части микросхем этого семейства будут выпущены дублирующие кристаллы, но с технологическими особенностями и усовершенствованиями от технологии PicoPower. Во-вторых, запланирован выпуск кристаллов с большим объемом Flash-памяти в корпусах с большим количеством выводов (ATmega1281/2561 и ATmega640/1280/2560).
Микросхемы семейства Mega, которые традиционно работали при напряжениях питания от 2,7 В, будут выпущены в новом варианте, где нижний порог питающего напряжения будет снижен до 1,8 В: ATmega16 — ATmega164P, ATmega32 — ATmega324P, ATmega128 — ATmega1281. Некоторые линейки AVR-микроконтроллеров будут способны работать в расширенном (автомобильном) температурном диапазоне (рис. 4).
Для линеек микроконтроллеров AVR специального назначения у корпорации Atmel наконец-то появились планы на выпуск Flash-версий AVR с интерфейсом USB (рис. 5), причем сразу двух типов: USB Device (Full-Speed) и USB OTG (On The Go). Обе линейки будут выпускаться с префиксом в наименовании AT90USB.
Первая микросхема линейки USB Device будет выпущена уже в первой половине 2006 года, а микроконтроллеры USB OTG еще находятся на этапе тестирования, и для проведения испытаний этих микросхем фирма Atmel приглашает сторонние организации (в том числе и российские компании).
Для работы в режиме USB Device микросхемы будут снабжены шестью конечными точками, обеспечивающими передачу данных по USB во всех стандартных режимах (bulk, isochronous, interrupt и control). Для каждой конечной точки может быть выделен блок памяти размером до 256 байт из общего буфера памяти DPRAM объемом 832 байта. Для работы интерфейса USB в режиме OTG будет включена поддержка протоколов HNP (Host Negotiation Protocol) и SRP (Session Request Protocol).
Приведенные на рис. 5 планы развития микросхем специального назначения в 2006 году мало отличаются от планов, заявленных Atmel в начале 2005 года [1]. Эта ситуация объясняется тем, что запланированные ранее параметры микроконтроллеров были необходимы небольшому количеству крупных заказчиков, на которых сейчас и работает корпорация Atmel, выпуская эти специализированные микросхемы в больших количествах. Например, микросхема 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 кбайт флэш-памяти и 150 байт ОЗУ). Еще одним большим плюсом такого пакета будет его цена (не выше 100$).
Существующие аппаратные средства разработки претерпели некоторые изменения, а также появился ряд новых устройств.
В конце прошлого года была выпущена новая версия внутрисхемного программатора ATAVRISP с наименованием ATAVRISP mkII (читается «марк два», код для заказа ATAVRISP2). Новый программатор подключается к компьютеру по интерфейсу USB и имеет более совершенные цепи защиты от короткого замыкания, статического электричества и неправильных действий пользователя. Обеспечивая более высокую скорость работы (12 с против 43 с при программировании флэш-памяти объемом 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
Производитель объявил о своих планах (на 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 со стороны компьютера).
Заключение
Благодаря постоянному совершенствованию технологии, появлению новых версий микроконтроллеров и активному развитию отладочных средств, платформа AVR остается популярной уже многие годы и в феврале 2006 года отметит свое десятилетие. Общие тенденции развития AVR показывают, что данная платформа еще долго будет удерживать положительную динамику роста продаж и удовлетворять пожеланиям большого числа конечных пользователей. По опросам потребителей, такая тенденция удерживается не только доступной ценой на микроконтроллеры, но и наличием качественного и доступного инструментального программного обеспечения, примеров программ, а также надежностью работы.
Литература
- Курилин А., Ламберт Е. AVR-микроконтроллеры: развитие продолжается // Компоненты и технологии. 2005. № 2.
- AVR Technical Training. Atmel Corp. Norway. 2005.
- AVR Software and Technical Library. December. 2005.