Система тактирования

Эта система объединена в один блок вместе с системой сброса. Тактирование периферии как уже отмечалось ранее влияет на производительность и конечно же на потребление МК. Поэтому грамотная настройка этой системы в целом улучшает работу остальных блоков МК. Также необходимо помнить что без тактового сигнала ни один блок (включая процессорное ядро) не будет работать.

Тактовый сигнал

Подразделяется на 2 вида:

  1. Системный тактовый сигнал (SYSCLK) - от него зависит вся рабочая периферия, за исключением некоторых блоков о которых мы поговорим далее.
  2. Вторичный тактовый сигнал - отвечает за резервные системы и системы контроля стабильности работы, также используется для тактирования системных часов реального времени (RTC)

Существует 3 источника системного тактового сигнала:

  • HSI высокоскоростной (16МГц) внутренний осциллятор тактового сигнала
  • HSE высокоскоростной (4 - 26МГц) внешний осциллятор тактового сигнала
  • Main PLL Основное ФАПЧ для генерации системного тактового сигнала

У вторичного тактового сигнала также существует 2 источника:

  • 32 кГц низкоскоростной внутренний осциллятор тактового сигнала RC (LSI RC), для привода зависимого ватчдога (система контроля стабильности), и еще при желании часов реального времени для авто-старта из режима остановки/ожидания.
  • 32,768 кГц низкоскоростной внешний осциллятор (LSE crystal) для тактирования часов реального времени (RTCCLK)

Различные источники тактового сигнала могут быть переключены или выключены в зависимости от использования, а также для оптимизации энергосбережения МК. Однако, следует помнить следующее - внешние источники более стабильны по отношению к температуре, чем внутренние RC-генераторы, однако они потребляют больше энергии.

Дерево тактирования:

Контроллер тактирования обеспечивает высокую степень гибкости для нужд приложения и выбор внешних кварцевых резонаторов и внутренних источников для процессорного ядра и периферии на высокой частоте, гарантирует соответствующую частоту для периферии которой необходим специфический тактовый сигнал например для Ethernet, USB OTG FS и HS, I2S и SDIO.

Разные предделители используются для настройки AHB частоты, высокоскоростного APB (APB2) и низкоскоростного APB (APB1) доменов. Максимальная частота для AHB домена 168 МГц, для APB2 - 84 МГц и для низкоскоросного APB1 - 42 МГц. Однако в экспериментальных целях можно и превышать эти параметры, но для стабильной работы все же рекомендую их соблюдать.

Для начала создадим рабочую директорию для примеров:

nis@jane ~/stm32/f4examples $ mkdir 07-clocks

nis@jane ~/stm32/f4examples $ cd 07-clocks/

Создадим базовый проект который затем послужит основой для всех примеров этого раздела.

Для начала рассмотрим работу ФАПЧ(PLL) - повышение и понижение тактовой частоты.

Также попробуем использовать HSE - использование HSE.

Используя внешние источники тактирования необходимо позаботиться о стабильности генерации тактового сигнала - система защиты тактирования.