электронные компоненты
и
или
например MAX232 DIP16
например MAX232 ADM232
скачать прайс-лист
Новости
Программа поставок
Электронная библиотека
Форум
О компании
Контакты
WAP

Рубрики

| индикация | события | инструменты | беспроводная связь | датчики | источники питания | компоненты | корпуса | микроконтроллеры | приборы | промышленная мебель | прочее | сетевые решения | силовая электроника | средства разработки | новые технологии |

Интересные статьи

Рубрика: прочее

Новые перспективы применения 8-битных решений: микроконтроллер XMega A

17.07.2008 Рассмотрен новый мощный 8-битный микроконтроллер архитектуры AVR от компании Atmel, анонсированный в конце февраля 2008 года, функциональные возможности которого открывают новые горизонты для применения 8-битных решений.

История развития микроконтроллеров насчитывает уже более 30 лет. Если быть совсем точным — то 36 лет. Нередко приходится слышать мнение, что первым микроконтроллером в современном понимании этого слова являлся Intel 8048, появившийся в 1976 году. Но это не совсем верно — 8048 был первым 8-битным микроконтроллером, но все же пальму первенства в появлении этого класса устройств следует присудить фирме Texas Instruments — ее чип TMS1000 был анонсирован в 1972 году — почти сразу за появлением первого микропроцессора. Этот 4-битный микроконтроллер имел крайне простую архитектуру — 1 килобайт масочного ПЗУ, один 4-битный регистр-аккумулятор, два индексных регистра (один 4-разрядный, а другой 2-разрядный, эти регистры объединялись для организации индексного доступа к ОЗУ), однобитный регистр состояния, 4-битное арифметическо-логическое устройство, 64 4-битные ячейки ОЗУ, счетчик команд на основе сдвигового регистра (из-за такого устройства счетчика команды располагались в памяти непоследовательно), одноуровневый аппаратный стек ( позволявший организовывать вызов подпрограмм, но в подпрограмме уже нельзя было использовать команды перехода), максимальная тактовая частота составляла 400 кГц, система прерываний отсутствовала.

Через 4 года фирма Intel представила 8-разрядный 8048, сразу востребованный на рынке, а еще через 4 года — 8051, который до сих пор является своего рода промышленным стандартом.

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

Первое направление реализуется как за счет повышения разрядности, так и за счет совершенствования процессов изготовления, позволяющих наращивать тактовую частоту существующего ядра. Повышение разрядности — естественная тенденция развития микропроцессоров, но в случае с микроконтроллерами она наблюдается не столь явно: в общем случае кристаллы с меньшей разрядностью дешевле, имеют меньшее энергопотребление и иногда — более развитый набор периферии за счет того, что ядро меньшей разрядности оставляет на кристалле больше места под периферийные модули. Применение 16- и 32-битных ядер в общем случае оправдано для быстрой обработки большого количества данных, например в DSP-процессорах, в то время как для задач управления по заданному алгоритму, пускай и очень большой сложности, достаточно 8-битной, а иногда даже и 4-битной архитектуры. На сегодняшний день на рынке все еще представлено немало 4-битных решений, например серия PIC10 производства Microchip.

Немаловажно и то, что под каждую существующую архитектуру накоплено огромное количество программного обеспечения, хорошо оптимизированных библиотек подпрограмм, что нередко является определяющим фактором. Допустим, что существует некое серийно выпускаемое устройство с системой управления на базе микроконтроллера с ядром 8051. Функциональных возможностей исходного микроконтроллера достаточно для работы существующего устройства, но при модернизации потребовалось значительно повысить быстродействие системы управления. Конечно, можно переработать систему под ARM-7 микроконтроллер, но это, помимо всего прочего, повлечет за собой переписывание программного обеспечения (возможно, фактическую разработку “с нуля”) и длительную его отладку. В таком случае для производителя существует альтернативный вариант — можно просто подобрать более современный чип с тем же ядром, но работающий на более высокой частоте. Как пример — новое семейство микроконтроллеров Cygnal — C8051F12x. Эти микроконтроллеры имеют “классическое” ядро 8051, но работающее на частоте 100 МГц. При этом флэш-память чипа работает на частоте 25 МГц, и, чтобы снизить потери времени на ожидание очередной команды, используется механизм кеширования инструкций. Такой вариант может быть гораздо менее трудоемок.

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

