Управление тактированием
Схема тактирования
Тактовые импульсы можно подавать двумя способами: внутренней и внешний генератор Существует несколько типов тактовых резонаторов:
- RC-цепи
- Керамичсекие резонаторы
- Кварцевые резонаторы
Микроконтроллер MIK32 оснащен четырьмя генераторами, два на основе внешнего кварцевого резонатора и два на встроенном контуре RC.
- Внешние генераторы
- OSC32K – генератор с выводами для подключения внешнего часового кварцевого резонатора;
- OSC32M – генератор с выводами для подключения внешнего кварцевого резонатора для тактирования системы с частотой от 1 до 32 МГц (генератор по-умолчанию);
- Внутренние генераторы
- HSI32M – встроенный генератор с частотой 32 МГц с возможностью корректировки частоты;
- LSI32K встроенных генератора с частотой 32 кГц с возможностью корректировки частоты;
- монитор частоты, предназначен для контроля состояния источников тактирования во время работы микроконтроллера;
Управление тактированием
Для выбора источников тактирования, задания делителей частоты, управлением HSI32M и OSC32M используются регистры модулей PowerManager и WakeUp.
Для управления тактированием часов реального времени и управлением LSI32K и OSC32K используются регистра модуля WakeUp. При включении питания и по внешнему сбросу:
- тактирование осуществляется от внешнего осциллятора 32 МГц (OSC32M);
- значения делителей шин AHB, APB_M, APB_P равны 0, то есть указанные шины работают на частоте осциллятора;
- тактирование RAM, EEPROM, SPIFI, PowerManager, WakeUp включено, так- тирование остальных устройств выключено;
- тактирование сторожевого таймера осуществляется от встроенного осцилля- тора 32 МГц;
- внешние осцилляторы OSC32K и OSC32M включены. Перед использованием внешнего осциллятора его необходимо включить записью «0» в поле OCS32M;
Перед использованием внешнего осциллятора его необходимо включить запи- сью «0» в поле OCS32M_en регистра Generator блока WakeUp.
При необходимости, для снижения потребления встроенный осциллятор 32 MГц выключен путем записи «1» в поле RC32M_en регистра Generator блока PM.
Для подстройки встроенного осциллятора HSI32M используются поправочные коэффициент с допустимым значением от 0 до 255.
Для подстройки встроенного осциллятора LSI32K используются поправочные коэффициент с допустимым значением от 0 до 255.
Описание полей регистров модуля WU для управления тактированием пред- ставлено в таблице 1.
Описание полей регистров модуля PM для управления так- тированием представлено в таблице 2.
Регистр | Смешение | Обозначение | Номер разряда | Описание |
---|---|---|---|---|
CLOCKS_SYS | 0х14 | OSC32M_EN | [0] | Включение/отключение внешнего осцилятора
0 – включение; 1 – отключение |
HSI32M_EN | [1] | Включение/отключение HSI32M
0 – включение; 1 – отключение | ||
ADJ_HSI32M | [9:2] | Поправочные коэффициенты HSI32M | ||
FORCE_32K_CLK | [11:10] | Принудительное переклю- чение на опорный источник для монитора частоты
2’b01 – принудительно выбран OSC32K 2’b10 – принудительно выбран LSI32K | ||
CLOCKS_BU | 0х10 | OSC32K_EN | [0] | Включение/отключение внешнего осцилятора на 32 KГц
0 – включение; 1 – отключение |
LSI32K_EN | [1] | Включение/отключение LSI32К
0 – включение; 1 – отключение | ||
ADJ_LSI32K | [9:6] | Поправочные коэффициенты LSI32К | ||
RTC_CLK_MUX | [11:10] | Выбор источника тактирования часов реального времени:
0x1 – внутренний LSI32К; 1x2 – внешний осциллятор OSC32K | ||
OSC32K_SM | [14] | Режим повышенного потребления, активный уровень “0” для OSC32K |