Перейти к содержанию

ATmega16U2, ATmega32U2 и ATmega8U2

8-битные микроконтроллеры AVR серии megaAVR с 16, 32 и 8 КБ флеш-памяти и частотой до 16 МГц в корпусах TQFP32, QFN32. Распиновка с функциями выводов, сверенными с даташитом, заказные номера, фьюзы с завода и векторы прерываний — по описаниям Microchip.

Обновлено данные Microchip, ATmega_DFP 3.6.299

Ядро
AVR, 8 бит
Флеш-память
8, 16 и 32 КБ
ОЗУ
512 байт и 1 КБ
EEPROM
512 байт и 1 КБ
Частота
до 16 МГц
Питание
2,7–5,5 В
Температура
−40…+85 °C
Линии ввода-вывода
23
Корпуса
TQFP32, QFN32
Программирование
ISP, HVPP, debugWIRE

Схема корпуса

Вид сверху. Выберите периферию — её выводы подсветятся на схеме, а в списке ниже останутся только её сигналы. Наведите курсор на вывод, чтобы увидеть все его функции. Расположение выводов сверено с рисунками и таблицами даташитов.

Распиновка ATmega16U2, ATmega32U2, ATmega8U2 в корпусе TQFP32, QFN32, вид сверхуATmega16U2/32U2/8U2TQFP32, QFN32вид сверхуXTAL1 — вывод 1: XTAL11XTAL1PC0 — вывод 2: XTAL22PC0GND — вывод 33GNDVCC — вывод 44VCCPC2 — вывод 5: PCINT11, AIN25PC2PD0 — вывод 6: OC0B, INT06PD0PD1 — вывод 7: AIN0, INT17PD1PD2 — вывод 8: RXD1, AIN1, INT28PD2PD3 — вывод 9: TXD1, INT39PD3PD4 — вывод 10: INT5, AIN310PD4PD5 — вывод 11: XCK1, AIN4, PCINT1211PD5PD6 — вывод 12: RTS, AIN5, INT612PD6PD7 — вывод 13: CTS, HWB, AIN6, T0, INT713PD7PB0 — вывод 14: SS, PCINT014PB0PB1 — вывод 15: SCLK, PCINT115PB1PB2 — вывод 16: PDI, MOSI, PCINT216PB2PB3 — вывод 17: PDO, MISO, PCINT317PB3PB4 — вывод 18: T1, PCINT418PB4PB5 — вывод 19: PCINT519PB5PB6 — вывод 20: PCINT620PB6PB7 — вывод 21: PCINT7, OC0A, OC1C21PB7PC7 — вывод 22: INT4, ICP1, CLKO22PC7PC6 — вывод 23: OC1A, PCINT823PC6PC1 — вывод 24: RESET, dW24PC1PC5 — вывод 25: PCINT9, OC1B25PC5PC4 — вывод 26: PCINT1026PC4UCAP — вывод 2727UCAPUGND — вывод 2828UGNDD+ — вывод 2929D+D- — вывод 3030D-UVCC — вывод 3131UVCCAVCC — вывод 3232AVCC
TQFP32 и QFN32
  • ввод-вывод
  • питание и земля
  • сброс и выбор загрузки
  • не подключён
  • выбранная периферия

Периферия и её выводы

На какие линии порта выходит каждый сигнал. У классических AVR функции закреплены за линиями: включённая периферия сама занимает свой вывод, выбирать другой, как у STM32, нельзя.

USART — синхронно-асинхронный приёмопередатчик

БлокСигналЛиния порта
USART1CTSPD7
RTSPD6
RXD1PD2
TXD1PD3
XCK1PD5

SPI — последовательный интерфейс SPI

БлокСигналЛиния порта
SPIMISOPB3
MOSIPB2
SCLKPB1
SSPB0

Таймеры — выходы сравнения и ШИМ, входы счёта и захвата таймеров

БлокСигналЛиния порта
TC0OC0APB7
OC0BPD0
T0PD7
TC1ICP1PC7
OC1APC6
OC1BPC5
OC1CPB7
T1PB4

Компаратор — аналоговый компаратор

БлокСигналЛиния порта
ACAIN0PD1
AIN1PD2
AIN2PC2
AIN3PD4
AIN4PD5
AIN5PD6
AIN6PD7

Прерывания — внешние прерывания INT и PCINT

БлокСигналЛиния порта
EXINTINT0PD0
INT1PD1
INT2PD2
INT3PD3
INT4PC7
INT5PD4
INT6PD6
INT7PD7
PCINT0PB0
PCINT1PB1
PCINT2PB2
PCINT3PB3
PCINT4PB4
PCINT5PB5
PCINT6PB6
PCINT7PB7
PCINT8PC6
PCINT9PC5
PCINT10PC4
PCINT11PC2
PCINT12PD5

Тактирование — кварцевый генератор, вход и выход тактового сигнала

БлокСигналЛиния порта
CPUCLKOPC7
XTAL2PC0

