Arduino GIGA R1 WiFi — Mega на STM32H747: характеристики и распиновка

Arduino GIGA R1 WiFi — высокопроизводительная плата Arduino в форм-факторе Mega. В основе — двухъядерный микроконтроллер STM32H747XI (Arm Cortex-M7 до 480 МГц и Cortex-M4 до 240 МГц), к которому добавлены модуль Wi-Fi и Bluetooth, 8 МБ SDRAM, 16 МБ внешней flash-памяти, USB-хост, аудиоразъём и разъёмы для камеры и дисплея. Это микроконтроллерная плата, а не одноплатный компьютер: стандартная среда Arduino для неё основана на Mbed OS; также поддерживается MicroPython. Производитель платы — Arduino.

По описанию Arduino, GIGA R1 WiFi «объединяет лучшее от Portenta H7 и Mega 2560»: обилие выводов в привычном формате Mega сочетается с вычислительной мощностью семейства STM32H7. Это первая плата Mega со встроенными Wi-Fi и Bluetooth. Arduino указывает 76 цифровых выводов, 12 аналоговых входов и 2 аналоговых выхода (ЦАП). Логика платы — 3,3 В.

Плата подойдёт для проектов, где не хватает AVR-плат: обработка сигналов и звука, машинное обучение на краю сети, 3D-принтеры, роботы, системы сбора данных. Для сравнения: Arduino Due — предыдущая плата Arduino в формате Mega на 32-битном ядре.

Плата Arduino GIGA R1 WiFi, вид сверху

Основные характеристики Arduino GIGA R1 WiFi

  • Микроконтроллер: STM32H747XIH6 (двухъядерный)
  • Ядро 1: Arm Cortex-M7 до 480 МГц с FPU двойной точности и кэшем L1
  • Ядро 2: Arm Cortex-M4 до 240 МГц с FPU; полный набор инструкций DSP, блок защиты памяти (MPU)
  • Flash-память микроконтроллера: 2 МБ
  • SRAM микроконтроллера: 1 МБ
  • Внешняя flash-память: 16 МБ (AT25SF128A-MHB-T, NOR, QSPI)
  • SDRAM: 8 МБ (AS4C4M16SA, 166 МГц)
  • Беспроводной модуль: Murata LBEE5KL1DX-883 (на Cypress CYW4343W): Wi-Fi 802.11 b/g/n до 65 Мбит/с, Bluetooth Classic и Low Energy; внешняя антенна подключается к разъёму Micro UFL
  • Криптоэлемент: ATECC608A
  • Рабочее напряжение логики: 3,3 В
  • Входное напряжение (VIN): 6–24 В по текущей спецификации Arduino Store; в таблице рекомендуемых условий datasheet указано 6–32 В
  • Цифровые выводы: 76; часть выводов на разъёмах камеры и дисплея имеет специальное назначение
  • Аналоговые входы: 12 (A0–A11), разрешение до 12 бит; аналоговые выходы (ЦАП): 2 (DAC0, DAC1)
  • ШИМ: 12 выводов отмечены как PWM в актуальной спецификации магазина и на подробной распиновке; вводная часть datasheet указывает 13
  • Ток вывода: в технических характеристиках Arduino указано 8 мА на I/O; в pinout приведён максимальный ток 20 мА на вывод и 140 мА суммарно для всех I/O и управляющих выводов
  • Интерфейсы: 4 × UART, 3 × I²C, 2 × SPI, 1 × CAN (нужен внешний трансивер)
  • USB: USB-C (устройство, программирование) и USB 2.0 Type-A (хост)
  • Дополнительно: аудиоразъём 3,5 мм, 20-контактный разъём камеры Arducam (J6), разъём дисплея MIPI DSI (J5), JTAG, вывод VRTC для батарейки часов, вывод OFF для выключения платы
  • Форм-фактор: Mega (размеры около 101,6 × 53,3 мм)
  • Способ программирования: Arduino IDE (пакет для плат GIGA), загрузчик по USB; также поддерживается MicroPython