Второе направление развития — снижение энергопотребления — осуществляется как бы само собой, за счет все того же совершенствования технологических процессов и усилиями разработчиков-схемотехников. Достигнутые результаты не могут не впечатлить: например, чип MC9S08QE8 производства FREESCALE потребляет в активном режиме всего 7 мкА, а в Idle- режиме — 300 нА. Микроконтроллеры с технологией nanoWatt производства Microchip, или PicoPower производства Atmel также позволяют создавать устройства, способные питаться год и более от одной батарейки типа CR2025, разумеется, при грамотном использовании энергосберегающих технологий, основанных на переключении “на лету” тактовой частоты кристалла и переводе его в “спящий режим” на максимально возможное время.

Третье и четвертое направление развития — по сути взаимоисключающие. Фактически, специализированные микроконтроллеры — это особые версии универсальных чипов, максимально оптимизированные под один конкретный класс задач. Специализация устройств для данного класса задач делает их невыгодными для других применений, особенно с учетом того, что для удешевления ненужные для данного класса задач периферийные модули и интерфейсы в таких микроконтроллерах производителем исключается, а те, что остаются, максимально оптимизируются под конкретное применение, теряя универсальность. То есть, если микроконтроллер будет специализирован для применения в высокочастотном преобразователе с широтно-импульсным управлением — обычный модуль таймера/счетчика с функциями сравнения/захва-та/ШИМ в нем будет переработан именно под применение в режиме генератора ШИМ — будут добавлены аппаратные комплементарные выходы, автоматическая генерация dead-time, защитные функции, а вот другие режимы (обычного таймера/ счетчика, захвата, сравнения) могут быть урезаны или вообще отсутствовать.

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

В качестве примеров третьего направления можно привести микросхемы Z8FMC16100 производства Zilog, предназначенные специально для построения схем управления бесколлекторными электродвигателями постоянного тока, ряд кристаллов производства ChipCon и Nordic Semiconductor — трансиверы на различные частоты с встроенным ядром 8051, семейство Z-Link от Atmel — ZigBee-трансиверы с встроенным AVR-микроконтроллером, микроконтроллеры LigtingAVR от Atmel, имеющие специализированный ШИМ для применений в силовой электронике, или USB AVR — с встроенным интерфейсом USB, что определяет их как основу для периферийных компьютерных устройств, и многих других продуктов. Их характеризует довольно узкая направленность применения каждой конкретной серии. Причем производители обычно приводят для данных микросхем примеры их оптимального применения, что позволяет быстро сконструировать работающее устройство. А вот на микросхемах, являющихся представителями четвертого направления развития — максимально универсальных приборов, ориентированных на широкий круг задач, хотелось бы остановиться подробнее, так как именно они являются демонстрацией современных возможностей 8-битных решений. Для этого рассмотрим самые современные микроконтроллеры, предлагаемые разработчикам компанией Atmel.

В этом году компания Atmel приступила к выпуску нового семейства микроконтроллеров общего назначения — XMega AVR. Семейство XMega AVR программно совместимо с 8-битными микроконтроллерами AVR предыдущих поколений, и является новым в линейке 8-битных микроконтроллеров с ядром AVR общего применения “Classic AVR” (сняты с производства) — “Tiny AVR” — “Mega AVR”. Сравнивать их по функциональным возможностям следует именно со старшими кристаллами из семейства “MegaAVR”.

Вот как выглядит спецификация на старший кристалл семейства “XMega AVR” — ATxmega256A1 (в семействе принято новое обозначение: 2 или 3 цифры после “XMega” — это объем FLASH-памяти, а А1 — А4 — модификация чипа, А1 — самая старшая, А4 — младшая).

Память программ и данных:

  • 256 Кб FLASH с возможностью внутрисхемного программирования и самопрограммирования;
  • 8 Кб область загрузочного FLASH, защищенного отдельными битами защиты;
  • 4 Кб памяти EEPROM;
  • 16 Кб внутреннего статического ОЗУ;
  • интерфейс внешней шины для подключения до 16 МБ внешнего ОЗУ;
  • интерфейс внешней шины для подключения синхронной динамической памяти SDRAM (128 Мб).

