Модуль управления источниками тактовых сигналов системы
Общая информация
Модуль управления источниками тактовых сигналов системы предназначен для переключения между источниками тактирования, изменения периода синхросигнала и для перехода в режим «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.
Регистры модуля управления источниками тактовых сигналов системы
№ | Аббревиатура | Доступ | Описание |
---|---|---|---|
2100h | CMM_CTRL | RW | Регистр управления |
2101h | CMM_DIV | RW | Регистр делителя частоты |
2102h | CMM_MSK | RW | Регистр маски |
2103h | CMM_ST | R | Регистр статуса |
CMM_CTRL
Бит | 7 | 6 | 5 | 4 | 3 | 2 | 1 | 0 |
---|---|---|---|---|---|---|---|---|
Назначение | Резерв* | Резерв* | RC_XTAL | |||||
Начальное значение | 0 | 1 | 0 |
* – Не изменять начальное значение.
RC_XTAL – бит управления источником тактирования системы FSRC:
- 1 – тактирование от RC_CLK;
- 0 – тактирование от XTAL_CLK.
CMM_DIV
Бит | 7 | 6 | 5 | 4 | 3 | 2 | 1 | 0 |
---|---|---|---|---|---|---|---|---|
Назначение | COEF | |||||||
Начальное значение | 0 |
COEF – коэффициент деления исходной частоты тактирования.
При COEF>0 частота тактирования системы рассчитывается по формуле:
где FSRC – исходная частота от источника XTAL_CLK или RC_CLK.
При COEF=0:
CMM_MSK
Бит | 7 | 6 | 5 | 4 | 3 | 2 | 1 | 0 |
---|---|---|---|---|---|---|---|---|
Назначение | Резерв | NSWITCH | ||||||
Начальное значение | 0 |
NSWITCH – разрешить прерывание по статусу NSWITCH:
- 1 – данное прерывание формируется;
- 0 – данное прерывание не формируется.
CMM_ST
Бит | 7 | 6 | 5 | 4 | 3 | 2 | 1 | 0 |
---|---|---|---|---|---|---|---|---|
Назначение | Резерв | SWITCH | NSWITCH | |||||
Тип статуса | FLAG | EVENT | ||||||
Начальное значение | 0 | 0 | 0 |
SWITCH – переключение между частотой XTAL_CLK и RC_CLK:
- 1 – идет переключение на выбранную частоту;
- 0 – система работает на выбранной частоте.
NSWITCH– процесс переключения частоты тактирования окончен.