RUЭВМ
Вы хотите отреагировать на этот пост ? Создайте аккаунт всего в несколько кликов или войдите на форум.
Май 2024
ПнВтСрЧтПтСбВс
  12345
6789101112
13141516171819
20212223242526
2728293031  

Календарь Календарь

Последние темы
» Вити больше нет!
автор bug19 Пн Фев 20 2023, 19:54

» Собираем оригинальный Орион 128
автор bug19 Пн Фев 20 2023, 19:47

» Проблема плющеного экрана ОРИОНА
автор kanzler Пн Ноя 28 2022, 12:05

» Орион 128 и его клоны возрождение 2019-2022 год
автор kanzler Пн Ноя 28 2022, 12:03

» Электроника КР-04. Информация, документы, фото.
автор kanzler Пн Ноя 28 2022, 12:02

» Новости форума
автор kanzler Пн Ноя 28 2022, 11:52

» Орион-128 НГМД запуск 2021 года
автор matrixplus Сб Сен 10 2022, 17:36

» ПЗУ F800 для РК86
автор ведущий_специалист Сб Сен 10 2022, 10:37

» Микропроцессорная лаборатория "Микролаб К580ИК80", УМК-80, УМПК-80 и др.
автор Электротехник Вт Июл 26 2022, 19:33

» Орион-128 SD карта в Орионе
автор matrixplus Чт Июн 02 2022, 09:00

» 7 Мая. День Радио!
автор Viktor2312 Чт Май 12 2022, 10:58

» Серия: Массовая радио библиотека. МРБ
автор Viktor2312 Ср Май 11 2022, 12:17

» Полезные книги
автор Viktor2312 Пн Май 09 2022, 15:07

» Орион 128 Стандарты портов и системной шины Х2
автор matrixplus Вс Май 08 2022, 23:08

» Орион-128 и Орион ПРО еще раз про блоки питания
автор matrixplus Вс Май 08 2022, 19:09

» Орион-128 Программаторы
автор matrixplus Вс Май 08 2022, 19:02

» Орион ПРО история сборки 2021 до 2022
автор matrixplus Вс Май 08 2022, 18:47

» Анонсы монет (New coin).
автор Viktor2312 Сб Май 07 2022, 23:11

» Хочу свой усилок для квартиры собрать не спеша
автор Viktor2312 Сб Май 07 2022, 19:33

» Амфитон 25у-002С
автор Viktor2312 Сб Май 07 2022, 09:38

» Майнер: T-Rex
автор Viktor2312 Вс Май 01 2022, 09:12

» GoWin. Изучение документации. SUG100-2.6E_Gowin Software User Guide. Среда разработки EDA.
автор Viktor2312 Пн Апр 25 2022, 01:01

» GoWin. Изучение документации. UG286-1.9.1E Gowin Clock User Guide.
автор Viktor2312 Сб Апр 23 2022, 18:22

» GoWin. Documentation Database. Device. GW2A.
автор Viktor2312 Ср Апр 20 2022, 14:08

» GOWIN AEC IP
автор Viktor2312 Ср Апр 20 2022, 12:08

Самые активные пользователи за месяц
Нет пользователей

Поиск
 
 

Результаты :
 


Rechercher Расширенный поиск


STM32F Конспект, теория, практика.

Перейти вниз

STM32F Конспект, теория, практика. Empty STM32F Конспект, теория, практика.

Сообщение  Viktor2312 Вс Май 07 2017, 11:53

1

.
.

STM32F Конспект, теория, практика.


Архитектура ARM (от англ. Advanced RISC Machine — усовершенствованная RISC-машина) — семейство лицензируемых 32-битных и 64-битных микропроцессорных ядер разработки компании ARM Limited.


Cortex-M4. Бинарная совместимость ядер Cortex-M.

____Вариант микроконтроллерного ядра Cortex-M4, по сравнению с Cortex-M3, не характеризуется ростом общих показателей. Фактически M4, это тот же самый M3, но дополнительно оснащённый DSP-инструкциями. Наличие последних существенно ускоряет обработку потоковых данных, что в свою очередь делает M4 весьма привлекательным для использования в системах управления и обработки информации.
____Возможности DSP, входящего в состав M4, позволяют параллельно выполнять четыре операции сложения/вычитания для 8-ми разрядных чисел или две операции сложения/вычитания с 16-ти разрядными операндами. Также реализовано умножение за один цикл, при этом для 16-ти разрядных чисел возможно параллельное исполнение двух операций.
____В серии M4 есть еще один вариант, под обозначением Cortex-M4F. В нём, дополнительно к DSP, установлен блок операций для чисел с плавающей запятой – FPU.

STM32F Конспект, теория, практика. 0_192720_ea01b093_orig


1. Архитектура общее знакомство.

1.1 Ядро ARM Cortex-M4.