Примечание к цифрам I/O: на вводной странице datasheet указаны 14 аналоговых входов и 13 PWM-выводов, тогда как подробная таблица, распиновка и текущая страница Arduino Store указывают 12 аналоговых входов (A0–A11) и 12 PWM. В статье используются значения из подробной распиновки и текущей спецификации; два DAC рассматриваются отдельно от аналоговых входов.


Технические характеристики

Микроконтроллер

STM32H747XI содержит два ядра. Cortex-M7 работает до 480 МГц, имеет FPU двойной точности и кэш L1; Cortex-M4 — до 240 МГц с FPU. Оба ядра поддерживают DSP-инструкции. Ядра можно программировать независимо; для обмена данными между ними Arduino предоставляет механизм удалённого вызова процедур (RPC). Например, на одном ядре можно выполнять обработку сигнала, а на другом — задачи управления и связи.

Структурная схема Arduino GIGA R1 WiFi: STM32H747, память, USB, Wi-Fi и Bluetooth, разъёмы

Память

  • Flash 2 МБ и SRAM 1 МБ — внутри STM32H747.
  • NOR-flash 16 МБ (AT25SF128A-MHB-T) — подключена по Quad-SPI; предназначена для хранения данных и ресурсов.
  • SDRAM 8 МБ (AS4C4M16SA), работает на 166 МГц, — для буферов, изображений и звука.
  • EEPROM отдельной нет.

Цифровые и аналоговые выводы (I/O)

Выводы выполнены в формате Mega: D0–D21 на основной цифровой гребёнке, D22–D53 — на двух боковых рядах, а D54–D67 выведены на разъём камеры. Arduino указывает 76 цифровых выводов в сумме. Однако D68–D75 на разъёме дисплея MIPI DSI предназначены только для дисплейного интерфейса и не работают как обычные GPIO — это отдельно отмечено в распиновке. На плате есть 12 аналоговых входов A0–A11 с разрешением до 12 бит и два ЦАП (DAC0 и DAC1) с разрешением до 12 бит.

⚠ Только 3,3 В. Все сигнальные выводы работают с логикой 3,3 В и не толерантны к 5 В — подача 5 В может повредить микроконтроллер. Для консервативного проектирования ориентируйтесь на ток до 8 мА на вывод из технических характеристик Arduino. В pinout отдельно приведён предельный максимум 20 мА на любой I/O и 140 мА суммарно для всех I/O и управляющих выводов; эти максимумы не следует считать рекомендуемым рабочим режимом. Многие шилды для Mega 2560 рассчитаны на 5 В: перед подключением проверьте совместимость или используйте преобразователь уровней.

Расположение элементов на Arduino GIGA R1 WiFi (вид сверху)
Распиновка Arduino GIGA R1 WiFi

Интерфейсы связи (UART, I²C, SPI, CAN)

  • UART: Serial0 — D0 (RX) и D1 (TX); Serial1 — D19 (RX) и D18 (TX); Serial2 — D17 (RX) и D16 (TX); Serial3 — D15 (RX) и D14 (TX).
  • I²C: три шины. Основная шина Wire — D20 (SDA) и D21 (SCL); Wire1 — D102 (SDA1) и D101 (SCL1) на разъёме J6; Wire2 — D9 (SDA2) и D8 (SCL2). В документации на разъёмах встречаются дополнительные обозначения и дублирование сигналов, поэтому при подключении сверяйтесь с распиновкой конкретного разъёма.
  • SPI: D13 (SCK), D12 (CIPO), D11 (COPI), D10 (CS); второй SPI выведен на отдельный 6-контактный разъём STM32 ICSP.
  • CAN: выводы CANRX и CANTX находятся на аналоговой гребёнке; нужен внешний CAN-трансивер.

USB

