STM32F030F4
The STM32F030x4/x6/x8/xC microcontrollers incorporate the high-performance ARM®Cortex®-M0 32-bit RISC core operating at a 48 MHz frequency, high-speed embedded memories (up to 256 Kbytes of Flash memory and up to 32 Kbytes of SRAM), and an extensive range of enhanced peripherals and I/Os. All devices offer standard communication interfaces (up to two I2Cs, up to two SPIs and up to six USARTs), one 12-bit ADC, seven general-purpose 16-bit timers and an advanced-control PWM timer.
The STM32F030x4/x6/x8/xC microcontrollers operate in the -40 to +85 °C temperature range from a 2.4 to 3.6V power supply. A comprehensive set of power-saving modes allows the design of low-power applications.
The STM32F030x4/x6/x8/xC microcontrollers include devices in four different packages ranging from 20 pins to 64 pins. Depending on the device chosen, different sets of peripherals are included. The description below provides an overview of the complete range of STM32F030x4/x6/x8/xC peripherals proposed.
These features make the STM32F030x4/x6/x8/xC microcontrollers suitable for a wide range of applications such as application control and user interfaces, handheld equipment, A/V receivers and digital TV, PC peripherals, gaming and GPS platforms, industrial applications, PLCs, inverters, printers, scanners, alarm systems, video intercoms, and HVACs.
Key Features
- Core: ARM®32-bit Cortex®-M0 CPU, frequency up to 48 MHz
- Memories
- 16 to 256 Kbytes of Flash memory
- 4 to 32 Kbytes of SRAM with HW parity
- CRC calculation unit
- Reset and power management
- Digital & I/Os supply: VDD= 2.4 V to 3.6 V
- Analog supply: VDDA= VDDto 3.6 V
- Power-on/Power down reset (POR/PDR)
- Low power modes: Sleep, Stop, Standby
- Clock management
- 4 to 32 MHz crystal oscillator
- 32 kHz oscillator for RTC with calibration
- Internal 8 MHz RC with x6 PLL option
- Internal 40 kHz RC oscillator
- Up to 55 fast I/Os
- All mappable on external interrupt vectors
- Up to 55 I/Os with 5V tolerant capability
- 5-channel DMA controller
- One 12-bit, 1.0 μs ADC (up to 16 channels)
- Conversion range: 0 to 3.6 V
- Separate analog supply: 2.4 V to 3.6 V
- Calendar RTC with alarm and periodic wakeup from Stop/Standby
- 11 timers
- One 16-bit advanced-control timer for six-channel PWM output
- Up to seven 16-bit timers, with up to four IC/OC, OCN, usable for IR control decoding
- Independent and system watchdog timers
- SysTick timer
- Communication interfaces
- Up to two I2C interfaces
- Up to six USARTs supporting master synchronous SPI and modem control; one with auto baud rate detection
- Up to two SPIs (18 Mbit/s) with 4 to 16 programmable bit frames
- Serial wire debug (SWD)
- All packages ECOPACK®2
Источник: https://www.st.com/en/microcontrollers/stm32f030f4.html
Конструктор для взрослых или проектируем плату STM32F030F4P6
Что человеку для счастья нужно? Если не углубляться в философию, то человеку требуется созидание, что-то делать своими руками и особенно хорошо, если это делается для других. Если это происходит в свободное от основной работы время, то называется хобби.
Последнее время пристрастился к конструированию разных электронных поделок. Это же как конструктор, только для взрослых. При этом есть настолько много разных деталек и деталюшечек, что можно всю оставшуюся жизнь собирать электронные девайсы.
Можно начать с простых мигалок, а можно сделать нечто посложнее.
Недавно из игрушки сделал простого, но вполне самостоятельного робота, а сейчас решил пойти дальше. Отойти от проводков в навеску, да и от Ардуино в том числе, и присмотреться к контроллерам STM32. Говорят, что это лучше. А чем лучше? Ну сами посудите, если Ардуино – 8 разрядный контроллер, а STM32 – 32-х разрядный, банально быстрее.
Большое количество программных таймеров и прерываний компенсируют сложности в программировании.
Да еще если вспомнить, что Ардуино – раскрученный бренд, на котором очень неплохо делают деньги, продавая копеечные детали втридорога, то интересно попробовать собрать самому более или менее сложное устройство не вкладывая в это дело слишком уж много, но это как пойдет.
Но в любом варианте – это хобби, которое должно приносить радость от преодоления трудностей, чем более трудностей, тем интереснее их преодолевать.
Ведь не зря альпинисты карабкаются на высокие и самые недоступные скалы, просто пройтись по ближайшей сопке не интересно.
А какие трудности, если нужно просто вставить один разъемчик в другой? Вот спаять нечто новое, да еще и непростое, много интереснее.
И так, если совсем с нуля изучать, то лучше взять оценочную плату. Их много, с разными контроллерами, которых тоже вариантов предостаточно. Интересно посмотреть самый дешевый и попробовать его на зуб, в смысле приложить к нему паяльник или что там получится получится.
Я поигрался с несколькими оценочными платами и понял, что они довольно разные. Нужно подбирать под задачу. Но чтобы разобраться в контроллере, а затем использовать его в разработках нужна оценочная плата. А сделать оценочную плату своими руками – двойное удовольствие.
Миниатюрный корпус STM32F030F4P6, такие паяются либо феном, либо тонким, очень тонким паяльником
Но для начала возьмем самый простой STM32. Самый простой (и самый дешевый) контроллер STM32F030F4P6 в корпусе TSSOP20 – 20 контактов в Чипе-Дипе 75 рублей (о, дайте два!), хотя у китайцев можно найти и дешевле. До скачка доллара вообще 20 рублей стоил.
Корпус только под пайку, причем достаточно мелкую SMD. Поэтому есть в чем потренироваться. Кроме оценки возможностей контроллера здесь можно пробовать во-первых проектирование платы Eagle (он бесплатен).
Опять же проба лазерно-утюжной технологии (ЛУТ) изготовления платы, да и пайка SMD и TSSOP20 после обычных деталей чувствуешь себя Левшой, которому нужно подковать блоху.
Начинаем с проекта. Я уже столкнулся с тем, что контроллеры STM32 все разные. У одного есть одни возможности у другого-другие. Поэтому для конкретного устройства нужен конкретный контроллер.
К примеру, в STM32F030F4P6 есть часы реального времени, но в корпусе TSSOP20 нет выводов под часовой кварц 32768 , хотя можно подключить кварц на 8 Мгц. Как будут работать часы от этого кварца? Нужно пробовать.
И будут ли вообще работать эти китайские кварцы…
Это будет небольшая плата типа Maple Mini , которая кстати, 450 рублей – сравнима или даже дешевле многих Ардуинок. И к тому же довольно компактна, но у меня будет совсем простая, ни пользовательских кнопок, ни светодиодов, для первого раза мне и этого вполне достаточно. Хотя один светодиод все-таки будет. Непосредственно на питание.
Питание от USB разъема, поскольку контроллер питается 3.3V, то нужно ставить стабилизатор, закуплен MC33269DT-3.3G, долго крутил его на плате – размер великоват для маленькой игрушки, да и нет необходимости в 800 мА питания как заявлено, поэтому решил воспользоваться LP2985AIM5-3.3.
Миниатюрный, но и держит всего 150мА, хотя для контроллера и тестов должно хватить.
схема платки для STM32F030F4P6, простейшая, стабилизатор, питание от USB и кварц (нажать для увеличения)
У этого контроллера нет поддержки USB, поэтому заливать прошивку его придется через программатор, для которого предусмотреть отдельные выводы сверху. И следовательно. к USB можно подключить только питание.
Большинство контактов контроллера будут выходить на гребенку. Сделаем практически стандартную широкую на 24 контакта, некоторые будут незадействованы, но это ничего.
Единственное, к питанию нужны конденсаторы, тоже SMD для компактности, хотя они даже для SMD не такие компактные, как хотелось бы. Согласно схеме тут нужно довольно много, вот поэтому и не влезал большой стабилизатор, а увеличивать платку не хотелось.
Как соберу, так посмотрим на сколько маленький стабилизатор будет хорошо работать.
Плата Eagle для STM32
Помня, что контроллеры очень чувствительны к помехам, постарался землю самого контроллера вести прямо от USB, а остальное уже по широкой земле на обратной стороне платы.
Земля очень широкая, обходит плату с двух сторон, только посередине пришлось воткнуть конденсаторы питания. Сверху они не помещались. Вот схема и плата.
Плата сделана под ЛУТ, постарался везде, где только можно поставить широкие дорожки, но на контроллер все равно 0.3 мм, посмотрим, как будет переводится утюгом. Файл для Eagle можно скачать тут
Уже после распайки выяснилось, что один проводок забыл развести. Это соединение 3-1 вывод на стабилизаторе. Поскольку стабилизатор с выключателем, то либо нужно было ставить выключатель, либо коротить на питание.
Ножки разъема Jtag нужно было бы сделать подряд, а получилось так, что простым шлейфом на четыре ноги не подключить, нужно переставлять проводки.
Благо у меня есть шлейф, где проводки отдельные и их можно коммутировать как угодно.
Кварц завелся нормально, только поставил резистор между ним и контроллером 1Ком. Согласно рекомендациям Oscillator design guide для STM32 нужен не всегда, но позволяет устранить возможный паразитный запуск на гармониках.
Номинал рассчитывается по формуле из того же гайда:
R = 1/(2*3.14*F*C)
где F – частота кварца в герцах С- емкость нагрузочного конденсатора, подставляем F – 8Мгц (восемь миллионов герц) С-18Пф и получаем 1.1 КОм. Я поставил 1 КОм.
Продолжение как эта плата паялась, и какие ошибки в дизайне затруднили пайку, можно почитать здесь>>
Вот что получилось из платы для STM32F030F4P6 непосредственно для печати
Источник: http://journal.caseclub.ru/2015/12/05/plata-stm32f030f4p6/
Микроконтроллеры STM32F030
Также как и другие производители, STM озабочена все еще высокой популярностью 8-ми разрядных микроконтроллеров. Хотя на замену уже предлагается множество вариантов систем, разработчики выдают все новые модели.
Одним из таких проектов стала серия микроконтроллеров STM32F03x. Она пришла на замену STM32F05x и во многих публикациях уже получила громкое имя вроде «Убийцы AVRок».
Тем не менее, при детальном рассмотрении не все так безоблачно, как того хотят рекламные заявления.
Производитель позиционирует микроконтроллеры STM32F03x как микросхемы начального уровня. При этом по многим возможностям эти устройства могут конкурировать и с другими, более серьезными моделями. В частности их производительность составляет 38 DMIPS, что превышает показатели STM32L1 равные 33 DMIPS.
Микроконтроллеры построены вокруг ядра серии Cortex-M0, способного работать на частоте 48МГц. Объем памяти варьируется в зависимости от модели, в диапазоне от 16кБ для Flash памяти и 4кБ RAM, до 64кБ Flash и 8 кБ RAM соответственно. Внутренняя структура повторяет традиционную схему STM32.
Благодаря этому достигается высокая преемственность моделей и упрощается переход с одной серии на другую. Набор периферийных устройств также традиционен: порты ввода вывода, разнообразные таймеры, 12-битный АЦП, встроенный генератор тактового сигнала, часы реального времени, интерфейсы SPI, I2C, USART.
Особых новшеств по сравнению с другими микроконтроллерами от STM не наблюдается. Тем не менее, высокая производительность и широкий набор периферийных устройств делают эти микросхемы привлекательной заменой 8-ми разрядных моделей. Этому же способствует и предельно низкая стоимость. Производителем заявлена цена в 0.32$.
Естественно, что в рознице она будет выше, тем не менее, величина вполне сопоставима, а в некоторых случаях и лучше цены 8-ми разрядных процессоров.
Модель | Flash(Кб) | RAM(Кб) | Корпус | Таймеры | АЦП | ЛинииВвода/вывода | Интерфейсы | ||
SPI | I2C | USART | |||||||
STM32F030F4 | 16 | 4 | TSSOP20 | 4х16-бит | 1х12-бит | 15 | 1 | 1 | 1 |
STM32F030C6 | 32 | 4 | LQFP48 | 4х16-бит | 1х12-бит | 39 | 1 | 1 | 1 |
STM32F030K6 | 32 | 4 | LQFP32 | 4х16-бит | 1х12-бит | 26 | 1 | 1 | 1 |
STM32F030C8 | 64 | 8 | LQFP48 | 6х16-бит | 1х12-бит | 39 | 2 | 2 | 2 |
STM32F030R8 | 64 | 8 | LQFP64 | 6х16-бит | 1х12-бит | 55 | 2 | 2 | 2 |
Напряжение питания процессоров лежит в диапазоне от 2.4 до 3.6В. Потребляемый ток зависит от режима работы. В спящем режиме он заявлен на уровне 3.4мкА, в рабочем составляет 250мкА на МГц. Следует учитывать, что потребляемый ток также зависти от количества используемых модулей микроконтроллера и приведенные цифры скорее ориентировочны.
Расположение выводов stm32f030 |
Главным новшеством стало появление в серии STM32F0хх корпуса типа TSSOP-20. Хотя его размеры меньше серий SO и тем более DIP, он более пригоден для ручной пайки, что может обеспечить дополнительную популярность среди любителей. К сожалению, процессор STM32F030F4, несколько обрезан по сравнению с основной серией.
В частности это касается одного из самых интересных блоков – часов реального времени (RTC).
Наличие этого устройства изначально выделяло микроконтроллеры STM32 из ряда других систем, позволяло не использовать дополнительные микросхемы, а также давало возможность реализовывать несколько интересных алгоритмов, связанных с часами.
В рассматриваемом процессоре блок RTC также есть, но отсутствуют линии подключения внешнего резонатора и питания часов от резервной батареи. Если с первой проблемой еще как-то можно справиться, переключив источник частоты на основной генератор, то при пропадании питания часы работать перестанут.
Как было сказано выше, особых новшеств в серии не представлено. С одной стороны хотелось бы увидеть что-то наподобие полного ремаппинга портов, как в LPC810, с другой полная преемственность с другими, в том числе и более мощными, моделями.
Это дает микроконтроллерам большое преимущество при их освоении. Переход с одной серии STM32 на другую особых проблем не представляет, так как все устройства имеют идентичную структуру. Некоторые отличия в аппаратной части можно считать незначительными.
Для быстрого старта производитель традиционно предлагает дешевые отладочные платы серии Discovery. Новинкой стала плата Nucleo, объединившая в себе идеологию Discovery, форм-фактор Arduino и программирование mBed.
К сожалению, (возможно пока) данная плата не поддерживает среду разработки Arduino IDE, что, скорее всего, сделало бы ее новым хитом.
Если подвести итог, то серия STM32F03x представляет собой упрощенный и предельно удешевленный вариант микроконтроллеров STM32.
Попытка использовать новый корпус конечно хороша, но ее реализация далека от удачной.
В итоге использовать данные микроконтроллеры логично только в приложениях, критичных к цене, что кстати, и рекомендует производитель. Пока полноценного «убийцы» 8-ми разрядных систем у STM не получилось.
You have no rights to post comments
Источник: https://mcucpu.ru/index.php/ucontrollers/mcu/167-mikrokontrollery-stm32f030
Отладочная система IAR STM3210E-SK/IAR
STM3210E-SK/IAR – отладочная система на базе мощного Cortex-M3 микроконтроллера STM32F103ZE фирмы STMicroelectronics. В качестве среды разработки предлагается IAR EWARM с полным доступом ко всем ресурсам микроконтроллера, включая отладку и программирование. Интегрированный JTAG-эмулятор J-LINK.
Отличительные особенности:
- установленный микроконтроллер STM32F103ZET6: 72 МГц Cortex-M3, 512 кБ Flash памяти программ, 64 кБ SRAM, 12-разрядный 21-канальныйх АЦП, 8 16-разрядных таймеров, USB, CAN, 5xUSART, 3xSPI, 2xI2S, 112 I/O, LQFP144;
- интегрированный отладчик J-LINK с USB-интерфейсом;
- разъемы для подключения внешнего JTAG-эмулятора и трассировщика;
- разъем UEXT для подключения плат расширения OLIMEX;
- схема управления шаговым двигателем L298P;
- шаговый двигатель;
- цветной TFT-дисплей 128х128;
- USB-интерфейс микроконтроллера;
- два порта RS-232;
- CAN-интерфейс;
- посадочные места для дочерних модулей функционального расширения;
- периферия пользователя: 2 кнопки, 4 светодиода, выход на наушники, зуммер, джойстик, потенциометр, макетное поле с шинами питания;
- стабилизатор напряжения.
Основные параметры
Параметр | Значение |
Интерфейс подключения | USB / ARM-JTAG / J-LINK |
Ядро базового компонента | Cortex-M3 |
Разрядность, бит | 32 |
Базовый компонент | STM32F103ZET6 |
Вспомогательный компонент | STM32F103C8T ST3232 LIS3LV02DL STCN75DS L298P SN65HVD230 LD1085D2M TS4871IDCS4344-CZZ |
Комплектация:
- отладочная плата с интегрированным USB-JTAG-отладчиком,
- USB-кабель,
- диск с программным обеспечением EWARM KickStart, техническими описаниями и демонстрационными кодами.
Принципиальная схема отладочной платы
iar.com
Варианты написания:
KSKSTM32F103ZE, STM3210ESK/IAR, KSK STM32F103ZE, STM3210E SK/IAR, KSK-STM32F103ZE STM3210E-SK/IAR, KSK-STM32F103ZE STM3210E-SK/IAR
Терраэлектроника
На английском языке: Development kit IAR KSK-STM32F103ZE
Источник: https://www.rlocman.ru/op/tovar.html?di=65565&/KSK-STM32F103ZE
Установка IAR
Мы продолжаем изучение программирования микроконтроллеров STM32.
Прежде всего познакомимся с фирмой производителем — ST Microelectronics.
Переходим в раздел Products -> Microcontrollers. Выбираем вкладку STM32 ARM Cortex.
Фирма ST производит микроконтроллеры STM32 в трех основных сегментах:
- Ультранизкопотребляющие
- Общего назначения
- Высокопроизводительные.
На данной схеме указано соответствие названия микроконтроллера и ядра ARM Cortex, примененного в нем.
Микроконтроллер STM32F303VCT6, с которым нам предстоит познакомиться поближе, стоит в самой середине указанной схемы и может работать на тактовой частоте до 72 МГц. Производительность микроконтроллера оценена в 90 миллионов операций в секунду.
На страницах с описанием микроконтроллеров каждого семейства обозначены основные периферийные модули, а также приведены базовые линейки микроконтроллеров этого семейства.
Зайдем на страницу линейки STM32F303 и посмотрим на позиционирование микроконтроллеров в зависимости от объема Flash-памяти программ и корпусного исполнения.
Микроконтроллер STM32F303VC обладает объемом Flash памяти 256 килобайт и конструктивно выполнен в 100-выводном корпусе. На отладочной плате установлен корпус LQFP.
На странице микроконтроллера имеется обзорная документация на соответствующий микроконтроллер – так называемый Data Sheet.
Скачиваем его.
Здесь приведены основные технические характеристики микроконтроллера, его внутренняя структура, цоколевка или назначение выводов корпуса микроконтроллера, а также особенности подключения и использования периферийных модулей. К сожалению, вся документация – на чистейшем английском языке.
Кроме того, нам может потребоваться руководство по использованию микроконтроллера – Reference Manual, которое, как правило, является общим для всего семейства микроконтроллеров.
Здесь уже содержится более 1000 страниц с описанием различных режимов работы периферийных модулей и настройки служебных регистров для их использования.
Из документов нам еще понадобится документация на саму отладочную плату Discovery. Найти ее можно по этой ссылке. И скачиваем на эту плату руководство пользователя – User Manual, где в конце приводится принципиальная схема, содержащая все подключения элементов на плате.
Для установки средств разработки выбираем вкладку STM32 Software Development Tools.
При выборе средств разработки мы остановимся на программном пакете IAR. Переходим на сайт IAR. Проходим по ссылке Tools for ARM. Раскрываем меню Download a free trial и
загружаем программу.
Пакет IAR может использоваться в двух режимах – это
- режим 30-дневной полнофункциональной версии
- режим с ограничением по объему компилируемого кода.
Для STM32 это 32 килобайта кода (из имеющихся 256 килобайт Flash-памяти). Но для учебных задач вполне достаточно, поэтому будем использовать именно этот вариант. Запускаем скачанный архив и переходим в раздел Install IAR Embedded Workbench.
Программа IAR начинает свою установку. Принимаем лицензионное соглашение и указываем папку, куда будет установлена среда разработки. Можно оставить по умолчанию. Дальше нам предлагается выбрать драйвера USB-устройств, которые нам понадобятся.
Поскольку мы будем пользоваться программатором ST-link, я рекомендую убрать остальные драйвера, что немного ускорит процесс установки. Далее идет предупреждение о создании соответствующей папки в Program Files. И переходим к установке. Ждем пока установщик скопирует все требуемые файлы. Dongle-драйвер можно не ставить.
Далее нам предлагается установить STlink USB драйвер. Запускается мастер установки, нажимаем «Далее», и копируются файлы драйвера.
Устанавливаем программное обеспечение для STM микроконтроллеров, и на этом программа IAR завершает свою установку. Теперь устанавливаем лицензионную информацию. Запускаем IAR License Manager, и нам предлагается ввести лицензионный ключ. Для этого необходимо зарегистрировать продукт на сайте IAR Systems. Если Вы уже имеете лицензионный ключ, можете ввести его.
Если нет, переходим на сайт. Регистрация бесплатная. И нажимаем кнопку Register. В соответствующей форме вводим тип лицензии – code size limited и заполняем обязательные поля. E-mail необходимо указать корректно, поскольку туда придет подтверждающее письмо.
Также требуется указать отрасль, в которой будет применяться среда разработки IAR и указать производителя микроконтроллеров, для которых мы планируем применять эту среду – ST Microelectronics. Отвечаем на несколько вопросов и подтверждаем регистрацию. Получаем соответствующее письмо подтверждения на указанный адрес электронной почты.
Проходим по указанной ссылке и получаем лицензионный номер. Этот номер нужно ввести в окне регистрации. В окне регистрации нажимаем «Далее» … и подтверждаем лицензионный ключ.
Лицензия успешно активирована, программа IAR готова к работе. Можем запустить IAR Systems. Выбираем язык интерфейса и видим окно среды разработки.Слева – рабочая область проекта.
Справа – код программы, и снизу – окно состояния проекта, где будут выводиться предупреждения и ошибки компиляции.
Назад: Программирование STM32
Источник: https://prog-cpp.ru/stm32-iar/
STM32F030F4P6
Целевое напряжение, В | 3.3 / 5.0 |
Напряжение питания, В | 5.0 |
Источник питания | внешний / USB |
|
detector |
Adblock