____В конце 2011 года компания STMicroelectronics начала серийный выпуск микроконтроллеров STM32F4xx на ядре ARM Cortex-M4. Эта линейка продолжает развитие семейства STM32, дополняя его новым ядром ARM Cortex-M4. На данный момент общая номенклатура семейства составляет более 250 позиций на ядрах Cortex-M0/M3/M4 с широчайшим набором периферии и производительности, предоставляя разработчику богатый выбор решений для своих задач.
____Процессорное ядро ARM Cortex-M4 (рис. 1) является последней разработкой в семействе Cortex-M и ориентировано на цифровую обработку сигналов, занимая нишевую часть DSP-приложений, прежде принадлежавшую сигнальным процессорам.

STM32F Конспект, теория, практика. 0_1925d6_56bb7e1c_L

____Ядро Cortex-M4 поддерживает такие операции, как умножение с накоплением за один такт, арифметика с насыщением, блок вычислений с плавающей запятой FPU (floating point unit), команды управления потоком данных SIMD (single instruction multiple data). Блок FPU совместим со стандартом IEEE 754 и позволяет процессору выполнять широкий спектр математических операций над вещественными числами.
____Благодаря тому, что DSP-инструкции в ядре Cortex-M4 выполняются за один такт и есть поддержка FPU, для контроллеров STM32 стали доступны новые возможности. Больше нет необходимости использовать дополнительный DSP-контроллер для обработки сигналов, можно воспользоваться одним STM32F4xx, объединяющим обычный микроконтроллер со всем многообразием периферии и функциями DSP на одном кристалле.
____STM32F4xx можно применять в любых областях, где необходима цифровая обработка сигнала: интеллектуальное управление двигателями, обработка звука и изображений, радиолокация, навигация, релейная защита и т. д. Микроконтроллер без труда справится с цифровой фильтрацией, сверткой или преобразованием Фурье.


1.2 Линейка STM32F4.

____Новая линейка микроконтроллеров STM32F4хх производится по 90‑нм технологии с использованием уже доказавшего свою эффективность ускорителя памяти (ART Accelerator), позволяющего работать с памятью без задержек на максимальной скорости. Производительность на тактовой частоте 168 МГц составляет 210 DMIPS, что означает: на данный момент STM32F4xx — лидер среди ядер Cortex-M4. Однако мало иметь высокопроизводительное ядро, нужно также обеспечивать хорошую пропускную способность между ядром и периферией. И тут у STM32F4xx всё в порядке: применяется 7‑уровневая матрица шин.
____Обобщенная структура микроконтроллеров STM32F4xx представлена на рис. 2.

STM32F Конспект, теория, практика. 0_1925d7_a65977dc_L

____Основные характеристики семейства:

  • Ядро ARM 32‑битное Cortex-M4.
  • Частота тактирования: 168 МГц, 210 DMIPS/1,25 DMIPS/МГц (Dhrystone 2.1).
  • Поддержка DSP-инструкций.
  • Новая высокопроизводительная AHB-матрица шин.
  • До 1 Mбайт флэш-памяти.
  • До 192 + 4 кбайт SRAM-памяти.
  • Напряжение питания: 1,8–3,6 В (POR, PDR, PVD и BOR).
  • Внутренние RC-генераторы на 16 МГц и 32 кГц (для RTC).
  • Внешний источник тактирования 4–26 МГц и для RTC — 32,768 кГц.
  • Модули отладки SWD/JTAG, модуль ETM.
  • Три 12‑битных АЦП на 24 входных канала (скорость до 7,2 Мсемплов, температурный датчик).
  • Два 12‑битных ЦАП.
  • DMA-контроллер на 16 потоков с поддержкой пакетной передачи.
  • 17 таймеров (16 и 32 разряда).
  • Два сторожевых таймера (WDG и IWDG).
  • Коммуникационные интерфейсы: I2C, USART (ISO 7816, LIN, IrDA), SPI, I2S.
  • CAN (2,0 B Active).
  • USB 2.0 FS/HS OTG.
  • 10/100 Ethernet MAC (IEEE 1588v2, MII/RMII).
  • Контроллер SDIO (карты SD, SDIO, MMC, CE-ATA).
  • Интерфейс цифровой камеры (8/10/12/14‑битные режимы).
  • FSMC-контроллер (Compact Flash, SRAM, PSRAM, NOR, NAND и LCD 8080/6800).
  • Аппаратный генератор случайных чисел.
  • Аппаратное вычисление CRC, 96‑битный уникальный ID.
  • Модуль шифрования AES 128, 192, 256, Triple DES, HASH (MD5, SHA-1), HMAC.
  • Расширенный температурный диапазон: –40…105 °C.

____Остановимся подробнее на особенностях нового микроконтроллера.


1.3 Ускоритель памяти (ART-акселератор).

