Система событий микроконтроллеров AVR производства Microchip

15 февраля

учёт ресурсовавтоматизацияуниверсальное применениеMicrochipстатьяинтегральные микросхемыAVRATtinyATmegaEVSYS

Александр Русу (г. Одесса)

Новые высокопроизводительные микросхемы AVR-DA, AVR-DB и AVR-DD производства Microchip отличаются малым потреблением, а также наличием модуля EVSYS, позволяющего на основе стандартных периферийных устройств создавать нестандартные и гибко конфигурируемые системы, способные работать автономно и без затрат процессорного времени. Специализированная онлайн-среда Atmel Start, содержащая множество готовых примеров использования микроконтроллеров AVR, позволяет быстро сформировать код инициализации для любой задачи.

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

Одним из возможных вариантов решения этой проблемы является добавление в микроконтроллеры механизмов с традиционными методами взаимодействия, позволяющих аппаратным модулям связываться напрямую, без участия вычислительной части системы. Именно таким связующим узлом и является модуль системы событий (Event System, EVSYS), особенности которого будут рассмотрены в данной статье

Являясь частью комплекса периферийных устройств, работающих независимо от ядра (Core Independent Peripherals, CIP), система событий позволяет связать на аппаратном уровне практически все периферийные устройства микроконтроллера и сформировать реакцию на внешние или внутренние процессы исключительно аппаратными средствами, не затрагивая ресурсы вычислительной системы, в том числе и прерывания. Модуль EVSYS присутствует в достаточно большом количестве микросхем AVR, в том числе и в представителях классических серий tinyAVR (Series 0 и 1) и megaAVR (Series 0), уже успевших завоевать заслуженную популярность среди разработчиков электроники. Потребность в использовании подобных технологий привела к добавлению этого узла и в новые линейки микросхем AVR-DA, AVR-DB и AVR-DD производства компании Microchip, отличающиеся от предыдущих серий повышенным уровнем производительности, меньшей величиной потребляемого тока, а также наличием некоторых специфических периферийных модулей.

Принцип работы модуля EVSYS

В технической документации на микроконтроллеры AVR под термином «событие» (Event) подразумевается изменение выходного сигнала специализированного аппаратного узла – генератора события (Event Generator), являющегося частью источника событий (Event Source). Сигнал от генератора проходит через матрицу соединений модуля EVSYS (Event Routing Network) и поступает на управляющие входы приемников событий (Event User). Это позволяет «привязать» некоторые действия (Event Action) одних аппаратных модулей к процессам, происходящим в других аппаратных модулях. Например, если подключить управляющий вход АЦП через систему EVSYS к выходу таймера, то измерение какой-либо величины может начинаться автоматически через предустановленные интервалы времени, а если вместо таймера использовать компаратор, то процесс измерения уже будет происходить при достижении некоторым напряжением (не обязательно напряжением, измеряемым АЦП) определенной пороговой величины (рисунок 1).

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

Рис. 1. Принцип работы модуля EVSYS

Рис. 1. Принцип работы модуля EVSYS

Характер и продолжительность выходных сигналов генераторов событий зависят от конкретного периферийного модуля. Например, в таймерах они обычно имеют форму импульсов, жестко привязанных к тактовому сигналу, а вот события, связанные с портами ввода-вывода, определяются напряжениями на выводах микросхемы, поэтому время их появления или их длительность предсказать трудно. В связи с этим все источники событий делятся на четыре группы (таблица 1), определяемые двумя ключевыми параметрами: формой выходного сигнала и временем его появления.

Таблица 1. Типы событий в системе EVSYS

Тип сигнала Время появления Описание
Импульсный Синхронное Событие, длящееся один период тактового сигнала и возникающее в моменты времени, определяемые тактовой частотой
Асинхронное Событие, длящееся один период тактового сигнала, но возникающее в произвольные моменты времени
Пороговый Синхронное Событие, длящееся больше одного периода тактового сигнала, но возникающее в моменты времени, определяемые тактовой частотой
Асинхронное Событие, длящееся больше одного периода тактового сигнала и возникающее в произвольные моменты времени