На плате два порта USB. USB-C служит для программирования, питания и подключения платы как устройства (HID и другие классы). USB 2.0 Type-A работает как хост: к нему подключаются клавиатуры, мыши, накопители и другие устройства. Линии SuperSpeed USB-C на плате не распаяны, поэтому порт не обеспечивает USB 3.x. Питание порта USB-A ограничено примерно 500 мА; через USB-A нельзя питать саму плату. На линиях VBUS обоих разъёмов установлены защитные TVS-диоды.

Беспроводная связь

Модуль Murata LBEE5KL1DX-883 на чипе Cypress CYW4343W обеспечивает Wi-Fi IEEE 802.11 b/g/n (до 65 Мбит/с; режимы точки доступа и клиента) и Bluetooth Classic и Low Energy. Datasheet Arduino указывает BLE 5.x при использовании стека Cordio и BLE 4.2 при использовании Arduino Stack; спецификация Murata Type 1DX указывает Bluetooth 5.1 BR/EDR/LE. Одна внешняя антенна подключается к разъёму Micro UFL и используется для радиосвязи. Диапазона 5 ГГц нет.

⚠ Подключайте антенну. Внешняя антенна подключается к разъёму Micro UFL. В распиновке Arduino прямо указано, что без подключённой антенны Wi-Fi не работает. Подключите антенну до использования беспроводной связи.

Аудио

Два ЦАП микроконтроллера (до 12 бит) подключены к стереовыходу на аудиоразъёме 3,5 мм: каналы также доступны на выводах DAC0 и DAC1. Микрофонный вход на том же разъёме общий с аналоговым выводом A7. В STM32H7 предусмотрены буферизированный режим DAC и функции sample-and-hold; в datasheet указана поддержка частоты выборки до 10 млн отсчётов в секунду. Это характеристика аналогового тракта микроконтроллера, а не типичная частота дискретизации аудиопроекта.

Камера, дисплей и отладка

  • Камера: 20-контактный разъём J6, совместимый с Arducam; на нём доступны сигналы D54–D67.
  • Дисплей: разъём J5 с линиями MIPI DSI (D1N, D0N, D1P, D0P, CKN, CKP) и выводами D68–D75. По распиновке DSI-линии D68–D75 предназначены только для дисплейного интерфейса и не являются обычными GPIO.
  • JTAG/SWD: 10-контактный разъём для отладки; отдельный 6-контактный STM32 ICSP содержит линии второго SPI.

Питание

Плату можно питать по USB (5 В) или через выводы VIN. При питании от VIN понижающий преобразователь MP2269GD-Z (U7) формирует шину 5 В, а MP2322GQH (U6) преобразует её в 3,3 В. Для часов реального времени предусмотрен вход VRTC для отдельной батарейки; вывод OFF отключает питание платы при замыкании на GND.

Схема питания Arduino GIGA R1 WiFi: USB-C, USB-A, VIN, преобразователи на 5 В и 3,3 В и потребители

⚠ Входное напряжение VIN. В документации Arduino есть расхождение: в спецификации продукта указано 6–24 В, а в таблице рекомендуемых условий datasheet — 6–32 В (типично 7 В). Для консервативного режима используйте диапазон 6–24 В; оптимальное значение около 7 В. Питание по USB-C — 4,8–5,5 В.

Данные об энергопотреблении платы в datasheet не приводятся.

Размеры и конструкция

Форм-фактор — Mega: размеры платы около 101,6 × 53,3 мм, с отверстиями для крепления на шасси или в корпус. Разъёмы USB-A, USB-C и аудио расположены на одной стороне платы.

Чертёж Arduino GIGA R1 WiFi с размерами платы и крепёжными отверстиями

Интерфейсы и разъёмы

  • USB-C (J12) — программирование, связь и питание;
  • USB 2.0 Type-A (J2) — USB-хост; ток порта ограничен примерно 500 мА;
  • Аудиоразъём 3,5 мм (J15) — стереовыход и микрофонный вход;
  • Micro UFL — разъём внешней антенны Wi-Fi/Bluetooth;
  • Разъём камеры J6 (Arducam) и разъём дисплея J5 (MIPI DSI);
  • JTAG/SWD и STM32 ICSP;
  • Кнопки RESET (PB1) и BOOT0 (PB2); светодиод питания и RGB-светодиод;
  • Трёхконтактная гребёнка J1: OFF, GND, VRTC;
  • Гребёнки Mega: аналоговая, цифровая и два длинных боковых ряда D22–D53.

