Семейство микроконтроллеров STM32 


Мы поможем в написании ваших работ!



ЗНАЕТЕ ЛИ ВЫ?

Семейство микроконтроллеров STM32



 

Семейство микроконтроллеров STM32 построено с использованием 32-рязрядного ядра Cortex различных версий (в микроконтроллере, установленном на плате используется ядро Cortex-M4). Некоторые основные характеристики ядра микроконтроллеров STM32 представлены в табл. 1.1.

 

Таблица 1.1. Основные характеристики ядра микроконтроллеров STM32

 

Характеристика Значение
Ширина слов для данных, разряд 32
Архитектура Гарвард
Конвейер 3-ступенчатый
Набор инструкций RISC
Организация памяти программ, разряд 32
Буфер предвыборки, разряд 2х64
Средний размер инструкции, байт 2
Тип прерываний Векторизированные
Задержка реагирования на прерывания 12 циклов
Режимы управления энергопотреблением Сон, сон по выходу, глубокий сон
Отладочный интерфейс ST-LINK, JTAG

Микроконтроллеры данного типа построены на гарвардской архитектуре и имеют 3-ступенчатый конвейер, который минимизирует время выполнения команд. Они разработаны для построения систем с максимальной энергоэффективностью и имеют несколько режимов управления энергопотреблением. В них используются внутренние интерфейсы памяти шириной больше, чем средняя длина инструкции. Это минимизирует число доступов к шине памяти, а, следовательно, и потребление электроэнергии, связанное с операциями по шине и чтением энергонезависимой памяти. Технология непрерывной обработки прерываний с исключением внутренних операций над стеком (tail chaining) сокращает время реакции на прерывания и исключает лишние операции со стеком.

 

На рис. 1.2 представлено упрощенное представление цифрового периферийного устройства. Периферийный узел может быть разделен на два главных блока. Первый блок – это ядро, которое

 

содержит конечные автоматы, счетчики и любой вид комбинаторной или последовательной логики. Оно предназначено для выполнения задач, не требующих участия процессора, таких как простые задачи передачи данных, управления аналоговыми входами или выполнения функций, привязанных к синхросигналам. Ядро периферийного узла связывается с внешним миром через порты ввода/вывода МК. Внешние соединения могут состоять из нескольких сигналов или сложных шин. Второй блок – настройка и управление периферией, которые осуществляются приложением через регистры, соединенные с внутренней шиной, разделяемой с другими ресурсами МК.

 

Рис. 23. Представление цифрового периферийного устройства

 

Плата STM32F4 Discovery оснащена:

 

- микроконтроллером STM32F407VGT6 с ядром Cortex-M4F тактовой частотой 168 МГц, 1 Мб Flash-памяти, 192 кб RAM в корпусе LQFP100;

 

- отладчиком ST-Link/V2 для отладки и программирования МК;

- питанием платы через USB или от внешнего источника питания 5 В;

- датчиком движения ST MEMS LIS302DL и выходами цифрового акселерометра по трем осям;

- датчиком звука ST MEMS MP45DT02;

 

- звуковым ЦАП CS43L22;

- восемью светодиодами: LD1 (красный/зеленый) для USB-подключения, LD2 (красный) для

 

питания 3.3 В, четыре пользовательские светодиода: LD3 (оранжевый), LD4 (зеленый), LD5 (красный), LD6 (синий) и два светодиода для USB On-The-Go – LD7 (зеленый) и LD8 (красный)$

 

- двумя кнопками (для программирования пользователем и для перезапуска).

 

Лекция 3,4.

Многофункциональные УВВ (устройство ввода – вывода).

В данном разделе будет представлена общая информация об устройствах ввода-вывода (УВВ), которые доступны пользователю в различных версиях микроконтроллеров STM32. Для удобства УВВ разделяются на две группы: микроконтроллерные УВВ общего назначения и коммуникационные УВВ. Все УВВ микроконтроллеров STM32 отличаются высокой степенью сложности и очень плотно связаны с блоком ПДП. Каждое УВВ обладает избыточными схемными блоками, которые позволяют минимизировать участие ЦПУ в выполнении каждым конкретным УВВ задач.

На первый взгляд набор встроенных УВВ, в т. ч. два АЦП, таймеры общего назначения, I2C, SPI, CAN, USB и часы реального времени (ЧРВ), кажется идентичным самым простым микроконтроллерам. Но если детально рассмотреть каждое из этих УВВ, то выяснится, что они гораздо более сложные. Например, 12-битный АЦП оборудован датчиком температуры и поддерживает несколько режимов преобразования, а МК с двумя АЦП могут использовать их совместно еще в девяти режимах преобразования. По аналогии с этим, каждый из четырех таймеров, оснащенных блоками захвата и сравнения, могут использоваться как отдельно, так и совместно, образую более сложные массивы таймеров. У расширенного таймера (advanced  timer) добавлена поддержка управления электродвигателями. Для этого у него предусмотрено 6 комплементарных ШИМ-выходов с программируемой паузой не перекрытия и вход экстренного останова, который переводит ШИМ-выходы в предварительно запрограммированное безопасное состояние. У интерфейса SPI предусмотрен аппаратный генератор CRC для 8 и 16 слов, что упрощает реализацию интерфейса карт Flash памяти SD и MMC.

