Средства реализации заданных
временных параметров встраиваемых систем
105
где N - переменная, которая задает значение коэффициента предделения (1, 8,
32, 64, 128, 256 или 1024).
Задание предельных значений регистра OCR0 связано с особыми
случаями в генерации ШИМ-сигнала в режиме быстрой ШИМ. Если в
регистр OCR0 записать значение равное нижнему пределу счета, то через
каждые 256 тактов синхронизации таймера на выходе будет генерироваться
импульс короткой длительности. Если установить значение OCR0 равным
максимальному значению, то выход будет иметь постоянный логический
уровень 1 или 0 (зависит от заданного режима выхода битами COM01:0).
Генерация меандра (50%-ое заполнение импульсов) в данном режиме
возможна, если задать режим переключения (инвертирование состояния)
выхода OC0 при каждом совпадении (COM01, COM00 = 0b01). Если в
регистр OCR0 записать ноль, то будет генерироваться максимальная частота
f
oc0
= f
clk_I/O
/2. Данная функция похожа на переключение OC0 в режиме CTC
за исключением того, что в режиме быстрой ШИМ работает двойная
буферизация в блоке сравнения.
Режим широтно-импульсной модуляции с фазовой коррекцией
(ШИМ ФК), WGM01, WGM00 = 0b01, позволяет выполнять фазовую
коррекцию ШИМ-сигнала с высокой разрешающей способностью. Режим
ШИМ ФК основан на двунаправленной работе таймера-счетчика. Счетчик
циклически выполняет счет в направлении от нижнего предела до
максимального значения, а затем обратно от максимального значения к
нижнему пределу. Если задан неинвертирующий режим выхода компаратора,
то выход
OC0 сбрасывается/устанавливается при совпадении значений
TCNT0 и OCR0 во время прямого/обратного счета. Если задан
инвертирующий режим выхода, то, наоборот, во время прямого счета
происходит установка, а во время обратного - сброс выхода OC0. При
двунаправленной работе максимальная частота ШИМ-сигнала меньше, чем
при однонаправленной работе, однако, за счет такой особенности, как
симметричность в
режимах ШИМ с двунаправленной работой, данные