STM32F7: новый флагман – новые горизонты
Долгое время семейство контроллеров STM32F4 удерживало лидерство по производительности среди всех изделий STMicroelectronics. Однако новые контроллеры STM32F7 имеют вдвое большую производительность и еще более богатую периферию.
Компания STMicroelectronics продолжает удерживать лидерство в освоении процессорных ядер ARM Cortex-M. До недавнего времени в номенклатуре компании насчитывалось семь семейств микроконтроллеров на их основе:
- семейства базового сегмента: STM32F0 (48 МГц, Cortex-M0), STM32F1 (72 МГц, Cortex-M3), STM32F3 (72 МГц, Cortex-M4);
- семейства с пониженным потреблением: STM32L0 (32 МГц, Cortex-M0+), STM32L1 (32 МГц, Cortex-M3), STM32L4 (84 МГц, Cortex-M4).
- семейства с повышенной производительностью: STM32F2 (120 МГц, Cortex-M3), STM32F4 (84…180 МГц, Cortex-M4).
Теперь к ним добавились микроконтроллеры STM32F7. Это событие чрезвычайно важно по двум причинам. Во-первых, STM32F7 – настоящий технологический прорыв, так как это первое в мире общедоступное семейство микроконтроллеров на базе ядра ARM Cortex-M7. Во-вторых, теперь именно контроллеры STM32F7, обойдя STM32F42/STM32F43, являются флагманами в линейке изделий STMicroelectronics.
Еще 10 лет назад на рынке главенствовали 8-битные микроконтроллеры с рабочими частотами до 20…25 МГц. Затем на него с триумфом ворвались 32-битные системы. Контроллеры STM32F1 с высочайшей, по тем временам, рабочей частой до 72 МГц и богатейшей периферией казались верхом совершенства. Но технологии развивались, и STMicroelectronics, выпуская новые семейства, приучила нас к постоянному увеличению производительности. После STM32F1 появились STM32F2, а затем и STM32F4.
Представители последней линейки STM32F42x/STM32F43x до недавнего времени были топовыми в номенклатуре компании. Они работают на частотах до 180 МГц и имеют производительность 1,25 DMIPS/МГц (Dhrystone 2.1). В пике это давало до 225 DMIPS. Однако теперь этот рекорд пал под натиском STM32F7.
STM32F7 – новое высокопроизводительное семейство, построенное на сверхсовременном ядре ARM Cortex-M7. Эти микроконтроллеры, работая на частотах до 216 МГц, выдают пиковую производительность 462 DMIPS, что в два раза больше, чем у STM32F4 (рисунок 1). При этом значения энергоэффективности оказываются достаточно близкими.
Рис. 1. STM32F7 – новый флагман STMicroelectronics
STM32F7: быстрее, выше, сильнее
Прежде чем пускаться в описание тонкостей архитектуры новых микроконтроллеров, стоит выделить их ключевые достоинства. Лучшим способом для этого будет сравнение STM32F7 с прошлыми топовыми линейками STM32F42x и STM32F43x.
STM32F42x и STM32F43x обладают рядом достоинств. Во-первых, они построены на базе процессорного ядра ARM Cortex-M4 и могут работать на частотах до 180 МГц с пиковой производительностью 225 DMIPS. Во-вторых, представители семейства содержат на борту до 2 Мбайт Flash и до 256 кбайт ОЗУ. При этом есть возможность поддержки внешней памяти (в том числе и SDRAM) за счет контроллера FMC. В третьих, до появления STM32F7 периферия флагманского STM32F439 была самой богатой среди всех контроллеров STMicroelectronics (рисунок 2). В ее состав входили блоки, которые в принципе отсутствовали в других семействах, например, TFT-LCD-контроллер, аудио интерфейс SAI.
Рис. 2. Структура STM32F439 – бывшего флагмана STMicroelectronics
Несмотря на все достоинства STM32F42х/STM32F43х, новое флагманское семейство STM32F7 обходит предшественников практически по всем показателям. Это становится очевидным при сравнении топовых представителей обоих семейств: STM32F439 и STM32F756 (рисунок 3).
Рис. 3. Структура STM32F756 – нового флагмана STMicroelectronics
На рисунке 3 цветом выделены важные особенности, обеспечивающие лидерство STM32F756:
- новое процессорное ядро ARM Cortex-M7, имеющее производительность 2,14 DMIPS/МГц, что почти в два раза больше, чем у ARM Cortex-M4. STM32F756 работают на частотах до 216 МГц с пиковой производительностью до 462 DMIPS;
- еще больше возможностей при работе с периферией и памятью за счет новой шинной архитектуры с шиной AXIM и мостом AXIM-AHB;
- увеличенный объем ОЗУ до 320 кбайт + 16 кбайт ITCM JPE (Instruction Tighly Coupled Memory);
- появление новых периферийных блоков: DualQuadSPI – контроллер для работы с Dual или Quad Flash, HDMI-CEC – блок управления мультимедийными и другими устройствами, SPDIF – контроллер для приема цифровых звуковых потоков, LPTIM – таймер для работы в режимах с пониженным потреблением;
- расширение количества стандартной периферии. STM32F756 опережает STM32F439 по числу таймеров, интерфейсов SAI, I2C, I2S.
Стоит отметить и еще одно достоинство STM32F7 – повыводную совместимость с STM32F4. STM32F745xx и STM32F746xx имеют одинаковую распиновку для большинства корпусов: LQFP144, LQFP176, LQFP208, TFBGA216, UFBGA176, WLCSP143. Единственным исключением является LQFP100.
Вывод: контроллеры STM32F7 не только быстрее предшественников, но и дают дополнительную гибкость, а также имеют еще более широкие возможности по применению. И при всем этом они могут заменить STM32F4 в уже существующих схемах.
Где же может потребоваться вся доступная вычислительная мощь и способности STM32F7? При разработке этих контроллеров инженеры STMicroelectronics ориентировались, в первую очередь, на следующие приложения:
- приводы двигателей и системы управления;
- промышленные пульты операторов, ПЛК и различные функциональные блоки ЧПУ;
- медицинское оборудование, в том числе – с дисплеями;
- офисная техника: принтеры, сканеры, МФУ;
- системы безопасности, в том числе – с видеонаблюдением;
- системы климат-контроля;
- бытовая техника;
- мобильные приложения и «Интернет вещей»;
- портативная электроника, например, умные часы и тому подобное.
216 млн ударов в секунду: сверхбыстрое «сердце» ARM Cortex-M7
ARM Cortex-M7 – самая производительная платформа среди всех ядер Cortex-Mx, предназначенных для встраиваемых систем. Оно было создано для бюджетных платформ – микроконтроллеров с малым числом выводов, небольшим энергопотреблением, но с высокой производительностью.
Стоит сразу отметить, что, как и в случаях с другими процессорными ядрами, спецификация ARM Cortex-M7 подразумевает множество опций. Каждый производитель сам вправе решать, какие опции присутствуют, а какие нет. Например, блок вычислений с плавающей точкой (FPU) вовсе не является обязательным, однако во всех реализациях STM32 на ядрах Cortex-M4/M7 от STMicroelectronics он присутствует.
Основными особенностями ARM Cortex-M7 являются:- суперскалярная архитектура с динамическим предсказанием;
- шестиступенчатый конвейер с двойной выборкой;
- система команд ARMv7-M Thumb;
- кэш памяти с гарвардской структурой: 4 кбайта памяти команд I-cache, 4 кбайта памяти данных D-cache;
- работа в режимах “Thumb” и “Debug”;
- наличие нескольких интерфейсов памяти: 64-бит Instruction Tightly Coupled Memory (ITCM), 64-бит AXI master (AXIM), 2×32-бит Data Tightly Coupled Memory (DTCM), AHB-Lite peripheral (AHBP);
- интегрированный контроллер векторов прерываний (NVIC);
- модуль защиты памяти (MPU);
- блок вычислений с плавающей запятой FPU.
Наличие нескольких шин памяти делает возможным одновременное выполнение двух команд чтения или одной команды записи и одной команды чтения.
Мощность ядра дополняет уникальная и эффективная шинная архитектура STM32F7, которая является одной из сильных сторон данного семейства.
Шинная архитектура микроконтроллеров STM32F7
Архитектура STM32F7 построена на двух ключевых элементах (рисунок 4):
- мост AXI-AHB, который преобразует четыре интерфейса AXIM в привычный AHB-Lite. При этом один интерфейс AXI используется для связи с 64-битной шиной AHB, подключенной к Flash-памяти, а три других AXI подключены к 32-битной шинной матрице multi AHB.
- 32-битная шинная матрица multi AHB.
Рис. 4. Шинная архитектура STM32F7
32-битная шинная матрица multi AHB соединяет между собой все ведущие и ведомые блоки. К ведущим относятся: ядро Cortex-M7 (через мост AXI-AHB), DMA1, DMA2, Ethernet DMA, USB OTG HS DMA, TFT-LCD Controller DMA, Chrom-Art Accelerator™ (DMA2D).
К ведомым относятся: 1 Мбайт Flash; 64 кбайт DTCM RAM (подключенная через AHBS к DMA); 240 кбайт SRAM1; 16 кбайт SRAM2; мосты AHB1-APB1 и AHB1-APB2; FMC; Quad SPI.
Шина AXIM (AXI Master) – 64-битная шина, используемая для подключения шины данных и шины команд ядра Cortex-M7 к шинной матрице multi AHB. Конечными устройствами для нее являются Flash, FMC, QuadSPI, SRAM1, SRAM2.
Шина ITCM (Instruction Tightly Coupled Memory) – 64-битная шина, необходимая процессору для сверхоперативного чтения и записи данных и команд из ITCM RAM, а также из Flash (через ускоритель ART).
Шина DTCM (Data Tightly Coupled Memory) – две 32-битные шины, необходимые процессору для максимально быстрой работы с данными и командами, хранящимися в DTCM RAM. 32-битная шина D1TCM используется для передачи старшего полуслова данных, а D0TCM – младшего.
Стоит отметить, что ОЗУ ITCM RAM и DTCM RAM доступны для контроллеров прямого доступа памяти посредством специальной шины AHBS (AHB slave).
Шинная матрица multi AHB используется также для связи Flash, ОЗУ, FMC, QuadSPI и периферийных блоков (через периферийные шины APB) посредством DMA-контроллеров.
Контроллеры прямого доступа памяти в STM32F7
Контроллер прямого доступа к памяти DMA (direct memory access) используется для ускоренного обмена данными между памятью и периферией, или памятью и памятью без участия процессорного ядра. В составе STM32F7 присутствуют два DMA общего назначения и индивидуальные DMA у некоторых периферийных блоков, требующих интенсивного обмена данными с минимальными задержками: Ethernet, USB, TFT-LCD-контроллер, Chrome-ART Accelerator.
Каждый из двух DMA-контроллеров общего назначения имеет по две 32-битных интерфейсных шины. Одна используется для связи с памятью (DMA_MEM), вторая – для связи с периферийными блоками через периферийные шины APB (DMA_P) (рисунок 4).
DMA имеют доступ ко всем типам памяти. Через шинную матрицу multi AHB возможен доступ к Flash, SRAM1, SRAM2, контроллерам внешней памяти FMC, Quad-SPI. С помощью специализированной шины ядра AHBS осуществляется обмен с ITCM RAM и DTCM RAM.
Интерфейсная 32-битная шина DMA_P используется для взаимодействия с периферийными блоками: Среди них SPI, I2S, I2C, USART, таймеры, ЦАП, АЦП, интерфейс камеры (DCMI), контроллер карт памяти (SDMMC), SAI, SPDIFRX, HDMI-CEC.
Каждый из двух DMA-контроллеров общего назначения имеет восемь независимых каналов. Каждый канал имеет буфер FIFO емкостью в четыре 32-битных слова. Для предотвращения коллизий используется арбитраж с четырьмя уровнями приоритета (Very high, High, Medium, Low).
Организация памяти в STM32F7
Архитектура STM32F7 содержит различные виды встроенной памяти и имеет возможность расширения за счет памяти внешней.
Все типы памяти организованы в виде общего линейного адресного пространства 4 Гбайт. Оно, в свою очередь, поделено на восемь блоков объемом 512 Мбайт.
Внутренняя память, а также регистры периферийных модулей размещены в начале адресного пространства в трех первых блоках (Block 0, Block 1, Block 2). Последний блок адресного пространства (Block 7) отведен под нужды процессорного ядра. Block 3, Block 4, Block 5, Block 6 используются для отображения внешней памяти.
Интегрированная память STM32F7 включает:
- Flash до 1 Мбайт,
- системное ОЗУ объемом 320 кбайт (SRAM1 + SRAM2 + DTCM RAM);
- ITCM-RAM 16 кбайт;
- теневое ОЗУ (backup SRAM) 4 кбайт;
- регистровую память.
Flash – энергонезависимая память объемом до 1 Мбайт, используемая для хранения программ и данных. Flash доступна для чтения, записи и стирания. Чтение производится с различной разрядностью: байт, полуслово (16 бит), слово (32 бит), двойное слово (64 бита). Стирание может быть полным или осуществляться по секторам.
Доступ к Flash имеет ядро Cortex-M7 и все типы DMA. Для этого ядро использует шину AXI (через мост AXI-AHB) и шину ITCM (через ART Accelerator) (рисунок 4). ART Accelerator – это кэш-память объемом 64 строки по 256 битов.
Контроллеры DMA используют для доступа к Flash шинную матрицу multi AHB.
Системное ОЗУ включает три составляющих: 320 кбайт SRAM1, 16 кбайт SRAM2, 16 кбайт DTCM RAM.
SRAM1 – ОЗУ общего назначения, используемое для хранения данных и программ. Доступ к этой памяти имеют все ведущие шинной матрицы multi AHB (рисунок 4). Так как разрядность multi AHB составляет 32 бита, то чтение и запись в SRAM1 осуществляется с разрядностью данных 8/16/32 бита.
SRAM2 – имеет все те же особенности, что и SRAM1, но меньший объем – 16 кбайт.
Наличие SRAM1 и SRAM2 позволяет распараллелить процессы пересылки данных. Например, процессор может проводить обмен с SRAM1, в то же время один из каналов DMA будет использовать SRAM2.
DTCM RAM – специализированное ОЗУ для обмена данными с нулевым числом циклов ожидания. Это важно для приложений, работающих в реальном времени.
Доступ к этой памяти напрямую возможен только для ядра с помощью 64-битной шины DTCM. Остальные ведущие шинной матрицы multi AHB имеют доступ к DTCM RAM только через специализированный интерфейс ядра AHBS (рисунок 4).
ITCM-RAM – специализированное ОЗУ для пользовательских программ, работающее также без задержек, с нулевым циклом ожидания. В отличие от других типов памяти, ITCM-RAM напрямую доступна только для ядра через 64-битнную шину ITCM (рисунок 4).
Backup SRAM (теневое ОЗУ) – специализированная память малого объема, которая применяется для хранения данных во время нахождений контроллера в режиме глубокого сна. В этом случае остальные типы памяти выключаются для снижения потребления.
Для подключения дополнительной внешней памяти используются контроллеры FMC (Flexible memory controller) и QuadSPI.
FMC содержит в своем составе сразу три контроллера и поддерживает различные виды статической и динамической памяти: SRAM, NOR/OneNAND Flash, PSRAM, NAND Flash, DRAM (SDRAM/Mobile LPSDR SDRAM).
QuadSPI применяют для подключения дополнительной DUAL и QUAD SPI-Flash.
Стоит отметить, что QuadSPI – новый блок, которого раньше не было ни в одном из контроллеров STM32.
Периферия STM32F7: еще больше возможностей
Все представители семейства STM32F7 имеют одинаковую архитектуру, ядро и организацию памяти. Отличие между ними заключается в разном корпусном исполнении, объеме Flash и перечне периферийных блоков. По набору доступной периферии все модели STM32F7 можно разделить на три линейки:
- STM32F745xx – линейка с базовым набором периферии;
- STM32F746xx – линейка с базовым набором периферии, TFT -LCD-контроллером и Chrom-ART Accelerator;
- STM32F756xx – линейка с базовым набором периферии, TFT -LCD-контроллером, Chrom-ART Accelerator и модулем шифрования.
Перечислим состав базового набора периферийных блоков:
- до 168 портов ввода/вывода общего назначения;
- контроллер внешней памяти FMC;
- контроллер внешней памяти QuadSPI;
- до трех 12-битных АЦП 2,4 MSPS;
- два 12-битных ЦАП;
- часы реального времени RTC;
- до двенадцати 16-битных таймеров. Два из них – с ШИМ и комплементарными выходами для управления двигателями;
- 16-битный таймер LPTIM, предназначенный для работы в режимах с пониженным потреблением;
- два 32-битных таймера;
- генератор случайных чисел RNG;
- до четырех I2C;
- до шести SPI;
- до трех I2S;
- до четырех USART и четырех UART;
- USB OTG high-speed с собственным DMA;
- USB OTG full-speed;
- два CAN-контроллера;
- два аудиоинтерфейса SAI;
- SDMMC-контроллер;
- 10/100 Ethernet MAC с собственным DMA;
- 8/14-битный интерфейс цифровой камеры с пропускной способностью до 54 Мбит/с;
- контроллер цифрового аудио SPDIFRX;
- контроллер HDMI-CEC;
- уникальный 96-битный идентификатор;
- системная периферия: до 16 каналов DMA, оконный и независимый сторожевые таймеры, система тактирования с ФАПЧ и RC-генераторами, системный таймер.
Как видим, набор периферии STM32F7 стал еще богаче по сравнению с топовыми моделями STM32F4. Среди новых блоков стоит отметить контроллер внешней памяти QuadSPI, контроллер цифрового аудио SPDIFRX, контроллер HDMI-CEC, 16-битный таймер LPTIM.
Рассмотрим новую периферию подобнее.
Обзор новых периферийных блоков STM32F7
Новая периферия дополнительно расширяет возможности по применению STM32F7.
Quad-SPI – контроллер внешней DUAL SPI-Flash и QUAD SPI-Flash-памяти. Такая Flash имеет до четырех входов/выходов данных (рисунок 5). Увеличенное количество линий данных позволяет значительно повысить скорость обмена.
Схема включения Quad-SPI и Flash достаточно проста (рисунок 5). В простейшем случае Quad-SPI может работать с Flash посредством обычного интерфейса SPI (на рисунке 5 этот случай отдельно не рассматривается). Больший интерес представляет случай подключения одной микросхемы DUAL и QUAD SPI-Flash (режим Single Flash Mode) и случай с двумя микросхемами, включенными параллельно (режим Dual Flash Mode).
Рис. 5. Подключение внешней Flash к QUADSPI
В режиме Single Flash Mode память подключается с использованием шести линий: CLK, BK_IO[3…0], BK_CS. В таком случае возможна одновременная передача четырех бит, если данные защелкиваются только по фронту или по срезу (Single Data Rate Mode). Если производить считывание данных по фронту и по срезу, то за один такт можно вычитывать до 8 бит (Double Data Rate Mode).
В режиме Dual Flash Mode используются две микросхемы Flash. При этом они имеют общие линии тактирования CLK и выбора кристалла BK_CS. А линии данных разделены. В таком случае скорость обмена составляет 16 битов за такт (Double Data Rate Mode).
Quad-SPI может работать в трех режимах: непрямой обмен с использованием регистров Quad-SPI; обмен по прерыванию с постоянным опросом статусного регистра внешней Flash; отображение внешней Flash на адресное пространство контроллера.
Важным достоинством Quad-SPI является возможность использования DMA.
SPDIF Receiver Interface (SPDIFRX) – контроллер, используемый для приема цифрового аудио S/PDIF. Этот протокол соответствует IEC-60958 и используется для передачи цифровых стерео-аудиопотоков и даже Dolby и DTS.
Ключевыми особенностями SPDIF являются (рисунок 6):
- до четырех входов;
- автоматическое определение частоты передачи символов;
- максимальная частота передачи до 12,288 МГц;
- соответствие требованиям IEC-60958 и IEC-61937 для потребительской электроники;
- контроль четности;
- поддержка прерываний;
- поддержка двух каналов DMA: для передачи аудиоданных и служебной информации.
Рис. 6. Блок-схема контроллера S/PDIF
HDMI-CEC (HDMI-CEC) – контроллер, обеспечивающий поддержку стандарта CEC (Consumer Electronics Control), который входит в состав стандарта HDMI (High-Definition Multimedia Interface).
CEC используется для управления различными бытовыми электронными устройствами: телевизорами, аудиосистемами и так далее.
Основными особенностями HDMI-CEC-контроллера являются:
- поддержка HDMI-CEC v1.4;
- работа на частоте 32 кГц с тактированием от RCC или HSI;
- поддержка прерываний.
Физическое подключение управляемого CEC-устройства к контроллеру STM32F7 осуществляется с использованием подтягивающего резистора 27 кОм к питанию 3,3 В (рисунок 7). Если к одному и тому же CEC-устройству возможно подключение нескольких управляющих микросхем – необходимо дополнительно использовать транзистор, который будет отключать линию, если питание 3,3 В микроконтроллера отсутствует.
Рис. 7. Схема подключения CEC-устройства к контроллеру STM32F7
Low-power timer (LPTIM) – 16-битный таймер, который используется при работе в режимах пониженного потребления. В отличие от таймеров общего назначения и другой периферии, он способен работать даже в режиме Standby. Чтобы добиться этого, тактирование LPTIM осуществляется от различных внутренних источников (LSE, LSI, HSI или APB clock). Таймер может работать и в режиме счетчика от дополнительного внешнего источника, подключенного ко входу ULPTIM. Это важная особенность, так как таймер часто используется для пробуждения системы из режимов глубокого сна.
Кроме входного счетчика, LPTIM способен работать в режиме энкодера, одиночного импульса и ШИМ.
Теперь, когда основные вопросы архитектуры и особенностей периферии рассмотрены, можно уделить внимание электрическим и эксплуатационным характеристикам и провести обзор номенклатуры STM32F7.
Обзор номенклатуры микроконтроллеров STM32F7
Номенклатура STM32F7 производства компании STMicroelectronics на настоящий момент объединяет 22 модели трех линеек:
- STM32F745xx – линейка с базовым набором периферии;
- STM32F746xx – линейка с базовым набором периферии, TFT-LCD-контроллером и Chrom-ART Accelerator;
- STM32F756xx – линейка с базовым набором периферии, TFT-LCD-контроллером, Chrom-ART Accelerator и модулем шифрования.
Для каждой из линеек доступны модели с различным корпусным исполнениями, объемом памяти 512 кбайт или 1 Мбайт (таблица 1).
Таблица 1. Номенклатура микроконтроллеров STM32F7
Наименование Корпус Flash, кбайт ОЗУ, кбайт Линии I/O TFT/LCD-контроллер Шифро- вание Fмакс., МГц Uпит., В I потр., режим RUN, мкА/МГц T раб., °C STM32F745IE BGA 176; LQFP 176 24x24x1,4 512 320 140 – – 216 1,7…3,6 472 -40…85; -40…105 STM32F745IG BGA 176; LQFP 176 24x24x1,4 1024 140 STM32F745VE LQFP 100 14x14x1,4 512 82 STM32F745VG LQFP 100 14x14x1,4 1024 82 STM32F745ZE LQFP 144 20x20x1,4 512 114 STM32F745ZG LQFP 144 20x20x1,4 1024 114 STM32F746BE LQFP 208 28x28x1,4 512 168 Разрешение до 1024×728 STM32F746BG LQFP 208 28x28x1,4 1024 168 STM32F746IE BGA 176; LQFP 176 24x24x1,4 512 140 STM32F746IG BGA 176; LQFP 176 24x24x1,4 1024 140 STM32F746NE TFBGA 13X13X1,2 216L P 0,8 MM 512 168 STM32F746NG TFBGA 13X13X1,2 216L P 0,8 MM 1024 168 STM32F746VE LQFP 100 14x14x1,4 512 82 STM32F746VG LQFP 100 14x14x1,4 1024 82 STM32F746ZE LQFP 144 20x20x1,4; WLCSP 143L DIE 449 P 0,4 MM 512 114 STM32F746ZG LQFP 144 20x20x1,4; WLCSP 143L DIE 449 P 0,4 MM 1024 114 STM32F756BG LQFP 208 28x28x1,4 1024 168 AES; DES/TDES; SHA; MD5; HMAC STM32F756IG BGA 176; LQFP 176 24x24x1,4 1024 140 STM32F756NG TFBGA 13X13X1,2 216L P 0,8 MM 1024 168 STM32F756VG LQFP 100 14x14x1,4 1024 82 STM32F756ZG LQFP 144 20x20x1,4; WLCSP 143L DIE 449 P 0,4 MM 1024 114Из таблицы 1 видим, что для STM32F7 используются достаточно многовыводные корпуса: LQFP100, LQFP144, LQFP176, LQFP208, TFBGA216, UFBGA176, WLCSP143. STM32F7 и STM32F4 имеют полную совместимость по выводам, за исключением LQFP100.
Среди важных эксплуатационных характеристик следует упомянуть:
- широкий диапазон питания 1,7…3,6 В;
- два вида исполнений с различными диапазонами рабочих температур: 40…85°C и -40…105°C;
- потребление в активном режиме (RUN Mode) 472 мкА/МГц;
- потребление в режиме глубокого сна 1,7 мкА.
На первый взгляд может показаться, что STM32F7 потребляют гораздо больше чем STM32F4. Так, например, в активном режиме ток потребления STM32F4 составляет 260 мкА/МГц, а это в два раза меньше. Однако здесь будет уместно указать другой показатель, а именно – энергоэффективность. Для STM32F7 она составляет 6 CoreMark/мВт, а для STM32F4 7 CoreMark/мВт. Таким образом, по энергоэффективности микроконтроллеры отличаются не так сильно.
При выборе микроконтроллера следует учитывать не только его производительность, богатство периферии и эксплуатационные качества, но и доступность средств разработки. В случае с продуктами производства STMicroelectronics этот аспект традиционно находится на высоте.
Максимальная доступность: средства разработки и отладки для STM32F7
Огромное преимущество всех без исключения микроконтроллеров от STMicroelectronics заключается в максимальной доступности средств разработки: отладочных и оценочных наборов с весьма демократичной ценой; бесплатных библиотек и ПО от STMicroelectronics; платных и бесплатных библиотек и ПО от сторонних производителей. Все перечисленное относится и к STM32F7.
Отладочные наборы от STMicroelectronics. Для этого семейства выпускается три набора фирменных плат: оценочный набор STM32F746G-DISCO и два практически идентичных отладочных набора STM32756G-EVAL и STM32746G-EVAL (рисунок 8). STM32756G-EVAL и STM32746G-EVAL отличаются только типом контроллера. На STM32756G-EVAL установлен микроконтроллер STM32F756NGH6, а на STM32746G-EVAL – STM32F746NGH6.
Рис. 8. Внешний вид плат отладочных наборов для STM32F7
STM32F746G-DISCO – оценочный набор предназначен для ознакомления с базовыми особенностями STM32F7. При этом никто не запрещает использовать эту плату в собственных разработках. Основными особенностями STM32F746G-DISCO являются:
- контроллер STM32F746NGH6 (BGA216);
- отладчик ST-LINK/V2-1;
- TFT-экран 4,3″ с разрешением 480×272 и емкостным сенсорным экраном;
- SAI-аудиокодек;
- два MEMS-микрофона;
- Quad-SPI Flash 128 Мбит;
- SDRAM 128 Мбит;
- клавиши сброса и пробуждения;
- разъемы для подключения: цифровой камеры, Ethernet, USB Micro-AB для USB OTG HS, USB Micro-AB для B OTG FS, платы расширения RF-EEPROM для выхода на аудиоусилитель; стандартный аудиоразъем jack, разъем для подключения microSD.
Питание STM32F746G-DISCO может производиться с помощью различных способов: от ST LINK/V2-1, от USB FS, от USB HS, от питания плат расширения Arduino, от внешнего блока питания 5 В.
Отладочные наборы STM32756G-EVAL и STM32746G-EVAL позволяют оценить работу практически всех периферийных блоков. Внешне обе платы идентичны и имеют одинаковые особенности. Отличие состоит только в контроллере. На борту у обоих плат можно найти:
- контроллер STM32F756NGH6 (для STM32756G-EVAL), STM32F746NGH6 (для STM32746G-EVAL);
- отладчик ST-LINK/V2-1;
- TFT-экран 5,7″ с разрешением 640×480 и емкостным сенсорным экраном;
- SAI аудиоЦАП и стереоаудиоразъем jack;
- стереоцифровой микрофон и разъем для подключения внешнего микрофона;
- модуль камеры;
- RF-EEPROM;
- IrDA-приемопередатчик;
- внешнюю память: 8 Мбит x 32-битной SDRAM, 1 Мбит x 16-битной SRAM, 8 Мбит x 16-битной Nor Flash, 512 Мбит QuadSPI Nor Flash;
- джойстик с селектором и четырьмя направлениями;
- потенциометр;
- клавиши сброса и пробуждения;
- четыре светодиода;
- разъемы: microSD, RS-232, JTAG/SWD, Ethernet, три разъема Micro-AB для USB OTG HS и FS CAN 2.0A/B, разъем для управления двигателем.
Питание обоих наборов может обеспечиваться по-разному: от ST LINK/V2-1, от USB FS1, от USB FS2, от USB HS, от питания плат расширения, от внешнего блока питания 5 В.
Теперь рассмотрим бесплатное программное обеспечение и библиотеки для STM32F7 от STMicroelectronics.
STM32CubeF7 – библиотеки, описывающие аппаратный уровень Hardware Abstraction Layer (HAL), примеры, шаблоны, а также компоненты более высокого уровня абстракции (например, реализации FreeRTOS, библиотека USB и стек LwIP).
STM32CubeMX – бесплатный конфигуратор и кодогенератор. Он позволяет создать файлы инициализации микроконтроллера с помощью простого графического интерфейса. Инструмент имеет возможность настройки системы тактирования, портов ввода-вывода с учетом используемой периферии и так далее.
STM32F7 имеют поддержку различных интегрированных сред разработки, как коммерческих (IAR Embedded Workbench, Keil MDK-ARM, ARM® mbed™ online), так и бесплатных, построенных на базе GCC-компилятора (SW4STM32, Atollic TrueSTUDIO, CooCox CoIDE).
Например, CooCox CoIDE – бесплатная среда разработки программ для ARM Cortex-M0/M0+/M3/M4-микроконтроллеров. Она построена на базе оболочки Eclipse и GCC-компилятора. Основными особенностями программы являются:
- поддержка микроконтроллеров STM32, плат STM32 Nucleo, а также фирменного ПО STM32Cube;
- GCC-компилятор с поддержкой C/C+;
- GDB-отладчик;
- удобная оболочка Eclipse IDE;
- поддержка ST-Link.
Заключение
Выход семейства STM32F7 с ядром ARM Cortex-M7 – знаковое событие для компании STMicroelectronics и для отрасли в целом. Новые микроконтроллеры отняли пальму первенства у предыдущего топового семейства STM32F4.