Перейти к содержанию

STM32F2: микроконтроллеры на Cortex-M3 до 120 МГц

STM32F2 — семейство STM32 на ядре Cortex-M3 с частотой до 120 МГц: предшественник STM32F4 с тем же расположением выводов, мультиплексором альтернативных функций и большей частью периферии, но без FPU. Здесь — сравнение линеек, главное из reference manual и страницы с распиновкой каждого микроконтроллера в каждом корпусе.

STM32F2 — семейство микроконтроллеров STMicroelectronics на ядре Arm Cortex-M3 с частотой до 120 МГц (RM0033). По набору периферии и выводам оно стоит между STM32F1 и STM32F4: мультиплексор альтернативных функций на каждой линии, USB OTG Full Speed и High Speed, два CAN, SDIO, контроллер внешней памяти FSMC, у старших линеек — Ethernet. В разделе 16 страниц для 47 исполнений в 7 корпусах, 4 линейки: у каждого сочетания микроконтроллера и корпуса — своя страница со схемой выводов и номерами альтернативных функций.

Линейки STM32F2

Значения в таблице собраны из записей базы ST: частота — максимальная для линейки, память — от наименьшего до наибольшего исполнения.

ЛинейкаЯдро, частотаФлеш-памятьОЗУКорпусаЧем выделяется
STM32F205Cortex-M3, до 120 МГц128 КБ – 1 МБ64 КБ – 128 КБEWLCSP66, LQFP64, LQFP100, LQFP144, WLCSP66USB OTG FS, USB OTG HS, CAN, SDIO, FSMC, DAC, I²S, RNG
STM32F207Cortex-M3, до 120 МГц256 КБ – 1 МБ128 КБLQFP100, LQFP144, LQFP176, UFBGA176USB OTG FS, USB OTG HS, CAN, Ethernet, SDIO, FSMC, DAC, I²S, DCMI, RNG
STM32F215Cortex-M3, до 120 МГц512 КБ – 1 МБ128 КБLQFP64, LQFP100, LQFP144USB OTG FS, USB OTG HS, CAN, SDIO, FSMC, DAC, I²S, CRYP, HASH, RNG
STM32F217Cortex-M3, до 120 МГц512 КБ – 1 МБ128 КБLQFP100, LQFP144, LQFP176, UFBGA176USB OTG FS, USB OTG HS, CAN, Ethernet, SDIO, FSMC, DAC, I²S, DCMI, CRYP, HASH, RNG

Все четыре линейки описывает один reference manual RM0033. По данным ST у STM32F2x7 — STM32F207 и F217 — есть MAC Ethernet и интерфейс камеры DCMI, у STM32F2x5 — F205 и F215 — их нет. Линейки с цифрой 1 во втором разряде (F215, F217) добавляют аппаратную криптографию: раздел RM0033 о блоке хеширования HASH относится только к STM32F21x.

Тактирование и питание

После сброса ядро работает от внутреннего RC-генератора HSI на 16 МГц; для максимальной частоты 120 МГц включают PLL от HSE или HSI. Шина APB2 работает не быстрее 60 МГц, APB1 — не быстрее 30 МГц (RM0033, 2.2). USB OTG FS, SDIO и генератор случайных чисел тактируются от второго выхода PLL на 48 МГц, а для интерфейса I²S есть отдельный PLLI2S.

Число тактов ожидания флеш-памяти зависит не только от частоты, но и от напряжения питания (RM0033, табл. 3):

Частота HCLK2,7–3,6 В2,4–2,7 В2,1–2,4 В1,8–2,1 В
0 тактов ожиданиядо 30 МГцдо 24 МГцдо 18 МГцдо 16 МГц
1до 60 МГцдо 48 МГцдо 36 МГцдо 32 МГц
2до 90 МГцдо 72 МГцдо 54 МГцдо 48 МГц
3до 120 МГцдо 96 МГцдо 72 МГцдо 64 МГц
4—до 120 МГцдо 90 МГцдо 80 МГц
5——до 108 МГцдо 96 МГц
6——до 120 МГцдо 112 МГц
7———до 120 МГц

Ускоритель ART — очередь предвыборки и кеш переходов перед флеш-памятью — даёт исполнение кода на 120 МГц практически без ожидания (RM0033, 2.3.5). Питание — от 1,8 до 3,6 В, ядро получает 1,2 В от встроенного стабилизатора. ОЗУ — 128 КБ (у младших исполнений меньше) и 4 КБ резервной SRAM, которая вместе с часами RTC сохраняется от батарейки на выводе VBAT (RM0033, 2.3.1 и 4.1). Делители таймеров и скорость UART от выбранных частот считают калькулятор таймера и калькулятор UART.

Выводы STM32F2: альтернативные функции и загрузка

Как у STM32F4, у каждой линии порта мультиплексор на шестнадцать функций: режим задаёт GPIOx_MODER, номер функции AF0–AF15 — регистры GPIOx_AFRL (линии 0–7) и GPIOx_AFRH (линии 8–15); AF15 — выход EVENTOUT ядра (RM0033, раздел GPIO). Аналоговые входы АЦП и выводы генераторов номера AF не имеют.

Режим загрузки выбирают выводы BOOT0 и BOOT1 (RM0033, табл. 4):

