Arduino Portenta X8 — модуль с Linux на i.MX 8M Mini: характеристики и разъёмы

Arduino Portenta X8 — высокопроизводительный модуль (System-on-Module, SoM) линейки Arduino Pro, который объединяет два вычислительных узла: четырёхъядерный процессор NXP i.MX 8M Mini с предустановленной операционной системой Linux (Yocto) и двухъядерный микроконтроллер STM32H747 для задач реального времени в среде Arduino. Это не классическая микроконтроллерная плата Arduino, а встраиваемый компьютер на модуле в форм-факторе Portenta (как у Portenta H7). Производитель — Arduino.

Целевые области, по datasheet, — периферийные вычисления (edge computing), промышленный интернет вещей, встраиваемые системы и искусственный интеллект. Для расширения доступны шилды и несущие платы Portenta; их можно использовать и как референсные схемы для собственных решений. Сигнальные выводы работают с логическими уровнями 3,3 В.

Главное отличие от остальных плат Portenta (H7, C33): здесь есть полноценная Linux-система. По документации Arduino, Cortex-A53 способен запускать Linux или Android через соответствующий пакет поддержки платы (BSP), однако на Portenta X8 из коробки предустановлен Linux на базе Yocto. Приложения можно разворачивать в контейнерах; для централизованного мониторинга и управляемых OTA-обновлений парка устройств Arduino предлагает отдельный сервис Portenta X8 Manager.

Плата Arduino Portenta X8: процессор i.MX 8M Mini, память, USB-C и антенный разъём

Основные характеристики Arduino Portenta X8

  • Основной процессор: NXP i.MX 8M Mini (MIMX8MM6CVTKZAA) — 4 × Arm Cortex-A53 до 1,8 ГГц (кэш L1: 32 КБ инструкций и 32 КБ данных; L2 — 512 КБ), а также ядро Arm Cortex-M4 до 400 МГц, зарезервированное в текущей реализации для будущего использования.
  • Графика и видео: 3D GPU (OpenGL ES 2.0), 2D GPU, MIPI DSI (4 линии), декодирование 1080p60 (VP9, HEVC/H.265, H.264, VP8), кодирование 1080p60 (H.264, VP8).
  • Микроконтроллер ввода-вывода: STM32H747 (в спецификации указан STM32H747XI; в перечне компонентов схемы — STM32H747AII6): Cortex-M7 до 480 МГц и Cortex-M4 до 240 МГц; 2 МБ Flash, 1 МБ RAM.
  • Оперативная память: 2 ГБ LPDDR4 (NT6AN512T32AV).
  • Накопитель: 16 ГБ eMMC (Foresee FEMDRW016G).
  • Беспроводная связь: Murata LBEE5KL1DX-883 (Cypress CYW4343W): Wi-Fi 802.11 b/g/n до 65 Мбит/с, Bluetooth Classic и Low Energy (Bluetooth 5.1 в программном стеке Linux); одна внешняя антенна подключается через U.FL.
  • Проводная сеть: гигабитный Ethernet (10/100/1000): MAC в i.MX 8M Mini, PHY KSZ9031RNX на плате; для подключения кабеля нужен физический сетевой разъём на несущей плате.
  • Безопасность: NXP SE050C2 (Common Criteria EAL 6+).
  • Интерфейсы i.MX 8M Mini: 4 × UART, 4 × I²C, 3 × SPI, 4 × ШИМ, PCIe 2.0 (1 линия), 2 × USB 2.0 OTG, MIPI CSI (4 линии), MIPI DSI (4 линии), 5 × SAI, вход PDM.
  • Интерфейсы на High Density разъёмах: 4 × UART (2 с управлением потоком), 3 × I²C, 2 × SPI (один общий с UART), 2 × CAN, SD-карта, I²S, вход PDM, 4 × ШИМ, 7 × GPIO, 8 входов АЦП с отдельным VREF, Ethernet, PCIe, USB, MIPI DSI/CSI.
  • USB: USB-C — USB Host/Device High Speed (480 Мбит/с) или Full Speed (12 Мбит/с), DisplayPort и поддержка Power Delivery.
  • Питание: USB-C или VIN 4,5–5,5 В; PMIC ROHM BD71847AMWV; шина 3,3 В до 2 А для несущей платы, из которых до 1 А указано как доступное пользовательскому приложению.
  • Потребление (по datasheet): типично 2,35 Вт в тесте с busy loop, 0,2 Вт в режиме малого потребления и до 4 Вт в максимальном режиме.
  • Рабочая температура: от −40 до +85 °C. Arduino возлагает на пользователя проверку работы во всём диапазоне; для улучшения охлаждения допускается установка радиаторов на процессор и микросхему памяти.
  • Размеры: 66,04 × 25,40 мм.
  • Способ программирования: Linux-приложения и контейнеры на i.MX 8M Mini; скетчи Arduino IDE для ядра Cortex-M4 микроконтроллера STM32H747.

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

