Перейти к содержимому

Доска H723

Распиновка Доски H723: разъёмы J1 и J2, SWD-разъём, кнопка BOOT/USER
  • Микроконтроллер: STM32H723ZGT6

    • Ядро: Arm Cortex-M7, кэш инструкций 32 КБ и кэш данных 32 КБ
    • Частота ядра: 550 МГц
    • Flash: 1 МБ
    • ОЗУ: 564 КБ
    • Напряжение питания: 1,62–3,6 В
    • 2× 16-битных АЦП, 1× 12-битный АЦП
    • Таймеры (20)
    • SPI/I2S/SAI, ETH, FDCAN, FMC, I2C, OCTOSPI, UART, USB_OTG
    • DCMI, DMA2D, LTDC (до 24 бит)
    • PSSI (до 16 бит)
    • RNG
    • CORDIC, CRC, DFSDM, FMAC
  • GPIO на разъёмах: 51

  • SDRAM MT48LC16M16A2, 256 Мбит (32 МБ), 16-битная шина

  • Wi-Fi/BLE модуль ESP32-C2, связь с STM32 по SPI 62,5 МГц

  • Слот microSD (SDMMC, 4 бита, 50 МГц)

  • USB-C: питание, сеть USB-NCM, прошивка по USB (DFU)

  • Кнопки RESET и BOOT/USER, светодиод

  • Разъём SWD для отладчика

  • Схема: h723-sch.pdf

  • GitHub — прошивка и примеры

  • Рецепты — готовые модули на C

  • ПО для разработки

Назначение выводов STM32H723 на плате (CubeMX)

Отладочная плата Доска-H723 предназначена для разработки и тестирования высокопроизводительных встраиваемых приложений. Она сочетает быстрое ядро, большую внешнюю память, Wi-Fi и BLE, microSD и разъёмы с выведенными линиями LTDC, I2C, SPI, UART, CAN, АЦП и ШИМ — подойдёт для IoT-устройств, устройств с графическим экраном, промышленной автоматики и других требовательных проектов.

Плата поставляется с прошитыми STM32H723 и ESP32-C2. Чтобы начать:

  1. Распакуйте sd-card.zip из релизов в корень карты FAT32 и вставьте карту в плату.
  2. Подключите плату к ПК кабелем USB-C. Она появится в системе как сетевая карта (USB-NCM, драйвер есть в Windows 10/11, Linux и macOS): плата — 192.168.4.1, ПК получает 192.168.4.2 по DHCP. Проверка — ping 192.168.4.1.
  3. Войдите по SSH: ssh root@192.168.4.1. Пароль плата создаёт сама при первом запуске и сохраняет в /SD/.ssh/password на карте. Подробнее — на странице ПО для разработки.
  4. Файлы на карту заливаются по SFTP, скрипты Lua запускаются командой lua -f /SD/x.lua.
  5. Для своей прошивки на C — ПО для разработки и рецепты.
Возможность Подробности
Сеть USB-NCM (USB-Ethernet), Wi-Fi клиент и точка доступа, DHCP-сервер
Скорость Wi-Fi TCP до 25 Мбит/с на приём и до 35 Мбит/с на отправку (зависит от эфира) — рецепт tcp_speed
SSH и SFTP оболочка, загрузка файлов на SD-карту и в RAM-диск
Файловые системы /SD (FatFs, microSD в 4 бита), /RAM (RAM-диск 4 МБ в SDRAM)
Lua интерпретатор для быстрых опытов: GPIO, SPI, I2C, UART, потоки, Wi-Fi, сокеты, HTTPS
BLE Nordic UART, плата видна как Mynewt_BLEuart
Дисплей RGB 800×480 по LTDC через переходник на J1/J2 и сенсорный экран GT911 — рецепты lcd_ltdc, lvgl_demo, lvgl_clock

Модуль на основе ESP32-C2 связывает плату с внешним миром:

  • Wi-Fi 802.11 b/g/n (2,4 ГГц):
    • инфраструктурный режим (STA/AP)
    • подключение к локальной сети и интернету
    • серверы и клиенты TCP/UDP, HTTP, MQTT и т. д.
  • Bluetooth Low Energy (BLE 5.0):
    • GATT-серверы и клиенты
    • обмен данными с мобильными устройствами
    • использование ESP32-C2 как BLE-адаптера для STM32

ESP32-C2 подключён к STM32 по SPI, поэтому стек TCP/IP можно держать как на STM32 (удобные сокеты), так и на ESP32-C2 (экономия ресурсов STM32). UART позволяет загружать прошивку в ESP32-C2.

Соединение STM32 и ESP32-C2:

STM32 ESP32
PF6 --- (CS) ---------- IO10
PF7 --- (CLK) --------- IO6
PF8 --- (MISO) -------- IO2
PF9 --- (MOSI) -------- IO7
PF10 -- (EN) ---------- EN
PE2 --- (BOOT) -------- IO9
PE3 --- (DATA_READY) -- IO4
PB6 --- (HANDSHAKE) --- IO3
PB3 --- (TX) ---------- TXD
PB4 --- (RX) ---------- RXD
IO1 --> LED

