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

ATmega328PB

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

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

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

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

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

Распиновка ATmega328PB в корпусе TQFP32, VQFN32, вид сверхуATmega328PBTQFP32, VQFN32вид сверхуPD3 — вывод 1: OC2B, INT1, PCINT19, X03, Y111PD3PD4 — вывод 2: XCK0, T0, PCINT20, X04, Y122PD4PE0 — вывод 3: SDA1, ICP4, ACO, PCINT24, X08, Y163PE0VCC — вывод 44VCCGND — вывод 55GNDPE1 — вывод 6: SCL1, T4, PCINT25, X09, Y176PE1PB6 — вывод 7: XTAL1, TOSC1, PCINT67PB6PB7 — вывод 8: XTAL2, TOSC2, PCINT78PB7PD5 — вывод 9: OC0B, T1, PCINT21, X05, Y139PD5PD6 — вывод 10: OC0A, AIN0, PCINT22, X06, Y1410PD6PD7 — вывод 11: AIN1, PCINT23, X07, Y1511PD7PB0 — вывод 12: ICP1, CLKO, PCINT0, X10, Y1812PB0PB1 — вывод 13: OC1A, PCINT1, X11, Y1913PB1PB2 — вывод 14: SS0, OC1B, PCINT2, X12, Y2014PB2PB3 — вывод 15: MOSI0, TXD1, OC2A, PCINT3, X13, Y2115PB3PB4 — вывод 16: MISO0, RXD1, PCINT4, X14, Y2216PB4PB5 — вывод 17: XCK1, SCK0, PCINT5, X15, Y2317PB5AVCC — вывод 1818AVCCPE2 — вывод 19: ADC6, ICP3, SS1, PCINT26, Y0619PE2AREF — вывод 2020AREFGND — вывод 2121GNDPE3 — вывод 22: ADC7, T3, MOSI1, PCINT27, Y0722PE3PC0 — вывод 23: ADC0, MISO1, PCINT8, Y0023PC0PC1 — вывод 24: ADC1, SCK1, PCINT9, Y0124PC1PC2 — вывод 25: ADC2, PCINT10, Y0225PC2PC3 — вывод 26: ADC3, PCINT11, Y0326PC3PC4 — вывод 27: ADC4, SDA0, PCINT12, Y0427PC4PC5 — вывод 28: ADC5, SCL0, PCINT13, Y0528PC5PC6 — вывод 29: RESET, PCINT1429PC6PD0 — вывод 30: OC3A, RXD0, PCINT16, X00, Y0830PD0PD1 — вывод 31: OC4A, TXD0, PCINT17, X01, Y0931PD1PD2 — вывод 32: INT0, OC3B, OC4B, PCINT18, X02, Y1032PD2
TQFP32 и VQFN32
  • ввод-вывод
  • питание и земля
  • сброс и выбор загрузки
  • не подключён
  • выбранная периферия

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

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

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

БлокСигналЛиния порта
USART0RXD0PD0
TXD0PD1
XCK0PD4
USART1RXD1PB4
TXD1PB3
XCK1PB5

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

БлокСигналЛиния порта
SPI0MISO0PB4
MOSI0PB3
SCK0PB5
SS0PB2
SPI1MISO1PC0
MOSI1PE3
SCK1PC1
SS1PE2

TWI (I²C) — двухпроводной интерфейс, совместимый с I²C

БлокСигналЛиния порта
TWI0SCL0PC5
SDA0PC4
TWI1SCL1PE1
SDA1PE0

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

БлокСигналЛиния порта
TC0OC0APD6
OC0BPD5
T0PD4
TC1ICP1PB0
OC1APB1
OC1BPB2
T1PD5
TC2OC2APB3
OC2BPD3
TOSC1PB6
TOSC2PB7
TC3ICP3PE2
OC3APD0
OC3BPD2
T3PE3
TC4ICP4PE0
OC4APD1
OC4BPD2
T4PE1

АЦП — аналого-цифровой преобразователь

БлокСигналЛиния порта
ADCADC0PC0
ADC1PC1
ADC2PC2
ADC3PC3
ADC4PC4
ADC5PC5
ADC6PE2
ADC7PE3

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