Система событий EVSYS состоит из нескольких каналов, количество которых зависит от модели микроконтроллера. В микроконтроллерах семейства megaAVR (рисунок 2) и в новых линейках AVR-DA и AVR-DB (рисунок 3) все каналы одинаковы, в то время как в микросхемах tinyAVR каналы разделяются на два типа: синхронные и асинхронные (рисунок 4). Единственное различие систем EVSYS микроконтроллеров megaAVR и AVR-DA (AVR-DB) заключается в разном названии регистров и сигналов с одинаковым функциональным назначением.

Рис. 2. Структурная схема канала EVSYS микроконтроллеров megaAVR

Рис. 2. Структурная схема канала EVSYS микроконтроллеров megaAVR

Рис. 3. Структурная схема канала EVSYS микроконтроллеров AVR-DA и DB

Рис. 3. Структурная схема канала EVSYS микроконтроллеров AVR-DA и DB

Рис. 4. Структурная схема каналов EVSYS микроконтроллеров tinyAVR

Рис. 4. Структурная схема каналов EVSYS микроконтроллеров tinyAVR

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

Как уже было отмечено выше, каждый канал EVSYS микроконтроллеров megaAVR, AVR-DA и AVR-DB имеет два выхода: синхронный и асинхронный. В микроконтроллерах tinyAVR такой необходимости нет, поскольку тип выхода изначально определяется типом канала. На асинхронный выход сигнал поступает непосредственно со входного мультиплексора без какой-либо обработки, поэтому асинхронные сигналы проходят через каналы EVSYS с минимально возможной задержкой. Синхронные сигналы могут изменяться только в моменты изменения тактового сигнала CLK_PER, поэтому в микроконтроллерах megaAVR, AVR-DA и AVR-DB сигнал на синхронный выход канала EVSYS поступает через дополнительный буфер, состоящих из двух D-триггеров, тактируемых от системной тактовой шины. Такое решение позволяет жестко привязать все события к тактовой частоте, однако при этом вносится дополнительная задержка в прохождении сигнала через канал EVSYS с продолжительностью, равной двум периодам сигнала CLK_PER. Кроме того, наличие двойной буферизации может стать препятствием для прохождения импульсных сигналов с продолжительностью менее одного периода сигнала CLK_PER, за исключением случаев, когда изменение сигнала на входе EVSYS совпадет с фронтом тактового сигнала. Обратите внимание, что использование дополнительного буфера определяется исключительно точкой подключения канала EVSYS и не может быть изменено программистом, поэтому для определения времени прохождения сигнала через систему EVSYS также необходимо изучение технической документации.

Выходы каналов EVSYS соединены с выходными мультиплексорами, выходы которых, в свою очередь, соединены с управляющими входами периферийных модулей микроконтроллера. Каждый вход периферийного модуля, способный управляться через систему событий, имеет отдельный мультиплексор, позволяющий подключить его к определенным каналам EVSYS (для tinyAVR – с учетом типа канала: синхронного/асинхронного). К одному и тому же каналу EVSYS можно подключить несколько периферийных модулей, позволяя тем самым одному событию быть причиной нескольких совершенно разных процессов.

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

Различают пять типов управляющих сигналов (таблица 2), которые могут использоваться для управления периферийными модулями. Очевидно, что при конфигурировании микроконтроллера они должны коррелироваться с типами сигналов, формируемых генераторами событий (таблица 1). Невыполнение этих условий приведет к самым непредсказуемым последствиям, поэтому перед настройкой или использованием системы событий следует внимательно изучить разделы, касающиеся не только модуля EVSYS, но и всех периферийных модулей, используемых в качестве и генераторов, и приемников событий.

Таблица 2. Типы управляющих сигналов периферийных модулей