В отличие от простых микроконтроллеров, у STM32 также предусмотрен 7-канальный блок прямого доступа к памяти (ПДП). Каждый канал может использоваться для передачи данных между регистрами любого из УВВ и запоминающими устройствами 8/16 или 32-битными словами. Каждое из УВВ может выполнять роль потокового контроллера ПДП, при необходимости отправляя данные или посылая запрос на их получение. Арбитр внутренней шины и матрица шин минимизируют потребность в арбитраже доступа к шинам со стороны ЦПУ и каналов ПДП. Это означает, что блок ПДП является универсальным, простым в применении и реально автоматизирует передачу потоков данных внутри микроконтроллера.

Микроконтроллеры STM32 отличаются, казалось бы, невозможным сочетанием характеристик малого энергопотребления и высокой производительности. Они способны работать от 2В-ого источника питания на тактовой частоте 72МГц и потреблять, при этом, ток, с учетом нахождения в активном состоянии всех встроенных ресурсов, всего лишь 36 мА. Если же использовать поддерживаемые ядром Cortex экономичные режимы работы, то потребляемый ток можно снизить до ничтожных 2 мкА в режиме STANDBY. Для быстроты возобновления активной работы микроконтроллера используется внутренний RC-генератор на частоту 8 МГц. Его активность сохраняется на время запуска внешнего генератора. Благодаря быстроте перехода в экономичный режим работы и выхода из них результирующая средняя потребляемая мощность еще больше снижается.

УВВ общего назначения микроконтроллеров STM32 состоят из портов ввода-вывода (ПВВ) общего назначения, контроллера внешних прерываний, аналогово-цифровых преобразователей, таймеров общего назначения, расширенного таймера и часов реального времени с энергонезависимыми (за счет резервирования питания) регистрами и входом обнаружения вмешательства. У МК STM32 предусмотрено до 80 двунаправленных линий ввода-вывода. Все линии ввода-вывода разделены на 5 портов по 16 линий ввода-вывода в каждой.

. Каждая цифровая линия ввода-вывода может выполнять функцию линии ввода-вывода общего  назначения или альтернативную функцию. Каждый из выводов может выполнять дополнительную функцию одного из                                                                                             16 входов  внешних прерываний. Данные порты называются A…E и совместимы с напряжением 5В. Многие из внешних выводов могут выполнять альтернативную  функцию линии ввода-вывода встроенного УВВ, например, модуля УСАПП или I2C. Кроме того, 16 входных линий встроенного  блока внешних прерываний могут быть соединены  с любыми из линиями портов ввода-вывода.   Каждый ПВВ поддерживает возможность раздельной конфигурации линий на ввод или на вывод. Кроме того, предусмотрены регистры как для записи целых слов, так и для воздействия на отдельные биты. После завершения конфигурации доступ к ней можно заблокировать У каждого ПВВ имеется два 32-битных конфигурационных регистра. Совместно они образуют 64-битный конфигурационный регистр. Эти 64 бита разделены на 4-битные поля, позволяющие настроить соответствующую  им линию ввода-вывода. В свою очередь, 4-битное поле конфигурации состоит из 2-битного поля режима и 2-битного  поля конфигурации. Поле режима позволяет указать, в каком направлении работает линия: на ввод или на вывод, а поле конфигурации позволяет настроить характеристики управления: · если линия настроена как вход, то к ней можно подключить подтягивающий к плюсу или минусу резистор;
  • линия, настроенная на вывод, может быть либо двухтактной, либо с открытым стоком. Для линий вывода можно также указать ее максимальное быстродействие: 2, 10 или 50 МГц.
.
Конфигурация CNF1 CNF0 MOD1 MOD0
Аналоговый вход 0 0

00

Плавающий вход (состояние после сброса) 0 1
Вход с подтягиванием к плюсу 1 0
Вход с подтягиванием к минусу 1 0
Двухтактный выход 0 0

00: резерв
01: 10МГц
10: 2МГц
11: 50МГц

Выход с открытым стоком 0 1
Двухтактный выход альтернат. функции 1 0
Выход с открытым стоком альтернат. функции 1 1

 

 