Процессор NXP i.MX 8M Mini

MIMX8MM6CVTKZAA — четырёхъядерный процессор Cortex-A53 до 1,8 ГГц с дополнительным ядром Cortex-M4 до 400 МГц. Cortex-A53 запускает Linux; datasheet также указывает возможность использования Android при наличии соответствующего BSP, но штатная система Portenta X8 — Yocto Linux. Ядро Cortex-M4 в i.MX 8M Mini в текущей реализации зарезервировано для будущего использования.

В состав i.MX 8M Mini входят 3D- и 2D-блоки графики, интерфейсы MIPI DSI и MIPI CSI по 4 линии, видеодекодеры 1080p60 (VP9, HEVC/H.265, H.264, VP8), видеокодеры 1080p60 (H.264, VP8), PCIe 2.0, два контроллера USB 2.0 OTG, гигабитный Ethernet MAC с AVB и IEEE 1588, 4 UART, 4 I²C, 3 SPI и 4 канала ШИМ. Также предусмотрены 5 интерфейсов SAI и 8-канальный вход PDM.

Процессор NXP i.MX 8M Mini на плате Arduino Portenta X8, крупный план
Структурная схема Arduino Portenta X8

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

STM32H747 используется как расширитель ввода-вывода для i.MX 8M Mini. Ядро Cortex-M7 запускает фирменную прошивку Arduino, которая связывает периферию STM32H7 с Linux и предоставляет её как устройства Linux. Ядро Cortex-M4 доступно для пользовательских скетчей Arduino и задач реального времени, например управления двигателями и другой аппаратурой.

Прошивка M7 служит посредником между периферией и i.MX 8M Mini. Опытные пользователи могут изменить её, но это может нарушить интеграцию с Linux. Сам STM32H7 не имеет прямого сетевого интерфейса: сетевое взаимодействие обеспечивает Linux-сторона, а доступ со стороны Arduino выполняется через RPC. Для программирования STM32H7 плата обращается к i.MX 8M Mini.

Память

  • ОЗУ — 2 ГБ LPDDR4 и накопитель — 16 ГБ eMMC; обе микросхемы доступны процессору i.MX 8M Mini.
  • Внутри STM32H747: 2 МБ Flash и 1 МБ RAM.
  • Интерфейс SD-карты выведен на High Density разъём.

Цифровые и аналоговые выводы

Все внешние интерфейсы доступны через два High Density разъёма снизу платы (подробная карта — на схеме ниже). На разъёмах доступны: 1 линия PCI Express, гигабитный Ethernet, 2 × USB High Speed, 4 × UART (2 с управлением потоком), 3 × I²C, 2 × SPI (один общий с UART), 2 × CAN, интерфейс SD-карты, I²S, вход PDM, MIPI DSI и MIPI CSI по 4 линии, 4 × ШИМ, 7 × GPIO и 8 входов АЦП с отдельным VREF. Обратите внимание: у самого i.MX 8M Mini 4 контроллера I²C и 3 контроллера SPI, но на High Density разъёмы выведены соответственно 3 и 2 интерфейса. Для подключения периферии нужна несущая плата (Portenta Max Carrier, Hat Carrier или Breakout); непосредственно на модуле нет обычных гребёнок.

⚠ Логические уровни 3,3 В. Выводы не рассчитаны на сигналы 5 В. В рекомендуемых условиях Arduino указывает ток до 8 мА при гарантированных уровнях выходного сигнала 2,7 В (логическая единица) и 0,4 В (логический ноль). Для силовых нагрузок используйте драйвер, а для 5-вольтовых сигналов — преобразователь уровней.

Распиновка High Density разъёмов Arduino Portenta X8

USB-C и DisplayPort

Разъём USB-C обеспечивает питание платы в режимах DFP и DRP, подачу питания на внешнюю периферию при питании самой платы через VIN, USB Host/Device на скорости High Speed (480 Мбит/с) или Full Speed (12 Мбит/с), а также вывод DisplayPort и поддержку Power Delivery. DisplayPort работает вместе с USB: простой кабель-адаптер можно использовать, когда плата питается через VIN; при питании от USB-C нужен док или адаптер, который одновременно подаёт питание на плату и передаёт DisplayPort и USB. Такие док-станции часто также предоставляют Ethernet через USB и USB-хаб.