Сигнал Время появления Описание
Импульсный Синхронное Для запуска необходимо изменение уровня сигнала (обычно фронт), происходящее одновременно с изменением уровня тактового сигнала
Асинхронное Для запуска необходимо изменение уровня (обычно фронт), которое может произойти в любое время (в некоторых случаях устройство имеет собственный синхронизирующий узел)
Пороговый Синхронное Для запуска необходимо наличие определенного уровня на управляющем входе, при этом запуск осуществляется синхронно с тактовой частотой
Асинхронное Для запуска необходимо наличие определенного уровня на управляющем входе, при этом запуск осуществляется сразу после установки нужного уровня без привязки к тактовой частоте
Произвольный Асинхронное Сигнал не является запускающим сигналом и используется модулем напрямую

Система событий не связана с вычислительным ядром. Она работает автономно и не требует для своей работы ни каналов прямого доступа к памяти, ни прерываний. В связи с этим для большинства приложений требуется лишь первичная настройка модуля EVSYS, обычно выполняемая сразу после сброса на этапе инициализации микроконтроллера. Тем не менее модуль EVSYS позволяет программисту вмешиваться в работу аппаратной части и, если это необходимо, генерировать события программно. Для реализации этой функции во всех разновидностях модуля EVSYS сигналы на выходы каналов подаются не напрямую, а через элементы с функцией Исключающее ИЛИ, на чьих вторых входах логические уровни определяются битами в специализированных регистрах xSTROBEx или SWEVENTx (рисунки 2…4). Это позволяет генерировать события программно. В частности, установка бита в этих регистрах приведет к инверсии выходного сигнала связанного с ним канала в течение одного периода тактового сигнала. Возможность программной генерации событий значительно расширяет область применения EVSYS, позволяя, помимо аппаратных связей, создавать аппаратно-программные конфигурации с гибкими алгоритмами.

С модулем EVSYS обычно связано достаточно большое количество конфигурационных регистров, что обусловлено наличием в микроконтроллерах множества генераторов и приемников событий. Однако все они фактически сводятся к трем основным типам (таблица 3), два из которых предназначены непосредственно для конфигурирования модуля, а третий – для формирования событий программным способом. Назначения регистров для микроконтроллеров всех семейств, содержащих систему событий, практически одинаковы. Единственным отличием модулей EVSYS микроконтроллеров tinyAVR от их аналогов в других семействах является четкое деление каналов на синхронные и асинхронные.

Таблица 3. Конфигурационные регистры блока EVSYS

Название регистра Описание
tinyAVR megaAVR AVR-DA, AVR-DB
ASYNCSTROBE STROBEx SWEVENTx Регистры предназначены для программной генерации событий. Каждый бит этих регистров ассоциируется с определенным выходным каналом. В микроконтроллерах megaAVR, AVR-DA и AVR-DB количество регистров зависит от количества каналов: до девяти каналов – один регистр STROBE/SWEVENT, до семнадцати – два и так далее. В микроконтроллерах tinyAVR идет разделение на синхронные и асинхронные каналы (для каждого типа канала – отдельный регистр). При установке битов этих регистров выходной сигнал соответствующего канала будет инвертирован в течение одного периода тактовой частоты.
SYNCSTROBE
ASYNCCHn CHANNELn Значение этих регистров определяет точку подключения входного мультиплексора канала. Количество регистров (n) соответствует количеству каналов системы EVSYS (в микроконтроллерах tinyAVR – количеству синхронных и асинхронных каналов).
SYNCCHn
ASYNCUSERn USERn Точка подключения входа периферийного модуля (приемника события). Значение этих регистров определяет, к выходу какого канала системы EVSYS будет подключен вход конкретного периферийного модуля (после сброса в этих регистрах устанавливается значение 0х00 – «не подключен»). Количество (n) и назначение этих регистров зависят от конкретной микросхемы.
SYNCUSERn

Примеры использования EVSYS

