December 12 2017 08:13:47
Навигация
Авторизация
Логин

Пароль



Вы не зарегистрированы?
Нажмите здесь для регистрации .

Забыли пароль?
Запросите новый здесь.
Временная диаграмма возврата МК из режима ожидания
МИКРОКОНТРОЛЛЕРЫ СЕМЕЙСТВА НС08

В режиме ожидания (Wait mode) тактирование центрального процессора прекращается, однако продолжает работу генератор стробирования межмодульных магистралей с частотой fBUS. Снижение мощности потребления в этом режиме обусловлено остановкой выполнения программы центральным процессором. Все периферийные модули, включая сторожевой таймер СОР08, сохраняют работоспособность в режиме ожидания. Команда WAIT не оказывает влияния на регистры специальных функций периферийных модулей. Поэтому наступившие в течение режима ожидания события в каком-либо из модулей, например завершение цикла преобразования модулем аналого-цифрового преобразователя ADC08 или изменение уровня сигнала на линии входного захвата модуля процессора событий TIM08, переведут МК из режима ожидания в рабочий режим, если прерывания от этих модулей Перед выполнением команды WAIT были разрешены. Особенности работы периферийных модулей в режиме ожидания подробно рассмотрены в Табл. 3.33.

Полезный совет! Обратите внимание: при переходе в режим ожидания прерывания в МК разрешаются автоматически, т.к. команда WAIT устанавливает бит глобальной маски прерываний I в 0. Конфигурацию подсистем МК в режиме ожидания должен определить разработчик, разрешая или запрещая прерывания от каждого из модулей посредством управления битами масок и битами разрешения прерывания отдельных периферийных модулей.

Временная диаграмма, иллюстрирующая процесс перехода МК в режим ожидания по команде WAIT, приведена на Рис. 3.14.

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

* Внешний сброс при поступлении сигнала низкого логического уровня на вход ØRST MK.

* Сброс по переполнению сторожевого таймера.

* Сброс по сигналу модуля LVI08 при снижении напряжения питания.

* Прерывание по внешнему запросу при поступлении сигнала низкого логического уровня на вход ØIRQ МК.

* Прерывание по запросу от модуля формирования тактовой частоты CGM08.

* Прерывание по запросу от модуля прерываний по контрольным точкам BREAK08.

* Прерывание по внешнему запросу от модуля сканирования клавиатуры КВIO8.

* Прерывание по запросу процессора событий TIM08.

* Прерывание по запросу от модуля последовательного синхронного интерфейса SPI08.

* Прерывание по запросу от модуля последовательного асинхронного интерфейса SCI08.

* Прерывание по запросу от модуля аналого-цифрового преобразователя ADC08.

* Прерывание по запросу от модуля базового таймера ТВМ08.

* Прерывание по запросу от модуля таймера интервальных прерываний PIT08.

* Прерывание по запросу от модуля последовательного интерфейса

msCAN08.

img029

img030

Временная диаграмма возврата МК из режима ожидания к активному режиму работы определяется причиной, которая вызвала этот переход (Рис. 3.15 и 3.16).

img031

Табл. 3.33. Особенности работы центрального процессора и периферийных модулей в режимах пониженного энергопотребления