БлокСигналЛиния порта
ACACOPE0
AIN0PD6
AIN1PD7

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

БлокСигналЛиния порта
EXINTINT0PD2
INT1PD3
PCINT0PB0
PCINT1PB1
PCINT2PB2
PCINT3PB3
PCINT4PB4
PCINT5PB5
PCINT6PB6
PCINT7PB7
PCINT8PC0
PCINT9PC1
PCINT10PC2
PCINT11PC3
PCINT12PC4
PCINT13PC5
PCINT14PC6
PCINT16PD0
PCINT17PD1
PCINT18PD2
PCINT19PD3
PCINT20PD4
PCINT21PD5
PCINT22PD6
PCINT23PD7
PCINT24PE0
PCINT25PE1
PCINT26PE2
PCINT27PE3

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

БлокСигналЛиния порта
CPUCLKOPB0
XTAL1PB6
XTAL2PB7

PTC — сенсорный контроллер: линии X и Y

БлокСигналЛиния порта
PTCX00PD0
X01PD1
X02PD2
X03PD3
X04PD4
X05PD5
X06PD6
X07PD7
X08PE0
X09PE1
X10PB0
X11PB1
X12PB2
X13PB3
X14PB4
X15PB5
Y00PC0
Y01PC1
Y02PC2
Y03PC3
Y04PC4
Y05PC5
Y06PE2
Y07PE3
Y08PD0
Y09PD1
Y10PD2
Y11PD3
Y12PD4
Y13PD5
Y14PD6
Y15PD7
Y16PE0
Y17PE1
Y18PB0
Y19PB1
Y20PB2
Y21PB3
Y22PB4
Y23PB5

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

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

TQFP32, VQFN32ИмяТипФункции
1PD3ввод-выводOC2B, INT1, PCINT19, X03, Y11
2PD4ввод-выводXCK0, T0, PCINT20, X04, Y12
3PE0ввод-выводSDA1, ICP4, ACO, PCINT24, X08, Y16
4VCCпитание—
5, 21GNDпитание—
6PE1ввод-выводSCL1, T4, PCINT25, X09, Y17
7PB6ввод-выводXTAL1, TOSC1, PCINT6
8PB7ввод-выводXTAL2, TOSC2, PCINT7
9PD5ввод-выводOC0B, T1, PCINT21, X05, Y13
10PD6ввод-выводOC0A, AIN0, PCINT22, X06, Y14
11PD7ввод-выводAIN1, PCINT23, X07, Y15
12PB0ввод-выводICP1, CLKO, PCINT0, X10, Y18
13PB1ввод-выводOC1A, PCINT1, X11, Y19
14PB2ввод-выводSS0, OC1B, PCINT2, X12, Y20
15PB3ввод-выводMOSI0, TXD1, OC2A, PCINT3, X13, Y21
16PB4ввод-выводMISO0, RXD1, PCINT4, X14, Y22
17PB5ввод-выводXCK1, SCK0, PCINT5, X15, Y23
18AVCCпитание—
19PE2ввод-выводADC6, ICP3, SS1, PCINT26, Y06
20AREFпитание—
22PE3ввод-выводADC7, T3, MOSI1, PCINT27, Y07
23PC0ввод-выводADC0, MISO1, PCINT8, Y00
24PC1ввод-выводADC1, SCK1, PCINT9, Y01
25PC2ввод-выводADC2, PCINT10, Y02
26PC3ввод-выводADC3, PCINT11, Y03
27PC4ввод-выводADC4, SDA0, PCINT12, Y04
28PC5ввод-выводADC5, SCL0, PCINT13, Y05
29PC6ввод-выводRESET, PCINT14
30PD0ввод-выводOC3A, RXD0, PCINT16, X00, Y08
31PD1ввод-выводOC4A, TXD0, PCINT17, X01, Y09
32PD2ввод-выводINT0, OC3B, OC4B, PCINT18, X02, Y10

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

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

ИмяВыводыНазначение
VCCTQFP32: 4напряжение питания
GNDTQFP32: 5, 21общий провод
AVCCTQFP32: 18питание АЦП и части линий порта; подключают к VCC, даже если АЦП не используется, при работе АЦП — через фильтр нижних частот
AREFTQFP32: 20вход опорного напряжения АЦП