____Для обеспечения высокой скорости работы нового ядра с флэш-памятью компания ST
применила уже хорошо зарекомендовавший себя в серии STM32F2хх ART-акселератор памяти. Использование акселератора флэш-памяти вместо увеличения быстродействия самой памяти позволило снизить динамическое потребление и уменьшить общую стоимость готового продукта.
____Чтобы обеспечить высокую производительность процессора Cortex-M4, ART-акселератор использует кэш очереди предварительных выборок команд и переходов, позволяя выполнять записанные в 128‑битной флэш-памяти программы с нулевым временем ожидания на частотах до 168 МГц (рис. 3).

STM32F Конспект, теория, практика. 0_1925d9_eeabfb36_L


1.4 Матрица шин.

____Новая 32‑битная многоуровневая AHB матрица шин (рис. 4) обеспечивает взаимодействие ведущих и ведомых устройств в микроконтроллере, занимается арбитражем при одновременной работе нескольких ведущих.

STM32F Конспект, теория, практика. 0_1925da_f5716622_L

____Через матрицу шин ядро Cortex-M4 получает доступ к данным и инструкциям, находящимся во встроенной SRAM- и флэш-памяти, может обратиться через FSMC к внешней памяти или работать с данными от периферии. DMA осуществляет перемещение данных между периферией и памятью или между различными видами памяти. В STM32F4xx появился отдельный блок оперативной памяти 64 кбайт, который подключён непосредственно к шине данных ядра. Это сделано специально для работы без задержек с данными ЦОС — при хранении различных данных для математических алгоритмов, матриц и прочих математических операций.


1.5 DMA-контроллер.

____Контроллер прямого доступа к памяти DMA (Direct Memory Access) служит для высокоскоростного перемещения данных между периферией и памятью или памятью и памятью без участия CPU. Это разгружает CPU для других операций.
____Два DMA-контроллера сочетают в себе возможности мощного коммутатора шин с независимым FIFO-буфером для оптимизации пропускной способности системы, которые также могут работать параллельно. Первый контроллер предназначен для доступа к памяти, а второй — для доступа к периферии.
____В сумме контроллеры DMA имеют 16 потоков (по восемь на каждый контроллер), каждый используется для управления запросами доступа к памяти от одного или более видов периферии. Каждый поток может иметь суммарно до восьми каналов (запросов) и имеет арбитраж приоритетности. Приоритеты между DMA-потоками задаются программно (четыре уровня приоритета: очень высокий, высокий, средний и низкий) или аппаратно в случае равенства. Потоки поддерживают работу с кольцевым буфером.
____DMA работает со всей наиболее важной периферией: SPI, I2S, I2C, USART, TIMx, DAC, ADC, SDIO, DCMI, Ethernet, USB и модулем шифрования.


1.6 Питание микроконтроллера.

____Для питания микроконтроллера потребуется источник питания с напряжением от 1,8 до 3,6 В. Минимальное напряжение батарейного питания — 1,65 В. Для питания ядра микроконтроллера используется встроенный преобразователь напряжения. Подача питания на аналоговую периферию происходит через специально выделенные для этой цели выводы микросхемы.
____Микроконтроллер поддерживает три режима пониженного энергопотребления для достижения наилучшего компромисса между низким потреблением, временем старта и возможными источниками пробуждения.

Режим Sleep
____Только ядро останавливает свою работу. Вся периферия продолжает работать и пробуждает процессор по наступлению определенного прерывания или события.

Режим Stop
____Всё тактирование в зоне 1,2 В останавливается. Все схемы высокочастотного тактирования отключаются. В данном режиме контроллер продолжает работать от низкоскоростных источников тактирования. Состояние SRAM и регистров при этом сохраняется. Микроконтроллер переходит в рабочий режим по заранее сконфигурированному событию.

Режим Standby
____Обеспечивает самое низкое потребление. Питание 1,2 В полностью отключается. Данные SRAM и регистров не сохраняются, за исключением резервного домена и резервной SRAM. Для выхода из режима необходимо прерывание от часов реального времени, общий сброс или возрастающий фронт на ножке WKUP.
____Новая линейка STM32F4хх имеет рекордно низкое потребление — 230 мкA/МГц, что составляет порядка 38,6 мA на частоте 168 МГц. Такие результаты были получены при проведении теста Coremark из флэш-памяти при отключенной периферии. Это возможно благодаря 90‑нм технологии, позволяющей ядру CPU работать при напряжении питания 1,2 В, а также использованию фирменного ART-акселератора памяти, который уменьшает количество обращений к флэш-памяти, и масштабированию напряжения для оптимизации производительности/мощности потребления.
____Результаты сравнительных тестов малопотребляющих микроконтроллеров и STM32F4xx показали, что эти контроллеры имеют небольшое преимущество, только если они 90% своего рабочего времени находятся в режиме ожидания и фактически ничего не делают. Чем больше загружен микроконтроллер, тем больше преимущество STM32F4xx по сравнению с конкурентами (рис. 5).

STM32F Конспект, теория, практика. 0_1925e5_e4a193f5_L