Распиновка USB-C на Arduino Portenta X8

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

Модуль Murata LBEE5KL1DX-883 на базе Cypress CYW4343W обеспечивает Wi-Fi 802.11 b/g/n (до 65 Мбит/с; режимы точки доступа, клиента или одновременный режим AP/STA) и Bluetooth Classic и Low Energy. В программном стеке Linux поддерживается Bluetooth 5.1. Модуль подключён к i.MX 8M Mini по SDIO (4 бита) и UART. Одна внешняя антенна на разъёме U.FL используется совместно для Wi-Fi и Bluetooth.

⚠ Подключайте внешнюю антенну. Для работы Wi-Fi и Bluetooth антенна должна быть подключена к разъёму U.FL. На модуле один антенный тракт используется совместно двумя радиоинтерфейсами.

Безопасность

NXP SE050C2 подключён к i.MX 8M Mini по I²C. Защищённый элемент имеет сертификацию Common Criteria EAL 6+ и поддерживает RSA и ECC, AES и 3DES, HMAC, CMAC, SHA-1 и SHA-2, функции TPM, защищённую пользовательскую память до 50 КБ и шифрование шины SCP03.

Питание

Питание подаётся через USB-C или вывод VIN. Для обоих входов рекомендовано напряжение 4,5–5,5 В (номинально 5 В). Управляет питанием PMIC ROHM BD71847AMWV с динамическим масштабированием напряжений. Микросхема формирует шину 3,3 В до 2 А для несущей платы; в таблице рекомендуемых условий максимальный ток, доступный пользовательскому приложению от вывода 3V3, указан как 1 А.

Из-за динамического изменения частот вычислительных блоков при загрузке возможны кратковременные всплески потребления. Arduino рекомендует USB-порт, совместимый с USB 3.0, чтобы обеспечить требуемый ток питания.

Схема питания Arduino Portenta X8: USB-C, VIN, PMIC и шины питания

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

Размеры модуля — 66,04 × 25,40 мм (двусторонняя плата). USB-C выступает за край, антенный разъём U.FL расположен у края платы. На нижней стороне установлены два High Density разъёма J1 и J2; крепёжные отверстия имеют диаметр 2,25 мм. Процессор и микросхему памяти при необходимости можно охлаждать радиаторами (в комплект не входят).

Чертёж Arduino Portenta X8 с размерами платы и отверстий

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

  • USB-C (J3) — питание, USB Host/Device и DisplayPort;
  • High Density разъёмы J1 и J2 — интерфейсы процессора, микроконтроллера и питание;
  • U.FL (J4) — подключение внешней антенны Wi-Fi/Bluetooth;
  • Кнопка Reset (PB1), индикатор питания и RGB-светодиод;
  • Аксессуары (не входят в комплект): USB-C-хаб, адаптер USB-C → HDMI и радиатор.
Расположение элементов на Arduino Portenta X8 (вид сверху)
Расположение элементов на Arduino Portenta X8 (вид снизу)

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

Основной режим работы — Linux: на i.MX 8M Mini предустановлен дистрибутив Yocto. Linux-приложения разворачиваются в программных контейнерах; пользователь может создавать и запускать собственные контейнеры без обязательной подписки. Для централизованного обслуживания устройств, мониторинга и управляемых OTA-обновлений Arduino предлагает Portenta X8 Manager на базе Foundries.io.

Для ядра Cortex-M4 микроконтроллера STM32H747 можно писать скетчи в Arduino IDE. Ядро M7 запускает фирменную прошивку, связывающую периферию STM32H7 с Linux; скетчи M4 получают доступ к поддерживаемой ею периферии. Arduino IDE предназначена для программирования Arduino-части, а не для разработки Linux-приложений.

Если скетч блокирует плату и она перестаёт определяться по USB, режим загрузчика можно включить DIP-переключателями на совместимой несущей плате с такими переключателями (например, Portenta Max Carrier, Portenta Hat Carrier или Portenta Breakout). Сам модуль Portenta X8 не имеет переключателей для входа в этот режим.


Распиновка

Карта выводов High Density разъёмов J1 и J2 приведена на схеме выше и в схеме выводов Arduino (PDF). Ниже — сводка интерфейсов, выведенных на разъёмы.

