ESP32-H2: выводы чипа и GPIO
ESP32-H2 — чип для Zigbee и Thread без Wi-Fi, в корпусе QFN32 4×4 мм с флеш-памятью внутри и 19 выводами общего назначения. Здесь — таблица всех GPIO с функциями и номерами выводов корпуса, какие из них работают в глубоком сне и какие свободны, по даташиту Espressif.
Обновлено Редакция GAW
ESP32-H2 — чип Espressif на одном ядре RISC-V с Bluetooth LE и радио IEEE 802.15.4 для сетей Zigbee и Thread, без Wi-Fi. Он выпускается в корпусе QFN32 размером 4×4 мм с флеш-памятью 2 МБ (ESP32-H2FH2S) или 4 МБ (FH4S) внутри; выводы памяти наружу не выведены, и все 19 GPIO доступны схеме. Сравнение с другими чипами — на странице «ESP32 и другие чипы Espressif».
У каждого вывода есть прямые функции IO MUX — JTAG, UART0, шина SPI2, — а почти любой сигнал периферии можно вывести на любой GPIO через матрицу GPIO. По поведению во сне выводы делятся на две группы: цифровые GPIO0–5 и GPIO22–27 в глубоком сне не работают, а выводы LP, GPIO8–14, работают в любом режиме.
Какие выводы свободны
Даташит ESP32-H2 советует в первую очередь брать выводы без особых функций, а выводы strapping, USB, JTAG и UART — только если первых не хватает:
| Группа | Выводы | Число |
|---|---|---|
| Свободные | GPIO0, GPIO1, GPIO10, GPIO11, GPIO12, GPIO13, GPIO14, GPIO22 | 8 |
| С оговорками | GPIO2, GPIO3, GPIO4, GPIO5, GPIO8, GPIO9, GPIO23, GPIO24, GPIO25, GPIO26, GPIO27 | 11 |
С оговорками — это выводы с особой ролью:
- GPIO8, GPIO9, GPIO25 — strapping-выводы: режим загрузки и источник JTAG.
- GPIO2–5 — JTAG (MTMS, MTDO, MTCK, MTDI); их можно освободить, отлаживая чип через USB Serial/JTAG.
- GPIO23 и GPIO24 — UART0: прошивка и сообщения загрузчика.
- GPIO26 и GPIO27 — USB D− и D+, по умолчанию у контроллера USB Serial/JTAG.
Таблица выводов
В таблице — все GPIO, номер вывода корпуса и, если вывод называется не GPIOn, его имя в даташите. Каналы АЦП и выводы LP сверены с заголовками ESP-IDF.
| GPIO | Вывод QFN32 | Аналог и LP | Функции IO MUX | Использование |
|---|---|---|---|---|
| GPIO0 | 3 | — | FSPIQ | свободен |
| GPIO1 | 4 | ADC1_CH0 | FSPICS0 | свободен |
| GPIO2 (MTMS) | 5 | ADC1_CH1 | MTMS, FSPIWP | с оговорками — JTAG MTMS |
| GPIO3 (MTDO) | 6 | ADC1_CH2 | MTDO, FSPIHD | с оговорками — JTAG MTDO |
| GPIO4 (MTCK) | 7 | ADC1_CH3 | MTCK, FSPICLK | с оговорками — JTAG MTCK |
| GPIO5 (MTDI) | 8 | ADC1_CH4 | MTDI, FSPID | с оговорками — JTAG MTDI |
| GPIO8 | 10 | LP-вывод | — | с оговорками — strapping-вывод, для загрузки через USB или UART должен быть 1; управляет сообщениями загрузчика в UART0 |
| GPIO9 | 11 | LP-вывод | — | с оговорками — strapping-вывод, режим загрузки: 0 при сбросе — загрузка прошивки |
| GPIO10 | 12 | ZCD0, LP-вывод | — | свободен |
| GPIO11 | 13 | ZCD1, LP-вывод | — | свободен |
| GPIO12 | 14 | LP-вывод | — | свободен |
| GPIO13 (XTAL_32K_P) | 15 | XTAL_32K_P, LP-вывод | — | свободен — кварц 32 кГц, если он подключён |
| GPIO14 (XTAL_32K_N) | 16 | XTAL_32K_N, LP-вывод | — | свободен — кварц 32 кГц, если он подключён |
| GPIO22 | 21 | — | — | свободен |
| GPIO23 (U0RXD) | 22 | — | U0RXD, FSPICS1 | с оговорками — UART0 RX: прошивка через UART |
| GPIO24 (U0TXD) | 23 | — | U0TXD, FSPICS2 | с оговорками — UART0 TX: сообщения загрузчика и прошивка |
| GPIO25 | 24 | — | FSPICS3 | с оговорками — strapping-вывод, источник сигналов JTAG, если это разрешено битами eFuse; подтяжки нет |
| GPIO26 | 25 | USB_D- | FSPICS4 | с оговорками — USB D−, по умолчанию у USB Serial/JTAG |
| GPIO27 | 26 | USB_D+ | FSPICS5 | с оговорками — USB D+, по умолчанию у USB Serial/JTAG |
На GPIO10 и GPIO11 есть аналоговая функция ZCD0 и ZCD1 — по даташиту это интерфейс компаратора напряжения на выводе.
Strapping-выводы
Три вывода при сбросе читаются как перемычки настройки, а после сброса работают как обычные GPIO. Уровни нужно удерживать не меньше 3 мс после появления высокого уровня на CHIP_EN:
| Вывод | По умолчанию | Что задаёт |
|---|---|---|
| GPIO9 | подтяжка вверх, 1 | 1 — запуск программы, 0 — загрузка прошивки через USB или UART |
| GPIO8 | без подтяжки | для загрузки прошивки должен быть 1; вместе с eFuse управляет сообщениями загрузчика в UART0 |
| GPIO25 | без подтяжки | источник сигналов JTAG, если это разрешено битами eFuse |
Подробнее — на странице «Strapping-выводы ESP32».
Питание выводов и токи
GPIO0–5 и GPIO8–11 питаются от шины VDDPST1, GPIO12–14 — от VDDA_PMU или VBAT, GPIO22–27 — от VDDPST2. Вывод VBAT даташит описывает как питание аналогового домена или от батареи. Рекомендованное напряжение всех шин — 3,0–3,6 В. Высокий уровень на входе — от 0,75 VDD, низкий — до 0,25 VDD, выше VDD + 0,3 В подавать нельзя. Внутренние подтяжки — около 45 кОм.
Сила выхода по умолчанию — 20 мА, у GPIO26 и GPIO27 — 40 мА. При наибольшей силе вывод отдаёт около 40 мА при напряжении не ниже 2,64 В и принимает около 28 мА при 0,495 В. Предельный суммарный выходной ток всех выводов — 1,3 А.
АЦП
У ESP32-H2 пять каналов АЦП: ADC1_CH0–4 на GPIO1–5. После калибровки погрешность составляет ±7 мВ в диапазоне 0–1000 мВ, ±8 мВ до 1300 мВ, ±12 мВ до 1900 мВ и ±23 мВ до 3300 мВ при наибольшем ослаблении. Эти цифры относятся к чипам с кодом даты не раньше 342023 на экране или 2334 на этикетке; для более ранних даташит предлагает запросить данные у Espressif.
Как выводы чипа разведены на модуле — на странице «ESP32-H2-MINI-1: выводы модуля». Выводы других чипов — на страницах ESP32, ESP32-S3, ESP32-C3 и ESP32-C6.
Частые вопросы
Какие GPIO ESP32-H2 можно использовать без ограничений?
Восемь: GPIO0, 1, 10, 11, 12, 13, 14 и 22; GPIO13 и GPIO14 заняты, если подключён кварц 32 кГц. Остальные 11 — это strapping-выводы GPIO8, 9, 25, JTAG на GPIO2–5, UART0 на GPIO23 и 24 и USB на GPIO26 и 27: их можно занять, учитывая их роль.
Какие выводы ESP32-H2 работают в глубоком сне?
Только выводы LP — GPIO8–14: по даташиту они работают в любом режиме чипа. Цифровые выводы GPIO0–5 и GPIO22–27 в глубоком сне не работают, а в лёгком — только если не отключён их домен питания. Кнопку или датчик, который должен будить чип, подключают к GPIO8–14.
Есть ли у ESP32-H2 Wi-Fi?
Нет. У ESP32-H2 только Bluetooth LE и радио IEEE 802.15.4, на котором работают Zigbee и Thread. Если нужен ещё и Wi-Fi, подходят ESP32-C6 или ESP32-C5 — у них все три вида радио.
Сколько каналов АЦП у ESP32-H2?
Пять: ADC1_CH0–4 на GPIO1–5. Четыре из них, GPIO2–5, — выводы JTAG, поэтому для измерений без конфликтов остаётся GPIO1, а остальные освобождают, если отлаживают чип через USB. После калибровки погрешность — от ±7 мВ в диапазоне до 1000 мВ до ±23 мВ в диапазоне до 3300 мВ.
Источники
- Espressif. ESP32-H2 Series Datasheet, v1.3 — титул — одно ядро RISC-V, Bluetooth LE и IEEE 802.15.4, флеш-память 3,3 В в корпусе, 19 GPIO, QFN32 4×4 мм; табл. 1-1 — ESP32-H2FH2S и FH4S, флеш-память 2 и 4 МБ, её выводы наружу не выведены; разд. 2.2 — цифровые выводы GPIO0–5 и 22–27 в глубоком сне не работают, выводы LP GPIO8–14 работают в любом режиме; табл. 2-1 — номера выводов и домены VDDPST1, VDDA_PMU/VBAT, VDDPST2 (эталон тестов), сила выхода 20 мА, у GPIO26 и 27 — 40 мА; табл. 2-3 — функции IO MUX; табл. 2-5 — АЦП на GPIO1–5, компаратор ZCD0/1 на GPIO10/11, кварц 32 кГц, USB; разд. 2.3.3 — выводы с важными функциями: strapping, USB, JTAG, UART; разд. 3, табл. 3-1, 3-3, 3-6 — strapping-выводы GPIO8, 9, 25, удержание уровней 3 мс; табл. 5-1–5-4 — питание 3,0–3,6 В, суммарный выходной ток до 1,3 А, VIH 0,75 VDD, VIL 0,25 VDD, подтяжки 45 кОм, IOH 40 мА и IOL 28 мА; табл. 5-6 — погрешность АЦП после калибровки
- Espressif. ESP-IDF v5.4.1: soc/esp32h2/include/soc/adc_channel.h и rtc_io_channel.h (Apache-2.0) — каналы ADC1_CH0–4 на GPIO1–5, выводы RTC IO на GPIO7–14 (GPIO7 на корпус не выведен) — сверка с таблицей 2-5 и разделом 2.2 даташита
Нашли ошибку?
Смотрите также
- ESP32ESP32, S2, S3, C2, C3, C5, C6, H2, P4: ядра, радио, USB, GPIO — сравнение и выбор
- ESP32-H2-MINI-1: выводы модуля53 площадки, 19 GPIO: функции, VBAT, strapping, USB, варианты
- ESP32-C6: выводы и GPIO30 или 22 GPIO: функции, свободные выводы, флеш-память, strapping, USB, JTAG, токи
- ESP32-C3: выводы и GPIO22 GPIO: функции, свободные и занятые выводы, флеш-память, strapping, USB, JTAG, токи
- Strapping-выводы ESP32Какие GPIO читаются при сбросе: загрузка, напряжение флеш-памяти, JTAG — для ESP32, S2, S3, C2, C3, C5, C6, H2, P4
- Глубокий сон ESP32Режимы сна, токи, пробуждение по таймеру и выводам, RTC-память, расчёт батареи
- Матрица GPIOПрограммное соединение сигналов периферии ESP32 с любыми выводами
- USB Serial/JTAGВстроенный в ESP32 контроллер USB: COM-порт и JTAG без внешних микросхем
- Вывод обвязки загрузкиGPIO, уровень которого при сбросе задаёт режим загрузки