Регистрируйтесь на форуме и получите 100 токенов TEHNO

Микроконтроллеры Atmel AVR XMEGA
#1
Микроконтроллеры Atmel AVR стали очень популярными. Ранее было известно два семейства: ATtiny и ATmega, которые различались по возможностям и цене, хотя метод программирования был идентичным. Представляем новейшее семейство XMEGA, куда производитель внес существенные изменения как в конструкцию процессора, так и в способ написания программ. Эта информация призвана показать различия между традиционным ATmega и новым XMEGA и способы их использования в практических решениях.

Микроконтроллер XMEGA Atmel

Напряжение питания от 1,6 до 3,6 В. Тактовая частота процессора составляет максимум 32 МГц при напряжении 2,7 В. Классический ATmega8 мог разгоняться только до 16 МГц, и для этого требовалось более высокое напряжение. Снижение напряжения питания позволяет значительно снизить потребление тока при сохранении высокой вычислительной эффективности. На порты процессора может подаваться напряжение не выше напряжения питания, поэтому будьте осторожны при подключении устройств с напряжением 5 В.

   

После включения питания процессор запускается с помощью встроенного RC-генератора с частотой 2 МГц. XMEGA предлагает гораздо более обширную систему распределения тактового сигнала, чем традиционные AVR. Самое главное отличие в том, что о фузах можно забыть! Вся система тайминга может быть настроена на программном уровне в любое время. В случае неправильной конфигурации или сбоя, процессор может обнаружить неправильный тактовый сигнал и автоматически переключиться на встроенный генератор 2 МГц, поэтому можете экспериментировать, не беспокоясь о блокировке процессора.

   

Тут есть следующие генераторы тактовых сигналов:
  • встроенный RC 32 кГц, 2 МГц, 32 МГц
  • внешний кварц от 32 кГц до 16 МГц

Кроме того, есть схема ФАПЧ, которая увеличивает частоту источника, и ряд различных предделителей, которые понижают частоту. Интересно, что некоторые периферийные устройства могут работать на более высокой частоте чем ядро процессора (32 МГц). Ничто не мешает процессору работать с частотой 1 кГц для снижения энергопотребления, а затем переключать его на 32 МГц, когда пользователю требуется быстрая обработка программы. Две дополнительные фишки, улучшающие производительность процессора, - это система событий и DMA. Эти системы позволяют обрабатывать данные и передавать их между периферийными устройствами или памятью без использования ядра. Такая возможность значительно повышает, например, эффективность измерительных систем - преобразователь АЦП может загружать данные непосредственно в память, а ядро может анализировать их одновременно.

Документация

В руководстве Atmel AVR XMEGA AU описано каждое периферийное устройство без акцента на конкретной модели процессора. Напротив, ATxmega64A3U / 128A3U / 192A3U / 256A3U Complete содержит конкретную информацию, относящуюся к данной модели. Почему эта информация была разделена?

Процессоры XMEGA предназначены для простой передачи кода. Таким образом, код с ATxmega128A3U можно легко перенести на ATxmega16A4U, поскольку периферийные устройства, которые он содержит, идентичны. Они отличаются только количеством этих периферийных устройств, объемом памяти и количеством ножек в корпусе. Оба они принадлежат к семейству A с расширением USB или AU. Поэтому информация о периферийных устройствах, общих для всех микроконтроллеров этого семейства, вынесена в отдельную документацию.

Стоит отметить, что периферия многократно дублируется и доступна на множестве разных портов процессора. От ATmega не известно никаких проблем, когда, например, выходы PWM подведены к тем же выводам, что и единственный интерфейс SPI - в случае XMEGA достаточно использовать SPI в одном порту и PWM в другом. Некоторые XMEGA даже имеют 8 интерфейсов USART, 4 SPI, 4 интерфейса I2C, 2 АЦП, 2 ЦАП и 8 16-битных таймеров!

Список процессоров XMEGA
  • AVR1000 : Начало работы над написанием C-кода для XMEGA
  • AVR1001 : Начало работы с системой событий XMEGA
  • AVR1003 : Использование системы часов XMEGA
  • AVR1005 : Начало работы с XMEGA
  • AVR1305 : Прерывания XMEGA
  • AVR1306 : Использование таймера / счетчика XMEGA
  • AVR1307 : Использование XMEGA USART
  • AVR1308 : Использование XMEGA TWI
  • AVR1309 : Использование XMEGA SPI

Комплекты для разработки

Производитель подготовил несколько тестовых наборов под названием XMEGA XPLAINED. Доступны процессорные платы разных семейств. Наборы XPLAINED, несомненно, имеют наибольшую образовательную ценность, но недостатком является их относительно высокая цена.

   

Отладочная плата X3-DIL64 с процессором ATxmega128A3U - хорошее решение, являющееся золотой серединой между стоимостью и возможностями. Она была разработана, чтобы напоминать интегральную схему в корпусе DIL64 для облегчения прототипирования с использованием дешевых и популярных макетов. Пользователю доступны все выходы процессора, также есть полноценное питание от USB, разъем для SD-карты и программатор PDI.

   

Программатор PDI покупать не нужно, так как в процессоре установлен заводской загрузчик FLIP, благодаря которому можно передавать программы по обычному USB-кабелю!

Программаторы для XMEGA

Микроконтроллеры XMEGA не имеют интерфейса программирования памяти, как в ATmega и ATtiny, поэтому возможно, придется сменить программатор. Рекомендуем следующие решения:

  1. FLIP  - бесплатная программа доступна для загрузки с сайта производителя, позволяющая загружать программы через обычный USB-кабель. К сожалению, она не интегрируется с Atmel Studio и не очень удобна для крупных проектов. Но идеальна как самое дешевое решение, потому что у каждого есть USB-кабель. Для работы FLIP в процессоре должен быть загружен загрузчик FLIP - стоит добавить, что процессор на плате X3-DIL64 имеет предварительно загруженный FLIP, и на плате имеется кнопка, запускающая режим программирования FLIP.
  2. AVR ISP mkII  - программатор, поддерживающий интерфейсы ISP, PDI и TPI, что позволяет программировать все современные микроконтроллеры AVR. Прекрасно интегрируется с Atmel Studio. Просто нажмите F5, и программа будет отправлена в процессор. На сайтах есть множество различных клонов mkII, доступных по недорогой цене.
  3. AVR Dragon - хит на долгие годы, потому что он единственный по разумной цене, предоставляющий интерфейс JTAG. Благодаря ему можно заглянуть внутрь процессора и увидеть, что там происходит. Это неоценимая помощь в больших проектах, так как позволяет быстро и эффективно находить ошибки в программах. Рекомендуем AVR Dragon для профессионалов и продвинутых радиолюбителей.
Ответ