ISP — последовательное программирование

БлокСигналЛиния порта
ISPPDIPB2
PDOPB3

debugWIRE — отладка по выводу RESET

БлокСигналЛиния порта
DWdWPC1

Таблица выводов

Номера выводов в каждом корпусе и функции линий. Обычный режим порта — вход, выход, вход с подтяжкой — есть у каждой линии ввода-вывода, в таблице перечислены только альтернативные функции. Функции сверены с даташитом: те, которых нет в описании Microchip, добавлены по даташиту.

TQFP32, QFN32ИмяТипФункции
1XTAL1служебныйXTAL1
2PC0ввод-выводXTAL2
3GNDпитание—
4VCCпитание—
5PC2ввод-выводPCINT11, AIN2
6PD0ввод-выводOC0B, INT0
7PD1ввод-выводAIN0, INT1
8PD2ввод-выводRXD1, AIN1, INT2
9PD3ввод-выводTXD1, INT3
10PD4ввод-выводINT5, AIN3
11PD5ввод-выводXCK1, AIN4, PCINT12
12PD6ввод-выводRTS, AIN5, INT6
13PD7ввод-выводCTS, HWB, AIN6, T0, INT7
14PB0ввод-выводSS, PCINT0
15PB1ввод-выводSCLK, PCINT1
16PB2ввод-выводPDI, MOSI, PCINT2
17PB3ввод-выводPDO, MISO, PCINT3
18PB4ввод-выводT1, PCINT4
19PB5ввод-выводPCINT5
20PB6ввод-выводPCINT6
21PB7ввод-выводPCINT7, OC0A, OC1C
22PC7ввод-выводINT4, ICP1, CLKO
23PC6ввод-выводOC1A, PCINT8
24PC1ввод-выводRESET, dW
25PC5ввод-выводPCINT9, OC1B
26PC4ввод-выводPCINT10
27UCAPпитание—
28UGNDпитание—
29D+служебный—
30D-служебный—
31UVCCпитание—
32AVCCпитание—

Питание и служебные выводы

Выводы, которые не являются линиями порта. Номиналы блокировочных конденсаторов и фильтра питания АЦП — в разделе о питании даташита.

ИмяВыводыНазначение
XTAL1TQFP32: 1вход генератора: кварц или внешний тактовый сигнал
GNDTQFP32: 3общий провод
VCCTQFP32: 4напряжение питания
UCAPTQFP32: 27выход стабилизатора USB, к нему подключают внешний конденсатор
UGNDTQFP32: 28общий провод USB
D+TQFP32: 29линия данных USB
D-TQFP32: 30линия данных USB
UVCCTQFP32: 31питание стабилизатора USB
AVCCTQFP32: 32питание АЦП и части линий порта; подключают к VCC, даже если АЦП не используется, при работе АЦП — через фильтр нижних частот

Исполнения

ATmega16U2, ATmega32U2 и ATmega8U2 — микроконтроллеры с общей распиновкой: в общих корпусах выводы расположены одинаково. Различия — в таблице. Частота и питание — классы скорости из заказных номеров: предельная частота и диапазон питания. Многие модели работают на предельной частоте не во всём диапазоне — зависимость показывает график Speed Grades в даташите. Сигнатура — три байта, по которым программатор узнаёт микроконтроллер, в последнем столбце — его обозначение для ключа -p программы avrdude.

МикроконтроллерФлешОЗУEEPROMЧастота и питаниеСигнатураavrdude
ATmega16U216 КБ512 байт512 байт16 МГц, 2,7–5,5 В1E 94 89m16u2
ATmega32U232 КБ1 КБ1 КБ16 МГц, 2,7–5,5 В1E 95 8Am32u2
ATmega8U28 КБ512 байт512 байт16 МГц, 2,7–5,5 В1E 93 89m8u2

Заказные номера

Номера для заказа из описания Microchip с корпусом, предельной частотой, диапазонами питания и рабочей температуры.

НомерКорпусЧастотаПитаниеТемпература
ATmega16U2-AUTQFP32до 16 МГц2,7–5,5 В−40…+85 °C
ATmega16U2-MUQFN32до 16 МГц2,7–5,5 В−40…+85 °C
ATmega32U2-AUTQFP32до 16 МГц2,7–5,5 В−40…+85 °C
ATmega32U2-MUQFN32до 16 МГц2,7–5,5 В−40…+85 °C
ATmega8U2-AUTQFP32до 16 МГц2,7–5,5 В−40…+85 °C
ATmega8U2-MUQFN32до 16 МГц2,7–5,5 В−40…+85 °C

Фьюзы с завода

Значения фьюзов, с которыми микроконтроллер приходит с завода, и источник тактового сигнала, который они выбирают. В скобках — имя байта в avrdude. Расшифровку каждого бита, другие режимы и готовую команду avrdude даёт калькулятор фьюзов AVR.

