
Nucleo – это высокопроизводительная платформа на ARM-процессоре, поддерживающая популярную онлайн среду разработки mbed.
При помощи Nucleo можно разрабатывать устройства, для которых требуется высокая производительность или сложные математические вычисления. Эта платформа основана на 32-разрядном ARM-процессоре STM32F411RET6 с ядром Cortex-M4, работающим на частоте 100 МГц. В SoC входит 512 кБ Flash и 128 кБ SRAM-памяти.
Блок-схема процессора STM32F411RET6
Nucleo разработан и произведён швейцарской компанией STMicroelectronics — одним из ведущих производителей ARM-процессоров.
Вы сможете полноценно использовать цветные дисплеи, обрабатывать аудиопоток, управлять сложными роботами.
STM32 Nucleo, недорогая и легко расширяемая отладочная платформа для разработки с широким выбором специальных плат расширения, для всей линейки 32-х битных микроконтроллеров STM32 архитектуры ARM Cortex-M3 и Cortex-M4.
Отладочная плата STM32 Nucleo F411RE. Вид сверху
Отладочная плата STM32 Nucleo F411RE. Вид снизу
На плате располагается одна кнопка и один светодиод, доступные для программирования. Светодиод на плате обозначен меткой LD2 (Green LED), кнопка — B1 (USER).
Родным напряжением Nucleo является 3,3 В. Однако все входы и выходы толерантны к 5 В, поэтому вы можете подключать к платформе любые модули и шилды, расчитанные на 5 В.
Включенный светодиод LD2 (Green LED)
Периферия
Процессор, на базе которого построена платформа, обладает большим набором периферии. Почти каждый пин может работать не только как цифровой вход или выход, но и иметь другие режимы: АЦП, SPI, I²C, PWM и т.д. В дополнение на каждый пин может быть назначено прерывание.
16 высокоскоростных 12-разрядных АЦП позволяют оцифровывать сигналы частотой до 240 кГц. Три SPI-интерфейса работают на частоте 42 МГц, позволяя подключать по нему видеокамеры. I²C интерфейс, работающий на частоте до 1 МГц, легко осилит аудиомодуль. Наиболее востребованных UART-интерфейсов на плате целых три, два из них работают на скоростях до 10 500 000 бод, а третий — до 5 250 000 бод. В процессор также встроены часы реального времени и поддержка ИК-порта.
Для более быстрой передачи данных интегрирована поддержка DMA.
Совместимость с Arduino
НА плате Nucleo F401RE размещены разъёмы, соответствующие Arduino Uno R3. Если вы уже работали с Arduino, то вам будет легко перейти на Nucleo: вы сможете использовать большинство шилдов и модулей, сделанных специально для Arduino. Помимо разъемом Arduino Uno R3 на плате размещен разъем ST morpho для полного доступа ко всем контактам ввода-вывода процессора STM32.
Подключение различных плат расширения функциональности как в Arduino
Программирование
Плата платформы разделена на две части, отладчик/программатор ST-LINK и оценочная плата. При желании пользователь может распилить плату что никак не повлияет на функциональность платформы.
Nucleo поддерживает разные среды разработки. Самой простой для освоения является онлайн среда разработки mbed. Вам не потребуется устанавливать её на компьютер: среда работает прямо из браузера. Компиляция проекта происходит удалённо, вам остаётся только прошить плату бинарным файлом, полученным от среды.
Прошивка платы тоже не представляет проблем: Nucleo определяется как «флешка», на которую вы просто копируете бинарный файл прошивки. Работает это во всех операционных системах, поддерживающих устройство USB Mass Storage: Windows, Linux, MacOS, FreeBSD, QNX и других.
Также, если вы пользуетесь средой mbed, то к вашему распоряжению библиотека классов для работы с периферией. Библиотека документирована и имеет очень простой интерфейс для пользования.
Если вы уже продвинутый разработчик и вам не подходит онлайн среда mbed, вы можете воспользоваться любой стандартной средой разработки для ARM-процессоров: Keil, IAR, GCC.
Помимо «родных» инструментов разработки существует платформа nanoFramework поддерживающая данную плату. В этом случае разработка ведется на языке C# в Microsoft Visual Studio, более подробно можно ознакомится в публикации .NET nanoFramework — платформа для разработки приложений на C# для микроконтроллеров.
Характеристики
- Ядро: Cortex-M4
- Рабочая частота: 100 МГц
- Разрядность: 32 бита
- Набор машинных инструкций: ARMv7E-M
- Производительность: 125 DMIPS
- Объём SRAM: 128 кБ
- Объём Flash: 512 кБ
- Разрядность АЦП: 12 бит
- Коммуникационные интерфейсы: 4×I2C, 4×USART, 5×SPI/I2S, USB 2.0 Host/Device/OTG
- Количество таймеров/счетчиков: 11, два сторожевых таймера, 6×16-разрядных таймеров, 2×32-разрядных таймера с входами захвата и выходами сравнения
- Дополнительные интерфейсы: интерфейс карт памяти SDIO
- Питание: USB VBUS или внешнее питание (3.3V, 5V, 7 — 12V)
- Расширение функциональности: возможность подключения плат расширения Arduino Uno Revision 3 и STMicroelectronics Morpho
- Разное: поддержка через USB виртуального COM-порта, внешнего накопителя и отладочного порта.
Питание
Дли питания может использоваться mini USB-разъём, контакт 5V (5 В) или Vin (7–12 В). Одновременное использование двух способов питания невозможно: источник необходимо выбрать перемычкой JP5. Для программирования и передачи данных вам понадобится mini USB-кабель.
Распиновка
Таблица интерфейсов
Интерфейс | Контакты |
UART_1 TX/RX | PB6/PB7 |
UART_2 TX/RX | PA2/PA3 (ST-Link Virtual Port Com) |
I2C1 SCL/SDA | PB8/PB9 (Arduino I2C) |
I2C2 SCL/SDA | PB10/PB11 |
I2C3 SCL/SDA | PA8/PB4 |
SPI1 CS/SCK/MISO/MOSI | PA4/PA5/PA6/PA7 (Arduino SPI) |
I2S1 SCK/SD | PA5/PA7 (Arduino I2S) |
USER_PB (BUTTON) | PC13 |
LD2 (LED_GREEN) | PA5 |
Расположение элементов на плате. Вид сверху
Расположение элементов на плате. Вид снизу
Контакты ввода-вывода Arduino и Morpho