7.1. Управление сбросом

У МК STM32, помимо внешней линии сброса, имеется множество источников сброса. Сброс МК STM32 может быть выполнен встроенными сторожевыми таймерами, программно через КВВП, встроенными схемами сброса при подаче/отключении и снижении ниже допустимого уровня напряжения питания. В случае генерации сброса устанавливаются соответствующие флаги в регистре управления и статуса RCC, т.о. опросом этих флагов можно определить причину, вызвавшую сброс микроконтроллера. Состояние данных флагов сохраняется до следующего сброса при подаче питания или до записи лог. 1 в бит стирания причины сброса.

Микроконтроллер STM32 имеет несколько источников сброса. Определить источник сброса можно с помощью регистра управления и статуса RCC

7.2. Контроль напряжения питания

В состав микроконтроллеров STM32 входит специальный блок для мониторинга питания. Он называется блоком контроля напряжения питания (блок PVD). Блок PVD поддерживает возможность программирования порога срабатывания в диапазоне от 2.2 до 2.9В с шагом 0.1В. Этот порог срабатывания задается в регистре управления энергопотреблением.

В микроконтроллер входит специальная схема контроля напряжения питания, которая может генерировать прерывание, если напряжение питания снижается ниже заданного порога

Выход блока PVD связан с 16-ой линией блока внешних прерываний. Поскольку линии внешних прерываний могут реагировать на нарастающий, падающий или нарастающий и падающий фронты, то блок PVD можно использовать для генерации прерывания при выполнении условий превышения или понижения напряжения.

7.3. Защищенная система синхронизации

В большинстве применений МК STM32 в качестве основной системной синхронизации процессора Cortex и УВВ STM32 выступает внешний кварцевый резонатор, подключенный к выводам HSE-генератора. В структуре системы синхронизации предусмотрен специальный блок CSS, который контролирует внешний сигнал. В случае если этот блок обнаружит отказ кварцевого резонатора, МК переключится на аварийную синхронизацию от внутреннего генератора частоты 8 МГц.

В случае отказа внешнего генератора, блок CSS генерирует прерывание и переключается на работу от RC-генератора

Для активизации блока CSS необходимо установить соответствующий бит в регистре управления RCC.

Для включения контроля синхронизации необходимо установить бит разрешения работы CSS в регистре управления RCC

У блока CSS имеется линия прерывания, которая связана с прерыванием по экстренному отключению расширенного таймера 1, в свою очередь соединенной с линией немаскируемого прерывания КВВП Cortex. Этим гарантируется незамедлительный переход ШИМ-выходов таймера в предварительно-запрограммированное безопасное состояние в случае отказа основного генератора.

Таким образом, если процессор Cortex теряет управление над ШИМ-выходами, их работа и связанной с ними внешней схемы блокируется. Даная функция особенно важно в устройствах управления электродвигателями.

7.4. Сторожевые таймеры

В МК STM32 входят два отдельных сторожевых таймера. Независимый сторожевой таймер полностью отделен от основной системы МК STM32. Он расположен в домене с резервированием питания и синхронизируется встроенным низкочастотным генератором (LSI). Оконный сторожевой таймер является частью основной системы МК STM32 и связан с сигналом синхронизации первой шины УВВ. Оба сторожевых таймера поддерживают возможность раздельного включения/отключения и могут использоваться одновременно.

МК STM32 содержат два сторожевых таймера, один из которых синхронизируется отдельным генератором

Соседние файлы в папке ПЦиПУ. материалы для Курсового проекта Тютякин А.В.