ДЕПАРТАМЕНТ ОБРАЗОВАНИЯ, НАУКИ И МОЛОДЕЖНОЙ ПОЛИТИКИ ВОРОНЕЖСКОЙ ОБЛАСТИ ГБПОУ ВО «Богучарский многопрофильный колледж»
STM-32
Выполнил: Нередко Виталий
Проверила: Литвинова А.А
STM32
Микроконтроллеры STM32 семейство 32-разрядных микроконтроллеров Flash на базе процессора ARM® Cortex®-M разработан, чтобы предложить новые степени свободы для пользователей MCU. 32-битный ассортимент, который сочетает очень высокую производительность, возможности в режиме реального времени, цифровой обработки сигнала, и низкое энергопотребление, низкий питание напряжения, сохраняя полную интеграцию и простоту разработки.
Большой ассортимент устройств STM32 , на основе отраслевого стандарта ядра и в сопровождении огромного выбора инструментов и программного обеспечения, делает это семейство продуктов идеальным выбором, как для небольших проектов и для целых решений платформы.
Рисунок 1.Stm 32
Описание семейства STM32F4
В конце 2011 года компания STMicroelectronics начала серийный выпуск микроконтроллеров STM32F4xx на ядре ARM Cortex‑M4. Эта линейка продолжает развитие семейства STM32, дополняя его новым ядром ARM Cortex-M4. На данный момент общая номенклатура семейства составляет более 250 позиций на ядрах Cortex-M0/M3/M4 с широчайшим набором периферии и производительности, предоставляя разработчику богатый выбор решений для своих задач.
Процессорное ядро ARM Cortex-M4 является последней разработкой в семействе Cortex-M и ориентировано на цифровую обработку сигналов, занимая нишевую часть DSP-приложений, прежде принадлежавшую сигнальным процессорам.Ядро Cortex-M4 показана на рисунке 2.
Рисунок 2.Процессорное ядро ARM Cortex-M4
Ядро Cortex-M4 поддерживает такие операции, как умножение с накоплением за один такт, арифметика с насыщением, блок вычислений с плавающей запятой FPU (floating point unit), команды управления потоком данных SIMD (single instruction multiple data). Блок FPU совместим со стандартом IEEE 754 и позволяет процессору выполнять широкий спектр математических операций над вещественными числами. Благодаря тому, что DSP-инструкции в ядре Cortex-M4 выполняются за один такт и есть поддержка FPU, для контроллеров STM32 стали доступны новые сегменты рынка. Больше нет необходимости использовать дополнительный DSP-контроллер для обработки сигналов, можно воспользоваться одним STM32F4xx, объединяющим обычный контроллер со всем многообразием периферии и функциями DSP на одном чипе. STM32F4xx можно применять в любых областях, где необходима цифровая обработка сигнала: интеллектуальное управление двигателями, обработка звука и изображений, радиолокация, навигация, релейная защита и т. д. Микроконтроллер без труда справится с цифровой фильтрацией, сверткой или преобразованием Фурье.
Описание линейки STM32F4
Новая линейка микроконтроллеров STM32F4хх производится по 90‑нм технологии с использованием уже доказавшего свою эффективность ускорителя памяти (ART Accelerator), позволяющего работать с памятью без задержек на максимальной скорости. Производительность на тактовой частоте 168 МГц составляет 210 DMIPS, что означает: на данный момент STM32F4xx — лидер на рынке среди ядер Cortex-M4. Однако мало иметь высокопроизводительное ядро, нужно также обеспечивать хорошую пропускную способность между ядром и периферией. И тут у STM32F4xx все в порядке: применяется 7‑уровневая матрица шин.
Рисунок 3.Функциональная схема STM32F4хх
Основные характеристики семейства:
Ускоритель памяти (ART-акселератор)
Ускоритель памяти (ART-акселератор) Для обеспечения высокой скорости работы нового ядра с флэш-памятью компания ST применила уже хорошо зарекомендовавший себя в серии STM32F2хх ART-акселератор памяти. Использование акселератора флэш памяти вместо увеличения быстродействия самой памяти позволило снизить динамическое потребление и уменьшить общую стоимость готового продукта. Чтобы обеспечить высокую производительность процессора Cortex-M4, ART-акселератор использует кэш очереди предварительных выборок команд и переходов, позволяя выполнять записанные в 128‑битной флэш памяти программы с нулевым временем ожидания на частотах до 168 МГц.
Рисунок 4. Ускоритель памяти
Матрица шин
Новая 32‑битная многоуровневая AHB матрица шин обеспечивает взаимодействие ведущих и ведомых устройств в микроконтроллере, занимается арбитражем при одновременной работе нескольких ведущих. Через матрицу шин ядро Cortex-M4 получает доступ к данным и инструкциям, находящимся во встроенной SRAM- и флэшпамяти, может обратиться через FSMC к внешней памяти или работать с данными от периферии. DMA осуществляет перемещение данных между периферией и памятью или между различными видами памяти. В STM32F4 появился отдельный блок оперативной памяти 64 кбайт, который подключен непосредственно к шине данных ядра. Это сделано специально для работы без задержек с данными ЦОС — при хранении.
Рисунок 5.Многоуровневая матрица шин
I2C-интерфейс
Микроконтроллер содержит три модуля I2C. Каждый модуль может работать в режиме «ведущий» (Master) или «ведомый» (Slave). Поддерживается режим multimaster. Доступны стандартные (Standard) скорости передачи данных до 100 кГц и быстрая передача данных на частотах до 400 кГц. Возможна 7‑ и 10‑битная адресация. Присутствует аппаратный блок проверки пакетных ошибок PEC (Packet Error Checking). I2C-модули поддерживают два расширенных протокола: SMBus 2.0 (System management bus) и PMBus (Рower management bus). SPI-интерфейс Микроконтроллер содержит три модуля SPI. Каждый модуль может работать в режиме Мaster (c поддержкой режима мultimaster) или Slave и поддерживать полнодуплексную, полудуплексную и симплексную передачу данных. Модуль SPI1 поддерживает скорость до 37,5 Mбит/с. Остальные модули — до 21 Мбит/с. Данные передаются 8/16‑битными словами старшим или младшим битом вперед. Полярность и фазу тактового сигнала можно программно изменить. Встроена аппаратная поддержка вычисления циклически избыточного кода CRC для обеспечения надежной связи: значения CRC могут быть переданы в качестве последнего байта в режиме Tx, автоматически проводится проверка ошибок CRC для последнего полученного байта.
Рисунок 6. I2C-интерфейс
I2S-интерфейс
STM32F4хх имеет на борту два модуля I2S. Оба модуля мультиплексированы с SPIинтерфейсом. Этот интерфейс предназначен для работы с цифровыми звуковыми данными. В схеме тактирования теперь имеется выделенный модуль PLL (PLLI2S), который позволяет генерировать частоты сэмплирования аудиосигнала с частотами от 8 до 192 кГц, с точностью порядка 0,01%. Модули работают в режиме Мaster или Slave и поддерживают полнодуплексную и симплексную передачу данных. Данные предаются по 16, 24 или 32 бита. Осуществляется поддержка протоколов: стандарт I2S Phillips, стандарт PCM, MSB и LSB-выравнивание данных.
Рисунок 7. I2S-интерфейс
CAN-интерфейс
STM32F4 содержит два контроллера CAN. Контроллеры CAN поддерживают стандарты 2 А и 2 В, активную и пассивную передачу данных на скорости до 1 Мбит/с. Работают со стандартными (11‑битными) и расширенными (29‑битными) кадрами. Каждый CANконтроллер имеет три буфера сообщений на передачу, FIFO с тремя каскадами и 28 распределенных масштабируемых банков фильтров.
Рисунок 8. CAN-интерфейс
SDIO-интерфейс
SDIO позволяет микроконтроллеру обмениваться информацией с SD/SDIO/MMCкартами памяти и CE-ATA совместимыми устройствами. STM32F4хх поддерживает следующие спецификации: MultiMediaCard System версии 4.2 и более ранних версий (поддержка трех режимов: 1/4/8 бит), SD Memory Card версии 2.0, SD I/O Card версии 2.0 (поддержка двух режимов: 1/4 бит), CE-ATA цифровой протокол версии 1.1. Скорость передачи данных — до 48 МГц в 8‑битном режиме.
Рисунок 9. SDIO-интерфейс
Аналоговая периферия (АЦП И ЦАП)
Микроконтроллер содержит три аналогово‑цифровых преобразователя (АЦП) и два одноканальных цифро-аналоговых преобразователя (ЦАП). АЦП обладает разрешающей способностью 12 бит и очень высокой скоростью преобразования в 2,4 МГц в одиночном режиме и 7,2 МГц — в тройном режиме. Максимальное количество входных аналоговых каналов — 24. Есть встроенный источник опорного напряжения. Гибкая система настроек встроенного аналогового мультиплексора позволяет задавать любые последовательности преобразования аналоговых каналов (за исключением одновременного преобразования одного канала на нескольких АЦП). Настройки АЦП позволяют производить однократные и циклические измерения. Скорость работы АЦП зависит от напряжения питания микроконтроллера. Для проведения преобразований на максимальной скорости до 7,2 МГц необходимо соблюдать условие: напряжение питания микроконтроллера должно составлять 2,4–3,6 В. При снижении напряжения до 1,8 В скорость преобразования уменьшается до 1,2 МГц. Для контроля внутренней температуры микроконтроллера встроен температурный датчик. На его выходе формируется напряжение в зависимости от окружающей его температуры. Выход датчика через мультиплексор подключается к АЦП. Используя температурный датчик, можно измерять температуру от –40 до +125 °C с точностью ±1,5 °C. ЦАП обладает разрешающей способностью 12 бит, преобразование возможно в 8/12‑битовом формате с выравниванием этого результата по левому или правому краям. Так как ЦАП содержит два канала, есть возможность формирования стереосигнала. Доступна функция автоматической генерации шумового сигнала с меняющейся амплитудой или треугольного сигнала.
Порты ввода/вывода общего назначения
Микроконтроллеры оснащены большим количеством портов ввода/вывода общего назначения GPIO (General-Purpose Input Output). На данный момент доступны корпуса LQFP и BGA, максимальное количество выводов микроконтроллера составляет 176. Приведем краткие характеристики портов ввода/вывода: • Регистры управления 16 бит. • Толерантность к 5 В. • Состояния — подтяжка к питанию/«земле», третье состояние, альтернативные функции, аналоговое состояние. • Конфигурация скорости — 2, 25, 50 и 100 МГц. • Механизм защиты конфигурации от изменения. • Генерация прерывания почти любым выводом. Основное же отличие от STM32F1x заключается в более гибком подходе при конфигурировании альтернативных функций (USART, АЦП и т. д.) на одну ножку. Работа портов ввода/вывода стала намного быстрее.
Рисунок 10.Порты ввода/вывода
Вывод
Новая линейка микроконтроллеров STM32F4 на базе ядра Cortex-M4 вобрала в себя все лучшее от своих предшественников на ядре Cortex-M3 — серий STM32F1 и STM32F2. Основное преимущество новой серии — значительно возросшая производительность: скорость работы ядра выросла до 168 МГц. Усовершенствованный ускоритель памяти позволяет работать с флэш-памятью на этой частоте без задержек. Осуществляется и поддержка DSPинструкций и операций с плавающей точкой. Рост производительности ядра также сказался на увеличении скорости работы периферии. Все новые микроконтроллеры на базе ядра Cortex-M4 программно совместимы с существующими сериями STM32F1xx и STM32F2xx. Совместимость по ножкам между STM32F2x и STM32F4x полная, то есть разработчику доступна полная гибкость при переходе между ядрами CortexM3 и Cortex-M4. К сожалению, полной совместимости по выводам между STM32F1x и STM32F2x/STM32F4x нет, может не совпадать от двух до трех ножек (это ножки питания и «земли»), но вся периферия сохранила свое положение. Рекомендации по созданию универсальной платы для использования STM32F1x и STM32F2x/STM32F4x приведены в документации. Невысокая цена, низкое потребление и новые возможности STM32F4xx по цифровой обработке сигналов, несомненно, сделают эти новые микроконтроллеры лидером в своем сегменте рынка.