Периферийные возможности:

  • 4-канальный контроллер прямого доступа к памяти с поддержкой внешних запросов;
  • 8-канальная система событий;
  • восемь 16-разрядных таймеров/ счетчиков, в том числе:
    • 4 таймера/счетчика с четырьмя каналами сравнения/захвата,
    • 4 таймера/счетчика с двумя каналами сравнения/захвата,
    • режим высокого разрешения для всех таймеров/счетчиков,
    • AWE (расширенный WG-режим) для 2 таймеров/счетчиков;
    • восемь USART и IrDA расширение для одного USART;
    • четыре Two-Wire интерфейса (I2C и SMBus совместимых);
    • четыре канала SPI;
    • AES и DES криптомодуль;
    • 16-битный счетчик реального времени с отдельным генератором;
    • два 8-канальных, 12-битных высокоскоростных аналого-цифровых преобразователя (ADC);
    • два двухканальных 12-битных высокоскоростных цифро-аналоговых преобразователя (DAC);
    • четыре аналоговых компаратора;
    • генерация прерывания по любой линии любого порта ввода/вывода;
    • программируемый WatchDog-таймер с отдельным встроенным генератором.

Специальные возможности:

  • автоматический сброс при включении питания, программируемый монитор питания;
  • внутренние и внешние источники тактирования с использованием внутренней PLL;
  • программируемый многоуровневый контроллер прерываний;
  • режимы пониженного энергопотребления: Idle, Power-down, Standby, Power-save, Extended Standby;
  • расширенный интерфейс программирования и отладки: JTAG (IEEE 1149.1 совместимый) интерфейс для программирования, верификации, отладки, PDI (Program and Debug Interface) пропиетарный интерфейс для программирования, верификации, отладки;
  • 78 программируемых линий ввода-вывода.

Корпус:

  • технология PicoPower нового поколения, минимальное напряжение питания — 1,6 В:
    • 100-выводный TQFP,
    • 100-выводный CBGA.

Впечатляющий набор характеристик! Чипы младших модификаций A2-A4 содержат те же периферийные модули, но в меньшем количестве.

Рассмотрим более подробно модули, которых раньше не встречалось в семействах микроконтроллеров “Mega AVR”. Система событий — совершенно новое явление для 8-битных микроконтроллеров AVR. Она предназначена для взаимодействия периферийных модулей между собой без использования процессорного ядра.

Условия возникновения событий аналогичны условиям возникновения прерываний, но если возникновение прерывания ведет к изменению исполнения программного потока, то возникновение события на ход выполнения программы не влияет, а вместо этого направляется какому-либо периферийному модулю — приемнику данного события. Источниками событий могут служить таймеры/счетчики, часы реального времени, модули ADC, аналоговые компараторы, порты. Кроме того, можно при необходимости генерировать событие и программно. Приемниками событий могут служить таймеры/счетчики, модули ADC, модули DAC, контроллер DMA. События могут быть двух видов — события сигнальные и события с данными (то есть содержащие данные, которые передаются приемнику). Система событий позволяет программно связать любой источник события с любым приемником, определить условие наступления события в источнике и действие, вызываемое событием в приемнике, после чего два периферийных модуля будут взаимодействовать без затрат процессорного времени. Система событий не использует системную шину, вместо этого она работает с собственной сетью каналов между периферийными устройствами и мультиплексорами, обеспечивающими выбранное направление движения событий. Поэтому скорость реакции на события высока — модуль-приемник начинает реакцию не позднее, чем через два тактовых цикла с момента возникновения условия, сгенерировавшего событие.

Рассмотрим простой пример, позволяющий понять принципы и преимущества применения системы событий. Допустим, в разрабатываемом измерительном приборе необходимо проводить замеры точно через определенные промежутки времени. Для этого используется таймер Т0, по периодическому переполнению которого стартует модуль ADC. Полученные с ADC данные устройство анализирует или передает куда-то еще, главная задача — обеспечить точную периодичность измерений. В “классическом” варианте надо написать код для обработки прерывания от таймера Т0, запускающего преобразование ADC. При этом придется учитывать два момента: 1) на момент переполнения таймера Т0 программа может находиться еще в каком-либо прерывании, соответственно ADC стартует только после возврата из этого прерывания — с задержкой и 2) программа будет прерываться на обработку срабатывания таймера Т0, что может помешать выполнению критичных к скорости участков кода. Если прерывания на этот момент запретить — ситуация будет аналогична первой.

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

Помимо этого, система событий предоставляет также дополнительные удобства:

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