Освоение любого нового элемента проще всего начинать с изучения уже существующих проектов. В этом случае следует обратиться к специализированной онлайн-среде разработки Atmel Start, содержащей множество готовых примеров использования микроконтроллеров AVR, для доступа к которым достаточно лишь нажать кнопку «Browse Examples» на главной странице программы. После этого откроется окно репозитория, в котором останется лишь выбрать интересующий пример. При необходимости список примеров можно ограничить с помощью фильтров, например, выбрав в раскрывающемся списке «Category» пункт «Peripheral Event System» (рисунок 5).

Рис. 5. Поиск примеров использования системы событий в репозитории готовых примеров Atmel Start

Рис. 5. Поиск примеров использования системы событий в репозитории готовых примеров Atmel Start

На момент написания статьи на сайте Atmel Start находятся 29 примеров использования модуля EVSYS. Рассмотрим один из них – «ADC and Power Optimization Solution 5». Согласно описанию, этот проект является решением пятого задания тренинга «ADC and Power Optimization on tinyAVR 0- and 1-series, and megaAVR 0-series» и создан для отладочной платы ATtiny817 Xplained Pro. В нем показан пример настройки системы, при котором АЦП измеряет некоторое напряжение по сигналу, генерируемому часами реального времени (RTC). Этот процесс должен происходить на аппаратном уровне без использования вычислительной системы микроконтроллера. Такое решение позволит снизить общее энергопотребление системы за счет исключения периодического включения ядра, поскольку модули ADC, RTC и EVSYS могут работать, в том числе и в энергосберегающих режимах (Sleep).

После нажатия кнопки «Open Selected Example» откроется окно с общими настройками (вкладка «DASHBOARD»). Как видно из графического представления проекта (рисунок 6), в данном примере, помимо стандартных системных модулей, используются четыре периферийных устройства: часы реального времени (RTC_0), АЦП (ADC_0), коммуникационный модуль (USART_0) и интересующая нас система событий (EVENT_SYSTEM_0).

Рис. 6. Окно с общими настройками проекта

Рис. 6. Окно с общими настройками проекта

Доступ к настройкам EVSYS можно получить двумя способами. При нажатии кнопки «EVENT_SYSTEM_0» в нижней части окна «DASHBOARD» будут отображены элементы управления, позволяющие настроить систему событий путем выбора нужных значений в соответствующих раскрывающихся списках (рисунок 7). Как видно из рисунка, в данном примере задействован нулевой асинхронный канал EVSYS, вход которого подключен к генератору «Real Time Counter overflow», срабатывающему при переполнении счетчика RTC. В правой части окна настроек находится список доступных приемников событий, который для данного семейства микроконтроллеров (tinyAVR) разделен на две категории: синхронные и асинхронные. Регистр необходимого приемника событий (АЦП) в данном микроконтроллере называется ASYNCUSER1. Он относится к асинхронным приемникам сигнала, поэтому его вход можно подключить только к выходам соответствующих каналов EVSYS. В данном примере он подключается к выходу нулевого асинхронного канала. Все остальные настройки EVSYS остаются без изменений.

Рис. 7. Элементы для настройки EVSYS в нижней части окна «DASHBOARD», появляющиеся после нажатия на кнопку «EVENT_SYSTEM_0»

Рис. 7. Элементы для настройки EVSYS в нижней части окна «DASHBOARD», появляющиеся после нажатия на кнопку «EVENT_SYSTEM_0»

Аналогичную настройку, только с помощью графических инструментов, можно осуществить на странице, открывающейся после нажатия кнопки «EVENTS», расположенной в левой части главного окна (рисунок 8). На этой странице наглядно представлены все активные генераторы и приемники событий, каналы EVSYS, а также существующие связи между ними, легко конфигурируемые с помощью мыши. Обратите внимание, что модуль EVSYS является связующим звеном между элементами системы, поэтому при использовании Atmel Start перед применением этого инструмента вначале необходимо как минимум добавить все используемые периферийные элементы, чтобы они отображались в системе.

