Система тактирования
Эта система объединена в один блок вместе с системой сброса. Тактирование периферии как уже отмечалось ранее влияет на производительность и конечно же на потребление МК. Поэтому грамотная настройка этой системы в целом улучшает работу остальных блоков МК. Также необходимо помнить что без тактового сигнала ни один блок (включая процессорное ядро) не будет работать.
Тактовый сигнал
Подразделяется на 2 вида:
- Системный тактовый сигнал (SYSCLK) - от него зависит вся рабочая периферия, за исключением некоторых блоков о которых мы поговорим далее.
- Вторичный тактовый сигнал - отвечает за резервные системы и системы контроля стабильности работы, также используется для тактирования системных часов реального времени (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.
Используя внешние источники тактирования необходимо позаботиться о стабильности генерации тактового сигнала - система защиты тактирования.