4.2.1. Блок фазовой автоподстройки частоты
Сразу после сброса источником синхронизации ЦПУ является HSI-генератор. В таком состоянии МК его внутренний генератор отключен. Первым шагом по обеспечению работы STM32 с максимальным быстродействием является включение HSE-генератора и ожидание стабилизации его частоты.
После сброса МК STM32 работает от внутреннего высокочастотного генератора. Внешний генератор необходимо включить
RCC->CR |= 0x10000; //включение HSE
// Ожидание стабилизации частоты HSE-генератора
while(!(RCC->CR &0x00020000))
{
;
}
|
Включается внешний генератор с помощью регистра RCC_Control. Бит готовности сигнализирует о стабилизации частоты внешнего генератора. После того, как частота внешнего генератора станет стабильной, его можно выбрать как вход блока ФАПЧ. Выходная частота блока ФАПЧ зависит от заданного целочисленного значения коэффициента умножения частоты, которое хранится в регистре RCC_PLL_configuration. Если используется генератор на частоту 8 МГц, для генерации максимальной тактовой частоты 72 МГц необходимо задать коэффициент умножения 9. После настройки коэффициента умножения частоты, необходимо разрешить работу блока ФАПЧ посредством регистра управления. Как только выходная частота блока ФАПЧ станет стабильной, установится соответствующий флаг и выход ФАПЧ можно выбрать в качестве источника синхронизации ЦПУ Cortex.
После запуска HSE-генератора его сигнал можно подать на вход схемы ФАПЧ. По завершении переходных процессов внутри схемы ФАПЧ ее сигнал можно использовать для синхронизации системы
//Синхронизация HSE-генератором и умножением частоты на 9
RCC->CFGR = 0x001D0000; //Активизация ФАПЧ
RCC->CR |= 0x01000000;
while(!(RCC->CR & 0x02000000))
{
;
}
//Установка остальных полей управления
RCC->CR |= 0x00000001;
//Установка остальных полей конфигурации
RCC->CFGR |= 0x005D0402;
|
|