1.7 Интерфейсы обмена данными.

I2C-интерфейс
____Микроконтроллер содержит три модуля I2C. Каждый модуль может работать в режиме «ведущий» (Master) или «ведомый» (Slave). Поддерживается режим multimaster. Доступны стандартные (Standard) скорости передачи данных до 100 кГц и быстрая передача данных на частотах до 400 кГц. Возможна 7‑ и 10‑битная адресация. Присутствует аппаратный блок проверки пакетных ошибок PEC (Packet Error Checking). I2C-модули поддерживают два расширенных протокола: SMBus 2.0 (System management bus) и PMBus (Power management bus).

SPI-интерфейс
____Микроконтроллер содержит три модуля SPI. Каждый модуль может работать в режиме Мaster (c поддержкой режима мultimaster) или Slave и поддерживать полнодуплексную, полудуплексную и симплексную передачу данных. Модуль SPI1 поддерживает скорость до 37,5 Mбит/с. Остальные модули — до 21 Мбит/с. Данные передаются 8/16‑битными словами старшим или младшим битом вперед. Полярность и фазу тактового сигнала можно программно изменить.
____Встроена аппаратная поддержка вычисления циклически избыточного кода CRC для
обеспечения надежной связи: значения CRC могут быть переданы в качестве последнего байта в режиме Tx, автоматически проводится проверка ошибок CRC для последнего полученного байта.

I2S-интерфейс
____STM32F4хх имеет на борту два модуля I2S. Оба модуля мультиплексированы с SPI-интерфейсом. Этот интерфейс предназначен для работы с цифровыми звуковыми данными. В схеме тактирования теперь имеется выделенный модуль PLL (PLLI2S), который позволяет генерировать частоты сэмплирования аудиосигнала с частотами от 8 до 192 кГц, с точностью порядка 0,01%. Модули работают в режиме Мaster или Slave и поддерживают полнодуплексную и симплексную передачу данных. Данные предаются по 16, 24 или 32 бита. Осуществляется поддержка протоколов: стандарт I2S Philips, стандарт PCM, MSB и LSB-выравнивание данных.

USART-интерфейс
____STM32F4xx содержит четыре модуля USART (синхронные) и два модуля UART (асинхронные). Модули USART1 и USART6 могут работать на скорости до 10,5 Mбит/с. Остальные — до 5,25 Mбит/с.
____Данные предаются 8/9‑битными словами с одно- или двух-стоповыми битами и контролем чётности. Поддерживается NRZ (Non Return to Zero) стандарт передачи данных.
____Модули USART могут быть использованы для подключения к шине LIN, часто используемой в автомобильных приложениях, работать как кодер/декодер инфракрасного сигнала IrDA. Для работы с модемами имеются дополнительные линии управления RTS и СTS. Возможно подключение смарт-карт
в соответствии со стандартом ISO 7618-3.
____В дополнение ко всем описанным функциям USART может работать в режиме SPI. В этом режиме модуль USART работает как ведущее SPI-устройство.

CAN-интерфейс
____STM32F4xx содержит два контроллера CAN. Контроллеры CAN поддерживают стандарты 2 А и 2 В, активную и пассивную передачу данных на скорости до 1 Мбит/с. Работают со стандартными(11‑битными) и расширенными (29‑битными) кадрами. Каждый CAN-контроллер имеет три буфера сообщений на передачу, FIFO с тремя каскадами и 28 распределенных масштабируемых банков фильтров.

SDIO-интерфейс
____SDIO позволяет микроконтроллеру обмениваться информацией с SD/SDIO/MMC-картами памяти и CE-ATA совместимыми устройствами. STM32F4хх поддерживает следующие спецификации: Multi Media Card 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‑битном режиме.

USB-интерфейс
____Микроконтроллер содержит два USB-модуля. Первый — USB OTG full-speed. Поддерживает режимы Device, Host и OTG. Физический уровень выполнен на кристалле. USB OTG FS совместим со спецификациями USB 2.0 и OTG 1.0. Поддерживает протоколы SRP (Session request protocol) и HNP (Host
negotiation protocol).
____Второй — USB OTG high-speed. Поддерживает режимы Device, Host и OTG на скорости до 480 Мбит/с. Физический уровень для скорости 12 Mбит/с (низкая скорость) выполнен на кристалле. Для реализации скорости в 480 Мбит/с (высокая скорость) необходим внешний высокоскоростной трансивер, подключаемый через интерфейс ULPI.

Ethernet-интерфейс
____Модуль Ethernet представлен не во всех микроконтроллерах линейки STM32F4xx, а только в сериях STM32F407xx и STM32F417xx. Ethernet-модуль соответствует стандарту IEEE802.3 и обеспечивает передачу данных на скоростях 10 и 100 Мбит/с. Для синхронизации часов на аппаратном уровне выполнена поддержка протокола IEEE1588 v2.
____Для подключения к физической линии (медь, оптика) необходимо использовать
внешний трансивер физического уровня (PHY). PHY подключается через порт MII (17 сигналов) или RMII (9 сигналов).

