Вы здесь

AVR1005: Начинаем работать с микроконтроллерами XMEGA

1 Введение

ATxmega128A1

Портфолио продуктов компании AVR® было расширено за счет нового семейства микроконтроллеров XMEGA. Многие спрашивают, является ли это новой архитектурой и не уверены в том, можно ли их наработки для megaAVR перенести на AVR XMEGA. Настоящий документ вкратце познакомит Вас со сходством и различиями между двумя семействами микроконтроллеров AVR, а также проведет обзор доступного инструментария. Документ нацелен как на опытных пользователей AVR, так и на новичков, которые хотят получить базовые знания, необходимые для начала работы.

Идеи, положенные в основу микроконтроллеров XMEGA на самом деле высказаны самими конечными пользователями микроконтроллеров AVR. Пользователи не редко упоминали о том, что они хотели бы иметь меньший уровень энергопотребления, получить более функциональные периферийные модули, большее количество таймеров, модуль DMA, многоуровневые прерывания, больше памяти и большую производительности процессора. Наконец то Вы это получили! Кроме этого у Вас теперь есть новая инновационная система обработки событий, криптографический модуль, 12-битный АЦП и ЦАП, калибруемые в режиме реального времени генераторы, проверка CRC и другие специальные функции.

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

Рисунок 1. ATxmega128A1 – первый микроконтроллер семейства XMEGA

ATxmega128A1

2 Введение в XMEGA (сходства и различия по отношению к megaAVR)

Микроконтроллеры XMEGA являются 8-разрядными микроконтроллерами серии AVR. В них используется центральный процессор и архитектура AVR, но добавлены дополнительные возможности и улучшены (переработаны) периферийные модули. В XMEGA используется тот же набор инструкций, те же инструменты разработки и компиляторы, что и для любого другого микроконтроллера серии AVR. Опытные пользователи AVR уже знакомы с большей частью набора инструментов. Центральный процессор теперь может работать на большей скорости, чем раньше, и при более низком напряжении. Кроме того, в него был добавлен многоуровневый контроллер прерываний, контроллер прямого доступа к памяти и система обработки событий. DMA и система обработки событий могут работать в режиме ожидания (Idle). Напряжение питания 1,6 В и другие функции, направленные на понижение энергопотребления указывают на применение технологии picoPower™ второго поколения.

2.1 Общие вопросы об XMEGA

Вот обзор некоторых вопросов, задаваемых разработчиками при знакомстве с XMEGA:

Микроконтроллеры XMEGA и megaAVR не совместимы по выводам. Этого не удалось достичь из-за стремления сделать устройство более модульным, например, за счет репликации функций и модулей каждого порта ввода-вывода. Например: модули UART, TWI и SPI всегда находятся на одних и тех же линиях ввода/вывода одних и тех же портов. Эта особенность облегчает разработчику прошивок перенос кода между устройствами, но, к сожалению, является причиной несовместимости по выводам с предыдущим семейством микроконтроллеров.

XMEGA работает при напряжении питания от 1,6 В до 3,6 В. Отчасти это объясняется производственным процессом, который выбирается с точки зрения энергопотребления. Производственный процесс, по которому изготавливаются микроконтроллеры XMEGA, обеспечивает непревзойденно низкое энергопотребление, но ограничивает максимальное напряжение питания до 3,6 В. Таким образом, для первого семейства XMEGA использование источников питания на 5 В не представляется возможным. Однако меньшее напряжение питания микроконтроллеров не означает меньшую производительность: XMEGA работает на частоте до 32MHz при напряжении питания начиная с 2,7 В. При 1,6 В системная тактовая частота может достигать 12 МГц.

2.2 Структуры и миграция

