Универсальный внешний накопитель для всех iOS-устройств, совместим с PC/Mac, Android
Header Banner
8 800 100 5771 | +7 495 540 4266
c 9:00 до 24:00 пн-пт | c 10:00 до 18:00 сб
0 Comments

Содержание

STM32F100RBT6B, Микроконтроллер, 32-bit ARM Cortex M3 RISC 128KB Flash 2.5V/3.3V [LQFP-64]

Микроконтроллер - [LQFP-64]; Ядро: ARM Cortex-M3, 32-бит; FLASH: 128 КБайт; RAM: 8 КБайт; АЦПканалов: 16; АЦПразр: 12; АЦПскорость: 833 кГц

Серия STM32 F1 представляет собой популярное MCU, которое удовлетворит потребности промышленных, медицинских и потребительских рынков. В данной серии используется ARM® Cortex™-M. Высокая эффективность с первоклассной периферией и низким энергопотреблением по доступной цене. Простая архитектура и простыми в использовании инструментами - облегчает работу с данными микроконтроллерами.

STM32F100 – центральный процессор на 24 МГц с устройством управления двигателем и функциями CEC

STM32F101 – Центральный процессор на 36 МГц, до 1 мегабайта памяти

STM32F102 – Центральный процессор на 48 МГц с FS USB

STM32F103 – Центральный процессор на 72 МГц, до 1 мегабайта памяти с устройством управления двигателем, USB

STM32F105/107 – Центральный процессор на 72 МГц с Ethernet MAC, USB 2. 0 OTG

Ядро: ARM Cortex M3

Ширина шины данных: 32 bit

Максимальная тактовая частота: 36 MHz

Размер программной памяти: 32 kB

Размер ОЗУ данных: 6 kB

Разрешение АЦП: 12 bit

Рабочее напряжение питания: 2 V to 3.6 V

Максимальная рабочая температура: + 85 C

Минимальная рабочая температура: - 40 C

Упаковка / блок: UFQFPN-36

Вид монтажа: SMD/SMT

Тип ОЗУ данных: SRAM

Тип интерфейса: I2C, SPI, USART

Количество каналов АЦП: 10

Тип памяти программ: Flash

Напряжение питания - макс.: 3.6 V

Напряжение питания - мин.: 2 V
Корпус LQFP-64, Ядро ARM Cortex-M3, Максимальная частота ядра 24 МГц, Объём памяти программ 131.07 кБайт, Объём оперативной памяти 8.19 кБайт, Интерфейсы I²C, IrDA, LIN, SPI, UART/USART, Периферия DMA, PDR, POR, PVD, PWM, Temp Sensor, WDT, АЦП/ЦАП A/D 16x12b; D/A 2x12b, Напряжение питания, min 2 В, Напряжение питания, max 3.6 В

STM32VLDISCOVERY, Отладочная плата на базе MCU STM32F100RBT6B (ARM Cortex-M3), ST-LINK

Описание

STM32VLDISCOVERY – недорогой отладочный комплект для начала работы с популярным семейством микроконтроллеров STM32F1x на основе ядра ARM Cortex – M3 от одного из мировых лидеров по производству электронных компонентов – STMicroelectronics.

Отличительная особенность комплекта – полноценный инструментарий, включающий в себе оценочную плату, программатор, отладчик с поддержкой самых популярных программных средств разработки от таких фирм как IAR, Keil и Atollic.

Отладочный комплект STM32VLDISCOVERY прост в использовании и является оптимальным решением не только для изучения семейства микроконтроллеров STM32F1x, но также позиционируется как встраиваемый модуль.

В основе STM32VLDISCOVERY заложен 24МГц микроконтроллер STM32F100RBT6B Value Line с 8Кб SRAM, 128Кб flash, многофункциональными таймерами, аналоговой периферией и разнообразными последовательными интерфейсами обмена данных. Наличие встроенного программатора – отладчика ST-LINK позволяет начать разработку собственных приложений без дополнительных затрат. Сигналы встроенного ST-LINK выведены на внешний разъем, что позволяет в дальнейшем использовать STM32VLDISCOVERY в качестве программатора-отладчика для своих собственных разработок. На официальном сайте STMicroelectronics (http://www.

st.com/internet/evalboard/product/250863.jsp) вы можете найти всю необходимую информацию по данному продукту – руководства, примеры программного обеспечения, документацию.

Технические параметры

Серия оценочной/отладочной платы discovery
Ядро базового компонента Cortex-M3
Разрядность шины данных, Бит 32
Наименование базового компонента stm32f100rb
Наличие USB интерфейса да
Наличие установленного (в комплекте) дисплея нет
Наличие макетной области нет
Особенности st-link
Вес, г 53

Гарантийный срок

6 месяцев

Техническая документация

Видео

1:47

STM32: Урок 3 - Документация / ARM / RoboCraft. Роботы? Это просто!

При работе с микроконтроллерами STM32, и не только с ними, часто нужно заглядывать в документацию, чтобы найти какие-либо сведения (captain mode on). Для продуктивной работы с ней нужно хорошо представлять себе, где её найти, а также где в ней найти нужную информацию. Вот об этом я вам и расскажу.

Посмотрим, что покажет нам компания ST Microelectronics по микроконтроллеру STM32F100RBT6B, установленному на плате STM32VLDiscovery. Поиск по сайту даёт эту страничку, на которой мы видим небольшое описание МК этой серии, а также ссылку на даташит:

Тут сразу первый нюанс: у ST нет тучи даташитов на каждый кристалл отдельно, так что этот даташит содержит, по большей части, особенности всей серии STM32F100: описание доступной периферии, распиновка МК в различных корпусах, электрические характеристики — включая потребление каждого периферийного модуля отдельно.