Программирование

Плата программируется в Arduino IDE (в том числе 2.x) и в Arduino Cloud Editor на C/C++; нужен пакет поддержки плат GIGA. Стандартная среда Arduino использует платформу на основе Mbed OS. Для работы с двумя ядрами применяется механизм RPC между Cortex-M7 и Cortex-M4. Также доступен MicroPython, который позволяет запускать Python-код на одном из ядер и обмениваться данными с другой программной средой. Загрузка и восстановление выполняются через USB-C.


Распиновка

Таблицы составлены по datasheet (ABX00063) и полной схеме выводов Arduino. Сигнальная логика — 3,3 В; выводы не толерантны к 5 В.

Аналоговая гребёнка (24 контакта)

КонтактОбозначениеНазначение
1NCНе подключён
2IOREFОпорное напряжение цифровой логики (3,3 В)
3RESETСброс
4+3V3Шина 3,3 В
5+5VШина 5 В
6, 7GNDЗемля
8VINВход питания
9–20A0–A11Аналоговые входы / GPIO
21DAC0Аналоговый выход 0
22DAC1Аналоговый выход 1
23CANRXCAN, приём
24CANTXCAN, передача

Цифровая гребёнка (26 контактов)

КонтактОбозначениеНазначение
1D21 / SCLОсновная шина I²C, тактирование
2D20 / SDAОсновная шина I²C, данные
3AREFОпорное напряжение АЦП
4GNDЗемля
5D13 / SCKSPI SCK, PWM
6D12 / CIPOSPI CIPO, PWM
7D11 / COPISPI COPI, PWM
8D10 / CSSPI CS, PWM
9D9 / SDA2I²C 2, данные, PWM
10D8 / SCL2I²C 2, тактирование, PWM
11–16D7–D2Цифровые выводы, PWM
17D1 / TX0UART 0, передача
18D0 / RX0UART 0, приём
19D14 / TX3UART 3, передача
20D15 / RX3UART 3, приём
21D16 / TX2UART 2, передача
22D17 / RX2UART 2, приём
23D18 / TX1UART 1, передача
24D19 / RX1UART 1, приём
25D20 / SDAОсновная шина I²C, данные
26D21 / SCLОсновная шина I²C, тактирование

Обозначения I²C. В руководстве Arduino по интерфейсу Wire для GIGA указано: SDA/SCL — D20/D21; SDA1/SCL1 — D102/D101 на разъёме J6; SDA2/SCL2 — D9/D8. В таблице цифровых контактов datasheet встречаются иные суффиксы для D20/D21, поэтому для выбора контактов в скетчах ориентируйтесь на актуальную таблицу Arduino Wire.

Боковые ряды D22–D53 (по 18 контактов)

Левый ряд: +5V, D22, D24, D26, … D52 (чётные), GND. Правый ряд: +5V, D23, D25, D27, … D53 (нечётные), GND — как на плате Mega 2560.

Трёхконтактная гребёнка J1

КонтактОбозначениеНазначение
1OFFОтключение питания платы при замыкании на GND
2GNDЗемля
3VRTCВход питания часов реального времени от батарейки; не питает плату

Возможности и особенности

  • Два ядра и частота до 480 МГц: значительно больше вычислительных ресурсов, чем у Mega 2560.
  • Привычный формат Mega: 76 цифровых выводов по спецификации; часть выводов J5/J6 зарезервирована для дисплея и камеры, а уровни сигналов — 3,3 В.
  • Wi-Fi и Bluetooth с внешней антенной.
  • Память: 8 МБ SDRAM и 16 МБ NOR-flash.
  • Аудио: стереовыход, вход для микрофона, два ЦАП 12 бит.
  • USB-хост: подключение клавиатур, накопителей и других устройств напрямую.
  • Камера и дисплей: отдельные разъёмы Arducam и MIPI DSI.
  • Криптоэлемент ATECC608A для безопасного хранения ключей и сертификатов.