ИнтерфейсКоличество / описание
PCI Express1 линия
Ethernet10/100/1000, PHY на модуле; физический разъём нужен на несущей плате
USB High Speed2 интерфейса на High Density разъёмах
UART4 (2 с управлением потоком)
I²C3 интерфейса на High Density разъёмах
SPI2 (один общий с UART)
CAN2 интерфейса; требуются внешние трансиверы
SD-карта1 интерфейс
I²S / PDM1 интерфейс I²S / 1 вход PDM
MIPI DSI / CSI4 линии вывода / 4 линии ввода
ШИМ4 выхода
GPIO7
АЦП8 входов с отдельным VREF

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

  • Полноценный Linux на компактном модуле Portenta; предустановлен дистрибутив Yocto.
  • STM32H747 — отдельный микроконтроллер для ввода-вывода и задач реального времени, совместимый со средой Arduino.
  • Гигабитный Ethernet, PCIe, MIPI DSI и CSI, DisplayPort — для сложных встраиваемых решений.
  • 2 ГБ ОЗУ и 16 ГБ eMMC на модуле.
  • Контейнеры и OTA-обслуживание: контейнеры можно запускать локально, а централизованное управление парком и обновлениями доступно через сервис Arduino/Foundries.
  • Защищённый элемент SE050C2 для хранения учётных данных и криптографических операций.

Для чего подходит Arduino Portenta X8

  • Периферийные вычисления и ИИ в промышленных решениях;
  • Промышленные шлюзы и контроллеры с Ethernet и Wi-Fi;
  • Встраиваемый Linux в продуктах Industry 4.0 с возможностью создавать собственные контейнерные приложения;
  • Прототипы собственных решений на основе референсных несущих плат Arduino.

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

  • Linux и контейнеры вместе со средой Arduino для задач реального времени.
  • Большой объём памяти и широкий набор интерфейсов: DisplayPort, PCIe, MIPI, Ethernet.
  • Wi-Fi, Bluetooth и аппаратный защищённый элемент.
  • Форм-фактор Portenta и выбор совместимых несущих плат.

Ограничения

  • Это модуль, а не плата для макетной панели: для доступа к High Density выводам нужна совместимая несущая плата.
  • Логика 3,3 В; в рекомендуемых условиях Arduino указывает до 8 мА на вывод при заданных уровнях выходного сигнала.
  • Потребление заметно выше, чем у микроконтроллерных плат: типично 2,35 Вт в тесте с busy loop и до 4 Вт в максимальном режиме.
  • Ядро Cortex-M4 процессора i.MX 8M Mini зарезервировано для будущего использования; для пользовательских Arduino-скетчей предназначено ядро M4 отдельного STM32H747.
  • STM32H747 интегрирован с Linux через прошивку M7; изменение этой прошивки может нарушить работу Linux-интерфейсов.
  • Для восстановления загрузки требуется совместимая несущая плата с DIP-переключателями.
  • Для физического Ethernet-разъёма и подключения большинства периферийных устройств нужна несущая плата.

Arduino Portenta X8 и похожие платы

ХарактеристикаPortenta X8Portenta H7Portenta C33
Основной процессорi.MX 8M Mini (4 × Cortex-A53, до 1,8 ГГц) + STM32H747STM32H747 (M7 480 МГц + M4 240 МГц)Renesas RA6M5 (Cortex-M33, 200 МГц)
Основная программная средаYocto Linux + Arduino на STM32H747 M4Arduino на STM32H747Arduino на RA6M5
Память2 ГБ LPDDR4 + 16 ГБ eMMC; STM32: 2 МБ Flash + 1 МБ RAM8 МБ SDRAM + 16 МБ QSPI512 КБ SRAM + 16 МБ QSPI
Графика / видео3D и 2D GPU, кодеки 1080p60нетнет
Wi-Fi / Bluetoothестьесть (H7 и Lite Connected)есть
Ethernetгигабитный (через несущую плату)10/100 (через High Density)10/100 (через High Density)
Размер66 × 25 мм66 × 25 мм66 × 25 мм

См. также Portenta H7 и Portenta C33. В отличие от одноплатного компьютера с Linux, Portenta X8 — встраиваемый модуль без обычных разъёмов на плате; для доступа к интерфейсам нужна несущая плата.


Заключение

Arduino Portenta X8 — встраиваемый модуль с предустановленным Yocto Linux на NXP i.MX 8M Mini и сопроцессором STM32H747 для задач реального времени. Он подходит для периферийных вычислений, промышленных шлюзов и прототипов решений Industry 4.0.

Перед использованием учитывайте, что нужна совместимая несущая плата, логические уровни — 3,3 В, токи выводов ограничены, а потребление значительно выше, чем у обычных микроконтроллерных плат. Питание VIN должно быть в диапазоне 4,5–5,5 В.


Материалы

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

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

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