Обзор отладочной платы STM32F Nucleo-64


Для большинства людей первой встроенной платой для разработки, над которой они будут работать, скорее всего, будет плата Arduino. Но, как и все могут согласиться, ваша Arduino не поможет вам продвинуться в электронике так далеко, как бы вам хотелось - рано или поздно все равно придется переходить на платформы, используемые в промышленности. Если вы уже знакомы с Arduino, то одним из идеальных шагов в сторону промышленных образцов будет переход на платформу STM32, это можно сделать с помощью отладочной платы (платы разработки) STM32, поскольку она поддерживает все платы Arduino, что поможет вам с аппаратной стороны, а также имеет множество встроенных библиотек и функций, которые помогут вам с программной стороны. Также знакомство с микроконтроллерами STM32 поможет вам легко изучить другие модули разработки от ST, такие как, например, SensorTile.Box.

Обзор отладочной платы STM32F Nucleo-64

Сейчас доступно множество версий плат STM32, и именно ту, которую мы рассмотрим в данной статье, называется STM32F401 Nucleo-64. Имя STM32 означает, что на нашей плате разработки имеется 32-битный микроконтроллер, а имя Nucleo-64 означает, что микроконтроллер имеет 64 контакта  Точно так же существует множество других версий плат Nucleo 64, таких как STM32F103, STM32F303 и т. д., но как только вы изучите одну платы, остальные будет изучить значительно проще.

Также на нашем сайте вы можете посмотреть статью про начало работы с платой STM32 Nucleo64.

Аппаратное обеспечение отладочной платы STM32 Nucleo 64

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

Внешний вид отладочной платы STM32 Nucleo 64

Присмотревшись к плате, можно увидеть что она разделена на две области. Верхняя часть — это отладчик и программатор ST-Link /V2 , а нижняя часть — это непосредственно плата разработки. Таким образом, вы можете легко программировать и отлаживать свою плату прямо из коробки, используя дополнительный USB-кабель, который можно подключить к мини-порту USB на плате.

Назначение элементов на отладочной плате STM32 Nucleo 64

На первый взгляд может показаться, что на плате много перемычек и компонентов, но все они предназначены для того, чтобы нам было проще. Две перемычки CN11 и CN12, которые вы найдете по обе стороны платы, на самом деле являются фиктивными перемычками. При необходимости эти перемычки можно использовать для других целей в будущем. Две перемычки на CN2 используются для подключения секции программатора и отладчика к нашей плате разработки. В дальнейшем вы сможете снять эти перемычки, чтобы через эти контакты использовать программатор для других микроконтроллеров ST. Этот контакт разъема JP1 можно замкнуть, чтобы ограничить ток USB до 100 мА. Если оставить его открытым, максимальный ток составит 300 мА. Также на плате есть трехцветный светодиод (LD1), который загорается красным, когда на плату подается питание, и становится зеленым, когда плата успешно запрограммирована, и становится оранжевым, когда происходит сбой связи.

Переходя к разделу разработки, у нас есть самый важный компонент платы — это микроконтроллер STM32F401RET6. Это 64-контактный 32-битный микроконтроллер с процессором ARM Cortex M4, работающим на частоте 84 МГц. Он также имеет флэш-память объемом 512 КБ и SRAM 96 КБ. Микроконтроллер имеет 10 16-битных и 32-битных таймеров и один 12-битный АЦП. Он также имеет три USART, три I2C, четыре SPI и один USB 2.0 для внешних коммуникаций. Вы также можете посмотреть техническое описание STM32F401, чтобы получить дополнительную техническую информацию о плате.

А теперь самое интересное - плата поддерживает все шилды Arduino. Плата имеет два набора разъемов, гнездовые контакты предназначены для шилдов Arduino, которые идеально подходят к Wi-Fi Shield ESP8266 и нашему Semtech Arduino LoRa Shield, как вы можете видеть на изображении ниже.

Установка шилдов Arduino на плату STM32 Nucleo 64