Для чего подходит Arduino GIGA R1 WiFi

  • Обработка сигналов и звука: анализ аудио, синтез, музыкальные инструменты;
  • Машинное обучение и компьютерное зрение на краю сети (с камерой);
  • 3D-принтеры и ЧПУ, где нужен формат Mega, но больше вычислительных ресурсов;
  • Системы сбора данных: осциллограф, мультиметр, эксперименты;
  • Роботы и многозадачные проекты, где задачи можно распределить между двумя ядрами;
  • IoT с Arduino Cloud и безопасным хранением сертификатов.

Преимущества

  • Большое число выводов и привычный формат Mega.
  • Высокая производительность и большой объём памяти.
  • Wi-Fi, Bluetooth, USB-хост, аудио, камера и дисплей.
  • Два ЦАП и 12 аналоговых входов.

Ограничения

  • Логика 3,3 В, не толерантна к 5 В; для консервативного проектирования учитывайте ток около 8 мА на вывод, многие шилды для Mega требуют согласования уровней.
  • Поддержка библиотек и шилдов для AVR не гарантируется: код, использующий регистры AVR, потребует переписывания.
  • USB-C не поддерживает SuperSpeed; Wi-Fi работает только в диапазоне 2,4 ГГц.
  • CAN требует внешнего трансивера.
  • Программная модель сложнее, чем у Mega 2560: два ядра, обмен данными через RPC.
  • В документации противоречивые данные по VIN (6–24 В и 6–32 В), числу PWM-выводов (12 и 13) и аналоговых входов (12 и 14); данные об энергопотреблении не приведены.
  • Восемь выводов D68–D75 на разъёме MIPI DSI предназначены для дисплейного интерфейса, а не для обычного GPIO.

Arduino GIGA R1 WiFi и похожие платы

ХарактеристикаGIGA R1 WiFiMega 2560 Rev3Due
МикроконтроллерSTM32H747XIATmega2560AT91SAM3X8E
Архитектура2 ядра: Cortex-M7 480 МГц + M4 240 МГцAVR 8 бит, 16 МГцCortex-M3 84 МГц
Flash / RAM2 МБ + 16 МБ / 1 МБ + 8 МБ SDRAM256 КБ / 8 КБ512 КБ / 96 КБ
Логика3,3 В5 В3,3 В
Цифровые выводы76 (часть занята дисплейным интерфейсом)5454
Беспроводная связьWi-Fi + Bluetoothнетнет
ЦАП2нет2
ФорматMegaMegaMega

Mega 2560 Rev3 — 5-вольтовая и намного проще; Due — 3,3 В, но без беспроводной связи и со значительно меньшей вычислительной мощностью.


Заключение

Arduino GIGA R1 WiFi — плата формата Mega на двухъядерном STM32H747 с Wi-Fi, Bluetooth, большим числом выводов, звуком, USB-хостом и разъёмами для камеры и дисплея. Она подходит для проектов, где возможностей Mega 2560 уже не хватает.

Перед покупкой учтите, что логика платы 3,3 В с ограниченным током вывода, многие шилды для Mega могут потребовать согласования уровней, а документация Arduino содержит расхождения по VIN, количеству аналоговых входов и PWM.


Материалы

Иллюстрации (фотография, структурная схема, вид сверху, схема выводов, схема питания и чертёж) взяты из документации Arduino к GIGA R1 WiFi (SKU ABX00063); схемы выводов распространяются под лицензией CC BY-SA 4.0, права на остальные принадлежат Arduino.

Оставьте комментарий

Отправляя комментарий, вы соглашаетесь с обработкой ваших данных (имя, адрес электронной почты, текст комментария) в соответствии с политикой конфиденциальности.