Карта подключена к STM32H723ZGT6 через SDMMC2 в 4-битном режиме, High Speed 50 МГц. Файловая система FAT (FAT32) через библиотеку FatFs. Скорость зависит от карты: и запись, и чтение — до 10 МБ/с (рецепт sd_file).

Память подключена к FMC (Flexible Memory Controller) микроконтроллера STM32H723ZGT6:

  • прямой доступ к памяти как к внешней SRAM
  • адресно-данный интерфейс, 16-битная шина
  • режим Burst для ускорения последовательного доступа

SDRAM расширяет внутреннюю SRAM микроконтроллера: в прошивке под неё — sdramMalloc(), RAM-диск и память Lua.

J1 и J2 — гребёнки 2×20 с шагом 2,54 мм. Номера контактов — как на схеме; нечётные и чётные контакты — два ряда гребёнки. Выводы SDRAM, microSD и USB на разъёмы не выведены; линии ESP32-C2 выведены частично (см. ниже). Картинка в начале страницы — те же разъёмы на фотографии платы.

Контакты J1, нечётный J1, чётный J2, нечётный J2, чётный
1 / 2 GND GND GND GND
3 / 4 3V3 3V3 3V3 3V3
5 / 6 PC7 PC6 RST GND
7 / 8 PC9 PC8 PG7 PG6
9 / 10 PA9 PA8 PG3 (LED) PD13
11 / 12 PA15 PA10 PD12 PD11
13 / 14 PC11 PC10 PB15 (лог RX) PB14 (лог TX)
15 / 16 PD2 PC12 PB13 PB12
17 / 18 PD4 PD3 PB11 PB10
19 / 20 GND GND GND GND
21 / 22 PG14 PG13 PB2 PB1
23 / 24 PB7 PB5 PB0 PC5
25 / 26 PB9 PB8 PC4 PA7
27 / 28 PE4 PE5 PA6 PA5
29 / 30 PE6 PB4 / ESP RXD PA4 PA3
31 / 32 PB3 / ESP TXD ESP IO18 PC1 PA2
33 / 34 ESP IO0 ESP IO5 PA1 PA0
35 / 36 3V3 VBAT VREF+ 3V3
37 / 38 5V 5V 5V 5V
39 / 40 GND GND GND GND
  • ESP RXD, ESP TXD, ESP IO0/IO5/IO18 — линии ESP32-C2. PB4 и PB3 соединены с UART ESP32-C2 перемычками JP3 и JP4 (замкнуты).
  • PG3 — светодиод платы, он мигает 2 Гц из задачи простоя прошивки.
  • PB14 и PB15 — лог USART1 (115200 8N1), они же на SWD-разъёме.
  • 5V на разъёмах — напряжение VBUS с USB-C. Плата питается от USB-C: 5 В → преобразователь SY8089 → 3,3 В.
  • Перемычки JP1 (VREF+ ↔ 3V3) и JP2 (VBAT ↔ 3V3) разомкнуты: внешнее опорное напряжение АЦП подключают на VREF+ (J2, контакт 35), батарейку RTC — на VBAT (J1, контакт 36).
  • Свободные для своих задач: I2C1 (PB8 — SCL, PB7 — SDA), FDCAN2 (PB12 — RX, PB13 — TX, нужен внешний трансивер), ШИМ на TIM1–TIM4, TIM8.
  • Подробная таблица занятой периферии, память и такты — docs/board.md в репозитории.

2×4: 1 — 3V3, 2 — SWDIO, 3 — GND, 4 — SWCLK, 5 — GND, 6 — не подключён, 7 — PB15 (USART1 RX), 8 — PB14 (USART1 TX). Отладчик «Лобзик» подключается сюда и сразу даёт лог USART1.

  • RESET — сброс.
  • BOOT/USER (PC13) — если нажать её при сбросе, плата входит в системный загрузчик STM32 (USB DFU). В готовой прошивке долгое нажатие (около 1 с) — сброс, короткое нажатие свободно для своих задач (рецепт gpio_button).
  • По USB, без кнопок: python tools/dfu_flash.py из репозитория. Скрипт отправляет плате UDP-пакет dfu, плата переходит в загрузчик, скрипт записывает прошивку и ждёт, пока плата снова ответит на ping. Команда reboot dfu в SSH делает то же самое.
  • С кнопками: зажать BOOT, нажать RESET (или переподключить USB), отпустить BOOT — плата в DFU. Дальше STM32_Programmer_CLI -c port=usb1 -w BoardH723.hex -s 0x08000000. На Windows нужен драйвер STM32 DFU, он ставится вместе со STM32CubeProgrammer.
  • Через отладчик «Лобзик» по SWD — прошивка, чтение памяти и регистров, разбор HardFault.
  • Модуль ESP32-C2 прошивается через STM32: команда reboot esploader в SSH включает мост USB-UART, дальше esptool. Подробности — в AGENTS.md.