Белов, А.В. Микроконтроллеры AVR: от азов программирования до создания практических устройств

Шаг 6. Осваиваем все возможности микроконтроллера ATtiny231 3 451 Режим Fast PWM Режим «Быстрый ШИМ» или fast PWM (WGM13:0 = 5,6, 7,14 или 15) позволяет формировать сигнал с широтно-импульсной модуляцией и относительно высокой частотой. Быстрый ШИМ отличается от других видов ШИМ тем, что счетчик в этом режиме вырабатывает сигнал в виде пилы с одним наклоном. Счет происходит всегда в одном направлении: от минимального зна ­ чения (BOTTOM) до максимального (ТОР). После этого счетчик сбрасы ­ вается в BOTTOM. В неинвертирующем режиме сигнал на выходе (ОС1х) устанавливается в единицу в момент совпадения содержимого регистров TCNT1 и OCRlx и сбрасывается в ноль при достижении значения ТОР. В инвертирующем режиме сигнал на выходе сбрасывается в момент совпадения и устанавливается при достижении ТОР. Благодаря тому, что пилообразный сигнал на выходе счетчика имеет один наклон, частота выходного сигнала ШИМ вдвое выше, чем в остальных режимах ШИМ, которые используют пилообразный сигнал с двойным наклоном. Высокая частота сигнала позволяет использовать режим fast PWM для построе ­ ния схем управления мощностью, программируемых выпрямителей и различных цифроаналоговых преобразователей. Высокая частота позво ­ ляет применять внешние компоненты (катушки, конденсаторы) малых габаритов, что уменьшает общую стоимость системы. Коэффициенты пересчета таймера можно установить либо в одно из фиксированных значений (8 разрядов, 9 разрядов или 10 разрядов), либо определять его при помощи регистра ICR1 или OCR1A. Минимально воз ­ можный коэффициент пересчета соответствует коэффициенту пересчета 2-разрядного счетчика (устанавливается путем записи в регистры ICR1 или OCR1A значения, равного 0x0003). А максимальный коэффициент пересчета соответствует коэффициенту пересчета счетчика, имеющего 16 разрядов (устанавливается путем записи в регистры ICR1 или OCR1A значения МАХ). Коэффициент пересчета в битах может быть вычислен при помощи следующего уравнения: о _log(TOP+1) Іод(2) • В режиме fast PWM счетчик увеличивает свое значение, пока оно не станет равным одному из фиксированных значений: ♦ OxOOFF, 0x0 IFF; ♦ ОхОЗҒҒ (WGM13:0 = 5, 6 или 7); ♦ значению в регистре ICR1 (WGM13:0 = 14); ♦ значению в регистре OCR1A (WGM13:0 = 15). При наступлении одного из описанных выше событий в следующем тактовом цикле счетчик очищается, и счет начинается сначала.

RkJQdWJsaXNoZXIy MTExODQxMg==