Цифровой интерфейс камеры (DCMI)
____Представлен только в сериях STM32F407xx и STM32F417xx. DCMI позволяет соединить микроконтроллер с камерами и CMOS-сенсорами через параллельный 8/10/12/14‑битный интерфейс. Доступны внутренняя и внешняя синхронизация кадров и строк, работа в непрерывном или
покадровом режиме и функция обрезки изображения. Поддерживаются форматы: 8/10/12/14‑битное прогрессивное видео, YCbCr 4:2:2 и RGB 565, сжатые данные JPEG.

Контроллер статической памяти (FSMC)
____Модуль FSMC представлен только в микроконтроллерах с корпусами, содержащими
100, 144 или 176 выводов. FSMC дает возможность подключения к микроконтроллеру графических LCD-дисплеев и внешней статической памяти.
____FSMC способен поддерживать связь с внешней синхронной/асинхронной памятью и 16‑битными PC-Card устройствами. Основное назначение FSMC — это перевод данных внутри микроконтроллера в доступный для соответствующих внешних устройств вид и обеспечение временных параметров связи этого протокола.
____Все внешние устройства получают свои адреса в адресном пространстве, сигналы
данных и управления. Доступ к каждому внешнему устройству осуществляется посредством индивидуального сигнала выбора микросхемы. Одновременное обращение к двум различным микросхемам внешней памяти невозможно.
____Поддерживаются следующие типы памяти: PC Card/Compact Flash, SRAM, PSRAM,
NOR Flash и NAND Flash.
____Параллельный LCD-интерфейс поддерживает два режима работы с LCD-контроллерами — Intel 8080 и Motorola 6800, но является довольно гибким для адаптации к другим LCD-интерфейсам.

Аналоговая периферия (АЦП И ЦАП)
____Микроконтроллер содержит три аналогово‑цифровых преобразователя (АЦП) и два одноканальных цифро-аналоговых преобразователя (ЦАП).
____АЦП обладает разрешающей способностью 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‑битовом формате с выравниванием этого результата по левому или правому краям. Так как ЦАП содержит два канала, есть возможность формирования стереосигнала. Доступна функция автоматической генерации шумового сигнала с меняющейся амплитудой или треугольного сигнала.

Таймеры
____Микроконтроллеры новой линейки могут содержать до 17 таймеров: два 16‑битных
таймера с расширенными функциями, два 32‑битных таймера общего назначения, восемь 16‑битных таймеров общего назначения, два 16‑битных базовых таймера, два сторожевых таймера (независимый и оконного типа)
и 24‑битный системный таймер. Часть таймеров можно конфигурировать на работу в мультирежимном формате, что позволяет строить системы из таймеров. Например, повысить разрядность счетчика до 48, сконфигурировав
последовательно три таймера, или синхронно запускать сразу несколько таймеров.
____Таймеры с расширенными функциями имеют очень большую функциональность. Это комплементарные выводы для поддержки трехфазных двигателей, поддержка режимов счета в прямом и обратных направлениях, генерация ШИМ, каналы захвата/сравнения сигнала, режим одиночного импульса,
поддержка DMA, дополнительные функции безопасности в случае сбоев, поддержка интерфейса энкодера и датчика Холла.
____Таймеры общего назначения аналогичны таймерам с расширенными функциями, за исключением функций, связанных с управлением двигателями. Отличия между таймерами общего назначения заключаются в различном количестве каналов захвата/сравнения, в поддержке направления счета и поддержке DMA или её отсутствии.
____Базовые таймеры имеют наименьший функционал: отсутствуют каналы захвата/сравнения, поддержка функций управления двигателями. Они, как правило, предназначены для использования в качестве обычных счетчиков.


1.8 Область резервного питания, часы реального времени.

____В микроконтроллерах STM32F4xx реализована область резервного питания, позволяющая работать микроконтроллеру при пропадании основного питания и поддержки частичной функциональности микроконтроллера. Область резервного питания состоит из трех составляющих:

  • часы реального времени (RTC);
  • 4 кбайт памяти резервной SRAM;
  • 20 байт резервных регистров (80 байт).