Рис. 8. Окно настройки EVSYS, открывающееся после нажатия кнопки «EVENTS» в левой части главного окна

Рис. 8. Окно настройки EVSYS, открывающееся после нажатия кнопки «EVENTS» в левой части главного окна

Исходный код для настройки модуля EVSYS в программе Atmel Start генерируется автоматически. В текстовом виде его можно скачать в окне, открывающемся после нажатия кнопки «View Code» (рисунок 9). При необходимости с помощью программного пакета Atmel Start можно сформировать исходные коды проектов, предназначенные для использования в интегрированных средах разработки более высокого уровня, например, Atmel Studio, Microchip Studio, MPLAB X IDE или IAR Embedded Workbench.

Рис. 9. Окно исходного кода настройки модуля EVSYS

Рис. 9. Окно исходного кода настройки модуля EVSYS

Анализ подпрограммы инициализации модуля EVSYS (листинг 1) показывает, что она фактически содержит две строчки. В первой происходит подключение нулевого асинхронного канала к генератору события, возникающего при переполнении счетчика RTC, путем установки значения регистра EVSYS.ASYNCCH0, а во второй происходит подключение управляющего входа АЦП, запускающего процесс оцифровки, к выходу нулевого канала EVSYS путем записи нужного значения в регистр EVSYS.ASYNCUSER1.

Листинг 1. Исходный код настройки EVSYS для управления АЦП с помощью модуля часов реального времени


int8_t EVENT_SYSTEM_0_init()

{

// Подключение асинхронного канала 0 к генератору «RTC overflow»

EVSYS.ASYNCCH0 = EVSYS_ASYNCCH0_RTC_OVF_gc;

// Подключение управляющего входа АЦП к выходу асинхронного канала 0

EVSYS.ASYNCUSER1 = EVSYS_ASYNCUSER1_ASYNCCH0_gc;

return 0;

}

При создании оборудования очень часто возникает потребность в управлении периферийными модулями микроконтроллера с помощью внешних устройств. Рассмотрим пример, в котором модуль АЦП микроконтроллера AVR128DA48 будет проводить измерения по некоторому внешнему сигналу, например, подаваемому на вывод PA0. Для реализации этого примера вначале необходимо добавить необходимые элементы (ADC и EVSYS) в новый проект, после чего на странице с настройками модуля EVSYS останется лишь установить нужные связи (рисунок 10).

Рис. 10. Конфигурация модуля EVSYS для управления АЦП с помощью внешнего сигнала

Рис. 10. Конфигурация модуля EVSYS для управления АЦП с помощью внешнего сигнала

В этом случае исходный код инициализации модуля EVSYS также будет содержать всего две строчки (листинг 2), в одной из которых производится подключение выбранного канала EVSYS (канала 0) к выводу микроконтроллера (нулевому каналу порта А), а во второй – подключение АЦП к выходу выбранного канала системы событий.

Листинг 2. Исходный код настройки EVSYS для управления АЦП внешним сигналом, подаваемым на нулевой канал порта А


int8_t EVENT_SYSTEM_0_init()

{

// Подключение канала 0 EVSYS к выводу PA0

EVSYS.CHANNEL0 = EVSYS_CHANNEL0_PORTA_PIN0_gc;

// Подключение управляющего входа АЦП к выходу канала 0 EVSYS

EVSYS.USERADC0START = EVSYS_USER_CHANNEL0_gc;

return 0;

}

Если же необходимо, чтобы внешний сигнал управлял несколькими периферийными модулями, например, АЦП и таймером, то после добавления в проект модуль таймера достаточно подключить к выходу выбранного канала модуля EVSYS (рисунок 11). В исходном коде инициализации модуля при этом будет автоматически добавлена еще одна строчка (листинг 3).

Рис. 11. Конфигурация модуля EVSYS для одновременного управления двумя периферийными модулями (АЦП и таймером) с помощью внешнего сигнала