МикроконтроллерLOW (lfuse)HIGH (hfuse)EXTENDED (efuse)ТактированиеКалькулятор
ATmega16U20x5E0xD90xF4Кварцевый резонатор от 8,0 МГц, делитель на 8 (CKDIV8)открыть
ATmega32U20x5E0xD90xF4Кварцевый резонатор от 8,0 МГц, делитель на 8 (CKDIV8)открыть
ATmega8U20x5E0xD90xF4Кварцевый резонатор от 8,0 МГц, делитель на 8 (CKDIV8)открыть

Векторы прерываний

Таблица векторов ATmega16U2: номер, как в даташите (сброс — первый), имя вектора по описанию Microchip и источник прерывания. Обработчик в avr-gcc объявляют макросом ISR() с именем вектора из avr/io.h — обычно это имя из таблицы с суффиксом _vect, например ISR(INT0_vect).

№ВекторИсточник
1RESETсброс: включение питания, вывод RESET, BOD, сторожевой таймер
2INT0внешнее прерывание INT0
3INT1внешнее прерывание INT1
4INT2внешнее прерывание INT2
5INT3внешнее прерывание INT3
6INT4внешнее прерывание INT4
7INT5внешнее прерывание INT5
8INT6внешнее прерывание INT6
9INT7внешнее прерывание INT7
10PCINT0изменение уровня на выводах группы PCINT0
11PCINT1изменение уровня на выводах группы PCINT1
12USB_GENUSB: общие события
13USB_COMUSB: события конечных точек
14WDTсторожевой таймер
15TIMER1_CAPTтаймер 1: захват
16TIMER1_COMPAтаймер 1: совпадение с OCR1A
17TIMER1_COMPBтаймер 1: совпадение с OCR1B
18TIMER1_COMPCтаймер 1: совпадение с OCR1C
19TIMER1_OVFтаймер 1: переполнение
20TIMER0_COMPAтаймер 0: совпадение с OCR0A
21TIMER0_COMPBтаймер 0: совпадение с OCR0B
22TIMER0_OVFтаймер 0: переполнение
23SPI_STCSPI: передача завершена
24USART1_RXUSART1: приём завершён
25USART1_UDREUSART1: регистр данных пуст
26USART1_TXUSART1: передача завершена
27ANALOG_COMPаналоговый компаратор
28EE_READYEEPROM готова к записи
29SPM_READYготовность к записи флеш-памяти (SPM)

Частые вопросы

Чем отличаются ATmega16U2, ATmega32U2 и ATmega8U2?

Объём памяти: ATmega16U2 — 16 КБ флеш, 512 байт ОЗУ, 512 байт EEPROM; ATmega32U2 — 32 КБ флеш, 1 КБ ОЗУ, 1 КБ EEPROM; ATmega8U2 — 8 КБ флеш, 512 байт ОЗУ, 512 байт EEPROM. Сигнатуры разные: avrdude сверяет сигнатуру с типом, указанным ключом -p, и не станет прошивать другой микроконтроллер без ключа -F. В общих корпусах расположение выводов и их функции одинаковые.

Какие фьюзы у ATmega16U2 с завода?

LOW 0x5E, HIGH 0xD9, EXTENDED 0xF4 — тактирование: кварцевый резонатор от 8,0 МГц, делитель на 8 (CKDIV8). Расшифровку каждого бита и команду avrdude для своих значений даёт калькулятор фьюзов AVR.

Сколько линий ввода-вывода у ATmega16U2?

23 линии: PB0–PB7, PC0, PC1, PC2, PC4, PC5, PC6, PC7, PD0–PD7. У каждой есть альтернативные функции периферии — они перечислены в таблице выводов.

Как прошить ATmega16U2?

Через ISP-программатор: PDI — PB2 (вывод 16 в TQFP32), PDO — PB3 (вывод 17 в TQFP32), SCK — PB1 (вывод 15 в TQFP32), RESET — PC1 (вывод 24 в TQFP32), плюс питание и общий провод. В avrdude микроконтроллер выбирается ключом -p m16u2. Другие интерфейсы ATmega16U2: HVPP — высоковольтное параллельное программирование, debugWIRE — отладка по выводу RESET.

В каких корпусах выпускается ATmega16U2?

TQFP32 и QFN32. Распиновка у них одинаковая. Полный список заказных номеров с диапазонами температуры и питания — в разделе «Заказные номера».

Источники

Корпуса, выводы, память, заказные номера, фьюзы, сигнатуры и векторы прерываний — из файлов описания устройств (ATDF) в паках Microchip ATmega_DFP 3.6.299 от 22 января 2026 г., лицензия Apache 2.0. Данные преобразованы в таблицы и схемы корпусов; тексты и рисунки — GAW. Лицензии и источники данных.

Функции и расположение выводов сверены с даташитом ATmega8U2/16U2/32U2 (7799E–AVR–09/2012). По даташиту исправлены ошибки описания Microchip: у ATmega16U2, ATmega32U2 и ATmega8U2 RESET — на PC1, а не на PC6.