7.3.3. События модуля ICG
(Руководство разработчика по микроконтроллерам семейства HCS08)Модуль ICG может устанавливать два флага и генерировать запросы на прерывания или сигналы внутреннего сброса по этим событиям:
- LOLS — указывает на то, что частота FLL вышла из полосы точного установления;
- LOCS — указывает на то, что ICG «потерял» опорную частоту.
Каждый их этих флагов, если он установлен, также устанавливает флаг ICGIF в регистре состояния ICGS1, после чего генерируется запрос на прерывание.
Бит LOLRE в регистре ICGC2 используется для выбора реакции на событие выхода частоты из полосы точного установления (бит LOLS). При LOLRE = 1 генерируется внутренний сброс, иначе — запрос на прерывание.
Аналогично бит LOCRE в регистре ICGC2 используется для выбора реакции на событие «потери» частоты (бит LOCS). При LOCRE = 1 генерируется внутренний сброс, иначе — запрос на прерывание. Событие LOCS также вызывает автоматическое изменение режима работы модуля тактирования. Если ICG работал в режиме FEE, т.е. тактировался от FLL с внешним опорным генератором, и произошел отказ внешнего генератора, то модуль переходит в режим SCM, т.е. DCO начинает генерировать частоту самостоятельно. А если в режиме FEE «потеряна» частота с выхода DCO, то реализуется режим FBE, т.е.частота тактирования образуется без использования умножителя. Если ICG работал в режиме FBE, то отказ внешнего генератора приведет к переходу в режим SCM. В каждом из этих случаев биты CLKS и CLKST автоматически изменяются в соответствии с новым режимом.
Биты LOCS и LOLS автоматически устанавливаются в 0 во время сброса МК по любой причине. Также биты сбрасываются, если записать 1 в бит ICGIF, при этом сам бит ICGIF также сбрасывается.
Биты LOCS и LOLS по умолчанию генерируют запрос на прерывание. Поэтому программист должен предусмотреть специальную подпрограмму прерывания для этого случая, если опция генерации внутреннего сброса не будет установлена.
Электронные компоненты Freescale >>>
Подробнее о компании Freescale >>>