____Часы реального времени выполнены в виде 32‑разрядного счетчика с полной аппаратной поддержкой 0,5 секунды, секунд, минут, часов (в 12‑ или 24‑часовом формате), а также день (день недели), дата (день месяца), месяц и год, представленные в двоично-десятичном формате (BCD). Работа с 28-, 29‑дневными (високосный год) и 30-, 31‑дневными месяцами происходит в автоматическом режиме.
Поддерживается переход на летнее/зимнее время. Функция цифровой калибровки позволяет компенсировать неточность кварцевого резонатора. Часы реального времени реализуют дополнительные функции — два конфигурируемых будильника, защиту от несанкционированного доступа с сохранением времени взлома и очисткой резервных регистров. Часы могут оставаться активными во всех режимах работы микроконтроллера и выводить его из различных режимов сна.
____4 кбайт резервной памяти доступны только для CPU. Эта память сохраняет свой контекст в низкопотребляющих режимах и при пропадании основного питания микроконтроллера. Но только при условии, что подключено батарейное питание на специально предусмотренный вывод микросхемы Vbat,
который при доступности основного питания не потребляет дополнительной энергии.
____В линейке STM32F4xx потребление часов реального времени и 4‑кбайт резервной памяти значительно снижено: и RTC, и SRAM потребляют менее 1 мкА, а вместе — менее 2 мкА.


1.9 Модуль шифрования и хеширования.

____Модуль шифрования (сryptographic accelerator) представлен только в сериях STM32F415 и STM32F417. Он позволяет аппаратно реализовывать различные алгоритмы шифрования с очень высокой скоростью «на лету», что необходимо для обеспечения конфиденциальности информации в широком круге задач.
____Реализованы следующие алгоритмы шифрования:

  • DES (Data Encryption Standard) — симметричный шифр;
  • Triple DES (TDES, 64/128/192‑битные ключи) — симметричный блочный шифр;
  • AES (Advanced Encryption Standard, 128/192/256‑битные ключи) — симметричный блочный шифр.

____Поддержка хеширования:

  • SHA-1 (Secure Hash Algorithm-1) — алгоритм криптографического хеширования;
  • MD5 (Message Digest 5) — 128‑битный алгоритм хеширования;
  • HMAC (Hash-based message Authentication code) — хеш-код идентификации сообщений.

____В таблице представлен сравнительный анализ оценки пропускной способности
STM32F4xx в Мбайт/c для работы с данными на основе вышеприведенных алгоритмов. По таблице видно, что с помощью STM32F4xx можно проектировать приложения с криптографической обработкой данных «на лету»,
практически не используя ресурсы ядра микроконтроллера.

STM32F Конспект, теория, практика. 0_1926ab_174b429f_orig


1.10 Порты ввода/вывода общего назначения.

____Микроконтроллеры оснащены большим количеством портов ввода/вывода общего назначения GPIO (General-Purpose Input Output). На данный момент доступны корпуса LQFP и BGA, максимальное количество выводов микроконтроллера составляет 176. Приведем краткие характеристики портов
ввода/вывода:

  • Регистры управления 16 бит.
  • Толерантность к 5 В.
  • Состояния — подтяжка к питанию/«земле», третье состояние, альтернативные функции, аналоговое состояние.
  • Конфигурация скорости — 2, 25, 50 и 100 МГц.
  • Механизм защиты конфигурации от изменения.
  • Генерация прерывания почти любым выводом.

____Основное же отличие от STM32F1xx заключается в более гибком подходе при конфигурировании альтернативных функций (USART, АЦП и т. д.) на одну ножку. Работа портов ввода/вывода стала намного быстрее.


1.11 Отладка.

____Для подключения микроконтроллера к отладочным средствам используется стандартной JTAG-интерфейс или двухпроводный SWD (Serial Wire Debug). Выходы SWD-интерфейса мультиплексированы с выходами JTAG. Разработчику предоставляется возможность в выборе интерфейса отладки/программирования.
____Интегрированная макроячейка трассировки (Embedded Trace Macrocell) значительно расширяет функции отладки, позволяя наблюдать за потоком инструкций и данных внутри ядра CPU в реальном времени. Данные выводятся через небольшое количество ETM-выводов на внешний TDA-анализатор.


.


Последний раз редактировалось: Viktor2312 (Чт Авг 20 2020, 10:56), всего редактировалось 1 раз(а)

Viktor2312
RIP

Сообщения : 15492
Дата регистрации : 2012-08-10
Возраст : 45
Откуда : Пятигорск

Вернуться к началу Перейти вниз

STM32F Конспект, теория, практика. Empty Re: STM32F Конспект, теория, практика.

Сообщение  Viktor2312 Вт Май 09 2017, 13:48

2

.
.


В виду того, что ядро Cortex-M3, является по сути составной частью ядра Cortex-M4F, то нам необходимо детально разобраться во всех тонкостях устройства данного ядра. А светодиодом помигать, это всегда успеется, мы же серьёзно и детально осваиваем микроконтроллеры...


2. Введение. Ядро Cortex-M3.

____За прошедшие годы основные усилия разработчиков микроконтроллеров были потрачены на интегрирование CPU ARM7 и ARM9 в микроконтроллеры общего назначения. И вот, в настоящее время различными производителями выпускается порядка 250 ARM-микроконтроллеров. К числу таких производителей относится и компания ST Microelectronics, семейство STM32 которой, стало первым её семейством микроконтроллеров, выполненных на основе нового CPU ARM Cortex-M3. Эти микроконтроллеры стали новым эталоном по уровню рабочих характеристик и стоимости. Кроме того, они могут использоваться в применениях с малым энергопотреблением и жесткими требованиями к характеристикам управления в масштабе реального времени.


