Отладочные платки для stm32f030f4p6 и stm8s103f2p6
Начинать применять новую детальку в своей практике без ознакомления с ней в живую — рискованно, для таких целей существую различные специальные помощники: отладочные и демонстрационные платы. Для ознакомлением с одним интересным контроллером из семейства 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 |
Прохор пишет 25.03.2015 в 17:23 #
на АЛИплате есть ещё кварц
и главное ОТДЕЛЬНОЕ питание от USB — чтобы не получить косяк по разным VDD
[ссылка]
+ светодиод
Сергей пишет 25.03.2015 в 18:21 #
привет! А для stm32f103 48-pin нет ничего подобного?
Alex_EXE пишет 26.03.2015 в 10:05 #
Прохор
В китайских интернет магазинах полным полно разных прикольных и не очень штук. Но не у всех есть желание/возможность/умение/время ждать… при покупки с интернет магазинов. Кому то больше нравиться в ручную собирать, а кто-то наоборот будет брать только готовое.
Из минусов той платы: её не воткнуть в безпаячную макетку, а кварц не во всех задачах нужен и порой нужна другая его частота.
Сергей
Отладочную плату другого формата (со всем фаршем) сейчас развожу для себя, но буду ли её публиковать ещё подумаю. Если речь идёт о плате с минимальным обвязом в формате DIP, то о такой ещё не думал. И сложно будет её всю разместить на односторонней плате, а двухсторонка будет получаться только под производство. Здесь тогда уж проще будет купить готовую отладку, кои в интернет магазинах, кстати, есть.
Сергей пишет 26.03.2015 в 19:17 #
тут же, видите шаг большой, а 0.5 нет…
Lunev пишет 29.03.2015 в 17:17 #
А чем вы чертите схемы?? и делаете печатки ?
Alex_EXE пишет 31.03.2015 в 13:31 #
Проглядел и неправильно упомянул в статье, у этих контроллеров шаг не 0.5, а 0.65.
Сергей
Вроде и 0.5 есть, вечерком гляну.
Lunev
sprint-layout, splan, altium designer, proteus
Конкретно в этой статье первые два.
Nobody пишет 17.04.2015 в 10:42 #
Делал для STM8L101 в TSSOP20 корпусе платки такого же формфактора, только ещё отдельно сделал UART + I2C разъем. Удобно работать, но периферии маловато в нем.
Потом для STM32 решил не делать отдельную плату, а просто сделал переходники с TSSOP20 на DIP. И работать с ней оказалось не удобно. Что бы запустить мигание светодиодом — нужно много перемычек и возникают частые проблемы с плохим контактом в беспаечной макетке.
Поэтому такие платы как у Вас считаю оптимальным вариантом между большой отладочной платой (на которых куча всего подключена и беда со свободными GPIO) и простым переходником.
Сейчас вот на STM8S003F3U6 смотрю, цена в промэлектронике у них мне очень нравится. Только отсутствие нормальных и доступных средств разработки огорчает.
Alex_EXE пишет 18.04.2015 в 15:01 #
Как уже писал в статье, основная задача этих плат для меня не отладка и разработка устройств на безпаячной макетке, а ознакомиться с контроллером, поэтому самый минимум. После помигать светодиодом и считав значение с АЦП уже спокойно продолжил работу с контроллером в одном из проектов на вытравленной плате.
Виктор пишет 26.04.2015 в 23:03 #
день добрый.
купил недавно десяток stm32f030f4p6, цель была поиграться, поэкспериментировать сделал плату аналогичную вашей со следующими расхождениями:
вывод boot0 жестко посажен на землю;
вывод VDDA жестко подключен к VDD.
так вот не могу прошить. keil ругается — «Error: Flash Download failed — Target DLL has been cancelled.»
вы с такими проблемами не сталкивались? чем вы его прошиваете?
Alex_EXE пишет 27.04.2015 в 16:38 #
Данная проблема наблюдается только с этими контроллерами? Если только с этими — то не сталкивался.
Советую попробовать прочитать контроллер с помощью STM32 ST-LINK Utility и проверить пайку. Так же, что с ресетом. Нет ли проблем по питанию.
Виктор пишет 27.04.2015 в 17:34 #
добрый день.
со своей проблемой разобрался, может кому пригодится. питал платку от внешнего источника на котором выставил 3,3 вольта stm32f4discovery которым прошивал выдает ~2,95. после того как на внешнем источнике выставил не более ~2,9 проблемы пропали. кстати STM32 ST-LINK Utility тоже не мог определить контроллер.
два stm32f030f4p6 уже пали жертвами моей криворукости, случайно попутал полярность и замкнул вход и выход lm317 на котором собран мой стабилизатор. есть и успехи. продолжаю потихоньку переходить с PIC на STM.
спасибо за советы.
Alex_EXE пишет 27.04.2015 в 19:23 #
По опыту: огромная часть проблем решается, если хорошо питать и питаться.
radiomanoff пишет 15.06.2015 в 00:47 #
Добрый день.
У меня stm32f030f4p6 в ST-LINK Utility определяется как:
Devise family — stm32f031xx
Devise ID — 0x444
Так и должно быть?
radiomanoff пишет 16.06.2015 в 03:07 #
Хм,разобрался…После «плясок с бубнами» оказалось,что проблема в STM32 ST-LINK Utility , поскольку программа STM32 Flash Loader Demonstrator определила и прошила ,при помощи USB-UART конвертера, МК на ура.
Думаю попробовать обновить прошивку ST-LINK/V2 (у меня на базе платы STM32L — DISCOVERY).Уж больно хочется поганять stm32f030f4p6 в отладчике KEIL 5.
Есть еще F4_Discovery,ради чистоты эксперемента попробую через ее отладчик..
Всем доброй ночи.
adrin02 пишет 02.11.2015 в 22:48 #
А чем программировать эти контроллеры?
radiomanoff пишет 31.01.2016 в 21:01 #
Добрый день, Ув. сообщество.
В поддержку даного материала, опишу «грабли» на которые, я наступил «юзая» stm32f030f4p6.
Проблема состояла в том, что ST-LINK V2 програматор установленый на STM32F4 Discovery не видит stm32f030f4p6, но при этом без проблем «шьет» более старшие семейства STM32 (stm32f103c8,stm32f4).
При подключении к stm32f030f4p6 к ST-LINK Utility, появлялись сообщения типа:
Can not connect to target!
Please select «Connect Under Reset» mode from Target->Settings menu and try again.
No target connected.
Проблема решилась чисто случайно, как оказалось все дело в прошивке ST-LINK V2 програматора(в моем случае — установленый на STM32F4 Discovery). У меня стояла, я так понимаю — последняя на даный момент — ST-LINK Firmware version : V2.J21.S0. Но также у меня имеется еще плата STM32L Discovery, и как оказалось с ее програматором все работает. Прошивка програматора на ней — V2.J20.S0.
Точно также все происходит и с другим МК даного семейства (f030) — stm32f030k6t6.
V2.J21.S0
AlekseyB пишет 23.11.2016 в 00:57 #
Замечательная статья. На плате все самое необходимое для старта, рассказано доступно, коротко и ясно. Спасибо!
PittyAlex пишет 28.03.2017 в 23:59 #
Добрый день.
Большое спасибо за платку для STM8s
Сначала развёл сам, но получилось как-то громоздко и не очень красиво (сказывается нехватка опыта на таких мелких деталях).
Распечатал, накатил фоторезистом и офигел, как хорошо получилось.
Ещё больше офигел, когда умудрился своими кривыми руками это дело запаять — это мой первый опыт таких мелких деталей, но получилось и замечательно работает.
Благодаря этой плате открыл для себя Ваш блог. Очень интересно, поставил в закладки.
Георгий пишет 03.05.2017 в 00:21 #
Здравствуйте, не сталкивался ли кто с проблеммой, что посл успешной прошивки и сброса питания для того чтобы программа запустилась надо обязательно резетнуть(RESET) МК. Очень неудобно. Причем из 20 спаянных устройств так себя ведут только 2(10%).
Alex_EXE пишет 04.05.2017 в 19:21 #
Может партия камней бракованная, может что-то с цепью сброса или что-то на неё влияет. Может не успевают разрядится конденсаторы по питанию за время сброса питания устройства.
Rustam пишет 06.02.2019 в 23:55 #
>Обращаю внимания, что все разъёмы для программаторов и перемычки припаяны с лицевой стороны, т.к. платы односторонние
Есть какой-то лайфхак, как это сделать, чтобы пластмасски не налазили на припой, а четко стояли на плате?
12va12 пишет 21.07.2019 в 01:56 #
Спасибо за выложенный материал
хотелось бы такое же но с сеткой с шагом 2.54
внизу и слева где большинство входов АЦП места под соик 8-16 под разные операционники