Следующее нововведение — гибкая многоуровневая система прерываний с программируемым контроллером. Прерываниям теперь могут присваиваться три возможных уровня приоритета — низкий, средний и высокий. Также появились немаскируемые прерывания (NMI). В “классических” контроллерах “Mega AVR” все прерывания были “равноправны”, и обработчик прерывания автоматически выставлял запрет на обработку других прерываний до его завершения. В XMega прерывания, которым назначен более высокий приоритет, могут прерывать выполнение обработчиков прерываний с более низким приоритетом. После возврата из обработчика прерывания высокого приоритета обработчик прерывания низкого приоритета возобновит работу. Разрешение прерываний разного приоритета — раздельное, прерывания каждого уровня приоритета — могут быть разрешены или запрещены, независимо от других, своим битом в регистре управления контроллера прерываний. Немаскируемые прерывания разрешаются однократно, и после разрешения возникают (при наступлении условия) независимо от состояния битов разрешения прерывания. Среди прерываний одного и того же приоритета также существует оговоренная очередность выполнения — при одновременном возникновении условий прерывания для прерываний высокого и среднего уровня приоритета в первую очередь выполняется то прерывание, которое имеет самый младший адрес обработчика, а для прерываний низкого уровня приоритета, помимо такой схемы, есть еще и возможность чередовать первоочередность выполнения: если она включена, то прерывание низкого уровня приоритета, выполнявшееся последним, становится “в конец” очереди прерываний низкого уровня приоритета и при одновременном возникновении его условия и условия другого прерывания низкого приоритета — другое прерывание будет выполнено вперед.

В целом система событий вместе с многоуровневой системой прерываний предоставляют небывалую для 8-битных микроконтроллеров скорость и гибкость реагирования на изменение внешнего и внутреннего состояния устройства. Контроллер DMA (прямого доступа к памяти) имеет 4 независимо управляемых и настраиваемых канала DMA, которые могут пересылать данные из памяти в периферийные модули и из периферии — в память, из одного периферийного модуля в другой, и из одного участка оперативной памяти — в другой. Для доступа к памяти и периферийным модулям контроллер использует ту же шину, что и процессор, для разрешения возможных конфликтов используется арбитр шины, предоставляющий привилегированный доступ к шине процессорному ядру, а также определяющий очередность использования шины каналами DMA в случае одновременного запроса от нескольких каналов. Контроллер DMA способен служить приемником в системе событий, что дает дополнительные возможности для управления потоками данных.

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

Следующий модуль, вызывающий интерес, — это криптомодуль, поддерживающий алгоритмы DES и AES. Обычно аппаратная реализация таких алгоритмов делается в специальных криптопроцессорах, а при необходимости встроить поддержку данных алгоритмов в обычный микроконтроллер разработчик сталкивается с большими затратами процессорного времени на шифрование/ дешифрование по этим алгоритмам. Криптомодуль в семействе XMega не может состязаться в скорости и возможностях со специализированными криптопроцессорами, но он позволяет реализовать процесс шифрации-дешифрации с гораздо меньшими затратами ресурсов, чем обычные микроконтроллеры, да и разработчику его гораздо проще использовать, нежели встраивать программный модуль шифрования.

Новинкой в XMega являются и быстрые 12-битные модули ADC и DAC (аналого-цифровой и цифро-аналоговый преобразователи). В семействе “Mega AVR” присутствовал только 10-битный ADC c относительно невысокой скоростью преобразования (максимально 76,9 тысяс преобразований в секунду), XMega содержит 2 модуля ADC не только большей разрядности, но и имеющих значительно лучшие скоростные характеристики (до 2 миллионов преобразований в секунду). Модуль DAC в микроконтроллерах семейства “Mega AVR” вообще не присутствовал, в Xmega их также два (скорость — до 1 миллиона преобразований в секунду).

Расширены возможности таймеров, теперь их режим захвата содержит возможность частотного и широтно-импульсного захвата, а в режиме ШИМ включение блока AWEX позволяет получить комплементарный выходной сигнал для управления силовыми ключами, при этом интервал dead-time формируется аппаратно, существует также возможность быстрого отключения блока AWEX по сигналу от системы событий в случае неполадок.

Модуль генерации тактовой частоты теперь содержит три внутренних калиброванных RC-генератора (32,768 кГц, 2 МГц, 32 МГц), возможность работать с внешним кристаллом 32,768 к Гц или внешним тактирующим источником с частотой от 400 кГц до 16 МГц. Наличие настраиваемого делителя от 1 до 2048х и умножителя на базе PLL до 32х позволяет получить любую нужную частоту тактирования и безопасно изменять ее “на лету” для экономии энергопотребления. Частота 32 МГц для архитектуры AVR, как известно, означает производительность 32 MIPS.

