
- •Микроконтроллеры ф. STMicroelectronics
- •Особенности архитектуры
- •3 семейства STM8
- •Микроконтроллер STM8
- •Микроконтроллер STM8
- •Регистры ядра STM8
- •Архитектура микроконтроллеров STM8
- •Адресное
- •Система сброса STM8 (рис. 2)
- •Схема CLK
- •Система синхронизации STM8
- •Таблица таймеров
- •Контроллер прерываний (ITC) STM8
- •Подсистемы STM8
- •Характеристики АЦП:
- •32-битные микроконтроллеры
- •32-битные микроконтроллеры
- •Системная
- ••В отличие от других ЦПУ ARM, семейство Cortex
- •Cortex-M3 является стандартизованным микроконтроллерным ядром, которое помимо ЦПУ, содержит: систему прерываний, системный таймер
- •Основой STM32 является процессор
- ••КВВП предписывает векторы прерываний для 240
- ••ядро Cortex-M3 поддерживает два
- ••В ядро Cortex также входит 24-битный
- •ЦПУ Cortex
- •программная модель
- •Конвейер дополнен функцией прогнозирования ветвлений
- •Программная модель ЦПУ Cortex:
- •Program Status Register (xPSR)
- •Program Status Register (xPSR)
- •Режимы работы ЦПУ Cortex
- •Режимы работы ЦПУ Cortex 2/5
- •Режимы работы ЦПУ Cortex
- •Режимы работы ЦПУ Cortex 4/5
- •Режимы работы ЦПУ Cortex
- •команд
- •Шины процессора Cortex 1/3
- •Матрица шин
- •Манипуляции битами
- •Битовая сегментация
- •Распределение памяти
- •Распределение памяти
- •Режимы загрузки
- •Распределение памяти
- •Распределение памяти
- •Системный таймер SysTick
- •Системная
- •Обработка прерываний
- •прерываний (КВВП)
- •Контроллер вложенных векторных
- •Работа КВВП при входе в исключительные ситуации и выходе из них
- •Расширенный режим обработки
- •исключением внутренних операций над
- •Постановка прерываний в очередь
- •Прерывание с большим приоритетом прерывает обработку с меньшим приоритетом без дополнительной перезагрузки стека
- •Таблица векторов прерываний Cortex13/19
- •Номер
- •Конфигурирование «Исключений» 16/19
- •Прерывания: приоритеты, разрешение,
- •У каждого источника 19/19 прерывания имеется бит
- •Режимы энергопотребления ЦПУ Cortex
- •Отладочная система CoreSight
- •Отладочная система CoreSight
- •Управление сбросом
- •STM32 содержит встроенную схему сброса. В
- ••Несмотря на то, что внешняя схема сброса не нужна в схеме включения STM32,
- •Средства синхронизации
- •Низкочастотный внешний генерат3/4
- •Прямой доступ к памяти
- •Каналы ПДП
- •Каждое УВВ, которое поддерживает ПДП, связано с
- •Периферийные устройства
- •Порты ввода-вывода общего назначения
- •Конфигурация
- •Альтернативные функции линий ПВВ 6/6
- •Внешние прерывания
- •Каждую из 16 линий EXTI можно связать с соответствующей линией ввода-вывода любого из
- •преобразования
- •Режимы АЦП
- •Регулярный режим АЦП
- •• Каждый раз, когда завершается оцифровка в группе регулярных преобразований, результат 6/20 преобразования
- •Инжектированная группа преобразований 8/20
- •АЦП поддерживают прерывания при выходе результата 10/20 преобразования за пределы заданных пользователем нижней
- •Конфигурирование и настройка АЦП 11/20
- •В режимах сдвоенных
- •Режимы быстрых и медленных
- •Таймеры общего назначения и
- •Таймеры общего назначения
- •Блок захвата/сравнения
- •Блок захвата/сравнения
- •Блок захвата
- •Режим измерения параметров ШИМ-
- •Интерфейс энкодера
- •Режим сравнения
- •Режим широтно-импульсной модуляции15/25
- •Режим одновибратора
- •Расширенный таймер 1
- •Функция экстренного отключения
- •Интерфейс датчика Холла
- •Синхронизированная работа таймеров 20/25
- •Синхронизация таймеров возможна в
- •Часы реального времени
- •Регистры с резервированием питания и вход
- •Коммуникационные интерфейсы
- •Каждый модуль SPI может работать в ведущем или подчиненном режиме на частоте до
- •Для передачи данных на больших скоростях у
- •Модуль I2C
- •В модуль I2C STM32 входит блок аппаратной проверки ошибок в пакете (блок PEC).
- ••Модуль I2C МК STM32 также поддерживает два
- •В МК STM32 интегрируется до 3 модулей УСАПП, каждый из которых поддерживает несколько
- ••В МК STM32 интегрируется до 3 модулей
- •УСАПП могут использоваться в качестве интерфейса смарт-карта или IrDA
- •В синхронном режиме УСАПП можно использовать в роли дополнительных ведущих интерфейсов SPI
- •CAN-контроллер
- •Модуль интерфейса USB
- •Интерфейс USB поддерживает до 8 конечных точек, которые пользователь может настроить как конечная
- •Экономичные режимы работы
- •Режим SLEEP
- •Режим STOP
- ••МК STM32 можно настроить на работу в режиме STANDBY, если установить бит SLEEPDEEP
- •Режим STANDBY
- •работы
- •Независимый сторожевой таймер полностью отделен от основной системы МК STM32. Он расположен в
- •Независимый сторожевой таймер
- •Блокировка конфигурации ПВВ
- •трех областей )
- •Защита и программирование Flash памяти
- •Операции стирания и записи
- •Операции стирания и записи
- •Байты опций

