Смекни!
smekni.com

AVR микроконтроллер AT90S2333 фирмы Atmel (стр. 7 из 22)

РЕЖИМЫ ПОНИЖЕННОГО ЭНЕРГОПОТРЕБЛЕНИЯ.

Для запуска режима пониженного энергопотребления должен быть ус­тановлен (1) бит SE регистра MCUCR, и должна быть исполнена команда SLEEP. Если во время нахождения в режиме пониженного потребления про­исходит одно из разрешенных прерываний, процессор начинает работать, исполняет подпрограмму обработки прерывания и продолжает выполнение программы с команды следующей за SLEEP. Содержимое регистрового файла и памяти ввода/вывода не изменяется. Если в режиме пониженного потреб­ления происходит сброс, процессор начинает выполнение программы с век­тора сброса.

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

Режим холостого хода.

Когда бит SM сброшен (0), команда SLEEP переводит процессор в ре­жим холостого хода (Idle mode). ЦПУ останавливается, но Таймеры/Счет­чики, сторожевой таймер и система прерываний продолжают работать. Это позволяет процессору возобновлять работу как от внешних прерываний, так и по переполнению таймеров/счетчиков или по сбросу от сторожевого таймера. Если прерывание от аналогового компаратора не требуется, ана­логовый компаратор может быть отключен установкой бита ACD регистра ACSR. Это уменьшает потребляемую мощность в режиме холостого хода. При выходе из режима холостого хода процессор запускается без задержки.

Экономичный режим.

Когда бит SM установлен (1), команда SLEEP переводит процессор в экономичный режим (Power Down Mode). В этом режиме останавливается внешний генератор тактовых импульсов. Пользователь может разрешить ра­боту сторожевого таймера в этом режиме. Если сторожевой таймер разре­шен, процессор выходит из экономичного режима после отработки периода сторожевого таймера. Если сторожевой таймер запрещен, выход из эконо­мичного режима может произойти только по внешнему сбросу, brown-out

сбросу или внешнему прерыванию по уровню.

Если для вывода из экономичного режима используется прерывание по уровню, низкий уровень должен удерживаться на время достаточное для запуска процессора. Это увеличивает устойчивость процессора к помехам. Изменение уровня дважды проверятся с периодом генератора сторожевого таймера, если обе выборки сигнала имеют необходимый уровень, процессор включается. Номинальный период сторожевого таймера 1uS при 5В питания и температуре 25 градусов Цельсия.

При выходе из экономичного режима, от времени появления условия выхода до включения процессора проходит некоторое время необходимое для запуска кварцевого генератора. Задержка включения определяется те­ми же битами CKSEL, что и время сброса. Длительность задержки на вклю­чение приведена в таблице 7.

Если условие включения исчезнет до того, как процессор запустит­ся, например, низкий уровень на входе прерывания продержится недоста­точно долго, процессор не выйдет из экономичного режима.

Таблица 7. Установка задержки включения

CKSEL [2:0] Время запуска
000 6CK
001 6CK
010 16K CK
011 16K CK
100 16K CK
101 1K CK
110 1K CK
111 1K CK

ТАЙМЕРЫ/СЧЕТЧИКИ

В AT90S2333/4433 предусмотрены два таймера/счетчика общего назна­чения. 8-разрядный и 16-разрядный. Каждый из таймеров индивидуально подключается к одному из выходов 10-разрядного предварительного дели­теля частоты. Оба таймера могут использоваться как таймеры с внутрен­ним источником импульсов или счетчики импульсов поступающих извне. В качестве источника импульсов для таймеров можно выбрать сигнал с тактовой частотой процессора (CK), импульсы предварительного делите­ля (CK/8, CK/64, CK/256 или CK/1024) или импульсы с соответствующего внешнего вывода. Кроме того, таймеры могут быть остановлены, запретом прохождения импульсов на них.

8-РАЗРЯДНЫЙ ТАЙМЕР/СЧЕТЧИК 0

8-разрядный таймер/счетчик может получать импульсы тактовой час­тоты - CK, импульсы с предварительного делителя (CK/8, CK/64, CK/256 или CK/1024), импульсы с внешнего вывода или быть остановлен соответ­ствующими установками регистра TCCR0. Флаг переполнения таймера нахо­дится в регистре TIFR. Биты управления таймером расположены в регистре TCCR0. Разрешение и запрещение прерываний от таймера управляется реги­стром TIMSK.

При работе таймера/счетчика от внешнего сигнала, внешний сигнал синхронизируется с тактовым генератором ЦПУ. Для правильной обработки внешнего сигнала, минимальное время между соседними импульсами должно превышать период тактовой частоты процессора. Сигнал внешнего источни­ка обрабатывается по спадающему фронту тактовой частоты процессора.

8-разрядный таймер/счетчик можно использовать как счетчик с высо­ким разрешением, так и для точных применений с низким коэффициентом деления тактовой частоты. Более высокие коэффициенты деления можно ис­пользовать для медленных функций или измерения временных интервалов между редкими событиями.

РЕГИСТР УПРАВЛЕНИЯ ТАЙМЕРОМ/СЧЕТЧИКОМ 0 - TCCR0

TCCR0

33h(53h)

7

6

5

4

3

2

1

0

-

-

-

-

-

CS02

CS01

CS00

R

R

R

R

R

R\W

R\W

R\W

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

0

0

0

0

0

0

0

0

Биты 7..3 - зарезервированы. В AT90S2333/4433 эти биты зарезервиро­ваны и всегда читаются как 0.

Биты 2,1,0 - CS02, CS01, CS00 - выбор тактовой частоты. Эти биты за­дают коэффициент деления предварительного делителя.

Таблица 8. Выбор коэффициента предварительного деления

CS02 CS01 CS00

Описание

0

0

0

Таймер/счетчик остановлен

0

0

1

CK

0

1

0

CK/8

0

1

1

CK/64

1

0

0

CK/256

1

0

1

CK/1024

1

1

0

Внешний вывод T0, нарастающий фронт

1

1

1

Внешний вывод T0, спадающий фронт

Условие Stop запрещает/разрешает функционирование таймера/счетчика. В режимах деления используется частота тактового генератора. При исполь­зовании работы от внешнего источника предварительно должен быть уста­новлен соответствующий бит регистра направления данных (0 - включает ножку на ввод).

ТАЙМЕР/СЧЕТЧИК 0 - TCNT0.

TCNT0

32h(52h)

7

6

5

4

3

2

1

0

MSB

LSB

R\W

R\W

R\W

R\W

R\W

R\W

R\W

R\W

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

0

0

0

0

0

0

0

0

Таймер/счетчик реализован как нарастающий счетчик с возможностью чтения и записи. При записи таймера/счетчика, если присутствуют такто­вые импульсы, таймер/счетчик продолжает счет в следующем за операцией записи тактовом цикле.

16-РАЗРЯДНЫЙ ТАЙМЕР/СЧЕТЧИК 1

16-разрядный таймер/счетчик 1 может получать импульсы тактовой частоты - CK, импульсы с предварительного делителя (CK/8, CK/64, CK/256 или CK/1024), импульсы с внешнего вывода или быть остановлен соответствующими установками регистра TCCR1A. Флаги состояния таймера (переполнения, совпадения и захвата) и управляющие сигналы находится в регистре TIFR. Разрешение и запрещение прерываний от таймера 1 управ­ляется регистром TIMSK.