Знакомство с STM32VL Discovery

Для начального знакомства с контроллерами STM32 идеальным вариантом будет готовая отладочная плата. Так получилось, что я совершенно бесплатно заполучил платку STM32VL Discovery. Было время когда их раздавали бесплатно всем, кто изъявил желание её получить. Если покупать, то стоит она сравнительно не дорого, например в наших краях ~20$. Как правило любая отладочная плата (из всех что я видел) представляет собой непосредственно сам микроконтроллер, программатор подключенный к этому контроллеру и некоторый набор внешней периферии которая так же определённым образом подключена к контроллеру. И все это на одной платке. Под периферией подразумеваются различные кнопки, индикаторы, светодиоды и прочие ништяки 🙂 Надо отметить что в плане периферии эта платка очень бедна: Есть всего лишь 2 светодиода и одна кнопка (+ одна кнопка сброса но она не в счет). Для первого знакомства  достаточно, но если идти дальше а не только мигать диодом — то маловато будет и надо паять что-то своё или дорабатывать эту платку. Выглядит сама платка так: 

Присмотревшись, не сложно будет понять откуда взялся логотип для этого сайта 🙂  Начнем по порядку. Во-первых плата поделена на две части: Отладчик ST-LINK и непосредственно сам контроллер с обвязкой. Отладчик мне очень понравился: умет работать со многими (если вообще не со всеми) контроллерами STM32. Наружу выведен интерфейс SWD, этот интерфейс физически реализован в виде двух проводов, что весьма удобно. Это позволяет нам прошивать другие контроллеры STM32 при помощи этой платы. Перед прошивкой какого-либо внешнего контроллера необходимо снять две перемычки через которые отладчик соединен с программируемым контроллером на установленном на плате. Для удобства рядом с двумя контактами SWD есть еще земля и плюс питания. Кроме SWD есть еще JTAG, проводов там побольше и разъёма на плате нет. При желании можно подпаяться к контроллеру (который в отладчике), но смысла я в этом пока не вижу, так как через SWD отладка и программирование работают отлично. Кроме выполнения своих прямых функций, отладчик также обеспечивает питанием 3.3 вольта всю плату. Подключается к компьютеру через обычный mini-usb кабель который к сожалению в комплект не входил. У отладчика так же есть два светодиода, один показывает что на плату подается питание, а второй мигает во время любой активности. Переходим к оставшейся части платы: Самое главное в ней — это как ни странно контроллер 🙂 На плате установлен STM32F100RBT6B. Чип вполне нормальный, нет разве что USB что немного огорчает. Основные характеристики такие: Тактовая частота 24 МГц, 128 кб флеш памяти, 8 кб ОЗУ, наличие ADC, DAC, I2C, SPI, USART, RTC и некоторых других вещей со страшными названиями. Для первого знакомства — самое оно! Естественно голый чип, (пусть даже подключенный к отладчику и питанию) ни какого интереса не представляет по понятным причинам: Отработала зашитая вами программа, а результата не видно. Для взаимодействия с внешним миром у этого контроллера есть ноги, причем 51 нога  (из 64-х) может менять свое состояние по желанию программиста. Вот как раз к двум таким ногам подключены два светодиода — зелёный и синий, первое время тренироваться будем на них. Из «устройств вывода» это всё. Для того чтоб как-то воздействовать на выполнение программы есть одна кнопка (синяя). В программе можно определять её состояние (нажата или отпущена), а вот вторая кнопка служит для сброса контроллера. По сути дела, кнопка и пара светодиодов это все с чем может работать пользователь этой платы. После некоторого числа экспериментов возникнет желание подключить какой-нибудь дисплей, карту памяти, дополнительные кнопки или еще чего, но на первое время нам хватит этого. В плане подключения внешних устройств — плата довольно удобна, так как все выводы контроллера посажены на три гребёнки штырьков по бокам платы:

На счёт подключения дополнительное периферии — будут статьи. Еще очень важно обратить внимание на перемычку управляющую питанием. Если её снять то контроллер будет обесточен и соответственно работать ничего не будет. Удобно вместо перемычки подключать амперметр и смотреть на ток потребления, если конечно вы любознательный человек вроде меня 🙂 На плате так же имеются два кварца : на 32768 Гц и на 8 МГц. От последнего тактируется контроллер, причем кварц этот легко вынимается и заменяется на другой без всякой пайки, это если вдруг пользователю захочется скорости, но для большинства наших первых экспериментов хватит и 8 МГц. Второй кварц — часовой. Его наличие не обязательно, но он будет использоваться нами в экспериментах с часами реального времени. Но до этого еще далеко, а сейчас я предлагаю вам попробовать сделать что-то практическое с этой платкой.

P.S. Возможно пригодится схема STM32vl Discovery

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