После завершения настройки портов, конфигурационные параметры можно защитить. Для этого необходимо выполнить запись в регистр блокировки конфигурации. В этом регистре для каждого вывода предусмотрен бит блокировки. После его установки блокируется возможность записи в соответствующие поля конфигурации и режима. После установки всех требуемых бит блокировки, необходимо в бит 16 регистра блокировки записать последовательность 1, 0, 1. Этим будет активизирована блокировка. Убедиться в активизации блокировки можно, если сразу после записи выполнить подряд два считывания этого же бита. Считывание значений 0, 1 свидетельствует об успешной активации блокировки. Доступ к линиям ввода-вывода осуществляется через регистры ввода и вывода данных. Для выполнения действий над отдельными битами можно использовать либо поддерживаемый ядром Cortex способ "bit banding" применительно к регистрам ввода и вывода, либо воспользоваться двумя специальными регистрами битовой обработки. Регистр установки/сброса бит - 32-битный регистр. Верхние 16 бит связаны с каждой из линий ПВВ. Запись в них логической 1 приводит к сбросу соответствующей линии ввода-вывода. Идентично этому, запись логической 1 в любой из младших 16 бит приведет к установке соответствующей линии ввода-вывода. Второй регистр битовой обработки - регистр сброса бит. Этот регистр 16-битный. Запись в его биты логических 1 приводит к сбросу соответствующих линий ввода-вывода. Сочетание регистров ПВВ, способа "bit banding" и регистров битовой обработки предоставляют пользователю отличные возможности управления всеми линиями ввода-вывода МК STM32 и могут чрезвычайно эффективно использоваться в применениях с интенсивным использованием линий ввода-вывода.

Безопасность.

Многие современные применения, помимо высокой производительности и многофункциональных УВВ, должны обладать инструментами, обеспечивающие безопасность. Данное требование было учтено у МК STM32. В них интегрирован ряд аппаратных блоков, отвечающих за безопасность работы микроконтроллера, в т.ч. маломощный супервизор питания, система защиты синхронизации и два отдельных сторожевых таймера. Первый сторожевой таймер относится к оконному типу (windowed watchdog). Его необходимо обновлять только в пределах отведенных временных рамок. Если это сделать слишком рано или слишком поздно, то он сгенерирует сигнал срабатывания. Другой сторожевой таймер полностью независим от первого. Он синхронизируется от отдельного внутреннего генератора, который не связан с главной системной синхронизацией. У МК также используется система защиты синхронизации, которая может выявлять перебои в работе основного внешнего генератора и безопасно переключаться на работу от внутреннего RC-генератора частоты 8 МГц.

 

Альтернативные функции

Регистры альтернативных функций управляют переключением линии ввода-вывода между ПВВ и одним из встроенных УВВ. Чтобы схемотехническое проектирование было более гибким, линии ввода-вывода УВВ могут быть связаны с одним из нескольких выводов МК.

 

 

Опоздавшее высокоприоритетное прерывание отложит выполнение низкоприоритетного

прерывания, не выполняя при этом каких-либо дополнительных операций над стеком

Альтернативные функции у МК STM32 управляются через регистр переназначения

 

и отладки. Каждое из цифровых УВВ (УСАПП, CAN, таймеры, I2C и SPI) имеет одно- или двухбитное поле, которое позволяет назначить работу с различной комбинацией выводов. После выбора альтернативных функций выводов, необходимо в конфигурационных регистрах ПВВ переключить назначение вывода с линии ввода-вывода на альтернативную функцию. Регистр переназначения также управляет конфигурацией выводов отладочного JTAG-порта. Сразу после сброса, порт JTAG активизируется с отключенной функцией трассировки данных. JTAG можно переключить в режим двухпроводного отладочного интерфейса, а неиспользуемые выводы использовать в качестве линий ввода-вывода общего назначения.

АЦП

В зависимости от модели, в микроконтроллеры STM32 может быть встроено один или два аналогово-цифровых преобразователя. АЦП питаются отдельным напряжением, которое в зависимости типа корпуса может находиться в пределах 2.4┘3.6В. Источник опорного напряжения (ИОН) АЦП соединен либо внутренне с напряжением питания АЦП, либо со специальными внешними выводами. АЦП характеризуется 12-битной разрешающей способностью и частотой преобразования 1МГц. У него имеется до 18 мультиплексированных каналов, 16 из которых можно использовать для измерения внешних сигналов. Оставшиеся два канала связаны со встроенным датчиком температуры и внутренним ИОН.



Поделиться:


Последнее изменение этой страницы: 2019-12-14; просмотров: 280; Нарушение авторского права страницы; Мы поможем в написании вашей работы!

infopedia.su Все материалы представленные на сайте исключительно с целью ознакомления читателями и не преследуют коммерческих целей или нарушение авторских прав. Обратная связь - 35.172.231.232 (0.026 с.)