2.1. Знакомство с Cortex.

____Семейство ARM Cortex - новое поколение процессоров, которые выполнены по стандартной архитектуре и отвечают различным технологическим требованиям. В отличие от других CPU ARM, семейство Cortex является завершённым процессорным ядром, которое объединяет стандартное CPU и системную архитектуру. Семейство Cortex доступно в трёх основных профилях: профиль A для высокопроизводительных применений, профиль R для реально-временных применений и профиль M для чувствительных к стоимости и микроконтроллерных применений. Микроконтроллеры STM32 выполнены на основе профиля Cortex-M3, которое специально разработано для применений, где необходимы развитые системные ресурсы и, при этом, малое энергопотребление. Они характеризуются настолько низкой стоимостью, что могут конкурировать с традиционными 8 и 16-битными микроконтроллерами. И хотя CPU ARM7 и ARM9 были с успехом интегрированы в стандартные микроконтроллеры, в них все же прослеживается изначальная ориентированность на системы на кристалле (SoC). Это особенно заметно по способам обработки исключительных ситуаций и прерываний, т.к. у разных производителей микроконтроллеров и способы обработки реализованы различным образом. Cortex-M3 является стандартизованным микроконтроллерным ядром, которое помимо CPU, содержит все остальные составляющие основу микроконтроллера элементы (в т.ч. система прерываний, системный таймер SysTick, отладочная система и карта памяти). 4 гигабайтное адресное пространство Cortex-M3 разделено на четко распределенные области кода программы, статического ОЗУ, устройств ввода-вывода и системных ресурсов. В отличие от ядра ARM7, Cortex-M3 выполнено по Гарвардской архитектуре и, поэтому, имеет несколько шин, позволяющих выполнять операции параллельно. Семейство Cortex имеет возможность оперировать с фрагментированными данными (unaligned data), что также отличает его от предшествующих архитектур ARM. Этим гарантируется максимальная эффективность использования внутреннего статического ОЗУ. Семейство Cortex также поддерживает возможности установки и сброса бит в пределах двух областей памяти размером 1 Мбайт по методу bit banding. Этот метод предоставляет эффективный доступ к регистрам и флагам УВВ, расположенных в области статического ОЗУ, и исключает необходимость интеграции полнофункционального битового процессора.

STM32F Конспект, теория, практика. 0_192721_a1829d1d_orig
Основой STM32 является процессор Cortex-M3. Он представляет собой стандартизованный
микроконтроллер, интегрирующий 32-битное CPU, шинную структуру, блок вложенных
прерываний, отладочную систему и предопределенную организацию памяти.

____Ещё одним ключевым компонентом ядра Cortex-M3 является контроллер векторизованных вложенных прерываний КВВП (NVIC). КВВП (NVIC) предоставляет стандартную структуру прерываний для всех Cortex-микроконтроллеров и способы их обработки.
____КВВП (NVIC) предписывает векторы прерываний для 240 источников, для каждого из которых может быть установлен свой приоритет. При разработке КВВП (NVIC) особое внимание уделялось быстродействию обработки прерываний. С момента получения запроса на прерывание до выполнения первой команды процедуры обработки прерывания проходит всего лишь 12 циклов. Частично это достигнуто за счёт автоматических операций со стеком, выполняемым специальным микрокодом внутри CPU. Если же прерывания
возникают практически одновременно, то КВВП (NVIC) использует способ упорядоченной обработки прерываний с задержкой перед вызовом очередной процедуры обработки прерывания всего лишь 6 циклов. В случае наложения прерываний, прерывание с более высоким приоритетом может вытеснить более низкоприоритетное прерывание, не расходуя при этом дополнительных циклов CPU. Структура прерываний также тесно связана с поддерживаемыми ядром Cortex-M3 экономичными режимами работы. Предусмотрена возможность конфигурации CPU на автоматический переход в экономичный режим работы по завершении обработки прерывания. После этого перехода ядро будет бездействовать вплоть до возникновения очередной исключительной ситуации.
____Несмотря на то, что ядро Cortex-M3 разрабатывалось как недорогое ядро, оно остается 32-битным CPU и, в связи с этим, поддерживает два режима работы: потоковый режим (Thread) и режим обработчика (Handler), для каждого из которых можно сконфигурировать свои собственные стеки. Благодаря этому, появляется возможность разработки более интеллектуального программного обеспечения и поддержки операционных систем реального времени (ОСРВ). В ядро Cortex также входит 24-битный автоматически перезагружаемый таймер, предназначенный для генерации периодических прерываний и используемый ядром ОСРВ. Если у CPU ARM7 и ARM9 имеется два набора инструкций (32-битный ARM и 16-битный Thumb), то у семейства Cortex предусмотрена поддержка набора инструкций ARM Thumb-2. Он представляет собой смесь 16- и 32-битных инструкций, позволяющие добиться производительности 32-битного набора инструкций ARM и плотности кода, свойственной 16-битному набору инструкций Thumb. Thumb-2 - обширный набор инструкций, ориентированный на компиляторы языков C/C++. Это означает, что программа для Cortex-микроконтроллера может быть полностью написано на Си.


