Что представляет собой отладочная плата STM32F407 Discovery. Каковы ее основные характеристики и возможности. Как начать работу с этой платой для разработки встраиваемых систем на базе микроконтроллеров STM32F4. Какие компоненты входят в состав платы STM32F407 Discovery. Как подключить и проверить работоспособность платы.
Обзор микроконтроллеров семейства STM32F4
Микроконтроллеры семейства STM32F4 от компании STMicroelectronics являются одними из самых популярных 32-разрядных микроконтроллеров на базе ядра ARM Cortex-M4. Они широко используются в различных встраиваемых системах благодаря высокой производительности, богатому набору периферии и доступной цене.
Основные характеристики микроконтроллеров STM32F4:
- Ядро ARM Cortex-M4F с поддержкой операций с плавающей точкой
- Тактовая частота до 168 МГц
- Объем флеш-памяти до 1 Мб
- Объем ОЗУ до 192 Кб
- Богатый набор периферийных модулей (USB, Ethernet, CAN, SPI, I2C и др.)
- Низкое энергопотребление
Особенности отладочной платы STM32F407 Discovery
Отладочная плата STM32F407 Discovery предназначена для знакомства с возможностями микроконтроллеров STM32F4 и быстрого прототипирования устройств на их основе. Она содержит микроконтроллер STM32F407VGT6 и набор необходимой периферии для начала разработки.
![](/800/600/https/i0.wp.com/sdvos.org/images/stm32vldiscovery-pinout.jpg)
Ключевые особенности платы STM32F407 Discovery:
- Микроконтроллер STM32F407VGT6 (168 МГц, 1 Мб флеш-памяти, 192 Кб ОЗУ)
- Встроенный программатор/отладчик ST-LINK/V2
- USB-интерфейс для питания и программирования
- 3-осевой MEMS-акселерометр
- Цифровой MEMS-микрофон
- Аудио ЦАП с усилителем класса D
- 8 пользовательских светодиодов
- 2 кнопки (пользовательская и сброс)
- USB OTG интерфейс
Компоненты и структурная схема платы STM32F407 Discovery
Рассмотрим основные компоненты, входящие в состав отладочной платы STM32F407 Discovery:
- Микроконтроллер STM32F407VGT6 в 100-выводном корпусе LQFP
- Программатор/отладчик ST-LINK/V2 на базе STM32F103
- 3-осевой акселерометр LIS3DSH
- Цифровой микрофон MP45DT02
- Аудио ЦАП CS43L22 с усилителем
- USB-разъемы для питания/программирования и OTG
- 8 светодиодов и 2 кнопки
- Кварцевые резонаторы 8 МГц и 32 кГц
Структурная схема платы показывает взаимосвязи между основными компонентами. Питание осуществляется через USB или внешний источник 5В. Имеется стабилизатор на 3.3В для питания микроконтроллера и периферии.
![](/800/600/https/www.thanksbuyer.com/image/cache/data/201410/33051/1413166958-2-750x750.jpg)
Начало работы с платой STM32F407 Discovery
Для начала работы с отладочной платой STM32F407 Discovery выполните следующие шаги:
- Установите необходимое программное обеспечение (IDE, драйверы)
- Подключите плату к компьютеру через USB-кабель
- Убедитесь, что загорелись индикаторные светодиоды
- Запустите тестовую прошивку для проверки работоспособности
- Создайте свой первый проект для мигания светодиодом
Подробные инструкции по настройке среды разработки и созданию проектов можно найти в документации от STMicroelectronics.
Программирование микроконтроллера STM32F407
Для программирования микроконтроллера STM32F407 на отладочной плате можно использовать следующие инструменты:
- Интегрированная среда разработки (IDE) — STM32CubeIDE, Keil MDK, IAR EWARM
- Программатор ST-LINK (встроенный на плате)
- Отладчик GDB через SWD-интерфейс
- Конфигуратор периферии STM32CubeMX
Процесс разработки обычно включает следующие этапы:
- Создание проекта в IDE
- Настройка периферии с помощью STM32CubeMX
- Написание кода на C/C++
- Компиляция проекта
- Прошивка микроконтроллера через ST-LINK
- Отладка с помощью встроенных инструментов IDE
Использование периферийных модулей платы STM32F407 Discovery
Отладочная плата STM32F407 Discovery предоставляет доступ к различным периферийным модулям микроконтроллера STM32F407. Рассмотрим некоторые примеры их использования:
![](/800/600/https/i0.wp.com/wiki.paparazziuav.org/w/images/4/4a/Apogee_v100_schematic.png)
Работа со светодиодами
На плате установлено 8 пользовательских светодиодов, подключенных к портам микроконтроллера. Для управления ими достаточно настроить соответствующие выводы на выход и установить нужное логическое состояние.
Считывание данных с акселерометра
3-осевой акселерометр LIS3DSH подключен по интерфейсу SPI. Для получения данных необходимо инициализировать SPI, выполнить настройку акселерометра через его регистры и считывать данные с заданной периодичностью.
Запись и воспроизведение звука
Цифровой микрофон и аудио ЦАП позволяют реализовать функции записи и воспроизведения звука. Для этого используются периферийные модули I2S и DMA микроконтроллера.
Расширение возможностей платы STM32F407 Discovery
Хотя отладочная плата STM32F407 Discovery предоставляет базовый набор периферии, ее возможности можно значительно расширить. Вот некоторые способы:
- Подключение внешних модулей через свободные выводы микроконтроллера
- Использование платы расширения для добавления Ethernet, SD-карты и др.
- Создание собственной платы расширения под конкретную задачу
- Подключение дисплеев по интерфейсам SPI или параллельной шине
- Интеграция беспроводных модулей (Wi-Fi, Bluetooth, LoRa)
При разработке устройств на базе STM32F407 важно учитывать ограничения по току и напряжению выводов микроконтроллера.
![](/800/600/https/slideplayer.com/slide/9415818/28/images/2/STM32F4-Discovery+STM32F407VGT6+LQFP100+package.jpg)
Оценочная плата STM32F4 Discovery с STM32F407
32-разрядные микроконтроллеры выпускаются многими производителями, но наиболее широкое распространение, на текущий момент, получил продукт совместной франко-итальяно-японской фирмы STMicroelectronics (STM). Достаточно низкая стоимость, удобство программирования и наличие бесплатного ПО способствовали его продвижению.
Наиболее производительными в семействе STM32 являются микроконтроллеры линейки STM32F4:
Серия | Тактовая частота | Вычислительная мощность, DMIPS | Ядро | Описание |
STM32F0 | 48 | 38 | Cortex-M0 | Бюджетный МК начального уровня |
STM32F1 | 24/36/48/72 | 61 | Cortex-M3 | МК общего назначения |
STM32F2 | 120 | 150 | Cortex-M3 | Высокопроизводительные МК |
STM32F3 | 72 | 62 | Cortex-M4 | сигнальный процессор DSP, FPU (операции с плавающей точкой) |
STM32F4 | 84/168/180 | 210 | Cortex-M4 | Высокопроизводительные МК, DSP, FPU |
STM32L0 | 32 | 33 | Cortex-M0+ | Низкое потребление и цена |
STM32L1 | 32 | 33 | Cortex-M3 | Сверхнизкое энергопотребление |
STM32T | 72 | 90 | Cortex-M3 | Контроллер сенсорного экрана |
STM32W | 24 | 30 | Cortex-M3 | Для беспроводной связи (RF, ZigBee) |
Для начинающих разработчиков производители предлагают, так называемые, оценочные платы, на которых устанавливается тот или иной микроконтроллер со схемами обвязки и различной периферией. Обязательным атрибутом оценочных плат сегодня является большое число контактов, которые позволяют получить доступ практически ко всем портам микроконтроллера, а также интерфейсы в виде светодиодов и кнопок. Также во многие оценочные платы встраивается программатор, который позволяет программировать внешние микросхемы. В таблице ниже приведены оценочные платы начального уровня линейки STM32F4.
Плата | Микроконтроллер | Периферия |
STM32F429I Disco | STM32F429ZIT6 (180 МГц, 2 Мб Flash, 256 Кб ОЗУ, LQFP144) | Встроенный программатор/отладчик ST-LINK/V2, дисплей 2.4″ QVGA TFT, ОЗУ SDRAM 64 Мбит, гироскоп, USB—OTG, 6 светодиодов, 2 кнопки |
STM32F407 Discovery | STM32F407VGT6 (168 МГц, 1 Мб Flash, 192 Кб ОЗУ, LQFP100) | ST-LINK/V2, 3-х осевой акселерометр, цифровой микрофон, USB—OTG, 24-разрядный аудио ЦАП с усилителем класса D, 8 светодиодов, 2 кнопки |
STM32F401C Disco | STM32F401CVT6 (84 МГц, 256 Кб Flash, 64 Кб ОЗУ, LQFP100, низкое энергопотребление) | ST-LINK/V2, гороскоп, компас, цифровой микрофон, USB—OTG, 24-разрядный аудио ЦАП с усилителем класса D, 8 светодиодов, 2 кнопки |
STM32F401 Nucleo | STM32F401RET6 (84 МГц, 512 Кб Flash, 96 Кб ОЗУ, LQFP64, низкое энергопотребление) | ST-LINK/V2, разъем для подключения шилдов Arduino, 2 светодиода, 2 кнопки |
Я для своих экспериментов купил недорого здесь себе платку STM32F407 Discovery. Поставляется она в блистере с немногословным описанием.
У этой платы имеется две модификации: MB997C и MB997B. Первая пришла на смену второй и имеет на борту более современную микросхему акселерометра LIS3DSH взамен устаревшей LIS302DL.
Компоненты отладочной платы:
С обратной стороны платы находятся штырьевые выводы.
Основные характеристики этой платы:
- 32-битный микроконтроллер STM32F407VGT6 с ядром ARM Cortex-M4F с 1 Мб памяти программ и 193 Кб ОЗУ в 100-выводном корпусе LQFP100 с тактовой частотой 168 МГц. Встроенные операции с плавающей точкой (FPU).
- Встроенный программатор/отладчик ST-LINK/V2 с возможностью выбора режима работы (позвоялет программировать внешние микросхемы, используя SWD-коннектор для программирования и отладки)
- Питание платы: через шину USB или от внешнего 5В источника питания
- Питание для внешних устройств: 3В и 5В
- 3-х осевой МЭМС акселерометр на базе микросхемы LIS302DL компании ST
- Всенаправленный цифровой МЭМС микрофон на базе микросхемы MP45DT02 компании ST
- Аудио ЦАП CS43L22 со встроенным усилителем класса D
- Восемь светодиодов: LD1 (красный/зеленый) для индикации активности шины USB, LD2 (красный) для питания 3.
3В, 4 пользовательских диода: LD3 (оранжевый), LD4 (зеленый), LD5 (красный) и LD6 (синий), 2 диода USB OTG: LD7 (зеленый) для VBus и LD8 (красный) при перегрузке
- Две кнопки (Reset и User)
- USB OTG с разъемом micro-AB
- Выводные колодки для всех контактов ввода/вывода микроконтроллера для быстрого подключения к макетной плате и простого проведения измерений
Большим плюсом является наличие в микроконтроллере модуля для работы с числами с плавающей точкой, что увеличивает скорость обработки в приложениях, связанных, например со спектральным анализом (для вычисления БПФ) или же в БПЛА для алгоритмов ориентации.
К мелкому минусу можно отнести лишь отсутствие разъема JTAG для тестирования, используя внешний программатор/отладчик ST-LINK.
Скачать принципиальную схему платы STM32F407 Discovery можно по ссылке ниже.
Рассмотрим упрощенную структурную схему платы.
Из нее видно, что из-за диода Шоттки D3 напряжение +3 В не является строго стабилизированным. Ток нагрузки через контакт «+3V» не должен превышать 150 мА. Если вместо джампера J1 подключить амперметр, что можно увидеть, что, учитывая потребляемый микроконтроллером ток, реально выдается 80-130мА.
Питание 5 в подается через мини-USB разъем «CPU» с компьютера. Из-за диода D1 на микро-USB разъеме «OTG» будет чуть меньшее напряжение.
На колодке штырьевых контактов имеется вывод «+5 V» к которому можно подключить внешний источник питания. Благодаря диоду D1 есть возможность одновременно использовать внутренний и внешний источники питания.
Программатор ST-Link реализован на микроконтроллере STM32F103C8T6. Основной программируемый микроконтроллер подключается для программирования через два джампера J2 и J3. Для программирования внешних микросхем, используя разъем «SWD» эти джамперы необходимо удалить.
Для работы цифрового МЭМС-микрофона, 3-х осевого акселерометра и аудио ЦАП задействованы несколько линий портов микроконтроллера. Данные передаются по шинам SPI, I2C, I2S.
В таблице приведены задействованные и свободные порты.
Вывод | Функционал |
PA0 | Кнопка «User» |
BOOT0 | Вход бутлоудера, сигнал BOOT0 |
PB2 | Вход бутлоудера, сигнал BOOT1 |
PA1-PA3, PA8, PA15, PB0, PB1, PB4, PB5, PB7, PB8, PB11, PB13-PB15, PC1, PC2, PC4-PC6, PC8, PC9, PC11, PD0-PD3, PD6-PD11, PE2, PE4-PE15 | Свободные линии I/O, толерантные к 5 В, максимальная нагрузка ±25 мА, pull-up/down резисторы 30…50 кОм (всего 46 линий) |
PB12 | Свободная линия с pull-up/down резистором 8…15 кОм |
PC13 | Свободная линия с нагрузкой ±3 мА |
PA3-PA6, PB6, PB9, PC7, PC10, PC12, PD4 | Стереофонический аудио ЦАП CS43L22 |
PA5-PA7, PE0, PE1, PE3 | 3-х осевой акселерометр LIS3DSH |
PA9-PA12, PC0, PD5 | Разъем микро-USB (OTG) |
PA13, PA14, PB3 | Разъем программатора SWD |
PB10, PC3 | Встроенный цифровой микрофон MP45DT02 |
PC14, PC15 | Кварцевый резонатор 32 кГц (есть место) |
PD12-PD15 | Зеленый, оранжевый, красный, синий светодиоды |
PH0, Ph2 | Кварцевый резонатор 8 МГц для МК |
NRST | Внешний начальный сброс МК |
+3V, +5V, VDD, GND, NC | Цепи питания 3 В, 5 В, МК, «земля», пустой контакт |
Чтобы проверить работоспособность платы:
- Удостоверьтесь, что на плате установлены перемычки JP1 и CN3
- Подключите плату STM32F407 Discovery к компьютеру, используя USB-кабель типа A/mini-B через мини-USB разъем CN1 программатора ST-Link на плате для подачи питания.
Засветится красный светодиод LD2 (PWR) и начнут мигать четыре светодиода (зеленый, оранжевый, красный, синий), находящиеся между кнопками B1 и B2
- Нажатие пользовательской клавиши B1 включает МЭМС акселерометр. Четыре цветных светодиода будут показывать направление движения платы и скорость. При подключении к компьютеру через второй USB-разъем на плате CN5, используя кабель типа A/micro-B, плата распознается как стандартный манипулятор «мышь».
- Демонстрационное ПО, различная документация на плату STM32F407 Discovery, а также примеры, позволяющие ознакомится с особенностями семейства микроконтроллеров STM32F4 доступны на официальном сайте STMicroelectronics.
Вы можете пропустить чтение записи и оставить комментарий. Размещение ссылок запрещено.
STM32F4 Discovery — библиотеки и учебные пособия для микроконтроллеров серии STM32F4 от Тилена Маджерле
Блог STM32F4 Discovery
ARM Cortex-M / Учебники
Вероятно, вы уже слышали о Visual Studio Code, сокращенно vscode (или даже vsc), мощном текстовом редакторе на основе расширений. Благодаря открытому исходному коду и поддержке многих языков (посредством расширений) разработчикам это просто нравится. С другой стороны, TouchGFX — один из самых продвинутых графических стеков для встраиваемых систем. Это БЕСПЛАТНО для любого приложения STM32, будь то простой пользовательский интерфейс без сенсорного управления или более сложный графический интерфейс с разрешением 800 × 480 пикселей (или более) с дизайном пользовательского интерфейса, подобным мобильному. Графика TouchGFX…
ARM Cortex-M / STM32U5
STMicroelectronics последний выпуск STM32 был с серией STM32U5 в четвертом квартале 2021 года. Основное внимание в продукте уделяется функциям с чрезвычайно низким энергопотреблением, повышенной безопасности, интеграции, размеру и производительности.
Начиная с STM32CubeMX версии 4.27.0 ST добавила возможность управлять библиотеками встроенного программного обеспечения непосредственно в CubeMX и имеет полностью интегрированный графический инструмент для точной настройки проекта перед созданием приложения в окончательной цепочке инструментов (Keil, IAR, TrueSTUDIO, …). Библиотеки встроенного программного обеспечения — это библиотеки (также) предоставляемые STMicroelectronics. Вы заметите их по формату имени X-CUBE-library_name, например X-CUBE-MEMS1, который является полным решением для датчиков ST MEMS.
Компания STMicroelectronics недавно запустила программу пошагового обучения STM32 для обучения и ускорения процесса обучения. Он готов для начинающих и всех, кто заинтересован в изучении микроконтроллеров на базе STM32 ARM-Cortex-M вместе с его экосистемой вокруг самого микроконтроллера. От новичка до профессионала за 5 шагов Шаг 1: Предварительные условия: В этой части пользователь должен установить все необходимые программные инструменты и убедиться, что у него есть плата для дальнейшей разработки. Шаг 2: Мигание светодиода с использованием платы разработки STM32CubeMx и NUCLEO-L476RG. Шаг 3: Интерфейс UART на NUCLEO-L476RG и L475 IoT…
Я пытался создать свой собственный стиль кода C и подход к правилам кодирования, чтобы использовать их во всех моих библиотеках. С момента моего первого опыта программирования до сегодняшнего дня я много раз менял стиль, от первой библиотеки STM32F4 до последних проектов, таких как ESP_AT_Lib, onewire_uart и другие. Правила стиля кода публикуются и регулярно обновляются в моей учетной записи Github под именем репозитория c_code_style. Пожалуйста, используйте приведенный ниже URL-адрес для доступа к веб-сайту: https://github.com/MaJerle/c_code_style Первоначально он был вдохновлен стилем кодирования LwIP с некоторыми изменениями….
В этом руководстве я объясню, как управлять WS2812B с STM32, используя TIM PWM и периферийные устройства DMA наиболее эффективным способом, используя минимальный объем оперативной памяти, необходимый для обработки всех светодиодов. Есть хорошее объяснение, уже доступное в сети. Если у вас нет опыта работы со светодиодами WS2812B, я настоятельно рекомендую вам прочитать сообщение в блоге. Написано очень хорошо, но есть одна большая проблема. Он использует 24 слова ОЗУ для каждого светодиода,…
АРМ Кортекс-М
Сегодняшнее приложение в основном использует какую-то операционную систему на микроконтроллере.