Другие штырьки на плате называются штырями ST morpho, и их можно использовать для использования штырей для расширения на нашем 64-контактном микроконтроллере. Затем у нас есть кнопка сброса и настраиваемая пользователем кнопка, подключенная к контакту PC13, а также светодиод, который подключен к контакту D13, как и у плат Arduino. Для питания платы мы можем либо использовать порт USB, либо напрямую подать регулируемое напряжение 5 В на разъем E5V или на контакт 5 В. Не забудьте поменять эту перемычку, чтобы указать, как вы питаете плату; U5V указывает на то, что плата питается от USB. У нас также есть еще одна интересная перемычка, называемая IDD, которую можно использовать для измерения тока, потребляемого вашим микроконтроллером, подключив к этим контактам амперметр.

Программирование макетных плат STM32 Nucleo 64

Что касается раздела программного обеспечения, то плата имеет огромную библиотеку и поддержку программирования и может быть запрограммирована с использованием Keil, IAR Workbench и многих других IDE. Но интересно то, что он поддерживает среду разработки ARM Mbed и STM32Cube. Ради этой статьи мы решили использовать платформу ARM Mbed, потому что это онлайн-инструмент, и мы нашли его очень интересным, потому что с его помощью вы можете использовать не только свои платы ST, но и многие другие платы разработки, использующие микроконтроллеры ARM.

Главное окно IDE ARM MBE

Для новичков ARM MBED — это онлайн-платформа разработки, поставляемая самой ARM, которая предоставляет встроенную операционную систему, облачные сервисы и функции безопасности для легкого создания встроенных решений на основе Интернета вещей. Это огромное сообщество открытого исходного кода, и для его подробного изучения потребуется отдельная статья.

Начало работы с STM32F401

Для начала работы используйте мини-кабель USB для подключения платы разработки STM32 к компьютеру. После подачи питания вы должны заметить, что светодиоды LD1 и LD3 загорятся красным, а программируемый светодиод LD2 будет мигать зеленым цветом, как показано ниже.

Вы также заметите на своем компьютере новый флэш-накопитель под названием «NODE_F401RE». Откройте его, и вы найдете там два файла, а именно Details.txt и mbed.htm, как показано ниже.

Файлы, находящиеся в плате STM32F401

Вы можете запустить файл Mbed.htm, чтобы напрямую начать программировать свою плату онлайн с помощью Arm Mbed. Но прежде чем мы доберемся до этого, мы установили необходимые драйверы и зарегистрировались в Mbed. Загрузите с веб-сайта ST программное обеспечение драйвера STSW-link009, установите драйвер и убедитесь, что устройство правильно обнаружено в диспетчере устройств как показано на следующем рисунке.

Плата STM32F401 в диспетчере устройств Windows

Вернитесь на свою платформу mbed и зарегистрируйтесь на MBED.com, используя свои учетные данные. Затем щелкните файл MBED.HTM - после этого вы увидите следующую страницу.

Ваша учетная запись на MBED.com

Прокрутите страницу вниз и нажмите «Open Mbed compiler (Открыть компилятор Mbed)». Как видите, компилятор уже распознал нашу платформу как Nucleo-F401RE и предоставляет нам множество базовых примеров программ. Но на первый раз выберем “LED Blinky code” («Код мигания светодиода») и измените его так, чтобы светодиод выключался всякий раз при нажатии кнопки.

Создание новой программы для STM32F401

Как только код будет готов как показано ниже, вы можете нажать кнопку компиляции, которая предоставит вам файл bin, просто скопируйте файл bin и вставьте его на флэш-накопитель, чтобы запрограммировать плату. После завершения программирования вы заметите, что светодиод LD1 станет зеленым. Теперь нажмите синюю кнопку, и вы заметите, что зеленый светодиод погаснет. Таким образом, вы можете попробовать любую из примеров программ, чтобы изучить различные функции платы. Вы также можете вернуться на главную страницу чтобы получить другую техническую документацию и поддержку сообщества.

Программа мигания светодиодом для платы STM32F401

Заключение

В целом можно отметить что рассмотренные платы — отличный выбор, если вы пытаетесь повысить свои навыки и разрабатывать продвинутые приложения. Благодаря практической поддержке оборудования и онлайн-сообществу научиться писать отличные программы для этих программ достаточно просто. В дальнейшем после них вы уже сможете приступить к написанию программ, пригодных для промышленного использования.

Видео по теме статьи

(Проголосуй первым!)
Загрузка...
54 просмотров

Добавить комментарий

Ваш адрес email не будет опубликован. Обязательные поля помечены *