Skip to main content

Модуль управления источниками тактовых сигналов системы

Общая информация

Модуль управления источниками тактовых сигналов системы предназначен для переключения между источниками тактирования, изменения периода синхросигнала и для перехода в режим «SLEEP».

Микроконтроллер в процессе работы может переключатся между двумя источниками тактового сигнала:

  • XTAL_CLK;
  • RC_CLK.

В свою очередь, источником синхросигнала XTAL_CLK в зависимости от настроек конфигурационной памяти (модуль ANALOG_CFG) может быть как внешний кварцевый генератор, так и встроенный RC-генератор, а источником RC_CLK всегда является встроенный RC-генератор.

Структурная схема

Структурная схема модуля управления источниками тактовых сигналов системы

Модуль управления источниками тактовых сигналов системы состоит из следующих блоков:

  • REGISTERS – блок для хранения управляющих данных и статусов;
  • SLEEP_CONTOL – блок управления режимом «SLEEP», предназначен для запуска режимов «Сон процессора» и «Глубокий сон»;
  • CLOCK_SEL – блок выбора частоты тактирования, предназначен для выбора источника частоты тактирования системы;
  • MUX – мультиплексор, предназначен для управления частотами, которые будут переданы в систему;
  • CLOCK_DIVIDER – делитель частоты, предназначен для деления частоты выбранного источника тактирования.

Выбор источника тактирования системы

При подаче питания тактирование системы осуществляется от XTAL_CLK. Пользователь может изменить источник тактирования путем записи необходимого значения в бит RC_XTAL регистра CMM_CTRL. На время операции переключения в регистре CMM_ST в активном уровне будет находится бит SWITCH. Когда операция переключения будет завершена, бит SWITCH примет значение «0», а NSWITCH «1». При большой разнице частот, процесс переключения займет порядка 12 тактов частоты, на которую происходит переключение, и 3 тактов текущей частоты.

Пользователь имеет возможность не переключаться между источниками XTAL_CLK и RC_CLK при переходе в режим «Глубокий сон», если источником XTAL_CLK уже является RC-генератор без ФАПЧ. Переход системы в режим «Глубокий сон» при тактировании от источника XTAL_CLK на какой-либо другой частоте приведет к полной остановке системы без возможности программного восстановления работоспособности.

Деление частоты тактирования

Текущая частота тактирования системы может быть поделена. Для этого необходимо записать коэффициент в регистр CMM_DIV.

Регистры модуля управления источниками тактовых сигналов системы

АббревиатураДоступОписание
2100hCMM_CTRLRWРегистр управления
2101hCMM_DIVRWРегистр делителя частоты
2102hCMM_MSKRWРегистр маски
2103hCMM_STRРегистр статуса

CMM_CTRL

Бит76543210
НазначениеРезерв*Резерв*RC_XTAL
Начальное значение010

* – Не изменять начальное значение.

RC_XTAL – бит управления источником тактирования системы FSRC:

  • 1 – тактирование от RC_CLK;
  • 0 – тактирование от XTAL_CLK.

CMM_DIV

Бит76543210
НазначениеCOEF
Начальное значение0

COEF – коэффициент деления исходной частоты тактирования.

При COEF>0 частота тактирования системы рассчитывается по формуле:

FCLK=FSRC2COEFF_{CLK} = \frac {F_{SRC}}{2 \cdot COEF}

где FSRC – исходная частота от источника XTAL_CLK или RC_CLK.

При COEF=0:

FCLK=FSRCF_{CLK} = F_{SRC}

CMM_MSK

Бит76543210
НазначениеРезервNSWITCH
Начальное значение0

NSWITCH – разрешить прерывание по статусу NSWITCH:

  • 1 – данное прерывание формируется;
  • 0 – данное прерывание не формируется.

CMM_ST

Бит76543210
НазначениеРезервSWITCHNSWITCH
Тип статусаFLAGEVENT
Начальное значение000

SWITCH – переключение между частотой XTAL_CLK и RC_CLK:

  • 1 – идет переключение на выбранную частоту;
  • 0 – система работает на выбранной частоте.

NSWITCH– процесс переключения частоты тактирования окончен.