Добавил:
Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Лекции.doc
Скачиваний:
288
Добавлен:
20.06.2014
Размер:
1.06 Mб
Скачать
          1. Режим шим с корректировкой фазы (Phase Correct pwm Mode)

В режиме ШИМ с корректировкой фазы счетчик считает в обе стороны, сначала от BOTTOM до MAX, а затем от MAX до BOTTOM (рис.).

В неинверсном режиме работы выхода OC2 сбрасывается при совпадении при счете вверх, устанавливается при совпадении при счете вниз, в инверсном, наоборот, устанавливается при совпадении при счете вверх, сбрасывается при совпадении при счете вниз.

Рис. Временная диаграмма работы таймера в режиме ШИМ с корректировкой фазы

Благодаря симметричности, этот режим предпочтителен для управления двигателями.

Разрешение ШИМ в этом режиме фиксировано и составляет 8 бит.

Флаг TOV2 устанавливается при достижении счетчиком значения BOTTOM.

Частота сигнала в режиме ШИМ с корректировкой фазы определяется следующей формулой:

,

где N — коэффициент деления частоты.

Крайние значения регистра OCR2 представляют специальные случаи генерации сигнала:

  • OCR2=BOTTOM — выходной сигнал является постоянным нулем в неинверсном и постоянной единицей в инверсном режиме;

  • OCR2=MAX — выходной сигнал является постоянной единицей в неинверсном и постоянным нулем в инверсном режиме.

В начале периода 2 выход меняет свое значение, даже если не происходит совпадения сравниваемых значений. Это определяется требованиями поддержания симметрии относительно BOTTOM.

Существует два случая, когда выход меняет свое значение без совпадения сравниваемых значений:

  • изменение значения регистра OCR2 с MAX. Когда OCR2=MAX, значение выхода такое же, как в результате совпадения при счете вниз. Для обеспечения симметрии относительно BOTTOM необходимо, чтобы значение выхода при значении MAX соответствовало результату совпадения при счете вверх;

  • таймер начинает счет со значения, большего чем OCR2, и таким образом, пропускает совпадение и соответствующее изменение выхода при счете вверх.

          1. Асинхронный режим работы таймера t2. Регистр assr (Asynchronous Status Register)

Формат регистра ASSR:

  • бит 3 — AS2 (Asynchronous Timer/Counter2), асинхронный режим работы таймера T2:

  • AS2=0, источник тактовых импульсов — clkI/O;

  • AS2=1, источник тактовых импульсов — внутренний генератор;

  • бит 2 — TCN2UB (Timer/Counter2 Update Busy);

  • бит 1 — OCR2UB (Output Compare Register 2 Update Busy);

  • бит 0 — TCR2UB (Timer/Counter Control Register 2 Update Busy.

При записи регистров TCNT2, OCR2 и TCCR2 записываемое значение передается в соответствующий регистр временного хранения, в котором защелкивается после второго переднего фронта сигнала на входе TOSC1. Нельзя осуществлять запись данных регистров, пока они не будут обновлены из регистров временного хранения. Для указания их готовности к записи служат биты занятости регистров для обновления, которые устанавливаются при записи соответствующих регистров и сбрасываются при их обновлении из регистра временного хранения, что говорит об их готовности к очередному обновлению.

Если произвести запись регистра при установленном бите занятости, то обновленное значение может повредиться.

При чтении регистра TCNT2 в асинхронном режиме, читается его действительное значение. При чтении регистров OCR2 или TCCR2, читается значение из регистра временного хранения.

При переключении между асинронным и синхронным режимами T2 значения регистров TCNT2, OCR2 и TCCR2 могут быть повреждены.

Для переключения между режимами рекомендуется использовать следующую последовательность действий:

  1. Запрет прерываний таймера T2 обнулением битов OCIE2 и TOIE2.

  2. Установить требуемый режим с помощью бита AS2.

  3. Записать новые значения в TCNT2, OCR2 и TCCR2, при переключении в асинхронный режим дождаться готовности.

  4. Сбросить флаги прерываний T2.

  5. Разрешить прерывания, если это необходимо.

Внутренний генератор таймера T2 оптимизирован для работы с кварцем частотой 32,768 КГц. Подача на вход TOSC1 внешнего тактового сигнала может привести к неправильной работе таймера.

Тактовая частота контроллера должна быть в четыре раза больше частоты внутреннего генератора как минимум.

При входе в режимы пониженного энергопотребления Power-save или Extended Standby после записи регистров TCNT2, OCR2, TCCR2 необходимо дождаться их обновления, если для выхода из режима пониженного энергопотребления используется таймер T2.

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

  1. Записать TCCR2, TCNT2 или OCR2.

  2. Дождаться обнуления соответствующего флага занятости в регистре ASSR.

  3. Войти в режим пониженного энергопотребления.

Чтение регистра TCNT2 сразу после выхода из режима Power-save может дать некорректный результат. Для избежания этого рекомендуется следующая последовательность действий:

  1. Записать любое значение в регистр OCR2 или TCCR2.

  2. Дождаться сброса соответствующего флага занятости.

  3. Прочитать регистр TCNT2.

В режимах Power-down и Standby внутренний генератор не работает. После выхода из этих режимов можно считать, что генератор перешел к стабильной работе, по прошествии одной секунды.

Синхронизация флагов прерывания таймера в асинхронном режиме требует трех тактов процессора плюс один такт таймера.

Выход таймера изменяется в соответствии с его тактовым сигналом и не синхронизируется с тактовой частотой процессора.