Микроконтроллеры XMEGA структурированы таким образом, чтобы портировать проекты между устройствами было максимально просто. Например, порты PORTA и PORTB выделены под аналоговые интерфейсы АЦП и ЦАП, или под два аналоговых компаратора. Порты C, D и E выделены под последовательные интерфейсы. Кроме того, все модули определяются структурами (typedef struct). Это означает, что, например, регистры АЦП могут быть доступны из структуры АЦП. Идея заключается в том, что данная структура будет одинаковой для всех существующих и будущих устройств семейства A. Так что если вы начали с ATxmega64A4, задача миграции на ATxmega128A4 или ATxmega256A1 будет максимально быстрой и безболезненной, потому что Вы будете использовать ту же самую структуру и Вы сможете повторно использовать один и тот же код. Почему мы не можем сделать тоже самое для megaAVR? Для MegaAVR невозможно определить одну структуру, описывающую модуль, потому что разные микроконтроллеры одного семейства могут иметь различные по конструкции модули. В случае с XMEGA для всего семейства устройств есть только один дизайн каждого модуля.

Семейства XMEGA идентифицируются буквой: первое доступное семейство XMEGA именуется так: ATxmega[xxx]A [#] (где "A" это семейство). Перед буквой, определяющей семейство, Вы найдете номер, который определяет размер флэш-памяти, а после буквы Вы найдете ID члена семейства, который идентифицирует конкретное устройство. Устройства с одинаковым ID имеют одинаковый набор функций и одинаковое количество контактов, но могут быть доступны с различным объемом памяти.

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

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

Например, описание всех функций микроконтроллеров A1, A3 и A4 может быть собрано в одном документе по микроконтроллерам XMEGA семейства A. Таким образом, руководство по XMEGA A является базовым документом по всем модулям, которые доступны в устройствах этого семейства. С другой стороны, документация по подсемейству A3 описывает детали, которые не относятся к подсемействам А1 и А4. Это могут быть типовые характеристики, фактический набор функций, число доступных периферийных устройств, количество выводов и многое другое. Документацию по микроконтроллерам XMEGA можно загрузить с сайта www.atmel.com/AVR -> datasheets.

2.4 Система обработки событий

Система обработки событий является совершенно новой и инновационной функцией микроконтроллеров XMEGA. Системы обработки событий нет ни в tinyAVR®, ни в megaAVR, а если точнее, ее нет ни в одной другой серии микроконтроллеров, созданных до момента написания этого документа.

Система обработки событий позволяет организовать связь между периферийными устройствами. В ней есть восемь каналов, которые пользователь может использовать для связи между периферийными устройствами. Канал системы событий это не шина, а выделенный канал, в котором в одну единицу времени может просигналить только одно событие. Поскольку событию предоставляется выделенный канал, оно будет очень предсказуемым и быстрым. На самом деле, максимальная задержка составит 2 системных такта. Кроме того, эта система поможет сократить количество обрабатываемых системой прерываний. Это возможно благодаря тому, что любое прерывание также может быть событием. В обработке событий процессор не участвует и нет необходимости в процедурах обработки прерываний. В целом, система обработки событий является чрезвычайно мощной, поскольку она разгружает центральный процессор и может снизить энергопотребление и увеличить производительность системы за счет сокращения числа обрабатываемых прерываний. Кроме того, система событий может работать в то время, когда процессор спит в режиме энергосбережения IDLE.

Рисунок 2. Система событий XMEGA - система взаимодействия между периферийными модулями

Система событий XMEGA

Давайте рассмотрим несколько примеров. Например, систему обработки событий можно использовать для сцепки двух таймеров/счетчиков, чтобы получить один 32-разрядный таймер/счетчик. Или, Вы можете использовать одно событие для синхронизации двух модулей. Например, можно использовать событие изменения логического уровня линии порта ввода/вывода для выполнения преобразования АЦП и захвата входа таймера/счетчика с целью получить точные временные отметки для каждого преобразования. Еще одним примером может служить старт преобразования АЦП по событию для записи звука с микрофона. По завершению преобразования DMA копирует результат(ы) в SRAM. Когда пользователь нажимает кнопку, генерируется событие и DMA копирует данные далее в ЦАП для воспроизведения записи - и все это может быть сделано в спящем режиме. Для получения более подробной информации о системе событий обратитесь к статье по применению «AVR1001: Начинаем работать с системой обработки событий микроконтроллеров XMEGA». (Чтобы узнать, как настроить контроллер DMA, обратитесь к статье по применению "AVR1304: Использование контроллера DMA микроконтроллеров XMEGA".)

2.5 Технология PicoPower второго поколения

XMEGA поднимает технологию picoPower на новый уровень. В настоящее время все устройства XMEGA тестируются на работу при напряжении питания 1,6 В. Это означает, что все периферийные устройства и модули, которые могут работать при напряжении питания 3.6 В также могут работать и при 1,6 В, или от источника питания 1,8 В с точностью ±10%. Это относится ко всем модулям, даже таким как флеш-память, EEPROM АЦП и ЦАП. Так же из-за низкого напряжения питания уменьшается потребляемый ток, что еще больше снижает разряд батареи. Схемы сторожевого таймера и детектора снижения напряжения разработаны заново. Типичный потребляемый сторожевым таймером ток составляет 1 мкА. Детектор снижения напряжения питания также потребляет 1 мкА при работе в новом режиме с частотой опроса 1 кГц. При тактировании часов реального времени от внешнего источника общая потребляемая мощность составлят всего 650 нА в режиме энергосбережения Power Save. Сочетая встроенный RC-генератор в активном режиме и внешний источник тактирования в режиме энергосбережения у Вас будет низкий ток потребления во время сна, всегда высокая точность и малое время запуска. Из всех способов снижения энергопотребления наиболее эффективным может оказаться отказ от работы в активном режиме в пользу режима ожидания (IDLE) и использование DMA и системы обработки событий. Переход из активного режима в режим ожидания и работа на более низких частотах могут легко уменьшить ток потребления более чем на 50%.

2.6 Система тактирования

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

С помощью встроенного PLL частота тактового сигнала может быть умножена (1x, 2x, 3x, ..., 31x). Вы можете увеличить частоту основного тактового сигнала (максимум 32 МГц) или увеличить скорость периферийных устройств, например, разогнав частоту на входе таймера/счетчика до 128 МГц с целью получения высокого разрешения ШИМ. Так же реализован модуль DFLL, который калибрует встроенные генераторы в режиме реального времени. Увеличенная точность встроенных генераторов позволяет увеличить точность временных интервалов, что позволяет таким модулям как USART работать на более высоких скоростях.

2.7 Многоуровневый контроллер прерываний

В микроконтроллерах XMEGA стало еще больше источников прерываний по сравнению с megaAVR. Кроме того, был добавлен многоуровневый контроллер прерываний. Он позволяет упростить задачу своевременной обработки множества прерываний учитывая их приоритеты. Например, если источник генерирует прерывания настолько часто, что другие прерывания с тем же уровнем не успевают обрабатываться, хорошей идеей будет снизить уровень приоритета часто генерируемого прерывания. Таким образом можно избежать так называемого эффекта голодающих источников прерываний. Другим способом, гарантирующим, что все прерывания будут обработаны, является применение алгоритма планирования Round Robin. Источник прерывания с высоким уровнем может упредить прерывания с приоритетом более низкого уровня. Таким образом, обработка прерывания с более высоким уровнем будет производится с минимальной задержкой. Разработчики прошивок, не использующие новый многоуровневый контроллер прерываний XMEGA, могут получить дополнительную информацию из статьи по применению "AVR1305: Прерывания и программируемый многоуровневый контроллер прерываний XMEGA ".

2.8 Передовые аналоговые функции

С XMEGA мы представляем передовые для восьмибитных микроконтроллеров аналоговые функций . И аналого-цифровой преобразователь (АЦП) и цифро-аналоговый преобразователь (ЦАП) имеют разрешение 12 бит. АЦП способен выполнить до 2 миллионов выборок в секунду и может получить одновременно 4 (приблизительно) результата за один замер. При объединении двух АЦП одновременно можно получить 8 результатов измерений. Также реализована функция генерации события или прерывания по завершению преобразования. Эта функция позволяет генерировать прерывания (устанавливать флаг) по завершению преобразования только в том случае, когда результат выше или ниже определенного предела. Так что если вы не заинтересованы в результатах выше, например, 1 В, вы не будете отвлекать процессор в этих случаях.

ЦАП может обеспечить два выхода даже не смотря на то, что модуль всего один. Это стало возможным благодаря тому, что он имеет раздельные цепи выборки и удерживания, что позволяет организовать стерео выход используя только один ЦАП. Для получения дополнительной информации о АЦП и ЦАП обратитесь к статьям по применению «AVR1300: Использование АЦП микроконтроллеров XMEGA» и «AVR1301: Использование ЦАП микроконтроллеров XMEGA».

Аналоговый компаратор (AC) имеет новую функцию под названием "режим окна", в котором используется два модуля аналоговых компараторов одновременно. Вы можете задать две границы (нижнюю и верхнюю) и входной сигнал для сравнения. Результатом может быть признак, определяющий, лежит ли сравниваемое значение ниже, выше или внутри окна. Также результат работы аналогового компаратора может быть выведен на линию порта ввода/вывода. Для получения дополнительной информации обратитесь к статье по применению «AVR1302: Использование аналогового компаратора микроконтроллеров XMEGA».

2.9 Интерфейс внешней шины

Интерфейс внешней шины, доступный в XMEGA, поддерживает гораздо больше памяти, до 16 Мб. В настоящее время поддерживается как SRAM, так и SDRAM память. Память типа SDRAM при больших объемах стоит дешевле, но ее не удастся подключить к другим устройствам, которые требуют SRAM-подобный интерфейс шины. Из-за поддержки больших объемов памяти, время работы инструкций доступа к памяти немного изменилось, а при компиляции приложений для больших объемов памяти типы данных зависят от конкретного приложения. Например, может потребоваться 24-битная адресация вместо привычной 16-битной. Обратитесь к статье по применению «AVR1312: Использование интерфейса внешней шины микроконтроллеров XMEGA» для получения дополнительной информации по этому вопросу.

2.10 Криптографический модуль

Криптография требуется для обеспечения безопасности передаваемой через каналы связи информации как для проводных, так и для беспроводных приложений.

Микроконтроллеры XMEGA реализуют стандарты Advanced Encryption Standard (AES) и Data Encryption Standard (DES), и могут выполнять как шифрование, так и дешифрование данных. AES реализован отдельным аппаратным модулем, который при работе не нагружает центральный процессор. Модуль может обеспечить скорость шифрования 1,25 мегабита в секунду при длине ключа 128-бит. Для получения более подробной информации обратитесь к статьям по применению «AVR1318: Использование встроенного в XMEGA ускорителя AES» и «AVR1317: Использование встроенного в XMEGA ускорителя DES».

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

Микроконтроллеры XMEGA также обладают некоторыми интересными "особенностями". Например, с помощью Таблицы Приложения в флэш-памяти можно выделить область для эмуляции отказоустойчивой EEPROM. Это означает, что Вы можете хранить переменные в области флэш-памяти, которая отделена от программного кода. Это такой же специальный раздел памяти, как и тот, в котором хранятся пользовательские калибровочные значения для тактовых генераторов. Раздел полностью доступен (как на чтение, так и на запись) из приложения и внешнего интерфейса программирования. Но содержимое этого раздела не будет стираться при стирании чипа, что очень удобно во время сеанса отладки. Еще одной особенностью этих микроконтроллеров являются серийные номера. Все устройства XMEGA имеют свой собственный уникальный идентификатор. Уникальный номер устройства полезен для тех случаев, когда надо различать разные микроконтроллеры, например, при идентификации узлов в сети. Также в XMEGA можно использовать функцию для подсчета CRC от содержимого флэш-памяти чтобы проверять целостность программы в течении всего жизненного цикла, а так же для проверки корректности обновления программы микроконтроллера.

3 С чего начать написание прошивок для XMEGA?

XMEGA это новая платформа на основе центрального процессора AVR, с новыми периферийными модулями, разработанная с прицелом на более простое использование и повышенную производительность. Из этого следует, что драйверы периферийных устройств, написанные для megaAVR, не могут быть использованы для XMEGA. Чтобы свести к минимуму усилия разработчиков прошивок, Atmel® предоставила полный набор драйверов и статей по применению, что поможет разработчикам в освоении новых функции и модулей.

Вам необходимо начать с самого начала и узнать, как мы реализовывали драйверы. Что касается другой информации по AVR, ее можно найти в статьях по применению. Статья по применению "AVR1000: Начинаем писать код для микроконтроллеров XMEGA на C" является вводной и описывает выбранный стиль кодирования, а также метод доступа к периферийным модулям; доступ к периферийным модулям теперь стал «объектно-ориентированным», что открывает новые возможности повторного использования и портирования кода. В дополнение к статьям по применению Вы можете попросить вашего местного FAE обеспечить тренинги по XMEGA.

После этого Вы будете готовы опробовать различные периферийные модули. Статьи по применению доступны для большинства функций и периферийных модулей. Чтобы получить полный список доступных статей по применению зайдите на сайт компании Atmel по адресу http://www.atmel.com/xmega.

4 Инструментарий XMEGA (или «какие инструменты можно использовать?»)

Инструментарий при работе с XMEGA тот же самый, что и при работе с megaAVR. Вы можете использовать среду программирования «The Embedded Workbench® AVR compiler from IAR®» (версии 5.x) или «WinAVR» совместно с бесплатным компилятором GCC (версии 20080610 или выше, скачать можно по адресу http://winavr.sourceforge.net/). Оба включают в себя заголовочные файлы с именами и адресами регистров и бит, необходимых для доступа к периферийным устройствам. Весь код, поставляемый со статьями по применению XMEGA, компилируется как в IAR, так и в GCC.

Все прошивки для инструментов AVR поставляются в составе AVR Studio®. Для лучшей производительности при работе с XMEGA рекомендуется использовать AVR Studio версии 4,15 билд 623 или более позднюю версию.

Для запуска и работы с XMEGA Вы можете использовать Starter Kit STK®600. STK600 похож на STK500, но поддерживает широкий спектр устройств, от tinyAVR, megaAVR до AVR32UC3, а так же XMEGA. Для начала работы с STK600 и XMEGA обратитесь к статье по применению "AVR1900: Начало работы с ATxmega128A1 на STK600".

STK600 поставляется с несколькими переходниками под микроконтроллеры и несколькими платами маршрутизации; для ATxmega128A1 Вам понадобится переходник STK600-TQFP100 и плата маршрутизации STK600-RC100X-13. Этот бутерброд показан на рисунке 3. Для того, чтобы выяснить, какие переходники и платы маршрутизации нужны для других микроконтроллеров XMEGA, обратитесь к сетевой справке по AVR Studio®.

Рисунок 3. STK600 - тактовый генератор, программатор, но не отладчик.

STK600

Для программирования XMEGA может быть использован встроенный в STK600 программатор. Кроме него так же может быть использован JTAGICE MKII. Симулятор AVR Studio предлагает отладочную среду, которая может быть использована без физического оборудования. Код можно запустить в симуляторе AVR Studio так же, как если бы он был запрограммирован в реальном устройстве. Если вы хотите отлаживать код на физическом оборудовании, Вам понадобится AVR Dragon, JTAGICE MKII или AVRONE!

AVR Dragon, AVR ONE! и JTAGICE MKII могут использоваться совместно как с AVR Studio, так и с IAR C-SPY®, который является частью решения Embedded Workbench AVR из IAR.

Рисунок 4. JTAGICE MKII не только программатор, но и отладчик. Обратите внимание на то, что для работы интерфейса PDI устройство JTAGICE MKII должно иметь серийный номер, начинающийся с «B0» или должна быть отметка «A09-0041».

JTAGICE MKII

В качестве альтернативы для программирования XMEGA может использоваться AVRISP®MKII. AVRISP MKII это программатор (не отладчик), который также поддерживает микроконтроллеры tinyAVR, megaAVR и XMEGA. Для использования AVRISP MKII с XMEGA требуется AVR Studio версии 4,15 билд 623 или более поздней версии.

Более подробная информация о программировании содержится в главе 5.

Рисунок 5. AVRISP MKII поддерживает интерфейс PDI только для программирования.

AVRISP MKII

AVR® DRAGON™ совместно с AVR Studio версии 4,18 может быть использован для программирования и отладки микроконтроллеров Tiny, Mega и XMEGA. Он поддерживает программирование и отладку всех устройств XMEGA с интерфейсом JTAG, однако для подсемейства A4 до сих пор поддерживается только интерфейс PDI.

Рисунок 6. AVR DRAGON™ поддерживает отладку и программирование через JTAG/PDI.

AVR DRAGON

Наиболее универсальная альтернатива, это AVR ONE!, который поддерживает программирование всех устройств XMEGA через интерфейсы JTAG и PDI, а также новую функцию liveDebug, которая позволяет подключиться к хосту во время работы и начать отладку, при этом сброса отлаживаемого устройства не происходит. AVR ONE! также поддерживает более высокие тактовые частоты, чем, например, JTAGICE MK II.

Рисунок 7. AVR ONE! поддерживает liveDebug, а также более быстрые интерфейсы PDI и JTAG.

AVR ONE!

5 Внутрисхемное программирование и отладка микроконтроллеров XMEGA (или «что за PDI?»)

XMEGA не имеет основанного на SPI внешнего интерфейса внутрисхемного программирования (ISP), который использовался в megaAVR. В этих микроконтроллерах также отсутствует интерфейс debugWIRE. Они были заменены двупроводным "Интерфейсом для программирования и отладки" (PDI). Этот интерфейс может использоваться, как следует из названия, как для программирования, так и для отладки.

Рисунок 8. Подключение PDI, ISP и JTAG — стандарт для инструментов Atmel.

Подключение PDI, ISP и JTAG

Программирование и отладка микроконтроллеров XMEGA через интерфейс JTAG все еще возможна. JTAGICE MKII может программировать и отлаживать как через PDI, так и через JTAG. Обратите внимание на то, что поддерживающий интерфейс PDI программатор JTAGICE MKII должен иметь серийный номер, который начинается с «B0» или должен быть отмечен кодом «A09-0041».

Рисунок 9. Отладчик JTAGICE MKII с ревизией 0 начинается с A0 и не поддерживает интерфейс PDI

Отладчик JTAGICE MKII с ревизией 0

Рисунок 10. Аппаратная версия 1 имеет серийные номер, начинающийся с B0 и код A09-0041. Интерфейс PDI поддерживается.

Аппаратная версия 1

Программирование через интерфейс PDI также возможно с помощью AVR Dragon и AVRISP MKII через существующий 6-контактный разъем.

Для получения обновленной и более подробной информации обратитесь к справке AVR Studio и Руководству по микроконтроллерам XMEGA A.

5.1 Требования к аппаратной архитектуре, необходимые для работы PDI

Интерфейс PDI является синхронным полудуплексным интерфейсом UART. Две линии, PDI_DATA и PDI_CLK, должны быть сбалансированы. Если подключить мощную подтяжку (читай, резистор с низким сопротивлением) и развязывающий конденсатор к линии PDI_CLK, которая также является линией сброса микроконтроллера, может произойти рассинхронизация тактового сигнала и сигнала данных. Таким образом, в процессе разработки вы должны удалить подтягивающий резистор и конденсатор. Это также относится и при использовании интерфейса PDI для внутрисхемного программирования микроконтроллеров XMEGA при производстве.

6 Предупреждение по проектированию аппаратуры ("Всем ли контактам Vcc требуются развязывающие конденсаторы?")

Микроконтроллеры XMEGA способны работать на более высоких тактовых частотах по сравнению с megaAVR, и для обеспечения стабильного питания и снижения амплитуды бросков напряжения рекомендуется устанавливать развязывающие конденсаторы емкостью 100 нФ на все контакты подвода питания к устройству. Все развязывающие конденсаторы должны быть подключены к шине Vcc внешне; не используйте внутренние соединения Vcc микроконтроллеров XMEGA для заряда развязывающих конденсаторов.

Если Вы используете низкую тактовую частоту, Вы можете не устанавливать развязывающие конденсаторы на некоторые контакты питания, но общая рекомендация остается в силе.

Tags: