STM32. Урок 1. Выбор отладочной платы

В последнее время микроконтроллеры от ST Microelectronics на основе ядра Cortex начали активно набирать популярность, как среди профессиональных, так и среди начинающих разработчиков устройств на микроконтроллерах. Причин тому несколько:
— невысокая цена по сравнению с конкурентами;
— большое количество встроенных интерфейсов;
— простота в программировании и высокая надежность.
Но при этом есть и один важный недостаток – все микроконтроллеры STM не выпускаются в DIP корпусах, что зачастую просто отпугивает новичков, ведь изготовить плату с дорожками менее 0,3мм в домашних условиях проблематично. Такое положение дел привело к появлению на рынке огромного количества отладочных плат, как от ST Microelectronics (Discovery), так и платы, выпущенные сторонними фирмами (Olimex, Pinboard). Мой выбор пал на Discovery по трем причинам:
— относительно невысокая цена (плату можно купить от 300р.);
— хорошее качество исполнения (хотя некоторые претензии к разводке есть, но они не столь существенны);
— много исходников и примеров выложено на сайте производителя;
— наличие встроенного программатора (вам не придется покупать его отдельно).
Цель первого урока – помочь начинающему разработчику выбрать отладочную плату, а в дальнейшем — научить основам программирования.
Итак, поехали.

STM32F0DISCOVERY

Данная плата была выпущена в феврале 2012 года с целью привлечения разработчиков, ранее использовавшие 8-ми битные микроконтроллеры, тем самым заняв эту нишу. Ничего плохого, как и хорошего, о ней сказать не могу. Обычная плата, недорогая, для начала подходит отлично. Имеет следующие характеристики:
— микроконтроллер: STM32F051R8T6 (Cortex M0, 48МГц, flash 64Кб, RAM 8Кб);
— встроенный ST-link/V2, который можно использовать отдельно от платы;
— питание от USB или от внешнего источника 3/5В;
— 4 светодиода и 2 кнопки;
— интерфейсы: USART, SPI, I2C, HDMI;
— таймеры 16 и 32 бит;
— все выводы выведены на две однорядных гребенки.
Собственно такая плата уже достаточно устарела, и брать ее рекомендуется лишь для самого начала обучения.

STM32VLDISCOVERY

Отличается от предыдущей платы лишь процессором STM32F100RBT6B (Cortex M3, 24МГц, flash 128Кб, RAM 8Кб) и разводкой гребенок периферии. Так же как и выше рассмотренная подходит для начинающих разработчиков. Больше о ней сказать и нечего.

STM32LDISCOVERY

STM32LDISCOVERY достойный результат эволюции предыдущей платы. Вот что в ней есть интересного:
— микроконтроллер STM32L152RBT6 (Cortex M3, 32МГц, flash 128Кб, RAM 8Кб, EEPROM 4Кб)
— интерфейсы: USB, USART, SPI, I2C;
— 8 таймеров;
— 24-канальный 12-битный АЦП;
-12-битный ЦАП;
— часы реального времени;
— контроллер LCD 8х40
— встроенный ST-link/V2.
На плате установлены:
— LCD дисплей 24х8;
— 4 светодиода;
— 2 кнопки;
— сенсорная клавиатура;
— 2 однорядные гребенки со свободными выводами.
О USB хочется сказать отдельно: контроллер поддерживает USB 2.0 full speed, режимы host и device, что нечасто встретишь у МК такого класса.
По сути плата оптимальный вариант для работы с ядром Cortex-M3, так что можно смело брать, благо цена невысокая.

STM32F3DISCOVERY

STM32F3DISCOVERY относится к следующему поколению отладочных плат от STM и обладает следующими характеристиками:
— микроконтроллер STM32F303VCT6 (Cortex M4, 72МГц, flash 256Кб, RAM 48Кб)
— часы реального времени;
— встроенный ST-link/V2;
— 13 таймеров;
— 12 канальный DMA контроллер;
— 4 АЦП;
— 4 операционных усилителя;
— интерфейсы: CAN, USB 2.0, USART/UART, SPI, I2C;
— 87 линий GPIO.
На плате размещена следующая периферия:
— пользовательский USB-порт;
— 3-х осевой акселерометр и 3-х осевой геомагнитный сенсор в одном корпусе;
— 3-х осевой гироскоп;
— 10 светодиодов;
— 2 кнопки;
— 2 2-хрядные гребенки.
Очень интересная плата, много возможностей для опытов. В целом мнение о ней осталось хорошее, но ее заточенность под отслеживание физического состояния и положения сильно сокращают простор для экспериментов, хотя легко можно самому сделать плату расширения.

STM32F4DISCOVERY

С этой платой мне довелось работать больше всего, да и понравилась она мне больше остальных – сказалась ее всесторонняя направленность.
Вот что она из себя представляет:
— микроконтроллер STM32F407VGT6 (Cortex M4, 168МГц, flash 1Мб, RAM 192Кб)
— встроенный ST-link/V2;
— таймеры;
— DMA контроллер;
— АЦП/ЦАП;
— интерфейсы: CAN, USB 2.0, USART/UART, SPI, I2C, GPIO;
На плате размещена следующая периферия:
— пользовательский USB-порт;
— 3-х осевой акселерометр;
— 8 светодиодов;
— 2 кнопки;
— 2 2-хрядные гребенки;
— аудио ЦАП с усилителем класса D;
— всенаправленный цифровой микрофон.

Как я писал выше, эта плата стала для меня основной, порадовала способность работы со звуком, акселерометр.

Дальнейшие уроки будут основываться именно на этой плате.

Резюме.
Если вы решили начать работать с отладочными платами STM, то советую брать именно STM32F4DISCOVERY, на мой взгляд, у нее наибольший функционал. Дальнейшие статьи будут основываться именно на работе с ней. В ближайшее время будут написаны статьи на следующие темы:
— работа с GPIO, таймерами, прерываниями и т.п.;
— работа с интерфейсами UART, SPI, I2C и 1-wire на примерах реальных устройств, таких как дисплеи, GPS и GSM модули, датчики температуры, связь с компьютером по RS-232 и многое другое.
Конечная цель этого цикла – создание платы расширения для STM32F4. Все прошивки и схемы будут общедоступны.

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

Ваш адрес email не будет опубликован.