С характеристиками, с моей точки зрения как программиста, не всё прозрачно — к примеру, я долго разбирался, как же узнать максимальный допустимый ток через пины кристалла, но так и не нашёл нужной информации.

Возможно, впрочем, что это я такой невнимательный/лентяй (выберите на свой вкус), но я нашёл только рекомендацию не врубать за раз больше 20 пинов с потреблением в 8 мА или не больше 8 пинов с 20 мА, да максимальную рассеиваемую мощность. Кстати, согласно её величине, вышеприведённый совет годится разве что для камикадзе, т.к. максимальное найденное значение равно 444 мВт, что при 3.3 В составляет 134 мА и уж никак не прокормит 20 светодиодов похлёбкой потоком 8 мА на рыло. Ну да ладно, с остальным в даташите всё прекрасно, на мой взгляд (:

Внизу даташита, в разделе Ordering information scheme приведена схема именования моделей МК:

Согласно схеме, STM32F100RBT6B имеет 64 вывода, 128 КБ Flash-памяти для кода (это у ST зовётся medium density), корпус LQFP, а также диапазон рабочих температур от -45 до 100℃.

Но самая интересная и обширная информация поджидает нас на сайте в разделе Design support — там-то интересных PDF'ок куда больше, и они лежат там аккуратненько, по разделам.

APPLICATION NOTES

«Заметки по применению», они же просто апноуты (слово уродское, но удобное). Это такие рекомендации насчёт того, как следует делать те или иные вещи с STM32: там и про подбор кварца, и про режимы загрузки МК, защиту от электромагнитных воздействий, использование АЦП, генерацию звука через ЦАП, про использование прочей периферии и т.д. В общем, апноуты обязательны к прочтению, если собираетесь делать серийное устройство.

ERRATA SHEETS

Описание аппаратных ошибок и шероховатостей. Весьма желательно прочитать разработчикам серийных устройств, дабы избежать трепания нервов потребителю и долгих сеансов отладки, когда, вроде бы, код написан идеально и схема выверена, а МК глючит вопреки здравому смыслу. Хотя, инженеры в ST не пальцем деланы, и ошибки там обычно в духе: «Если стоя спиной к северу, трижды обернуться вокруг своей оси с ведром на голове, держа в руке скульптуру Ленина, сделанную из обеднённого урана, после чего прочитать вслух первые две строчки любого стихотворения Маяковского задом наперёд — испортится содержимое регистра-указатель стека».

В общем, я бы не стал сильно переживать по поводу таких багов в своих любительских проектах, ведь шанс возникновения ошибок, описанных здесь, очень мал.

PROGRAMMING MANUALS

Здесь лежат два документа. STM32F100xx value line Flash programming описывает программирование (запись) Flash-памяти МК, это обычно нужно разработчикам отладчиков и софта для прошивки. А вот второй — STM32F10xxx/20xxx/21xxx/L1xxxx Cortex-M3 programming manual — полезен для всех, т.к. описывает программирование МК на уровне машинных команд и ассемблера, все регистры, включая периферийные, весь набор инструкций. Очень полезный документ для любого, кто программирует с STM32 что-то сложнее мигалки светодиодом, особенно с активным использованием прерываний, и просто незаменимый для разработчиков компиляторов и эмуляторов, и для прочих адептов технохардкора и байтокопов, к коим относится и ваш покорный слуга. Перед сном лучше не читать.

REFERENCE MANUALS

Тут лежит здоровенный талмуд (более 650 страниц) со подробнейшей информацией по серии STM32F100xx для разработчиков софта. Описаны архитектура МК, все регистры, их биты, все функции МК, периферия. Для нас этот документ — основной, как свод законов для юриста.

TECHNICAL NOTES

Как ни странно, здесь про софт для разработки, причём исключительно про коммерческий, φ. Ничего интересного там нет.

USER MANUALS

Руководства по использованию различных технологий: библиотеки-фреймворка для работы с периферией (CPAL), библиотеки для управления моторами, оригинальной прошивки платы STM32100B-EVAL. Информация весьма специфическая, и вряд ли понадобится нам.

That's all, folks
Теперь вы знаете, куда идти, если вас пошлют аббревиатурой RTFM, и мы можем перейти к изучению GPIO.

Построение платформы системы сбора информации

Набор периферии микроконтроллера (МК) достаточно типичен для данного класса устройств [3]. Но есть среди этого многообразия и специфические для микроконтроллеров вещи, такие, например, как контроллер прямого доступа к памяти КПДП (

Direct Memory Access DMA).

Применительно к нашей задаче, интерес представляют модуль универсаль­ного синхронного асинхронного приёмника передатчика УСАПП (Universal Synchronous Asynchronous Receiver Transmitter — USART) и модуль аналого- цифрового преобразователя АЦП (Analog-to-Digital converter, ADC). Оба этих модуля можно подсоединить к КПДП и сократить объём написанного кода про­ граммы для микроконтроллера. В дополнение к этим двум модулям может по­ требоваться применение, для запуска АЦП, таймера. Таймеры также, в доста­точном количестве, имеются в составе микроконтроллера.

Используемое АЦП является двенадцатиразрядным последовательного при­ближения, которое может работать на максимальной частоте в 12 МГц (что при минимальном времени выборки даёт время преобразования в 1,17 мкс). К нему можно подключить до 16 внешних каналов. Кроме этого, есть дополнительно два внутренних канала для оцифровки температуры кристалла микроконтроллера (сигнал датчика температуры и уровень опорного напряжения питания датчика).

Предусмотрена возможность запуска процесса преобразования на аппарат­ ном уровне от внешнего (подключаемого к выводу отладочной платы) источ­ника. Разнообразные режимы работы допускают задавать различные последо­вательности оцифровки каналов, что перекрывает большую часть задач по оцифровке данных. В наличии имеется аналоговое устройство контроля пре­вышения установленных порогов (в документации называемого Analog Watchdog), которое позволяет на аппаратном уровне отслеживать значения измеряемой величины на предмет выхода за установленные рамки, что очень по­ лезно для задач диагностики неисправностей внешнего датчика. Время выборки сигнала для каждого канала задается индивидуально и лежит в диапазоне от 1,5 до 239,5 тактовых импульсов работы АЦП. Кроме возможности подключения к КПДП каждое событие, возникающее внутри АЦП, может генерировать преры­вание. Для получения качественных результатов измерений перед включением АЦП необходимо однократно провести его калибровку. Более полную инфор­мацию по настройке АЦП можно получить, обратившись к документации [4], а узнать о характеристиках АЦП можно в [3].

Возможности УАПП также несколько шире стандартных и допускают рабо­ту по протоколу Smartcard, а также в сетях LIN и IrDA. Имеется возможность аппаратного управления потоком данных при помощи линий RTS и CTS. Среди необычного можно выделить применение числа с фиксированной запятой для задания скорости передачи данных. Это даёт меньшую ошибку при работе уст­ройства. Так же как и АЦП УАПП имеет возможность генерировать запросы к КПДП и контроллеру прерываний.

Для связи с преобразователем PL2303 USB <-> TTL нет необходимости прибе­гать ко всей этой функциональности, достаточно простого асинхронного ин­терфейса.

Преобразователь PL2303 USB <->TTL

На рынке существует достаточное количество подобных преобразователей, и этот вариант ничем не уступает им. Этот модуль приводится как пример по­ добных устройств и не выделяется чем-то особенно.

Как можно заметить этот модуль имеет два разъема: USB – для подключе­ния к персональному компьютеру и 4-х контактную штыревую линейку для связи с STM32DISCOVERY. Контакты штыревой линейки подписаны: «Усс» – питание +5 Вольт от шины USB персонального компьютера, «RXD» – вход при­емника преобразователя, «TXD» – выход передатчика преобразователя и «GND» – нулевой провод источника питания.

Внешний вид преобразователя PL2303 USB TTL

На плате имеется лишь одна микросхема преобразователя PL2303HX фир­мы Prolific Technology, на которую имеется документация [6]. Все подобные преобразователи обычно строятся на таких микросхемах, которые значительно упрощают использование USB-порта. При подключении модуля к компьютеру и при отсутствии замыканий, на плате включается красный светодиод, сигнали­ зирующий о наличии питания по шине USB.

Для нормальной работы устройства в системе необходимо установить драйвер PL2303HX, дистрибутив которого можно найти на официальном сайте Prolific Technology [7]. Установка драйвера обычно не вызывает трудностей. После установки, в системе должен появиться новый виртуальный СОМ-порт,

наличие которого, для операционных систем Windows можно проверить в дис­ петчере устройств.

Подключение преобразователя к отладочной плате можно осуществить при помощи соединительных проводов, доступных по небольшой цене [8]. Внешний вид таких проводов представлен на этом изображении:

Гибкая шина для соединения плат

Для соединения с модулем понадобится только три провода. На плате мо­ дуля они должны быть подключены к выводам «TXD», «RXD» и «GND», а на отладочной плате к выводам обозначенным как «РАЮ» «РА9» и «GND», соот­ ветственно.

Сборка системы

В качестве датчика можно использовать обычный переменный резистор, который, как и преобразователь, подключается с помощью соединительных проводов(гибкая шина) к плате STM32VLDISCOVERY. Для этих целей хорошо подходит переменные резисторы с конструкцией аналогичной той, которая приведена на рисунке:

Переменный резистор (потенциометр)

Для данного типа резисторов характерна удачная конструкция выводов, ко­ торая обеспечивает хорошее соединение с указанными соединительными про­водниками.
Резистор следует подключить следующим образом: один из крайних выво­дов подключается, при помощи проводника, к выводу, обозначенному на отла­дочной плате «3V3», а другой, к выводу «GND». Средний контакт подключает­ ся к любому из выводов (в зависимости от используемого АЦП канала) РАО – РА7, РВО, РВ1, РСО – РС5 (соответствуют каналам с 0 по 15). Программой мик­роконтроллера используется вывод РА1. При подключении следует быть акку­ ратным, чтобы не использовать уже занятый вывод. Дело в том, что на плате STM32VLDISCOVERY уже произведены некоторые внутренние подключения выводов микроконтроллера, так, например, РАО используется для управления встроенной кнопкой, поэтому перед подключением следует ознакомиться с до­кументацией на плату STM32VLDISCOVERY.

Собранная система сбора данных на базе платы STM32VLDISCOVERY

 

Описание подключения проводов к плате STM32VLDISCOVERY

 

После подключения переменного резистора и преобразователя сборка аппаратной части системы заканчивается и можно приступать к программной части. Основная трудность заключается в написании программы для микрокон­ троллера и её отладке. По этот теме можно найти много литературы, в том чис­ле в интернете. Чтобы не писать про­грамму с самого начала, можно использовать уже имеющуюся заготовку про­граммы, которую можно получить от преподавателя.

Эта программа позволяет измерять напряжение с переменного резистора, подключённого к внешнему выводу РА1 микроконтроллера, и выводить дан­ные в компьютер через УАПП, при этом мигает светодиод на отладочной плате.

Для сбора данных со стороны персонального компьютера можно исполь­зовать любую программу терминал. В стандартной поставке операционной сис­ темы Windows в версиях до Windows 7 использовался для этих целей Hyper- Terminal, но в новых версиях его исключили из стандартной поставки. К счастью эта программа свободно распространяется в сети, откуда её можно легко загрузить на компьютер.

В сети интернет можно также найти другие программные продукты ана­логичные HyperTerminal. Среди них особо следует выделить бесплатную про­ грамму Terminal vl.9 от автора Вг@у++ [11]. Эта программа включает в себя удобный интерфейс по настройке параметров работы СОМ порта, а также рас­ ширенные возможности по управлению поступающим потоком данных из ком­муникационного порта. Внешний вид программы представлен на этом изображении:

Внешний вид программы Terminal v. 1.9 от автора [email protected]++

Запуск системы, получение и обработка данных

Подключите преобразователь PL2303 USB <-> TTL к компьютеру. Если подключили преобразователь первый раз, то выполняется автоматическая уста­ новка драйверов из интернета, как показано на Рис. 18. Данное действие спра­ ведливо, если установлена Windows 7. Если, система Windows ХР, то необхо­димо скачать и установить драйвера вручную.

 

 

Установка драйверов преобразователя

Найдите, какой COM-порт появился в системе: Панель управления —► Диспетчер устройств —■>Порты (СОМ и LPT). На Рис. 19 это СОМЗЗ. Посколь­ку не все программы могут работать с большими номерами COM-портов, то лучше изменить номер на любой свободный от COM2 до СОМ6. Для этого дважды щёлкните на порте, номер которого хотите изменить. После этого пе­рейдите на вкладку «Параметры порта», нажмите «Дополнительно». В выпа­дающем меню измените номер. Например, на COM2. Если будет выдано ин­формационное сообщение, то нажмите «Да».

Определение номера СОМ порта

Убедитесь, что на STM32VLDISCOVERY перемычки CN3:1-CN3:2, CN3:3- CN3:4 установлены, а где CN2 SWD перемычек нет (Рис. 20).

Подключите устройство к USB. Появившееся при автостарте окно можно просто закрыть.

При необходимости скомпилируйте и загрузите программу в STM32VLDISCOVERY. Запустите программу Terminal. Выберите нужный СОМ порт. Нажмите «Connect». Вы должны увидеть столбец с цифрами. По­скольку АЦП в МК 12-разрядный, то диапазон чисел будет от 0 до 4095. Выде­лите числа мышкой, нажмите правую кнопку мышки и выберите «Копировать».

Положение перемычек

Данные с АЦП MK

Вставьте данные из буфера обмена в Excel. Постройте график по полу­ченным данным. Пример подобного графика показан на изображении:

Данные с АЦП МК и график изменения сигнала

После окончания работы обязательно отключите от USB STM32VLDISCOVERY и преобразователь.

РадиоКот :: Многофункциональный источник питания

РадиоКот >Схемы >Питание >Блоки питания >

Многофункциональный источник питания

      Давным-давно (еще в глубоком детстве) я хотел себе нормальный блок питания. Вначале делал всякие на LM138 и индикаторами на HD44780. Затем нашел хороший блок питания, зарядное устройство . Я его много раз делал и переделывал, экспериментировал с усилителем тока. Кулером у меня управляла ATtiny13 стоящая на отдельной плате. Один раз питал ним модуль Пельтье 5В, 5А, на радиаторе выделялось 100Вт. Через несколько минут корпус БП начал плавится, а я тем временем травил радиотехнические байки. Заметил вовремя но не я. Все обошлось хорошо, только немного дно прогнулось. После этого инцидента я решил добавить защиту от перегрева, но места в ATmega8 почти не осталось, а хотелось много чего добавить. В это время заметил недорогую плату STM32VLDISCOVERY, с нее все и началось.

      Регулятором является параметрический стабилизатор с ОС на ОУ. Регулирующий элемент - IRFP9140 выдерживает 16А постоянного тока. В качестве усилителя токового датчика применен "Zero-Drift, Single-Supply, Rail-to-Rail Input/Output Operational Amplifier, Low offset voltage: 1 μV".

 

      Управляет всем хозяйством STM32F100RBT6B - это мк на ядре ARM Cortex™-M3, 24 MHz (1. 25 DMIPS/MHz), 128 Kbytes Flash, 8 Kbytes SRAM, 12-bit ADC, 12-bit DAC. В качестве тактового генератора используется внутренний RC-генератор на 8МГц (HSI), далее на PLL домножается до 24МГц. Стабильности данного генератора достаточно для нормальной работы UART'а (проверял на 38400 бод). В качестве генератора для RTC используется внутренний низкочастотный генератор на 40кГц (LSI). RTC нужен для отмера больших интервалов времени. ИОН - MAX6125 (на выходе 2.5В), он одновременно питает аналоговую часть мк (Vdda и Vref соединены внутри мк).  Датчик температуры DS18B20, работает на шине MicroLan (1-Wire) с паразитным питанием. Кулерами управляет step-down преобразователь. Дисплей от Siemens A60/ A65/ C60/ M55/ MC60, внутри стоит контроллер S1D15G14. Инициализировал дисплей в режиме 8bit/pix. Светодиод HL1 можно не ставить, он иногда нужен для разработки и отладки ПО. В разъем X6 у меня воткнут bluetoth модуль HC-05, чтоб управлять с помощью ПК или телефона. Список команд можно выудить с исходника (файл drivers. c). Прошивается контроллер по SWD через разъем X5. Можно прошить через UART1 с помощью встроенного boot loader'а, но если вы доросли до STM32, то не иметь st-link либо j-link - стыдно.

      Источником нестабилизированного напряжения может служить классический трансформаторный БП, у меня установлен переделанный импульсный источник ps-65-24. Кулера любые на 12В, с суммарным током не больше 300мА. Коммутатором является N-канальный полевой транзистор, можно применить реле с малым сопротивлением контактов, но их размеры оставляют желать лучшего. Пищалка - пьезокерамический излучатель без встроенного генератора.

      Интерфейс управления интуитивно понятный (особенно мне :)). Есть 3 окна: Base, Scope, Charger. Все настройки сохраняются при выключении во внутренюю флеш память. Минимальное количество перезаписей настроек составляет 1280000, кому мало - можно увеличить. Управляется все с помощью шести кнопок и энкодером с кнопкой.

 

 

      Программа написана на Си в µVision V5. 10.0.2 без использования SPL, все что есть лежит в архиве. Вопросы можно писать на мой e-mail, если будет интерес, то можно будет создать ветку на форуме.

                                                                                               Если вы сюда дочитали - спасибо, жду отзывов и критики (я ее люблю).

 

 