Тип модуля Особенности работы в режиме ожидания (Wait mode) Особенности работы в режиме останова (Stop mode)
Центральный процессор CPU08 Команда WAIT запрещает тактирование CPU. Команда WAIT очищает бит глобальной маски прерываний 1 в регистре признаков CCR, разрешая тем самым прерывания. После выхода из режима ожидания по запросу на прерывание от какого-либо устройства бит 1 остается в 0. Если выход из режима ожидания произошел в результате сброса МК, то бит 1 устанавливается в 1, запрещая прерывания Команда STOP запрещает тактирование CPU. Команда STOP очищает бит глобальной маски прерываний I в регистре признаков CCR, разрешая тем самым прерывания. После выхода из режима ожидания по запросу на прерывание от какого-либо устройства бит I остается в 0. Если выход из режима ожидания произошел в результате сброса МК, то бит 1 устанавливается в 1, запрещая прерывания
Модуль аналого-цифрового преобразователя ADC08 Находится в активном режиме работы. Если прерывания от модуля ADC08 разрешены, то по завершении цикла преобразования АЦП генерирует запрос на прерывание и переводит МК из режима ожидания в рабочий режим (Run mode). Модуль ADC08 может быть переведен в неактивный режим посредством установки комбинации битов ADCH4...ADCH0 в регистре ADSCR (см. п. 3.8.2) Команда STOP переводит модуль ADC08 в неактивный режим. Любое преобразование, которое проводилось во время выполнения команды STOP остается незаконченным. Если выход из режима произошел по прерыванию, то модуль ADC08 переходит в активный режим, однако следует выполнить один "пустой" цикл преобразования для стабилизации аналоговых цепей
Модуль прерываний по кон-трольным точкам Break08 В режимах ожидания и останова этот модуль находится в активном состоянии. Если работа модуля разрешена, то запрос на прерывание от модуля Break08 переведет МК из режима ожидания или режима останова в рабочий режим (Run mode)
Модуль формирования тактовой частота CGM08 Находится в активном режиме работы. Остаются в режиме генерации импульсных последовательностей как генератор на кварцевом резонаторе G1, так и синтезатор частоты G2. Если прерывания от модуля CGM08 разрешены, то выход частоты fVCLK за пределы полосы точного установления генерирует запрос на прерывание и переводит МК из режима ожидания в рабочий режим (Run mode). Синтезатор частоты может быть отключен с целью снижения мощности потребления в режиме ожидания. Для этого следует перевести МК на тактирование от генератора на кварцевом резонаторе (бит BCS=0) и запретить работу синтезатора частоты (бит RLLON=0). Но помните, что частота fBUS при этом изменится в сторону уменьшения. Поэтому следует предусмотреть операции переинициализации периферийных модулей, которые используют в процессе работы импульсную последовательность fBUS и должны остаться в активном режиме работы после выполнения команды WAIT. В первую очередь обратите внимание на последовательные приемопередатчики SCI08 и SPI08 и модуль процессора событий TIM08. В приложениях, которые менее чувствительны к потребляемой мощности, пользователь может переключить мультиплексор (BCS=0), но не отключать синтезатор частоты (PLLON=1) Команда STOP запрещает работу генератора на кварцевом резонаторе G1 и синтезатора частоты G2. Выходные сигналы модуля CGMOUT, CGMXCLK, CGMINT при этом удерживаются в 0. Если при выполнении команды STOP синхронизация МК производилась от синтезатора частоты, то бит BCS в регистре PCTL автоматически устанавливается в 0, переводя МК на потенциальную синхронизацию от генератора на кварцевом резонаторе G1 (после команды STOP G1 прекращает генерацию). Помните, что при возврате в рабочий режим источником синхронизации остается G1. В МК HC908GP20/32 имеется возможность не отключать генератор на кварцевом резонаторе в режиме останова. Для этого следует установить 6nrOSCSTOPEN регистра конфигурации CONFIG2 в 1