Микроконтроллеры семейства ХMega могут использовать внешнюю статическую память данных — до 16 МБ, или динамическую память SDRAM такого же объема. К сожалению, документация по использованию внешней памяти и вообще по внешней шине EBI еще не подготовлена Atmel. Известно только, что используется 2 или 3 порта микроконтроллера (2 порта для 512 кБ внешней SRAM, 3 порта для SRAM большего объема или SDRAM). Но уже понятно, что такой объем внешней памяти и ее типы, а также наличие контроллера DMA — приближают XMega по функциональным возможностям к 16- и 32-битным устройствам, для многих из которых внешняя память (или устройства, адресуемые как внешняя память, например контроллеры графического LCD-дисп-лея) с возможностью доступа к ней контроллера DMA — стандартная возможность.

Для программирования FLASH-памяти и внутрисхемной отладки можно использовать как пропиетар-ный интерфейс PDI, так и интерфейс JTAG.

Отладка с применением интерфейса PDI позволяет использовать всего две линии микроконтроллера — Reset и выделенного специально для PDI вывода TEST. Никаких иных аппаратных или программных ресурсов микроконтроллера для отладки не задействуется, доступна вся память микроконтроллера, неограниченное количество точек останова, полный контроль над ходом выполнения программы.

Можно применить и IEEE 1149.1

— совместимый JTAG интерфейс, возможности отладки по JTAG те же, за исключением необходимости не использовать в программе 4 линии ввода-вывода, задействованные под JTAG-интерфейс.

Использованная в XMega технология PicoPower нового поколения в сочетании с диапазоном питающих напряжений от 1,6 до 3,6 В позволяет создавать устройства с питанием от аккумуляторов, гибко меняя тактовую частоту и используя разнообразные режимы пониженного энергопотребления.

При рассмотрении микросхем семейства XMega хорошо заметно, что модификациям по сравнению с семейством Mega подверглись все без исключения узлы, периферия стала не только более быстрой и гибкой, но и более многочисленной. На сегодня семейство XMega поддерживается всеми средствами программирования и отладки от Atmel. Следует заметить, что пока нет компиляторов C/С++, умеющих эффективно использовать особенности данного семейства — полноценное его применение его невозможно. Но учитывая давнее сотрудничество Atmel с IAR Systems (совместно с которой и разрабатывалась когда-то система команд ядра AVR), следует ожидать, что появление эффективных инструментов для работы с семейством XMega не заставит себя долго ждать.

Подробно рассмотрев самый современный 8-битный микроконтроллер от компании Atmel, можно сделать следующие выводы. На сегодня микроконтроллеры широкого применения с 8-битной архитектурой прочно занимают свою долю рынка, и до вытеснения их 16- и 32-битными решениями еще очень далеко. С одной стороны, мало какие 16- и 32-битные устройства могут похвастаться столь богатым набором периферийных модулей и интерфейсов, да и удобство работы с байт-ориентированными интерфейсами в 8-разрядных устройствах естественным образом — самое высокое. С другой стороны, шина EBI позволяет использовать внешние периферийные устройства, которые ранее могли использоваться только с 16- и 32-битными устройствами, и внешнюю память огромного для 8-битных устройств объема. Наконец, производительность 32 MIPS достаточна для довольно требовательных приложений, а применение системы событий дает возможность конструировать устройства, работающие на гораздо более низкой частоте, чем 16- и 32-битные устройства без такой системы, ведь нередко высокая тактовая частота выбирается лишь для того, чтобы обеспечить требуемое время реакции устройства. С учетом мощности и новых функциональных возможностей чипы от Atmel, вполне возможно, найдут новые применения там, где раньше 8-битных решений быть не могло. А если линейка чипов будет еще более расширена, и появятся микроконтроллеры с особенностями архитектуры XMega, но с не таким большим набором периферийных устройств и объемом памяти и, естественно, с более низкой стоимостью, будущее семейства AVR будет обеспечено еще очень надолго.

www.chip-news.ru (c)

другие статьи другие статьи

Комментарии

Комментариев нет. Ваш комментарий будет первым.


Чтобы оставить свой комментарий Вам необходимо зарегистрироваться.



Моя корзина
ваша корзина пуста
Розничные заказы:
(3822) 566-300
(3822) 562-300
Оптовые заказы:
(3822) 55-65-30
(3822) 55-95-73
Факс:
(3822) 56-08-97

Полезные ссылки

Все статьи
Техническая документация
FTP-сервер
Каталог продукции

| Новости | Программа поставок | Электронная библиотека | Форум | О компании | Контакты | WAP |

Платан - официальный поставщик Поиск электронных компонентов ChipFind: поисковая система по поставщикам радиокомпонентов Поиск электронных компонентов CATALOG.METKA.RU
дизайн: Анна Кубарева программирование: Дмитрий Завражнов © ООО Элград 2007-2010