Файлы:
исходник, схемы

Все вопросы в Форум.


Как вам эта статья?

Заработало ли это устройство у вас?

STM32F100RBT6B, Микроконтроллер, 32-разрядный ARM Cortex M3 RISC 128KB Flash 2,5 В / 3,3 В [LQFP-64]

Микроконтроллер - [LQFP-64]; Ядро: ARM Cortex-M3, 32-бит; FLASH: 128 КБайт; RAM: 8 КБайт; АЦПканалов: 16; АЦПразр: 12; АЦПскорость: 833 кГц

Серия STM32 F1 представляет собой популярное MCU, удовлетворительное потребности промышленных, медицинских и потребительских рынков. В данной серии используется ARM® Cortex ™ -M. Высокая эффективность с первоклассной периферией и низким энергопотреблением по доступной цене.Простая архитектура и простыми инструментами - облегчает работу с данными микроконтроллерами.

STM32F100 - центральный процессор на 24 МГц с включенным управлением двигателем и функциями CEC

STM32F101 - Центральный процессор на 36 МГц, до 1 мегабайта памяти

STM32F102 - Центральный процессор на 48 МГц с FS USB

STM32F103 - процессор на 72 МГц, до 1 мегабайта памяти с управлением двигателем, USB

STM32F105 / 107 - Центральный процессор на 72 МГц с Ethernet MAC, USB 2.0 OTG

