logo
HCS12 с применением языка С - royallib

4.25.2. Как вывести мк 68hc12 из состояния пониженного энергопотребления

Поступление запроса на внешнее прерывание способно вывести МК семейства 68HC12/HCS12 из режима WAIT или STOP. Однако для подключения сигналов внешних запросов могут быть использованы не только входы IRQ и XIRQ. Линии портов PORT D, PORT Y и PORT J могут быть конфигурированы таким образом, что перепад сигнала на них из 1 в 0 вызовет переход МК из режима пониженного энергопотребления в активный режим работы.

Для реализации функции пробуждения МК все перечисленные регистры снабжены двумя дополнительными регистрами управления. Это регистр разрешения функции прерывания пробуждения KWIEx и регистр флагов прерывания пробуждения KWIFx (x — буквенное обозначение порта). Поскольку формат этих дополнительных регистров для всех перечисленных портов одинаков, мы рассмотрим только регистры порта D. На рис. 4.117 приведен формат всех четырех регистров специальных функций для обслуживания линий порта PORT D:

• Регистра данных PORTD;

• Регистра направления передачи DDRD;

• Регистра разрешения функции прерывания пробуждения KWIED;

• Регистра флагов прерывания пробуждения KWIFD.

Рис. 4.117. Формат регистров обслуживания порта PORD

Установка одного из битов регистра KWIED в 1 разрешает генерацию запроса на прерывание в момент перехода сигнала на одноименной линии из 1 в 0. Одновременно устанавливается флаг в регистре KWIFD. Прерывания от порта PORT D не имеют собственного вектора. Эти прерывания в МК связаны с прерыванием по входу IRQ. Поэтому, чтобы прерывания от линий порта PORT D были обслужены, необходимо установить бит IRQEN и разместить подпрограмму прерывания в памяти по вектору внешнего прерывания IRQ. Различные модели МК семейства 68HC12/HCS12 несколько отличаются по конфигурации функции внешнего прерывания пробуждения. Так в МК 68HC12A4 порты PORT J и PORT H обладают собственными векторами прерывания, что позволяет упростить подпрограмму прерывания по входу IRQ.

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

Уменьшение потребляемой микроконтроллером в процессе работы мощности возможно также снижением частоты тактирования посредством перепрограммирования коэффициентов умножителя частоты или выбора специального режима тактирования «slow mode». Такое решение позволит оставить центральный процессор в работе, в отличие режимов WAIT и STOP, в которых центральный процессор останавливается.