8(495)909-90-01
8(964)644-46-00
pro@sio.su
Главная
Системы видеонаблюдения
Охранная сигнализация
Пожарная сигнализация
Система пожаротушения
Система контроля удаленного доступа
Оповещение и эвакуация
Контроль периметра
Система домофонии
Парковочные системы
Проектирование слаботочных сетей
Аварийный
контроль
Раздел: Документация

0 ... 82 83 84 85 86 87 88 ... 195

В зависимости от модели для управления «спящим» режимом используется различное число регистров ввода/вывода, которые сведены в Табл. 4.14. Форматы этих регистров приведены на Рис. 4.7...4.10 (биты, не имеющие отношения к управлению энергопотреблением, выделены серым цветом).

Таблица 4.14. Регистры для управления «спящим» режимом

Название

Описание

Адрес

Рис.

Модель

MCUCR

Регистр управления микроконтроллера

$35 ($55)

4.7

ATmega8x/16x/32x/64x/128x, ATmega8535x

MCUCR

Регистр управления микроконтроллера

$35 ($55)

4.7

ATmega8515x, ATmega 162х

MCUCSR

Регистр управления и состояния микроконтроллера

$34($54)

4.8

EMCUCR

Дополнительный регистр управления микроконтроллера

$36($56)

4.9

SMCR

Регистр управления спящим режимом

$33($53)

4.10

ATmega48x/88x/168x, ATmega 164x/324x/644x/l 65x, ATmega325x/3250x/645x/6450x, ATmega640x,

ATmega1280х/1281x/2560x/2561x

Начальное значение

Начальное значение

Начальное значение

Чтение (R)/3anncb (W) R/W Начальное значение 0

R/W 0

R/W 0

R/W 0

R/W О

R/W 0

R/W 0

SRE

SRW10

SE

SMI

1SC11

ISC 10

ISC01

ISC00

R/W 0

R/W 0

R/W 0

R/W 0

R/W 0

R/W 0

R/W 0

R/W 0

7

6

5

4

3

2

1

0

SRE

SRW10

SE

SM1

SMO

SM2

IVSEL

IVCE

R,W 0

R W 0

R/W 0

R/W 0

R/W 0

R/W 0

R/W 0

R/W 0

7

6

5

4

3

2

1

0

SE

SM2

SM1

SMO

iSC11

ISC 10

ISC01

ISC00

R/W 0

R/W 0

R/W 0

R/W 0

R/W 0

R/W 0

R/W 0

R/W 0

7

6

5

4

3

2

1

0

SM2

SE

SM1

SMO

ISC11

ISC 10

ISC01

ISC00

R/W 0

ATmega8515x ATmega162x

ATmega64x ATmega 128x

ATmega8x ATmega32x

ATmega 16x ATmega8535x

Puc. 4.7. Формат регистра MCUCR


....

-

SM2

-

WDRF

BORF

EXTRF

PORF

Чтением/Запись (W) Начальное значение

R 0

R 0

R/W 0

R 0

R/W 0

R/W 0

R/W

0

R/W 0

7

6

5

4

3

2

1

0

JTD

-

SM2

JTRF

WDRF

BORF

EXTRF

PORF

Чтение (R)/3anncb(W) Начальное значение

R/W 0

R 0

R/W 0

R/W 0

R/W 0

R/W 0

R/W 0

R.W 0

ATmega8515x

ATmega 162х

Рис. 4.8. Формат регистра MCUCSR моделей ATmega8515x и ATmega 162х

7 6543210

SMO

SRL2

SRL1

SRL0

SRW01

SRW00

SRW11

ISC2

ATmega8515x

АТтеда162х

Чтение (R)/3anncb (W) R/W R/W R/W R/W R/W R/W R/W R/W Начальное значение 00000000

Рис. 4.9. Формат регистра EMCUCR моделей ATmega8515x и ATmega 162х

7

6

5

4

3

2

1

0

-

-

-

-

SM2

SM1

SM0

SE

Чтение (R)/3anncb(W)

R

R

R

R

R/W

R/W

R/W

R/W

Начальное значение

0

0

0

0

0

0

0

0

Рис. 4.10. Формат регистра SMCR

В общей сложности для управления «спящим» режимом в микроконтроллерах семейства используется четыре бита регистров ввода/вывода. Назначение этих битов приведено в Табл. 4.15.

Таблица 4.15. Биты регистров для управления «спящим» режимом

Название бита

Описание

SE

Разрешение перехода в режим пониженного энергопотребления. Установка этого бита в 1 разрешает перевод микроконтроллера в режим пониженного энергопотребления. Переключение осуществляется по команде SLEEP. При сброшенном бите SE выполнение команды не производит никаких действий

SM2...SM0

Выбор режима пониженного энергопотребления. Состояние этих битов определяет, в какой режим перейдет микроконтроллер после выполнения команды SLEEP

Переключение в любой из режимов пониженного потребления осуществляется командой SLEEP. При этом флаг SE должен быть установлен в 1. Во избежание непреднамеренного переключения микроконтроллера е «спящий» режим рекомендуется устанавливать этот флаг непосредственно перед выполнением команды SLEEP. Режим, в который перейдет микроконтроллер после выполнения команды SLEEP, определяется состоянием битов SM2...SM0. Соответствие между содержимым этих битов и режимом пониженного энергопотребления приведено в Табл. 4.16.


Таблица 4.16. Выбор режима пониженного энергопотребления

SM2

SM1

SM0

Режим

0

0

0

Idle

0

0

1

ADC Noise Reduction

0

1

0

Power Down

0

1

1

Power Save

1

0

0

Зарезервировано

1

0

1

Зарезервировано

1

1

0

Standby0

1

1

1

Extended Standby1*

]) Эти режимы можно использовать только при работе с внешним резонатором (три первых режима работы тактового генератора согласно Табл. 4.2)

Наличие того или иного режима в конкретной модели можно определить по Табл. 4.13, находящейся в начале подраздела. При отсутствии в конкретной модели микроконтроллера какого-либо из режимов значения битов SM2...SM0, соответствующие этому режиму, являются зарезервированными.

Выход из «спящего» режима может быть осуществлен:

1.В результате прерывания. При генерации прерывания микроконтроллер переходит в рабочий режим, останавливается на 4 такта, выполняет подпрограмму обработки прерывания и возобновляет выполнение программы с инструкции, следующей за командой SLEEP. Содержимое РОН, ОЗУ и РВВ при этом не изменяется.

2.В результате сброса. После перехода микроконтроллера в рабочий режим управление передается по адресу вектора сброса.

Idle (режим холостого хода)

В этом режиме прекращается формирование тактовых сигналов clkCPU и clkFLASH При этом ЦПУ микроконтроллера останавливается, а все остальные периферийные устройства (интерфейсные модули, таймеры/счетчики, аналоговый компаратор, АЦП, сторожевой таймер), а также подсистема прерываний продолжают функционировать. Поэтому выход из режима Idle возможен как по внешнему, так и по внутреннему прерыванию. Если разрешена работа АЦП, то преобразование начнет выполняться сразу же после перехода в «спящий» режим.

Основным преимуществом режима Idle является быстрая реакция на события, приводящие к «пробуждению» микроконтроллера. Другими словами, выполнение программы начинается сразу же после перехода из режима Idle в рабочий режим.



0 ... 82 83 84 85 86 87 88 ... 195