Ядро: ARM Cortex M3

Ширина данных шины: 32 бит

Максимальная тактовая частота: 36 МГц

Размер программной памяти: 32 кБ

Размер ОЗУ данных: 6 кБ

Разрешение АЦП: 12 бит

Рабочее напряжение питания: от 2 В до 3,6 В

Максимальная рабочая температура: + 85 C

Минимальная рабочая температура: - 40 C

Упаковка / блок: UFQFPN-36

Вид монтажа: SMD / SMT

Тип ОЗУ данных: SRAM

Тип интерфейса: I2C, SPI, USART

Количество каналов АЦП: 10

Тип памяти программ: Flash

Напряжение питания - макс. : 3,6 В

Напряжение питания - мин .: 2 В
Корпус LQFP-64, Ядро ARM Cortex-M3, Максимальная частота ядра 24 МГц, Объём программной памяти 131,07 кБайт, Объём оперативной памяти 8,19 кБайт, Интерфейсы I²C, IrDA, LIN, SPI, UART / USART, Периферия DMA, PDR, POR, PVD, PWM, Датчик температуры, WDT, АЦП / ЦАП A / D 16x12b; D / A 2x12b, Напряжение питания, мин. 2 В, Напряжение питания, макс. 3,6 В

STM32VLDISCOVERY, Отладочная плата на базе MCU STM32F100RBT6B (ARM Cortex-M3), ST-LINK

