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, PH1 | Кварцевый резонатор 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.
[add_ratings]