Исполнения

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

МикроконтроллерФлешОЗУEEPROMЧастота и питаниеСигнатураavrdude
ATmega328PB32 КБ2 КБ1 КБ20 МГц, 1,8–5,5 В1E 95 16m328pb

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

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

НомерКорпусЧастотаПитаниеТемпература
ATmega328PB-AUTQFP32до 20 МГц1,8–5,5 В−40…+85 °C
ATmega328PB-MUVQFN32до 20 МГц1,8–5,5 В−40…+85 °C
ATmega328PB-ANTQFP32до 20 МГц1,8–5,5 В−40…+105 °C
ATmega328PB-MNVQFN32до 20 МГц1,8–5,5 В−40…+105 °C

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

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

МикроконтроллерLOW (lfuse)HIGH (hfuse)EXTENDED (efuse)ТактированиеКалькулятор
ATmega328PB0x620xD90xF7Внутренний RC-генератор 8 МГц, делитель на 8 (CKDIV8) — 1 МГцоткрыть

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

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

№ВекторИсточник
1RESETсброс: включение питания, вывод RESET, BOD, сторожевой таймер
2INT0внешнее прерывание INT0
3INT1внешнее прерывание INT1
4PCINT0изменение уровня на выводах группы PCINT0
5PCINT1изменение уровня на выводах группы PCINT1
6PCINT2изменение уровня на выводах группы PCINT2
7WDTсторожевой таймер
8TIMER2_COMPAтаймер 2: совпадение с OCR2A
9TIMER2_COMPBтаймер 2: совпадение с OCR2B
10TIMER2_OVFтаймер 2: переполнение
11TIMER1_CAPTтаймер 1: захват
12TIMER1_COMPAтаймер 1: совпадение с OCR1A
13TIMER1_COMPBтаймер 1: совпадение с OCR1B
14TIMER1_OVFтаймер 1: переполнение
15TIMER0_COMPAтаймер 0: совпадение с OCR0A
16TIMER0_COMPBтаймер 0: совпадение с OCR0B
17TIMER0_OVFтаймер 0: переполнение
18SPI0_STCSPI Serial Transfer Complete
19USART0_RXUSART0: приём завершён
20USART0_UDREUSART0: регистр данных пуст
21USART0_TXUSART0: передача завершена
22ADCАЦП: преобразование завершено
23EE_READYEEPROM готова к записи
24ANALOG_COMPаналоговый компаратор
25TWI0Two-wire Serial Interface
26SPM_Readyготовность к записи флеш-памяти (SPM)
27USART0_STARTUSART0 Start frame detection
28PCINT3изменение уровня на выводах группы PCINT3
29USART1_RXUSART1: приём завершён
30USART1_UDREUSART1: регистр данных пуст
31USART1_TXUSART1: передача завершена
32USART1_STARTUSART1 Start frame detection
33TIMER3_CAPTтаймер 3: захват
34TIMER3_COMPAтаймер 3: совпадение с OCR3A
35TIMER3_COMPBтаймер 3: совпадение с OCR3B
36TIMER3_OVFтаймер 3: переполнение
37CFDClock failure detection interrupt
38PTC_EOCPTC End of conversion
39PTC_WCOMPPTC Window comparator mode
40SPI1_STCSPI1 Serial Transfer Complete
41TWI1TWI Transfer Complete
42TIMER4_CAPTтаймер 4: захват
43TIMER4_COMPAтаймер 4: совпадение с OCR4A
44TIMER4_COMPBтаймер 4: совпадение с OCR4B
45TIMER4_OVFтаймер 4: переполнение

Совместимые по выводам

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

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

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

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

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

27 линий: PB0–PB7, PC0–PC6, PD0–PD7, PE0–PE3. У каждой есть альтернативные функции периферии — они перечислены в таблице выводов.

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

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

Источники

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

Функции и расположение выводов сверены с даташитом ATmega328PB (DS40001906C). По даташиту исправлены ошибки описания Microchip: у ATmega328PB PCINT27 — на PE3, а не на PE2.