Описание

STM32VLDISCOVERY - недорогой комплект для начала работы с популярным семейством микроконтроллеров STM32F1x на основе ядра ARM Cortex - M3 от одного из мировых лидеров по производству электронных компонентов - STMicroelectronics.Отличная особенность комплекта - полноценный инструмент, включающий в себе оценочную плату, программатор, отладчик для поддержки самых популярных программных средств разработки таких фирм, как IAR, Keil и Atollic.

Отладочный комплект STM32VLDISCOVERY в использовании и является оптимальным решением не только для изучения семейства микроконтроллеров STM32F1x, но также позиционируется как виваемый модуль.

На основе STM32VLDISCOVERY заложен 24МГц микроконтроллер STM32F100RBT6B Value Line с 8Кб SRAM, 128Кб flash, многофункциональными таймерами, аналоговой периферией и разнообразными интерфейсами обмена данных.Наличие встроенного программатора - отладчика ST-LINK позволяет создать собственные приложения без дополнительных затрат. Сигналы встроенного ST-LINK выведены на внешний разъем, что позволяет в дальнейшем использовать STM32VLDISCOVERY в качестве программатора-отладчика для своих собственных разработок. На официальном сайте STMicroelectronics (http://www.st.com/internet/evalboard/product/250863.jsp) вы можете найти всю информацию по данному продукту - руководства, примеры программного обеспечения, документацию.

Технические параметры

Серия оценочной / отладочной платы открытие
Ядро базового компонента Cortex-M3
Разрядность шины данных, Бит 32
Наименование базового компонента stm32f100rb
Наличие USB-интерфейса да
Наличие установленного (в комплекте) дисплея нет
Наличие макетной области нет
Особенности ул
Вес, г 53

Гарантийный срок

6 месяцев

Техническая документация

Видео

1:47

STM32: Урок 3 - Документация / ARM / RoboCraft. Роботы? Это просто!

При работе с микроконтроллерами STM32, и не только с ними, нужно заглядывать в документацию, чтобы найти какие-либо часто сведения (режим капитана включен). Для продуктивной работы с ней нужно найти нужную информацию. Вот об этом я вам и расскажу.

Посмотрим, что покажет нам компания ST Microelectronics по микроконтроллеру STM32F100RBT6B, установленному на плате STM32VLDiscovery. Поиск по сайту даёт эту страничку, на которой мы видим небольшое описание МК серии, а также ссылку на эту:

сразу первый нюанс: у ST нет тучи даташитов на каждый кристалл отдельно, так что этот даташит содержит, по большей части, особенности всей серии STM32F100: описание доступной периферии, распиновка МК в различных корпусах серии, электрические характеристики - включая каждый цикл периферийного модуля отдельно.

С характеристиками, с моей точки зрения, как программиста, не всё прозрачно - к примеру, я долго разбирался, как же узнать максимальный допустимый ток через пины кристалла, но так и не нашёл нужной информации. Возможно, впрочем, что это я такой невнимательный / лентяй (выбрать на свой вкус), но я нашёл только рекомендацию не врубать за раз больше 20 пинов с потреблением в 8 мА или не больше 8 пинов с 20 мА, даальная максимальная рассеиваемая мощность. Кстати, согласно её величине, вышеприведённый совет годится разве что для камикадзе, т.к. максимальное найденное значение равно 444 мВт, что при 3,3 составляет 134 мА и уж никак не прокормит 20 светодиодов похлёбкой потоком 8 мА на рыло. Ну да ладно, с остальным в даташите всё прекрасно, на мой взгляд (:

Внизу даташита, в разделе Схема информации для заказа приведена схема именования моделей МК:

Согласно схеме, STM32F100RBT6B имеет 64 вывода, 128 КБ Flash- память для кода (это у ST зовётся средней плотности), корпус LQFP, а также диапазон рабочих температур от -45 до 100 ℃.

Самая интересная и обширная информация поджидает нас на сайте в Поддержка дизайна - там-то интересных PDF'ок куда больше, и они лежат там аккуратненько, по разделам.

ПРИМЕЧАНИЯ К ПРИМЕНЕНИЮ

«Заметки по применению», они же просто апноуты (слово уродское, но удобное). Это такие рекомендации насчёт того, как следует делать другие вещи с STM32: там и про подборца, и режимы МК загрузки, защиту от электромагнитных воздействий, использование АЦП, генерацию звука через ЦАП, про использование прочей периферии и т.д. В общем, апноуты обязательны к прочтению, если собираетесь делать серийное устройство.

ЛИСТЫ ОШИБОК

Описание аппаратных ошибок и шероховатостей. Весьма желательно прочитать разработчикам серийных устройств, дабы избежать трепания нервов потребителю и долгих сеансов отладки, когда, вроде бы, код написан идеально и схема выверена, а МК глючит вопреки здравому смыслу. Хотя, инженеры в ST не пальцем деланы, и ошибки там обычно в духе: «Если стоя спиной к северу, трижды обернуться вокруг своей оси с ведром на голове, держа в руке скульптуру, сделанную из обеднённого урана, после чего прочитать вслух первые две строчки любого стихотворения Маяковского задом наперёд - испортится содержимое регистра-указатель стека ».

В общем, я бы не стал сильно переживать по поводу таких ошибок, описанных здесь, очень мал.

РУКОВОДСТВО ПО ПРОГРАММИРОВАНИЮ

Здесь лежат два документа. Строка значений STM32F100xx Программирование Flash Описание программирования (запись) Flash-память МК, это обычно разработчикам отладчиков и софта для прошивки. А вот второй - STM32F10xxx / 20xxx / 21xxx / L1xxxx Руководство по программированию Cortex-M3 - полезен для всех, т.к. описание программирования МК на уровне машинных команд и ассемблера, все регистры, включая периферийные, весь набор инструкций. Очень полезный документ для любого, кто программирует с STM32 что-то сложнее мигалки светодиодом, особенно с активным использованием прерываний, и просто незаменимый для разработчиков компиляторов и эмуляторов, и для других адептов технохардкора и байтокопов, к коим относится и ваш покорный слуга. Перед сном лучше не читать.

СПРАВОЧНОЕ РУКОВОДСТВО

Тут лежит здоровенный талмуд (более 650 страниц) со подробнейшей информации по серии STM32F100xx для разработчиков софта. Описаны архитектура МК, все регистры, их биты, все функции МК периферия. Для нас этот документ - основной , как свод законов для юриста.

ТЕХНИЧЕСКИЕ ХАРАКТЕРИСТИКИ

Как ни странно, здесь про софт для разработки, причём исключительно про коммерческий, φ. Ничего интересного там нет.

РУКОВОДСТВО ПОЛЬЗОВАТЕЛЯ

Руководства по использованию различных технологий: библиотеки-фреймворка для работы с периферией (CPAL), библиотеки для управления моторами, оригинальной прошивки платы STM32100B-EVAL.Информация специфическая, и вряд ли нам понадобится.

Вот и все, ребята
Теперь вы знаете, куда идти, если вас пошлют аббревиатурой RTFM, и мы можем перейти к изучению GPIO.

Построение системы сбора информации

Набор периферии микроконтроллера (МК) достаточно типичен для данного класса устройств [3]. Есть среди этого множества и специфические для микроконтроллеров вещи, например, как контроллер прямого доступа к памяти КПДП ( Direct Memory Access DMA ).

Применимо к нашей задаче, интерес представляют модуль универсального синхронного асинхронного приёмника передатчика УСАПП (универсальный синхронный асинхронный приемный передатчик - USART ) и модуль аналого-цифрового преобразователя АЦП (аналого-цифровой преобразователь, АЦП). Оба этих модуля можно подключить к КПДП и сократить объем написанного про граммы для микроконтроллера. В дополнение к этим двум модулям может по требоваться применение, для запуска АЦП, таймера.Таймеры также, в достаточном количестве, имеются в составе микроконтроллера.

Используемое АЦП является двенадцатиразрядным последовательным приближениями, которое может работать на максимальной частоте в 12 МГц (что при минимальном времени выборки даёт время преобразования в 1,17 мкс). К нему можно подключить до 16 внешних каналов. Кроме этого, есть дополнительно два внутренний канал для оцифровки температура кристалла микроконтроллера (сигнал датчик температуры и уровень опорного напряжения питания датчика).

Предусмотрена возможность запуска преобразования на аппарат ном уровне от внешнего (подключаемого к выводу отладочной платы) источника. Разнообразные режимы работы допускают выполнение заданных оцифровки каналов, что перекрывает часть задач по оцифровке данных. В наличии имеется аналоговое устройство контроля превышения порогов (называемого аналогового сторожевого таймера), которое позволяет на аппаратном уровне измерить значения на уровне выхода за установленные рамки, что очень по лезно для задач диагностики неисправностей внешнего датчика.Время выборки сигнала для каждого канала задается индивидуально и в диапазоне от 1,5 до 239,5 тактовых импульсов работы АЦП. Кроме возможности подключения к КПДП событие, запускающее внутри АЦП, может генерировать прерывание. Для получения качественных результатов измерений передением АЦП необходимо однократно провести его калибровку. Более полную информацию по настройке АЦП можно получить, обратившись к [4], а узнать о характеристиках АЦП можно в [3].

Возможности УАПП также несколько стандартных и допускают работу по протоколу Smartcard, а также в сетях LIN и IrDA.Имеется возможность аппаратного управления потоком данных при помощи линий RTS и CTS. Среди необычного можно найти применение числа с фиксированной запятой для задания скорости передачи данных. Это даёт меньшую ошибку при работе устройства. Так же как и АЦП УАПП имеет возможность генерировать запросы к КПДП и контроллеру прерываний.

Для связи с преобразователем PL2303 USB <-> TTL нет необходимости прибегать ко всей этой функциональности, достаточно простого асинхронного интерфейса.

Преобразователь PL2303 USB <-> TTL

На рынке имеется достаточное количество подобных преобразователей, и этот вариант ничем не уступает им. Этот модуль как пример для добных устройств не выделяется чем-то особенно.

Как можно заметить этот модуль имеет два разъема: USB - для подключения к персональному компьютеру и 4-х контактную штыревую линейку для связи с STM32DISCOVERY. Контакты штыревой линейки подписаны: «Усс» - питание +5 Вольт от шины USB персонального компьютера, «RXD» - приемник преобразователя, «TXD» - выход передатчика преобразователя и «GND» - нулевой провод источника питания.

Внешний вид преобразователя PL2303 USB TTL

На плате имеется лишь одна микросхема преобразователя PL2303HX фирмы Prolific Technology , на которую имеется документация [6]. Все подобные преобразователи обычно строятся на таких микросхемах, которые упрощают использование USB-порта. При подключении модуля к компьютеру и при замыкании, на плате включается красный, сигнализирующий о наличии светодиодного питания по шине USB.

Для нормальной работы устройства необходимо установить драйвер PL2303HX, дистрибутив которого можно найти на официальном сайте Prolific Technology [7]. Установка драйвера обычно не вызывает трудностей. После установки, в системе должен появиться новый виртуальный СОМ-порт,

наличие, для операционных систем Windows можно проверить в дисчере устройств.

Подключение преобразователя к отладочной плате можно осуществить при помощи соединительных проводов, доступных по небольшой цене [8].Внешний вид таких проводов представлен на этом изображении:

Гибкая шина для соединения плат

Для соединения с модулем понадобится только три провода. На плате мо дуля они должны быть подключены к выводам «TXD», «RXD» и «GND», а на отладочной плате выводам обозначенным как «РАЮ» «РА9» и «GND», соответственно.

Сборка системы

В качестве датчика можно использовать обычный переменный резистор, который подключается с соединительных проводов (гибкая шина) к плате STM32VLDISCOVERY.Для этих целей подходят переменные резисторы с конструкцией аналогичной той, которая приведена на рисунке:

Переменный резистор (потенциометр)

Для данного типа резисторов характерна удачная конструкция выводов, ко торая обеспечивает хорошее соединение с указанными соединительными проводниками.
Резистор следует подключить следующим образом: один из крайних выводов подключается, при помощи проводника, к выводу, обозначенному на отладочной плате «3V3» , а другой, к выводу «GND». контакт подключает ся к любому из выводов (в зависимости от используемого АЦП канала) РАО - РА7, РВО, РВ1, РСО - РС5 (соответствуют каналам с 0 по 15). Программой микроконтроллера используется вывод РА1 . При подключении следует быть аккуратным, чтобы не использовать уже занятый вывод. Дело в том, что на плате STM32VLDISCOVERY уже произведены некоторые внутренние подключения выводов микроконтроллера, так, например, РАО используется для управления встроенной кнопкой, поэтому перед подключением следует ознакомиться с документацией на плату STM32VLDISCOVERY .

Собранная система сбора данных на базе платы STM32VLDISCOVERY

Описание подключения проводов к плате STM32VLDISCOVERY

После подключения переменного резистора и преобразователя сборка аппаратной части системы заканчивается и можно приступать к программной части. Основная трудность заключается в написании программы для микрокон троллера и её отладке. По этой теме можно найти много литературы, в том числе в интернете.Чтобы писать программу с самого начала, можно использовать уже имеющуюся заготовку программы, которую можно получить от преподавателя.

Эта программа позволяет измерять напряжение переменного тока, подключенного к внешнему выводу РА1 микроконтроллера, и выводить данные в компьютер через УАПП, при этом мигает светодиод на отладочной плате.

Для сбора данных со стороны персонального компьютера можно использовать любую программу терминал. В стандартной поставке операционной системы темы Windows в версиих до Windows 7 использовались для этих целей Hyper-Terminal, но в новых версиях его исключили из стандартной поставки.К счастью эта программа распространяется в сети, откуда её можно легко загрузить на компьютер.

В сети интернет можно также найти другие программные продукты аналогичные HyperTerminal . Среди них особо следует бесплатную про грамму Terminal vl.9 от автора Вг @ у ++ [11]. Эта программа включает в себя интерфейс настройки параметров работы СОМ порта, а также рас ширенные возможности управления поступающим потоком данных из коммуникационного порта.Внешний вид программы на этом изображении:

Внешний вид программы Terminal v. 1.9 от автора Br @ y ++

Запуск системы, получение и обработка данных

Подключите преобразователь PL2303 USB <-> TTL к компьютеру. Если подключили преобразователь первый раз, то выполняется автоматическая установка новых драйверов из интернета, как показано на Рис. 18. Это действие спра ведливо, если установлена ​​Windows 7.Если, система Windows ХР, то необходимо скачать и установить драйвер вручную.

Установка драйверов преобразователя

Найдите, какой COM-порт появился в системе: Панель управления —► Диспетчер устройств - ■> Порты (СОМ и LPT). На Рис. 19 это СОМЗЗ. Иногда не все программы работают с большими номерами COM-портов, то лучше изменить номер на любой свободный от COM2 до СОМ6. Для этого дважды щёлкните на порте, номер которого хотите изменить.После этого перейдите на вкладку «Параметры порта», нажмите «Дополнительно». В выпадающем меню измените номер. Например, на COM2. Если будет выдано информационное сообщение, то нажмите «Да».

Определение номера СОМ порта

убедитесь, что на STM32VLDISCOVERY перемычки CN3: 1-CN3: 2, CN3: 3- CN3: 4 , а где CN2 SWD перемычек нет (Рис. 20).

Подключите устройство к USB. Появившееся при автостарте окно можно просто закрыть.

При необходимости скомпилируйте и загрузите программу в STM32VLDISCOVERY . Запустите программу Terminal . Выберите нужный СОМ порт. Нажмите « Connec t». Вы должны увидеть столбец с цифрами. АЦП в МК 12-разрядный, то диапазон чисел будет от 0 до 4095. Выделите число мышкой, нажмите правую кнопку мышки и выберите «Копировать».

Положение перемычек

Данные с АЦП MK

Вставьте данные из буфера обмена в Excel.Постройте график по полученным данным. Пример подобного изображения изображено на изображении:

Данные с АЦП МК и график изменения сигнала

После окончания работы обязательно отключите от USB STM32VLDISCOVERY и преобразователь.

РадиоКот :: Многофункциональный источник питания

РадиоКот> Схемы> Питание> Блоки питания>

Многофункциональный источник питания

Давным-давно (еще в глубоком детстве) я хотел себе нормальный блок питания.Вначале делал всякие на LM138 и индикаторы на HD44780. Затем нашел хороший блок питания, зарядное устройство. Я его много раз делал и переделывал, экспериментировал с усилителем тока. Кулером у меня управляла ATtiny13 стоящая на отдельной плате. Один раз питал ним модуль Пельтье 5В, 5А, на радиаторе выделялось 100Вт. Через несколько минут корпус БП начал плавится, а я тем временем травил радиотехнические байки. Заметил вовремя но не я. Все обошлось хорошо, только немного дно прогнулось. После этого инцидента я решил добавить защиту от перегрева, но места в ATmega8 почти не осталось, а хотелось много чего добавить.В это время заметил недорогую плату STM32VLDISCOVERY, с нее все и началось.

Регулятором является параметрический стабилизатор с ОС на ОУ. Регулирующий элемент - IRFP9140 выдерживает 16А постоянного тока. В качестве усилителя токового датчика применен "Операционный усилитель ввода / вывода с нулевым дрейфом, однополярным питанием, с питанием от шины, низкое напряжение смещения: 1 мкВ".

Управляет всем хозяйством STM32F100RBT6B - это мк на ядре ARM Cortex ™ -M3, 24 МГц (1. 25 DMIPS / МГц), 128 Кбайт флэш-памяти, 8 Кбайт SRAM, 12-битный АЦП, 12-битный ЦАП. В качестве тактового генератора используется внутренний RC-генератор на 8МГц (HSI), далее на PLL домножается до 24МГц. Стабильности данного генератора достаточно для нормальной работы UART'а (проверял на 38400 бод). В качестве генератора для RTC используется внутренний низкочастотный генератор на 40кГц (LSI). RTC нужен для отмера больших интервалов времени. ИОН - MAX6125 (на выходе 2.5В), он одновременно питает аналоговую часть мк (Vdda и Vref соединены внутри мк).Датчик температуры DS18B20, работает на шине MicroLan (1-Wire) с паразитным питанием. Кулерами управляет понижающий преобразователь. Дисплей от Siemens A60 / A65 / C60 / M55 / MC60, внутри стоит контроллер S1D15G14. Инициализировал дисплей в режиме 8bit / pix. Светодиод HL1 можно не ставить, он иногда нужен для разработки и отладки ПО. В разъем X6 у меня воткнут bluetoth модуль HC-05, чтоб управлять с помощью ПК или телефона. Список команд можно выудить с исходника (файл drivers. c). Прошивается контроллер по SWD через разъем X5.Можно прошить через UART1 с помощью встроенного boot loader'а, но если вы доросли до STM32, то не иметь st-link либо j-link - стыдно.

Источником нестабилизированного напряжения может служить классический трансформаторный БП, у меня установлен переделанный импульсный источник ps-65-24. Кулера любые на 12В, с суммарным током не больше 300мА. Коммутатором является N-канальный полевой реле, можно применить реле с малым сопротивлением контактов, но размеры их оставляют желать лучшего.Пищалка - пьезокерамический излучатель без встроенного генератора.

Интерфейс управления интуитивно понятный (особенно мне :)). Есть 3 окна: База, Прицел, Зарядное устройство. Все настройки сохраняются при выключении во внутренюю флеш память. Минимальное количество перезаписей настроек составляет 1280000, кому мало - можно увеличить. Управляется все с помощью шести кнопок и энкодером с помощью кнопки.

Программа написана на Си в µVision V5.

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

Ваш адрес email не будет опубликован. Обязательные поля помечены *