STM-Discovery: Через тернии — к звёздам.
Огромная номенклатура активных электронных компонентов, выпускаемых мировыми производителями, требует сегодня наличия широкого спектра оценочных и отладочных средств, необходимых для быстрого принятия решений о возможности применения в проекте того или иного компонента. Из-за высокой конкуренции на рынке современной электроники любая задержка с таким выбором может привести к потере временных и материальных ресурсов. Особое положение в этом вопросе занимают такие компоненты, как микроконтроллеры (МК). Быстро разобраться с многочисленными семействами, их возможностями и, главное, на практике убедиться в оптимальности сделанного выбора сегодня практически невозможно без применения оценочных и отладочных плат.
В этом обзоре будут рассмотрены отладочные средства одного из самых ярких разработчиков и производителей микроконтроллеров — компании ST Microelectronics (STM).
Рис. 1. Микроконтроллерная продукция ST Microelectronics
Вначале рассмотрим отладочные платы семейства discovery для 8-битных микроконтроллеров.
Микроконтроллеры STM8 до сих пор востребованы на рынке современной электроники. Они широко применяются там, где необходимы простые бюджетные, и вместе с тем, гибкие и эффективные решения. Отладочные платы семейства Discovery (см.
Таблицу 1) на основе STM8 предназначены для быстрой оценки возможностей 8-битных МК, среди которых сверхмалопотребляющий STM8L, МК общего назначения из основной линейки (Mainstream) STM8S, а также МК семейства Value Line STM8SVL.Отладочные платы STM8X(XX)-Discovery имеют ряд общих особенностей. Все выводы микроконтроллеров доступны на специально установленных разъемах. Сами микроконтроллеры имеют корпуса LQFP48 (STM8S и STM8L) и LQFP32 (STM8SVL). На каждой плате установлены 1-2 пользовательских светодиода и кнопки, а также в каждое изделие встроен программатор/отладчик ST-Link с поддержкой интерфейса SWIM. ST-Link можно использовать для работы с внешними микроконтроллерами.
Платы подключаются к PC через интерфейс USB. Необходимое питание 5 В или 3.3 В. На плате STM8L-Discovery установлен 7-сегментый LCD в корпусе DIP28, а в отладках с STM8S и SM8SVL имеется монтажное поле, которое пользователь может применить для собственных приложений. Кроме того, на STM8S-Discovery установлена пользовательская сенсорная кнопка.
Таблица 1.
№ | Наименование | Микроконтроллер | Ядро | Flash, KB | RAM, KB | EEPROM,KB | Частота, MHz |
1. | STM8L-DISCOVERY | STM8L152C6T6 | STM8 | 32 | 2 | 1 | 16 |
2. | STM8S-DISCOVERY | STM8S105C6T6 | STM8 | 32 | 2 | 1 | 16 |
3. | STM8SVLDISCOVERY | STM8S003K3T6 | STM8 | 8 | 1 | 0,125 (128B) | 16 |
Для оценки возможностей 8-битных микроконтроллеров STM8AF и STM8AL для автомобильных приложений компания ST Microelectronics выпускает комплект STM8A-Discovery, полное описание которого можно найти на сайте производителя.
Отладочные платы семейства discovery для 32-битных микроконтроллеров
STM32 Discovery – это недорогое комплексное решение для оценки выдающихся возможностей 32-разрядных микроконтроллеров с ARM Cortex-Mx STM32. Все отладочные платы имеют необходимую инфраструктуру, позволяющую демонстрировать специфические характеристики устройств, а HAL библиотека и комплекс программных примеров позволяют воспользоваться всеми преимуществами изделий. Разъемы расширения, установленные на платах, открывают доступ к большинству выводов I/O микроконтроллера и делают возможным функциональное расширение за счет подключения дополнительных плат.
Рис. 2. Отладочные платы семейства discovery
В Таблице 2 приведены основные параметры микроконтроллеров, на основе которых выпускаются соответствующие отладочные платы семейства STM32 Discovery, а также особенности некоторых плат этого семейства. По ссылкам можно легко перейти как к описанию самой отладочной платы, так и к подробному описанию установленного на ней микроконтроллера.
Таблица 2.
№ | Наименование отладочной платы | МК | ARM ядро | Flash, кБ | SRAM, кБ | Fmax, МГц | Особенности |
1 | STM32F0308-DISCO | STM32F030R8T6 | Cortex-M0 | 64 | 8 | 48 | — |
2 | STM32F072B-DISCO | STM32F072RBT6 | Cortex-M0 | 128 | 16 | 48 | 3-осевой гироскоп L3GD20 |
3 | STM32F0DISCOVERY | STM32F051R8T6 | Cortex-M0 | 64 | 8 | 32 | — |
4 | STM32L0538-DISCO | STM32L053C8T6 | Cortex-M0+ | 64 | 8 | 32 | 2. 04” E-paper дисплей 172×72 пикселя |
5 | STM32L100C-DISCO | STM32L100RCT6 | Cortex-M3 | 256 | 16 | 32 | — |
6 | STM32L152C-DISCO | STM32L152RBT6 | Cortex-M3 | 128 | 16 | 32 | ЖКИ 24х4 сегмента |
7 | STM32VLDISCOVERY | STM32F100RBT6B | Cortex-M3 | 128 | 8 | 24 | — |
8 | STM32F3348-DISCO | STM32F334C8T6 | Cortex-M4 | 64 | 16 | 72 | — |
9 | STM32F411E-DISCO | STM32F411VET6 | Cortex-M4 | 512 | 128 | 100 | 3-осевой гироскоп L3GD20, 3-осевой акселерометр и магнитометр LSM303DLHC, всенаправленный микрофон MP45DT02 и аудио ЦАП с усилителем D-класса CS43L22 |
10 | STM32F429I-DISCO | STM32F429ZIT6 | Cortex-M4 | 2048 | 256 | 180 | 2. 4″ QVGA TFT ЖКИ, 64 Мбит SDRAM, 3-осевой гироскоп L3GD20 |
11 | STM32F469NIH6 | Cortex-M4 | 2048 | 384 | 180 | 4Mx32 бит SDRAM, 4″ 800×480 цветной TFT ЖКИ, 128 Мбит QSPI NOR Flash | |
12 | STM32L476G-DISCO | STM32L476VGT6 | Cortex-M4 | 1024 | 128 | 80 | ЖКИ 24х4 сегмента, 128-Мбит QSPI Flash, аудио ЦАП с усилителем D-класса CS43L22, 3-осевой гироскоп L3GD203-осевой акселерометр и магнитометр LSM303C |
13 | STM32F3DISCOVERY | STM32F303VCT6 | Cortex-M4 | 256 | 48 | 72 | 3-осевой гироскоп L3GD20, 3-осевой акселерометр и магнитометр LSM303DLHC |
14 | STM32F4DISCOVERY | STM32F407VGT6 | Cortex-M4 | 1024 | 192 | 168 | всенаправленный микрофон MP45DT02 и аудио ЦАП с усилителем D-класса CS43L22, 3-осевой акселерометр LIS302DL |
15 | STM32F746G-DISCO | STM32F746NGH6 | Cortex-M7 | 1024 | 340 | 216 | 4. 3″ 480×272 цветной TFT ЖКИ, 128 Мбит Flash, 128 Мбит SDRAM, Ethernet, USB OTG HS, USB OTG FS, 2 цифровых микрофона MP34DT01TR |
Заметим, что на каждой плате STM32 Discovery установлен программатор/отладчик ST-Link/V2 или ST-Link/V2-1, который также можно использовать в качестве отдельного программатора для внешних устройств. Все выводы микроконтроллера доступны на разъемах платы. Питание осуществляется через шину USB или от внешнего источника. На платах установлены: светодиоды – статусные (т.е. индицирующие состояние питания, обмена данными и т.д.) и пользовательские, кнопки сброса МК и для задач пользователя. Кроме того, на ряде плат имеются MЭMC датчики — акселерометры, гироскопы, микрофоны и др., а также средства визуализации, такие как TFT и E-Ink дисплеи, сегментные ЖКИ.
Используя многофункциональные выводы микроконтроллера, различное программное обеспечение, включая бесплатное, например, STM32Cube, HAL библиотеки и др., можно быстро оценить возможности того или иного микроконтроллера и эффективно провести разработку целевого приложения. Семейство плат поддерживается многими широко известными интегрированными средами разработки – IAR Embedded Workbench, MDK-ARM (Keil), TrueStudio (Atollic) и др.
Обзор составил и подготовил
Шрага Александр,
[email protected]
Производители: ST Microelectronics
Разделы: Микроконтроллерные платы
Опубликовано: 19.02.2016
Начинать применять новую детальку в своей практике без ознакомления с ней в живую — рискованно, для таких целей существую различные специальные помощники: отладочные и демонстрационные платы. Для ознакомлением с одним интересным контроллером из семейства STM32 — STM32F030F4P6 была разработана специальная отладочная платка.
Отладочные платы stm32f030f4p6 и stm8s103f2p6
Если быть точнее — то это скорее не отладочная плата, а плата переходник, с дополнительно разведенным разъёмом для подключения программатора, парой перемычек для базовой необходимой настройки периферии контроллера и ещё нескольких деталей в её обвязке. За одно, впрок, была изготовлена подобная отладочная плата для STM8S103F2P6.
Чем интересен микроконтроллер STM32F030F4P6 — это самый маленький, если смотреть со стороны количества выводов (т.к. если смотреть по размеру — в семействе есть ещё и QFN корпуса), их всего 20, и самый удобно паяемый в семействе контроллер — он единственный выпускается в корпусе tssop20 (на самом деле есть и другие, но они похожи и их невидно у нас в продаже). Правда у tssop20 шаг всего 0.5мм, так что опыт изготовления плат и пайки всё равно будет необходим. Ещё одним бонусом будет — он самый дешевый в серии, около полу бакса за штуку, правда это при оптовой закупки, в розницу он стоит 0,74$ или 46р (цены актуальны на начало марта 2015 года).
По STM8S103F2P6 — он тоже выбран в корпусе tssop20, только в отличие от его старшего собрата у него меньше обвязки. Более нечего не скажу, платы разводил в сентябре прошлого года и почему выбрал его уже не помню. Но с 8 серией у меня пока не складывается, задач и проектов на их основе пока нет, а у самого пока руки не доходят.
Схема отладки stm32f030f4p6
Отладочная плата с 32-х разрядным контроллером stm32f030f4p6 на борту. На плате имеется разъем для подключения программатора и 2 перемычки для конфигурации контролера, и необходимый минимальный обвяз. Первая перемычка отвечает за способ прошивки контроллера: когда линия boot0 контроллера подтянута к земле, то контроллер прошивается программатором через SWD разъём; когда линия подтянута к плюсу питания, то контроллер можно прошивать через встроенный UART загрузчик (по умолчанию все контроллеры его имеют) через выводы PA14/PA15 или PA9/PA10. Вторая перемычка позволяет подать плюс питания на вход питания аналоговой части контроллера (VDDA). Питание обоих плат и установленных на них микроконтроллеров 3.3В.
Схема отладки stm8s103f2p6
Печатки stm32f030f4p6 и stm8s103f2p6
Обе платы в основе себя содержат микроконтроллер в корпусе tssop20, в первом случае — это STM32F030F4P6, во втором — STM8S103F2P6. Платы получись компактными 19х31мм в первом случае и 19х29мм во втором. Все выводы микроконтроллеров разведены на 2 стандартные гребенки по краям PLS10, с шагом 2.54мм. В итоге платы имеют формат DIP корпусов, что удобно при макетировании на безпаячных макетных платах. Первая плата имеет SWD разъём для подключения программатора, выполненного из PLS5, вторая плата содержит разъём SWIM предназначенных для тех же нужд, выполненного на PLS4. На плате с 32-х битным контроллером так же содержаться 2 перемычки, выполненные из разъёмов PLS3 и PLS2. Обращаю внимания, что все разъёмы для программаторов и перемычки припаяны с лицевой стороны, т.к. платы односторонние. Обе платы по входу питания содержат блокировочные конденсаторы ёмкостью 0,1мкФ, на первой плате он имеет типоразмер 1206, на второй плате 0603. Так же на обоих платах содержатся по одному резистору на 10кОм типоразмеров 0603 для подтяжки линии reset и по конденсатору на этой же линии на 0,1 мкФ типоразмеров 0603. На второй плате установлен конденсатор для линии Vcap емкостью 1мкФ типоразмера 0603. Обе платы имеют по одной-две проводной перемычки.
Отладочные платы stm32f030f4p6 и stm8s103f2p6
На фотографиях на обоих платах полностью не установлена обвязка линий reset и на плате с stm8 есть ошибка, одна дорожка снизу не на своём месте, в печатке эта ошибка исправлена.
По опыту использования отладочной платы STM32F030F4P6. Она пригодилась только для «Hello World» и для ознакомления с АЦП контроллера. После чего контролер понравился и начал сразу применяться. Контроллер понравился тем, что в первую очередь — это 32 разрядный АРМ контроллер с полным фаршем, а во вторую, он миниатюрный и содержит немного выводов, из-за чего его удобно применять в небольших проектах.
Скачать печатки
Alex_EXE | 19.03.2015 | STM32 |
\$\начало группы\$
Для школьного проекта я разработал печатную плату в KiCAD на базе STM32F401RBT6. Дизайн основан на том, что я разработал раньше, и примечаниях по применению. Он питается через порт USB и должен программироваться через SWD, но это не так. Я использую ST-Link V2 и приложение STM32Programmer для связи с микроконтроллером, но приложение не находит его. Печатная плата была заказана у JLCPCB с уже собранными пассивными компонентами. Выпаиваю микроконтроллер вручную методом драг-пайки (температура паяльника 320С). Я счищаю излишки припоя с помощью флюса и фитиля для припоя. Как только я припаиваю микроконтроллер к печатной плате и подаю питание, блок питания показывает, что потребляемый ток составляет ~ 160 мА. Я убедился, наблюдая за печатной платой с помощью тепловизионной камеры и отпаяв микроконтроллер, что именно микроконтроллер рассеивает все тепло. Интересно то, что я пробовал настраивать всевозможные вещи, и это всегда один и тот же симптом и почти одинаковая величина тока (в пределах +-5 мА). Что я пробовал:
Я совершенно застрял и у меня нет идей. Кто-нибудь знает, что происходит? У кого-нибудь была такая же проблема раньше?
\$\конечная группа\$
6
\$\начало группы\$
ОБНОВЛЕНИЕ Я смог решить проблему. При измерении напряжения на контактах я заметил, что мультиметр говорит мне, что это короткое замыкание между двумя контактными площадками конденсатора VCAP. Потом заметил, что вместо конденсатора на VCAP поставил дроссель. . Так или иначе, установка конденсатора 4u7 на VCAP решила проблему.
\$\конечная группа\$
3
Зарегистрируйтесь с помощью Google
Зарегистрироваться через Facebook
Зарегистрируйтесь, используя электронную почту и пароль
Электронная почта
Требуется, но не отображается
Электронная почта
Требуется, но не отображается
Нажимая «Опубликовать свой ответ», вы соглашаетесь с нашими условиями обслуживания, политикой конфиденциальности и политикой использования файлов cookie
. 9Микроконтроллер 0000 — Как подключить пользовательскую плату stm32 к отладчикуЗадавать вопрос
спросил
Изменено 4 года, 5 месяцев назад
Просмотрено 575 раз
\$\начало группы\$
У меня есть специальная плата микроконтроллера STM32. Я проверил все электрические соединения и могу запрограммировать плату с помощью утилиты Texane st-flash. Однако я также хотел бы отладить плату, и у меня возникли проблемы с этим. Я использую код Visual Studio с расширением cortex-debug. Расширение (я не часто использовал утилиту командной строки для отладки, не уверен, что у нее такие же требования) требует, чтобы у меня был файл SVD для конкретного чипа — то, что я не смог найти в Интернете. Чип STM32F439.ЗИТ6. Для других плат, в том числе для обнаружения F407, у меня не было проблем с программированием или отладкой платы, но у меня также уже есть файлы SVD для тех микросхем, которые я нашел в Интернете. Итак, мой вопрос: где я могу найти файлы SVD? Или как мне их сделать?
В качестве альтернативы я немного изучил использование OpenOCD для отладки, однако мне не удалось заставить это работать вообще. Наибольший успех у меня был с запуском
openocd -f interface/stlink-v2-1.cfg -f target/stm32f4x.cfg
, но это приводит к ошибке:
Информация: автоматический выбор первого доступного транспорта сеанса «hla_swd». Чтобы переопределить, используйте «транспорт выберите <транспорт>». Информация: Выбранный транспорт взял на себя низкоуровневый контроль цели. Результаты могут отличаться от обычных JTAG/SWD. скорость адаптера: 2000 кГц адаптер_nsrst_delay: 100 ни один отдельный Информация : Невозможно согласовать запрошенную скорость 2000 кГц, используя 1800 кГц Информация : Невозможно согласовать запрошенную скорость 2000 кГц, используя 1800 кГц Информация: тактовая частота 1800 кГц Ошибка: открыть не удалось в процедуре 'init' в процедуре 'ocd_bouncer'
Я думаю, что OpenOCD может быть более мощным и полезным для изучения, но из того, что я обнаружил, не так много ресурсов для его использования с программаторами ST-Link и пользовательской платой.
Спасибо за помощь!
\$\конечная группа\$
4
\$\начало группы\$
Я бы попробовал SVD-файл для STM32F429
, так как они почти идентичны STM32F439
, единственное отличие состоит в том, что STM32F429
не имеет модуля шифрования AES.
Изучив файлы STM32F429.svd
, найденные в сети, они также включают определения для модуля шифрования, поэтому они, по-видимому, для обоих MCU.
\$\конечная группа\$
1
\$\начало группы\$
Еще раз проверьте свою доску, иногда вы не можете представить, какой вы смешной.