Модуль сторожевого таймера СОР08 Находится в активном режиме работы. Если пользователь желает предотвратить сброс МК по переполнению сторожевого таймера, то следует организовать периодический возврат МК из режима ожидания в активный режим работы по запросу на прерывание одного из таймерных модулей. В подпрограмме обработки прерывания следует произвести сброс сторожевого таймера Команда STOP останавливает работу генератора на кварцевом резонаторе, который тактирует сторожевой таймер и обнуляет предделитель СОР. Поэтому перед выполнением команды STOP или сразу после выхода из режима останова необходимо сбросить сторожевой таймер, чтобы переполнение таймера стало не случайным событием во времени, а ожидалось через интервал периода работы СОР
Модуль внешних прерываний IRQ08 В режимах ожидания и останова этот модуль работает абсолютно одинаково. Он находится в активном состоянии. Если бит IMASK в регистре управления внешними прерываниями INTSCR равен 0, т.е. внешние прерывания разрешены, то поступление сигнала запроса на внешнее прерывание переведет МК в рабочий режим (Run mode)
Модуль сканирования клавиатуры KBI08 Модуль KBI сохраняет работоспособность в обоих режимах низкого энергопотребления. Если прерывания от линий портов, которые сконфигурированы как дополнительные входы внешних прерываний, разрешены (бит IMASKK=0), то поступление сигнала запроса возвращает МК из режимов Wait или Stop в режим Run
Модуль распознавания пониженного напряжения питания LVI08 Находится в активном состоянии в режиме ожидания. В режиме останова активный или пассивный режим работы модуля задается значением бита LVISTOP. Если бит LVISTOP установлен, то работа модуля в режиме останова разрешена. Бит LVISTOP присутствует в регистрах конфигурации МК HC908GP32/20 и HC908AZ60. Если сброс по пониженному напряжению питания разрешен и VDD стало ниже порогового уровня, то LVI модуль генерирует сигнал внутреннего сброса, который переводит МК из режимов ожидания и останова в рабочий режим. Пока напряжение питания VDD не восстановится в диапазоне допустимых значений, МК будет удерживаться в состоянии сброса, но уже в активном режиме работы. При восстановлении напряжения питания VDD будет выполнена подпрограмма инициализации и МК восстановит режимы работы периферийных модулей, которые были сброшены во время провала VDD
Модуль последовательного асинхронного интерфейса SCI08 Находится в активном состоянии. Любое из разрешенных прерываний, генерируемых модулем SCI, выведет МК из режима ожидания. Если обмен по последовательному интерфейсу в режиме ожидания не требуется, то модуль SCI может быть отключен под управлением программы с целью понижения мощности потребления в режиме Wait Находится в неактивном состоянии. Команда STOP не влияет на регистры специальных функций модуля. При возврате в активный режим работы МК модуль SCI автоматически восстанавливает работоспособность. Если в момент выполнения команды STOP модуль принимал или передавал данные, то связь в любом из направлений нарушается
Модуль последовательного синхронного интерфейса SPI08 Находится в активном состоянии. Любое из разрешенных прерываний, генерируемых модулем SPI, выведет МК из режима ожидания. Если ресурсы модуля SPI в режиме ожидания не используются, то он может быть отключен программными средствами перед выполнением команды WAIT с целью понижения мощности потребления в режиме Wait Находится в неактивном состоянии. Команда STOP не оказывает влияния на регистры специальных функций модуля. При возврате МК в активный режим работы по прерыванию модуль SPI08 возобновляет работу. Если переход из режима Stop в режим Run произошел по причине сброса, то модуль SPI08 также сбрасывается
Модуль процессора событий TIM08 Находится в активном состоянии. Любое из разрешенных прерываний, генерируемых модулем TIM08, переведет МК из режима ожидания в рабочий режим. Модуль TIM06 может быть отключен программными средствами перед выполнением команды WAIT с целью снижения потребляемой мощности в режиме ожидания Находится в неактивном состоянии. Команда STOP не оказывает влияния на регистры специальных функций модуля TIM08. При возврате МК в активный режим работы по прерыванию модуль TIM08 возобновляет работу. Если переход из режима Stop в режим Run произошел по причине сброса МК, то модуль TIM08 также сбрасывается
Модуль базового таймера ТВМ08. Данный модуль имеется в составе МК HC908GP20/32,  поэтому описание режимов его работы справедливо только для этих МК Находится в активном состоянии. Прерывание по переполнению базового таймера переведет МК из режима ожидания в рабочий режим. Модуль ТВМ08 может быть отключен программными средствами перед выполнением команды WAIT с целью снижения потребляемой мощности в режиме ожидания Находится в неактивном состоянии, если работа генератора на кварцевом резонаторе в режиме Stop запрещена. Находится в активном состоянии, если работа генератора на кварцевом резонаторе в режиме Stop разрешена. Прерывание по переполнению базового таймера переведет МК из режима останова в рабочий режим
Модуль таймера интервальных прерываний PIT08 Находится в активном состоянии. Прерывание по переполнению таймера интервальных прерываний переведет МК из режима ожидания в рабочий режим. Модуль PIT08 может быть отключен программными средствами перед выполнением команды WAIT с целью снижения потребляемой мощности в режиме ожидания Находится в неактивном состоянии. Команда STOP не оказывает влияния на регистры специальных функций модуля PIT08. При возврате МК в активный режим работы по прерыванию модуль РГГ08 возобновляет работу. Если переход из режима Stop в режим Run произошел по причине сброса МК, то модуль PIT08 также сбрасывается
Модуль последовательного интерфейса msCANOS Находится в активном состоянии. Любое из разрешенных прерываний, генерируемых модулем msCANOS, выведет МК из режима ожидания Находится в неактивном состоянии. Если в момент выполнения команды STOP модуль принимал или передавал данные, то связь в любом из направлений нарушается

Полезный совет! Основное внимание в режиме ожидания следует уделить модулю сторожевого таймера СОР08. Модуль остается в работе в режиме ожидания, и, если не предпринять специальных мер по сбросу счетчика модуля, то может произойти нежелательный сброс по переполнению сторожевого таймера. Чтобы избежать этого, следует организовать периодический перевод МК в активный режим работы, например, по запросу на прерывание одного из таймерных модулей, и в подпрограмме обработки прерывания произвести сброс сторожевого таймера.

Комментарии
Нет комментариев.
Добавить комментарий
Пожалуйста, залогиньтесь для добавления комментария.
Рейтинги
Рейтинг доступен только для пользователей.

Пожалуйста, авторизуйтесьили зарегистрируйтесь для голосования.

Нет данных для оценки.

Время загрузки: 0.09 секунд 2,295,770 уникальных посетителей