Доброе время суток! Наигравшись с микроконтроллерами 8bit, я решил попробовать что нибудь покруче и посложнее. И я представить не мог насколько сложнее получится опробовать новое семейство микроконтроллеров когда заказывал плату разработки и отладки STM32F103RBT6. Подробности далее…
При заказе данной платы я руководствовался её как мне казалось небольшими размерами и минимальным количеством всяких разъёмчиков, кнопочек, светодиодиков, так как в последствии собирался использовать её в конечном устройстве. Но честно признаюсь вам я совершил ошибку решив начать знакомство с новым типом контроллеров выбрав именно эту плату. Но обо всем попорядку.
Плата мне пришла вот в такой вот комплектации.
Прислали плату и колодку для самостоятельной впайки куда потребуется нежно упаковано в антистатический пакетик. Причём колодочка упакована рядом с платой и отделена от неё. Пакетик герметично запечатан изготовителем со всех сторон очень качественно. Предусмотрели даже вырезы с обоих сторон. На фото они отчётливо видны.
Ну чтож, давайте поскорее вскроем заветный пакетик и посмотрим что внутри.
ФОТО 1
ФОТО 2
И шедшая в комплекте колодочка для пайки.
Опишу сначала колодочку, которая шла совместно с платой. Она имеет 2 ряда по 40 штырьков. Шаг стандартный 2,45 мм. Качество изготовления хорошее, штырьки вставлены плотно, ровно. Пластик куда вставлены штырьки отлит качественно, имеет возможность разделения в любом удобном месте, можно просто откусить бокорезами нужное количество штырьков. А вот количество немного недотягивает чтоб распаять все разъёмы. 2 разъёма по бокам имеют 2 ряда по 15 контактов, и так называемый порт TFT расположенный слева на первой фотографии имеет 2 по 18 контактов. В общем получаем 15+15+18=48, как видите для того чтоб впаять все разъёмы нам не хватает ещё 8 пар штырьков.
Теперь посмотрим повнимательнее на плату. На первый взгляд не всё так плохо как могло быть. Но это только на первый взгляд. Сама плата двухсторонняя, имеет размеры 88мм x 47мм имеет толщину стеклотекстолита 1,5мм. К сожалению плати имеет всего 2 крепёжных отверстия по диаметром по 3мм каждое и расположены они крайне неудачно на мой взгляд. Судя по всему используют их для крепления LCD дисплея поверх платы, но это только догадка. Плата имеет маску красного цвета и маркировку элементов белого цвета.
Немного остановлюсь на маркировке нашей платы. Со стороны микросхем (фото 1) маркировка нанесена не качественно. Краска размазана и с трудом можно понять что за символы нанесены. А вот на обратной стороне (фото 2) маркировка читается хорошо, там всё чётко и не смазано.
Опешу что имеется на плате. На стороне микросхема (фото 1) у нас есть сам микроконтроллер который никак не обозначен и имеет лишь белую точку обозначающую первый вывод. Рядом с контроллером есть надпись информирующая нас о том какой контроллер установлен у нас. Это
STM32F103RBT6. Немного о качестве пайки данного контроллера: пайка оказаласть не самой плохой, ножки пропаяны все, слипшихся как это часто бывает нет.
Слева от микроконтроллера расположены 2 кварцевых резонатора. Один маленький обозначен как Y1 ”часовой” на
32.768 KHz, второй побольше на
8 MHz обозначен как Y2 снизу и указана частота сверху.
Справа от микроконтроллера у нас находится микросхема преобразователя интерфейсов
PL-2303HX. Это микросхема у нас промаркирована как
U2 и выполняет функцию преобразования USB интерфейса. Пайка также как и в случае с микроконтроллером хорошая.
В нижней левой части платы (фото 1) у нас расположены 3 кнопки. Промаркированы они как
S2, S3, S4.
Забегая вперёд скажу что кнопка
S2 никак больше не подписана в отличии от остальных. Но при позвонке платы и снятии схемы выяснилось что это кнопка сброса
RESET микроконтроллера. Кнопка
S3 имеет сверху надпись
PD2 и означает что кнопка подключена к
порту D2. Кнопка
S4 Имеет надпись
PA1 и подключается к
порту A1.
В левом верхнем углу платы (фото 1) у нас расположен светодиод с маркировкой
LED2 который при детальном изучении оказался подключённым через резистор
R13 к порту
PC13 микроконтроллера. Также там имеются 2 джампера которые определяют режим программирования микроконтроллера. Производитель заботливо промаркировал с какой стороны джампер установлен в логическую
1 а с какой в логический
0. Расположены они один над другим и обозначены как
B1 (верхний на фото 1) и
B0 (нижний на фото 1)
В правой части платы (Фото 1) У нас расположен порт программирования и отладки микроконтроллера
JTAG с обозначением треугольничком первой ножки. Разъём имеет 2x10 выводом и распаян по стандарту протокола JTAG.
Рядом с разъёмом JTAG имеется гнездо
miniUSB которое промаркировано просто как
USB. Данный разъём заводится непосредственно на микроконтроллер и позволяющий в дальнейшем реализовать программы умеющие работать с интерфейсом USB. Чуть ниже разъёма USB расположен стабилизатор напряжения на 3,3V служащий для питания нашего микроконтроллера и преобразователя интерфейсов. Промаркирован он как
AMS117.
В нижней правой части платы мы имеем второй разъём miniUSB который промаркирован как
USB_PL2303. Как видно из маркировки данный разъём заводится на преобразователь интерфейса PL-2303. Совсем рядом установлен на мой взгляд маленький и ненадёжный выключатель питания. Перещелкивается он с небольшим усилием и каждый раз щёлкая его боюсь сломать. С лева от разъёма имеются 3 контакта с надписями 3,3V, GND, 5V это соответственно выведены питания платы для подключения внешнего питания. Это единственные контакты предназначенные для подачи питания, никаких гнёзд для подключения питания кроме разъёмов miniUSB на плате больше нет. Эти контакты имеют слишком маленькую площадь и при частой пайке могут просто отвалиться. Сверху от контактов питания имеется второй светодиод
LED1. Он на плате сигнализирует о наличии питания. Это стало ясно после снятия схемы платы.
Также на плате имеются две не распаянные колодки куда заводятся все порты микроконтроллера, а тахже питания +3,3V и +5V. Расположены они по центру платы в верхней её части и нижней. Они имеют 2 ряда по 15 выводов. Все контакты имеют металлизацию и облужены. Диаметр всех отверстий 1 мм. Все контакты обоих разъёмы подписаны и разделены с своеобразной таблице.
С лtвой стороны у нас имеется разъем для подключения TFT дисплеев. О том что это именно для дисплеев свидетельствует надпись
TFT но с обратной стороны платы (смотрите фото 2), со стороны микросхем есть только невнятная маркировка которая порой вообще неразборчива. Разъём имеет 2 x 18 выводов.
Вот я и закончил описания того что имеется на плате со стороны микроконтроллера, с обратной стороны всё намного скромнее, (Смотрите фото 2) и так начнем.
Первое что бросается в глаза это панелька для батарейки с маркировкой BAT и указанием напряжения чуть ниже 3V. Данная батарейка служить для поддержания таймера часов реального времени в моменты когда плата обесточена. К сожалению тип батарейки сказать так сразу не могу так как нет у меня её, да и не нужна она мне пока.
Также на этой стороне платы установлен ещё один кварцевый резонатор на
12 MHz промаркированный как Y3. Данный резонатор подключен к микросхеме
PL-2303. Ну и всё теже 2 колодки с портами которые описаны выше, они с этой стороны также промаркированы как и с другой.
Отдельно отмечу два посадочных места под микросхемы памяти EEPROM
24C04 судя по маркировке на плате и FLASH
W25X16 также судя по маркировке. Эти микросхемы можно в будущем установить что расширит возможности применения платы.
Отдельно улыбнуло зеркальная надпись по центру платы. Это маркировка микроконтроллера нашей платы. Но вот почему оно так перевёрнуто, этот секрет разгадать я не смог. Хотя возможно это такая шутка производителей, так как странный логотип непонятной шляпки с ножками и глазками и полное отсутствие какой бы то не было внятной надписи обозначающую модель платы или ревизию как это принято мне найти не удалось. В виду этого у меня возникла серьёзная проблема по изучению и освоению данного экземпляра отладочной платы.
Для написания даже простенькой программы нужно чётко знать что куда подключено и как это работает, а для этого нужна схема платы. На данную плату у меня кроме пакетика в которой её прислали больше ничего не было. Поиски на просторах интернета не к чему не привели, да и как искать если кроме маркировки установленного микроконтроллера на плате больше ничего нет. Самое близкое что удалось найти это схема похожей платы. Вот
ссылка.
Потому было принято решение по проведению сложной и кропотливой работе о снятии схемы с платы и как потом выяснилось вовсе не зря.
Вот ссылка на проделанный мной труд. Полная
схема в формате PDF, вдруг кому пригодится.
Первое что меня удивило это странное подключение выключателя питания. Он согласно схеме отключает питание только от портов USB и не как не задействован на клеммы питания рядом с ним. То есть для организации питания через эти клеммы без компьютера придётся предусмотреть свой выключатель питания. Дальше судя по схеме порты
PD0 и PD1 разведены непосредствеено на частотозадающий кварцевый резонатор Y2 и при тактировании платы от этого резонатора использовать эти порты нельзя!
Также порт PC14 и PC15 разведены уже на другой резонатор, часовой. При реализации таймера реального времени их тоже трогать нельзя, а дорожки создают дополнительную ёмкость что может привести к незначительному изменению частоты.
Также отмечу интересное расположение предохранителя
F1. Он разведён между землёй портов USB и землёй платы. Видимо так нужно чтоб сохранить шины данных USB, в случае короткого замыкания. Вот пожалуй все моменты на которые стоит обратит внимание.
Дальше подключим нашу плату к компьютеру и посмотрим что да как. Берём кабель miniUSB и подключаем его в порт с пометкой USB_PL2303 загорается красненький светодиод LED1 и как и ожидалось нас просят установить драйвер. Если ничего не произошло после подключения просто включите переключатель на платке. У меня драйвера не оказалось, так как раньше я такие преобразователи к своему компьютеру не подключал, потому лезем в интернет и ищем.
Я нашёл
вот тут.
C установкой драйверов думаю проблем быть не должно. В итоге получаем виртуальный Comm Port у меня это COM5.
Дальше нам потребуется утилита с помощью которой можно прошивать нашу плату.
Взять её можно с сайта производителя
вот тут
Программу нужно будет установить.
Подробнее о процессе прошивки можно
прочитать тут
Информации по этому вопросу в сети предостаточно.
Я же сделал всё как описано и заодно выяснил что шьется наша платка на скорости
115200, выше не хочет. Для начала я считал прошивку из нашего микроконтроллера дабы посмотреть что у нас там есть и есть ли что то. Открыв скачанную прошивку в HEX редакторе увидел что память микроконтроллера имеет какую то прошивку и далеко не пуста. Для того чтобы посмотреть что этот код делает отключаем питание либо вытащив USB кабель из платы либо отключив микропереключатель. Я стараюсь не трогать микропереключатель и отключаю её вынув кабель. Переключаем джампер B0 в положение 0 и подключаем кабель обратно. Сразу же видим как начинает весело моргать светодиод синего цвета
LED2.
Для того чтобы попробовать что то сделать самому нужно изучить очень много информации. Вот только несколько ссылок которые могут пригодиться при освоении нашей платки.
Учебный курс
по микроконтроллерам STM32.
Описание микроконтроллера
установленного на нашей плате
Описание семейства микроконтроллеров
STM32F10x на РУССКОМ языке. Отдельное спасибо автору за труды.
Это только малая часть того что нужно знать и нужно будет узнать когда будете преобретать данный товар.
В заключении хочу сказать что данная отладочная плата вполне подходит для использования в конечном устройстве и совсем не подходит для неопытных начинающих программистов микроконтроллеров.
На этой плате нет отладчика, можете на ебее его купить, т.к. по другому отладить работу контроллера не возможно.
А обзор плюсанул. За сложность. Редко бывает, чтобы при «так много текста», я так немного понял. Ожидал демонстрации на примере реализации.
P.S. Хотя, главный посыл автора понятен и весьма полезен — надо начинать с чего попроще.
P/S Всё становится простым когда начинаешь понимать что да как и наберёшься опыта.
Хоть я в этом и разбираюсь, но какого-то особого смысла в нескольких ракурсах штырей (они кстати имеют шаг не 2,45мм, а 2,54мм в крайнем случае 2,5мм) не вижу и не понимаю зачем грузить читателя мелочами.
Больше информации не значит лучше…
А вот уже только за реверс-инжиниринг — однозначно плюс!
Да, о чём это я? Вспомнил! Советую что-то интересное сделать с нуля самому и тогда нам тоже будет интересно это повторить.
А так этих плат полно разных, по разной цене и на все «цвета фломастеров», большинство из них представляют интерес для профессиональных разработчиков МК, на Муське таких не много и им такой обзор тоже не интересен. Вот такие мои советы.
P.S. Кстати Вы зря этот обзор сразу на двух сайтах опубликовали ukrshopper.info/stm32f103rbt6-development-breadboard-plata-dlya-razrabotki-ustroystv-na-mikrokontrollere-stm32-342.html#cut, теперь на ukrshopper.info он не сможет принять участие в конкурсе.
ПыСы. Посмотрел на дату Вашего рождения и понял, что да ваше поколение конечно это все освоит, углубит и приумножит.Молодость-это так здорово))))
Вот почитайте мой обзор, там очень простая конструкция и полное описание+схема+программа, бери и делай: mysku.club/blog/others/18972.html
Последнюю плату вытравил в году 90-м, паять-паял изредка по работе и дома для ремонта. Всё было заброшено и потеряно, но навыки никуда не делись, это как жонглирование 3-я яблоками — 25 лет не пробовал, а взял в руки сыну показать и опа, получилось или на коньках 40 лет не вставал, а с дочкой пошёл на новый каток и опа, не упал, поехал и даже «кренделя» выписал (правда 2 раза на 5-ю точку сел:-).
Так что ни каких пораженческих настроений — «Наше Дело Правое, Мы победим»!
Потери бойца,
И «Яблочко»-песню
Допел до конца. :-(
Кстати, джампер В0 — это выбор области памяти, откуда будет считываться код при включении.
кстати, вы что хотели сделать с платой, т.е. какие функции она должна выполнять?
Только зарегистрированные и авторизованные пользователи могут оставлять комментарии.