Бесплатная техническая библиотека ЭНЦИКЛОПЕДИЯ РАДИОЭЛЕКТРОНИКИ И ЭЛЕКТРОТЕХНИКИ Микроконтроллеры STM32 и отладочные платы для них. Энциклопедия радиоэлектроники и электротехники Энциклопедия радиоэлектроники и электротехники / Технологии радиолюбителя Уже много лет радиолюбители применяют восьмиразрядные микроконтроллеры семейств PIC и AVR. Они популярны благодаря низкой цене, наличию подробной документации, простоте программирования и легкости монтажа. Однако довольно часто бывают случаи, что мощности такого микроконтроллера для решения поставленной задачи недостаточно. Самый простой пример - частотомер или генератор сигналов на микроконтроллере, где максимальная измеряемая или генерируемая частота напрямую зависит от скорости обработки или вывода информации. Помимо скорости, восьмиразрядные микроконтроллеры имеют и другие ограничения, например, во многих моделях AVR всего один аппаратный последовательный порт, что не позволяет получать информацию от внешнего устройства и одновременно пересылать результаты ее обработки потребителю. Не говоря уже о таких "банальных" вещах, как вывод информации на графический индикатор, требующий больших ресурсов как скорости, так и памяти. После анализа ряда таких ограничений у автора возникла мысль о переходе на микроконтроллеры семейства STM32. Для примера рассмотрим два микроконтроллера одной ценовой категории - STM32F103C6 и ATmega328P. Таблица 1
Их сравнительные параметры приведены в табл. 1. Результаты сравнения даже несколько удивляют. 32-разрядный микроконтроллер не только мощнее восьмиразрядного практически по всем параметрам, но при этом дешевле. Разумеется, паять микроконтроллер с шагом выводов 0,5 мм в домашних условиях не так-то просто. К счастью, в большинстве случаев этого и не требуется - на рынке имеется множество разновидностей отладочных плат с микроконтроллерами семейства STM32, достаточных для различных применений. Рассмотрим их более подробно. STM32F4-DISCOVERY Эта плата (она изображена на рис. 1), пожалуй, наиболее удобна для начинающих изучение микроконтроллеров STM. Во-первых, она имеет большой набор периферийных устройств. Помимо микроконтроллера, на плате установлены микроэлектромеханический акселерометр, микрофон, аудиоЦАП, два разъема USB, кнопка и четыре светодиода.
Выводы микроконтроллера выведены на контактные площадки для монтажа штыревых разъемов у левого и правого краев платы, что позволяет легко подключать к ним все необходимые внешние устройства. Установленный на плате микроконтроллер STM32F407VGT6 имеет весьма неплохие параметры: 1 Мбайт FLASH-памяти, 192 Кбайт ОЗУ и тактовую частоту 168 МГц. И наконец, плата оборудована встроенным отладчиком ST-LINK/V2, который можно использовать для отладки программ не только на имеющемся на плате микроконтроллере, но и на микроконтроллерах того же семейства, находящихся на других платах. Переключение на них выполняется с помощью съемной перемычки и разъема SWD. Цена платы - около 800 руб., что можно считать вполне приемлемым. STM32F103RBT6 Development Board Следующим интересным вариантом является отладочная плата с микроконтроллером STM32F103RBT6 (рис. 2).
Он несколько слабее, чем установленный на предыдущей плате - тактовая частота 72 МГц, 128 Кбайт FLASH-памя-ти и 20 Кбайт ОЗУ, однако периферийные устройства весьма интересны. Имеются сенсорный TFT-экран с разрешением 320x240 пкс и диагональю 2.8', встроенный USB-порт для обмена информацией с компьютером, разъем для карты памяти SD, часовой кварц на 32768 Гц, отсек для элемента питания часов реального времени и разъем ST-LINK для отладки программ. Цена этой платы также около 800 руб., но следует заметить, что встроенного отладчика на ней нет. Для загрузки программ необходимо либо приобрести отдельный отладчик ST-LINK, либо использовать вместо него рассмотренную выше плату STM32F4-DISCOVERY Maple Mini Бросается в глаза внешнее сходство этой платы (рис. 3) с широко известными модулями Arduino. И это не случайно.
Плата Maple Mini и была разработана как замена Arduino Nano. Язык программирования и среда разработки для устанавливаемых в Arduino микроконтроллеров семейства AVR были адаптированы под семейство STM. На интернет-странице http://leaflabs.com/docs/maple-q uickstart.html можно найти подробную информацию о языке программирования и среде разработки Maple IDE. Отладочная плата имеет микроконтроллер STM32F103CBT6, работающий на тактовой частоте 72 МГц, имеющий 128 Кбайт FLASH-памяти и 20 Кбайт ОЗУ, что, несомненно, больше, чем в любом модуле Arduino. И тем больший плюс, что среда разработки практически не изменилась. Отдельно заметим, что несмотря на миниатюрные размеры, Maple Mini предоставляет весьма разнообразную периферию: 34 линии ввода/вывода, два интерфейсных канала SPI и два I2C, три последовательных порта. Это позволяет с успехом применять ее в различных любительских разработках. Благодаря малым размерам Maple Mini может быть встроена непосредственно в разрабатываемое устройство. Оригинальную плату Maple Mini можно приобрести за 35 долл. США на сайте ее разработчиков. Еще 5 долл. США будет стоить доставка. Копия платы, изготовленная в Китае, обойдется вдвое дешевле. Программное обеспечение Существуют несколько вариантов сред разработки, которые можно использовать для подготовки программ для микроконтроллеров семейства STM32: - коммерческие IAR Embedded Workbench, AtollicTrueSTUDIO, Keil и др. Эти полнофункциональные продукты довольно дороги, с ценой лицензии от 1000 евро, но имеются и демонстрационные бесплатные версии с ограничением на объем разрабатываемой программы, для большинства несложных проектов их вполне хватает; - бесплатная Eclipse с компилятором ARM-GCC требует нетривиальной настройки компилятора перед использованием. Единственный плюс на сегодняшний день - возможность работы не только в Windows, но и в Linux; - бесплатная CooCox IDE (CoIDE) на базе того же редактора Eclipse. Выполняет загрузку и отладку программ через ST-LINK. В отличие от предыдущего варианта, CoIDE не требует каких-либо специальных настроек и работает сразу же после установки. Этот вариант наиболее удобен, им и стоит воспользоваться. Воспользуемся CooCox IDE для создания примера программы для платы STM32F4-DISCOVERY реализующей классическое для первой программы для любого микроконтроллера мигание светодиодов. На плате STM32F4-DIS-COVERY имеются четыре светодиода, подключены они к выводам PD12- PD15 микроконтроллера. Сделаем так, чтобы они мигали поочередно. Шаг 1. Запускаем среду разработки CoIDE, создаем проект. Из выпадающего списка, показанного на рис. 4, выбираем микроконтроллер STM32F407VG.
Шаг 2. Как показано на рис. 5, выбираем компоненты, которые будут использованы в проекте. Основные из них - это GPIO (ввод-вывод), С Library (базовые функции языка С) и M4 Core (функции ядра процессора). При активизации того или иного компонента CoIDE автоматически копирует нужные файлы в папку проекта, что очень удобно.
Шаг 3. Ввод текста программы. Он довольно короткий и приведен в табл. 2. Как можно видеть, все просто и очевидно. Те, кто писал программы для микроконтроллеров AVR, наверняка увидят знакомые конструкции - инициализацию портов с указанием направления (ввод или вывод), главный цикл, в котором выполняются нужные действия. В целом же синтаксис программы полностью соответствует языку С, литературы по которому более чем достаточно. Статей по программированию для STM32 в Интернете также немало. Много примеров поставляется вместе с отладочной платой, их тоже можно использовать как образцы. После ввода текста программы нажатием на экранную кнопку "Download to flash" она загружается в микроконтроллер. Светодиоды на плате начинают мигать. Отдельно стоит отметить возможности отладки - в любом месте программы может быть поставлена точка останова, можно запускать программу по шагам, просматривая значения переменных. Разумеется, этот пример не идеален. Например, для управления миганием светодиодов можно воспользоваться прерываниями от таймера, что освободит главный цикл программы для других задач. Желающие могут разобраться с этим самостоятельно. Заключение В целом, после первого знакомства микроконтроллеры семейства STM32 оставили весьма приятное впечатление. Все оказалось не так сложно, а удобство среды разработки, процесса отладки и большое число стандартных функций чем-то даже напомнили переход от Ms DOS к Windows - общие моменты вроде те же, но все гораздо удобнее и функциональнее. Но главным недостатком этого семейства для любительских разработок все-таки остается слишком мелкий шаг выводов. Спроектировать и спаять плату с шагом выводов 0,5 мм в домашних условиях - задача весьма нетривиальная. Но при существующих ценах каждому радиолюбителю вполне доступны отладочные платы с уже смонтированными микроконтроллерами. Стоит ли переделывать все на STM и 32-разрядную архитектуру? Конечно же, нет. Есть задачи, для решения которых и ATtiny вполне достаточно. Но, например, для анализа спектра в самодельном SDR-приемнике или приема- передачи больших объемов информации по сети гораздо эффективнее сразу применить мощный микроконтроллер, чтобы не упереться в недостаток памяти или производительности при совершенствовании устройства. Автор: Д. Елюсеев Смотрите другие статьи раздела Технологии радиолюбителя. Читайте и пишите полезные комментарии к этой статье. Последние новости науки и техники, новинки электроники: Искусственная кожа для эмуляции прикосновений
15.04.2024 Кошачий унитаз Petgugu Global
15.04.2024 Привлекательность заботливых мужчин
14.04.2024
Другие интересные новости: ▪ Солнечных панелей в Токио станет больше ▪ Умный кровоостанавливающий жгут ▪ Радиожучок следит за ребенком Лента новостей науки и техники, новинок электроники
Интересные материалы Бесплатной технической библиотеки: ▪ раздел сайта Усилители мощности. Подборка статей ▪ статья И ничего во всей природе благословить он не хотел. Крылатое выражение ▪ статья Куда бы вы отправились за хорошим глотком озона? Подробный ответ ▪ статья Квалификация несчастных случаев на производстве ▪ статья Пиковый индикатор выходной мощности. Энциклопедия радиоэлектроники и электротехники ▪ статья Светомузыкальная установка Самоцвет-128. Энциклопедия радиоэлектроники и электротехники
Оставьте свой комментарий к этой статье: All languages of this page Главная страница | Библиотека | Статьи | Карта сайта | Отзывы о сайте www.diagram.com.ua |