BOOT1BOOT0Откуда старт
любой0флеш-память
01системная память — встроенный загрузчик
11встроенная SRAM

BOOT1 совмещён с выводом порта и после чтения при сбросе свободен для других задач. Загрузчик программирует флеш-память через USART1, USART3, CAN2 и USB OTG FS в режиме DFU (RM0033, 2.4; AN2606, табл. 51 и 53).

Все STM32F2 по корпусам

STM32F205 — Cortex-M3, до 120 МГц

МикроконтроллерКорпусФлеш-памятьОЗУЛиний ввода-вывода
STM32F205RB, STM32F205RC, STM32F205RE, STM32F205RF, STM32F205RGLQFP64128 КБ / 256 КБ / 512 КБ / 768 КБ / 1 МБ64 КБ / 96 КБ / 128 КБ51
STM32F205RE, STM32F205RGWLCSP66512 КБ / 1 МБ128 КБ51
STM32F205RGEWLCSP661 МБ128 КБ51
STM32F205VB, STM32F205VC, STM32F205VE, STM32F205VF, STM32F205VGLQFP100128 КБ / 256 КБ / 512 КБ / 768 КБ / 1 МБ64 КБ / 96 КБ / 128 КБ82
STM32F205ZC, STM32F205ZE, STM32F205ZF, STM32F205ZGLQFP144256 КБ / 512 КБ / 768 КБ / 1 МБ96 КБ / 128 КБ114

STM32F207 — Cortex-M3, до 120 МГц

МикроконтроллерКорпусФлеш-памятьОЗУЛиний ввода-вывода
STM32F207IC, STM32F207IE, STM32F207IF, STM32F207IGUFBGA176256 КБ / 512 КБ / 768 КБ / 1 МБ128 КБ140
STM32F207IC, STM32F207IE, STM32F207IF, STM32F207IGLQFP176256 КБ / 512 КБ / 768 КБ / 1 МБ128 КБ140
STM32F207VC, STM32F207VE, STM32F207VF, STM32F207VGLQFP100256 КБ / 512 КБ / 768 КБ / 1 МБ128 КБ82
STM32F207ZC, STM32F207ZE, STM32F207ZF, STM32F207ZGLQFP144256 КБ / 512 КБ / 768 КБ / 1 МБ128 КБ114

STM32F215 — Cortex-M3, до 120 МГц

МикроконтроллерКорпусФлеш-памятьОЗУЛиний ввода-вывода
STM32F215RE, STM32F215RGLQFP64512 КБ / 1 МБ128 КБ51
STM32F215VE, STM32F215VGLQFP100512 КБ / 1 МБ128 КБ82
STM32F215ZE, STM32F215ZGLQFP144512 КБ / 1 МБ128 КБ114

STM32F217 — Cortex-M3, до 120 МГц

МикроконтроллерКорпусФлеш-памятьОЗУЛиний ввода-вывода
STM32F217IE, STM32F217IGUFBGA176512 КБ / 1 МБ128 КБ140
STM32F217IE, STM32F217IGLQFP176512 КБ / 1 МБ128 КБ140
STM32F217VE, STM32F217VGLQFP100512 КБ / 1 МБ128 КБ82
STM32F217ZE, STM32F217ZGLQFP144512 КБ / 1 МБ128 КБ114

Перед разводкой платы сверяйте выводы с даташитом своего исполнения: в нём указаны допустимые напряжения на выводах (толерантные к 5 В помечены FT), токи и номиналы внешних компонентов.

Частые вопросы

Чем STM32F2 отличается от STM32F4?

Ядром: у STM32F2 Cortex-M3 без блока вычислений с плавающей точкой и частота до 120 МГц, у STM32F4 — Cortex-M4 с FPU и командами DSP. Расположение выводов, мультиплексор альтернативных функций AF0–AF15 и многие периферийные блоки у STM32F205/F207 и STM32F405/F407 похожи, поэтому на страницах микроконтроллеров в списке похожих по выводам встречаются STM32F4.

Чем STM32F207 отличается от STM32F205?

По данным ST у линейки STM32F2x7 (F207 и F217) есть MAC Ethernet и интерфейс камеры DCMI, у STM32F2x5 (F205 и F215) их нет. Остальная периферия — USB OTG FS и HS, два CAN, SDIO, FSMC, АЦП и ЦАП — у обеих линеек общая; наличие сигналов зависит ещё и от корпуса.

Сколько тактов ожидания флеш-памяти нужно STM32F2 на 120 МГц?

Зависит от напряжения питания. По табл. 3 RM0033 при 2,7–3,6 В на 120 МГц нужно 3 такта ожидания, при 2,4–2,7 В — 4, при 2,1–2,4 В — 6, при 1,8–2,1 В — 7. Ускоритель ART с очередью предвыборки и кешем переходов позволяет при этом исполнять код из флеш-памяти почти без задержек (RM0033, 2.3.5).

Как запустить встроенный загрузчик STM32F2?

При сбросе подают BOOT0 = 1 и BOOT1 = 0 — стартует системная память (RM0033, табл. 4). Загрузчик принимает прошивку через USART1, USART3, CAN2 или USB OTG FS в режиме DFU; для CAN и USB нужен кварц HSE с частотой, кратной 1 МГц, от 4 до 26 МГц (RM0033, 2.4).