2.2 Обзор семейства STM32.

____До появления STM32 компания ST уже имела в своём выпускаемом ассортименте 4 семейства микроконтроллеров на основе ядер ARM7 и ARM9, однако именно у микроконтроллеров STM32 было достигнуто существенное улучшение соотношения стоимости и рабочих характеристик. Микроконтроллеры STM32, цена которых за штуку при покупке больших количеств составляет чуть более одного Евро, бросают серьезный вызов существующим 8-битным микроконтроллерам. Микроконтроллеры STM32 изначально выпускались в 14 различных вариантах, разделенные на две группы: Performance Line, в которую вошли микроконтроллеры с тактовой частотой CPU до 72 МГц, и Access Line (тактовая частота до 36 МГц). Обе группы микроконтроллеров совместимы по расположению выводов и программному обеспечению. Объем их встроенной Flash памяти достигал 128 кбайт, а статического ОЗУ - 20 кбайт. С момента первого появления микроконтроллеров STM32 их ассортимент был существенно расширен новыми представителями с повышенными размерами ОЗУ и Flash памяти, а также с более сложными УВВ.

STM32F Конспект, теория, практика. 0_192730_a9100c36_orig
Семейство STM32 состоит из двух групп. Группа Performance Line работает на тактовых частотах
до 72 МГц и оснащена полным набором УВВ, а группа Access Line работает на частотах до 36 МГц
и интегрирует ограниченный набор УВВ


2.2.1 Многофункциональные УВВ.

____На первый взгляд набор встроенных УВВ, в т.ч. два АЦП, таймеры общего назначения, I2C, SPI, CAN, USB и часы реального времени (ЧРВ), кажется идентичным самым простым микроконтроллерам. Но если детально рассмотреть каждое из этих УВВ, то выяснится, что они гораздо более сложные. Например, 12-битный АЦП оборудован датчиком температуры и поддерживает несколько режимов преобразования, а МК с двумя АЦП могут использовать их совместно еще в девяти режимах преобразования. По аналогии с этим, каждый из четырёх таймеров, оснащенных блоками захвата и сравнения, могут использоваться как отдельно, так и совместно, образуя более сложные массивы таймеров. У расширенного таймера (advanced timer) добавлена поддержка управления электродвигателями. Для этого у него предусмотрено 6 комплементарных ШИМ-выходов с программируемой паузой неперекрытия и вход экстренного останова, который переводит ШИМ-выходы в предварительно запрограммированное безопасное
состояние. У интерфейса SPI предусмотрен аппаратный генератор CRC для 8 и 16 слов, что упрощает реализацию интерфейса карт Flash памяти SD и MMC.
____В отличие от простых микроконтроллеров, у STM32 также предусмотрен 7-канальный блок прямого доступа к памяти (ПДП). Каждый канал может использоваться для передачи данных между регистрами любого из УВВ и запоминающими устройствами 8/16 или 32-битными словами. Каждое из УВВ может выполнять роль потокового контроллера ПДП, при необходимости отправляя данные или посылая запрос на их получение. Арбитр внутренней шины и матрица шин минимизируют потребность в арбитраже доступа к шинам со стороны CPU и каналов ПДП. Это означает, что блок ПДП является универсальным, простым в применении и реально автоматизирует передачу потоков данных внутри микроконтроллера.
____Микроконтроллеры STM32 отличаются казалось бы невозможным сочетанием характеристик малого энергопотребления и высокой производительности. Они способны работать от 2 -ого источника питания на тактовой частоте 72МГц и потреблять, при этом, ток, с учетом нахождения в активном состоянии всех встроенных ресурсов, всего лишь 36 мА. Если же использовать поддерживаемые ядром Cortex экономичные режимы работы, то потребляемый ток можно снизить до ничтожных 2 мкА в режиме STANDBY. Для
быстроты возобновления активной работы микроконтроллера используется внутренний RC-генератор на частоту 8 МГц. Его активность сохраняется на время запуска внешнего генератора. Благодаря быстроте перехода в экономичный режим работы и выхода из них, результирующая средняя потребляемая мощность еще больше снижается.





.

Viktor2312
RIP

Сообщения : 15492
Дата регистрации : 2012-08-10
Возраст : 45
Откуда : Пятигорск

Вернуться к началу Перейти вниз

Вернуться к началу

- Похожие темы

 
Права доступа к этому форуму:
Вы не можете отвечать на сообщения