Распределение памяти
•С помощью выводов управления 7/7 загрузкой адрес 0x00000000 вместо Flash памяти пользователя может быть также связан со статическим ОЗУ.
•Поскольку загрузка статического ОЗУ осуществляется более быстро, то эта возможность может оказаться полезной на фазе проектирования для исполнения кода программы из статического ОЗУ.
•Кроме того, появляется возможность сократить частоту
перепрограммирования Flash памяти.

Системный таймер SysTick
•В ядро Cortex входит 24-битный вычитающий счетчик с функциями автоматической перезагрузки и генерации прерывания.
•Он используется во всех Cortex-МК для формирования шкалы времени в ОСРВ или для периодических прерываний обработки запланированных задач.
•С помощью регистра управления и статуса таймера, можно выбрать его источник синхронизации (равной
тактовой частоте ЦПУ или 1/8 тактовой

Системная
архитектура
STM32

Обработка прерываний |
1/19 |
•Структуре прерываний ARM7 и ARM9 свойственна непостоянность времени требуемого на завершение текущей инструкции при возникновении прерывания.
•В системах реального времени из-за этого могут возникнуть большие трудности.
•Поддержка вложенных прерываний в архитектуре ARM7 и ARM9 реализована неэффективно и требует написания дополнительных кодов программы в виде ассемблерных макросов или ОСРВ.
•В ядре Cortex эти трудности преодолены. Разработана стандартная структура прерываний, отличающаяся предельным

прерываний (КВВП)
является стандартным блоком ядра Cortex, имеет одну и ту же структуру, независимо от его производителя МК.
•Поэтому прикладной код и операционные системы можно легко переносить с одного
МК на любой другой и, при этом, |
2/19 |
программисту не требуется изучение нового набора регистров.
•КВВП имеет малую задержку реагирования на прерывание. Данная задача решена возможностями КВВП, а также набором инструкций Thumb-2, многоцикловые инструкции которого, как например, инструкции многократного чтения/записи,
являются прерываемыми.

Контроллер вложенных векторных
прерываний
• КВВП разработан с учетом 3/19 программирования полностью на Си и исключает потребность в написании каких- либо ассемблерных макросов или специальных, несовместимых с ANSI, директив.
•КВВП поддерживает одно немаскируемое прерывание и еще до 240 внешних линий прерывания, которые можно подключить к пользовательским УВВ.
КВВП поддерживает вложенные прерывания
( у МК STM32 16 уровней приоритетов).
•В ядре Cortex поддерживается еще 15

4/19

Работа КВВП при входе в исключительные ситуации и выходе из них
•Если прерывание инициируется УВВ, то КВВП подключит ЦПУ Cortex к обработке 5/19 прерывания.
•ЦПУ Cortex помещает набор регистров в стек. Эта операция выполняется с помощью
специального микрокода, что упрощает прикладной код.
•В процессе записи данных в стек на
шине инструкций осуществляется выборка начального адреса процедуры обработки прерывания. Благодаря этому, с момента возникновения прерывания до выполнения первой инструкции его

6/19 |
Сохранение в стеке:xPSR, PC, |
|
LR, R12(внутренних вызовов), |
||
|
||
|
R0-R3 (рег. Передачи данных) |

Расширенный режим обработки
прерываний
• Помимо высокого быстродействия обработки одного прерывания, КВВП 7/19 поддерживается несколько оригинальных методов, позволяющие обрабатывать несколько запросов прерываний с минимальными задержками между прерываниями и с гарантированием приоритетности.
• КВВП имеет возможность приостановки находящегося на обработке прерывания, если возникает прерывание с более высоким
приоритетом.