Рис. 11. Конфигурация модуля EVSYS для одновременного управления двумя периферийными модулями (АЦП и таймером) с помощью внешнего сигнала

Листинг 3. Исходный код настройки EVSYS для управления АЦП с помощью модуля часов реального времени


int8_t EVENT_SYSTEM_0_init()

{

// Подключение канала 0 EVSYS к выводу PA0

EVSYS.CHANNEL0 = EVSYS_CHANNEL0_PORTA_PIN0_gc;

// Подключение управляющего входа АЦП к выходу канала 0 EVSYS

EVSYS.USERADC0START = EVSYS_USER_CHANNEL0_gc;

// Подключение управляющего таймера к выходу канала 0 EVSYS

EVSYS.USERTCA0CNTA = EVSYS_USER_CHANNEL0_gc;

return 0;

}

Одним из недостатков внешних, по отношению к микроконтроллеру, сигналов является их непредсказуемость. В данном примере в случае нарушения работы устройств, формирующих сигналы управления АЦП и таймером, их работа также может быть нарушена. Если подобного допускать нельзя, то внешний сигнал можно генерировать программно, путем установки нужного бита в регистрах SWEVENTх (для микроконтроллеров AVR-DA). В данном примере для программного запуска АЦП и таймера необходимо установить нулевой бит, который связан с нулевым каналом EVSYS, в регистре SWEVENTA (листинг 4), что приведет к инверсии выходного сигнала этого канала в течение одного периода тактовой частоты.

Листинг 4. Исходный код программной генерации события на выходе нулевого канала EVSYS


// Программная генерация события

EVSYS.SWEVENTA |= 0x01;

Ключевым преимуществом использования программного обеспечения Atmel Start для настройки периферийных устройств микроконтроллеров AVR является быстрое формирование кода инициализации. Кроме этого, использование Atmel Start позволяет уменьшить количество возникающих на данном этапе ошибок, которые связанны с тем, что не все каналы модуля EVSYS можно подключить ко всем существующим генераторам событий, равно как и не все приемники событий можно подключить ко всем каналам EVSYS. Поскольку в системе Atmel Start возможные значения констант подгружаются автоматически и поддерживаются компанией Microchip в актуальном состоянии, например, при появлении новых моделей или модификаций микроконтроллеров, то очевидно, что при использовании этого программного инструмента вероятность появления ошибки минимальна.

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

•••

Наши информационные каналы

О компании Microchip

Microchip Technology Inc. - ведущий поставщик микроконтроллеров, схем смешанного сигнала, аналоговых полупроводников и решений на основе флэш-IP. Решения Microchip обеспечивают разработку с низким уровнем риска, снижают общую стоимость системы и сокращают время выхода на рынок для тысяч различных клиентских приложений по всему миру. Штаб-квартира в Чандлер, штат Аризона. Продукция Microchip обладает высокими качеством и уровнем технической поддержки. Продукция Microchip обладает высоким уровн ...читать далее

Товары
Наименование
ATMEGA3208-AFR (MCRCH)
ATMEGA3208-MFR (MCRCH)
ATMEGA1609-AF (MCRCH)
ATMEGA1609-MF (MCRCH)
ATTINY804-SSF (MCRCH)
ATTINY804-SSFR (MCRCH)
ATTINY406-MFR (MCRCH)
ATTINY406-SBT-VAO (MCRCH)
ATTINY1614-SSFR (MCRCH)
ATTINY1614-SSN (MCRCH)
ATTINY816-MN (MCRCH)
ATTINY816-SFR (MCRCH)
ATTINY1626-MFR (MCRCH)
ATTINY1626-SFR (MCRCH)
ATTINY826-MUR (MCRCH)
ATTINY826-SUR (MCRCH)
AVR64DA32-I/RXB (MCRCH)
AVR64DA32T-I/RXB (MCRCH)
AVR64DA48-I/6LX (MCRCH)
AVR64DA48T-I/6LX (MCRCH)