Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Ознакомительное руководство по ARM-микроконтрол...doc
Скачиваний:
18
Добавлен:
01.05.2025
Размер:
3 Мб
Скачать
☆

7. Возможности по обеспечению безопасной работы

Микроконтроллеры STM32 поддерживают ряд возможностей, направленных на выявление некорректного выполнения кода программы и неправильного поведения микроконтроллера в целом. Чтобы исключить возможность работы микроконтроллера от ненадежного источника питания, у МК STM32 предусмотрена встроенная схема, которая переводит его в состояние сброса, если напряжение VDD будет ниже минимально допустимого значения. Кроме того, в МК интегрирована программируемая схема контроля напряжения, которая еще раньше позволяет выявить проблемы с питанием. После выявления нарушения питания эта схема генерирует прерывание, позволяющее перевести интегральную схему в безопасное состояние. В структуре системы синхронизации МК предусмотрены элементы контроля HSE-генератора. В случае выявления нарушений в его работе, МК автоматически переключится на работу от HSI-генератора. Корректность выполнения программы можно контролировать с помощью двух встроенных сторожевых таймеров. Один из них – оконный сторожевой таймер, который необходимо обновлять с определенной частотой. Другой – независимый сторожевой таймер, который синхронизируется отдельным генератором, не связанным с основной системной синхронизацией. Кроме того, встроенная Flash память поддерживает возможность хранения данных в течение 30 лет при температуре 85°С, что является лучшим в своем классе показателем хранения данных для микроконтроллера общего назначения. Перечисленные возможности по обеспечению безопасной работы МК неприемлемы при использовании в оборудовании, к которому предъявляются максимально высокие требования безопасности (в таком оборудовании элементы, отвечающие за контроль программного обеспечения, как например, сторожевой таймер должны быть отдельными внешними устройствами). Тем не менее, микроконтроллеры STM32 позволяют разрабатывать надежные самокорректирующие системы с использованием способов, применяющихся в критичных к безопасности авиационных и автомобильных системах, но с использованием чрезвычайно простых схемных решений. Благодаря этому, возможно создание гораздо более надежной и качественной недорогой и простой электронной техники.

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

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

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

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

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

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

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