Белов, А.В. Микроконтроллеры AVR: от азов программирования до создания практических устройств
Шаг 6. Осваиваем все возможности микроконтроллера ATtiny23 13 423 В инвертирующем режиме сигнал на выходе устанавливается в момент совпадения и перехода в BOTTOM. Благодаря тому, что счетчик работает всегда только в одном направлении, частота сигнала в режиме fast PWM может быть в два раза выше, чем в режиме phase correct PWM, который использует пилообразный сигнал с двумя наклонами. Благодаря высокой частоте выходного сигнала режим fast PWM хорошо подходит для создания систем регулировки мощности, для построения выпрямителей и цифро-аналоговых преобразователей. Высокая частота позволяет применять внешние компоненты (катушки, конденсаторы) небольших размеров и, тем самым, уменьшать общую стоимость системы. В режиме fast PWM значение счетчика увеличивается до тех пор, пока не достигнет значения ТОР. В следующем цикле тактового сигнала тай мера счетчик очищается. Флаг переполнения таймера/счетчика (TOVO) устанавливается каж дый раз, когда счетчик достигает значения ТОР. Если прерывание разре шено, то вызывается процедура обработки прерывания, которая может быть использована для обновления уровня совпадения. В режиме fast PWM модуль совпадения используется для генерации сигнала ШИМ на выводах ОСОх. Установка битов СОМ0х1:0 = 2 произ ведет к генерации на выходе неинвертированного сигнала ШИМ. Для генерации инвертированного сигнала ШИМ необходимо установить СОМОхкО =3. При установке битов СОМ0А1:0 =1 сигнал на выходе АСОА в момент совпадения переключается в противоположное состояние при условии, что бит WGM02 = 1. Эта опция не доступна для выхода ОСОБ (см. табл. 6.26). Фактическое значение ОСОх поступит на внешний контакт микросхемы только в том случае, если он будет сконфигурирован как выход. Сигнал ШИМ формируется путем установки (сброса) регистра ОСОх в момент совпадения значений OCROx и TCNT0, и сброса (установки) этого регистра в первом тактовом цикле, после перезагрузки счетчика (изменении его значения с ТОР на BOTTOM). Частота сигнала ШИМ на выходе может быть рассчитана при помощи следующего выражения: Переменная N представляет собой коэффициент предварительного деления (1,8, 64, 256 или 1024). Отдельно нужно рассмотреть несколько случаев при генерации сигнала ШИМ, когда в регистр OCROA записыва ется значение, близкое к предельному. Если в регистре OCROA будет установлено значение, равное BOTTOM, то выходной сигнал будет представлять собой короткий выброс для каж дого МАХ+1 тактового импульса таймера.
Made with FlippingBook
RkJQdWJsaXNoZXIy MTExODQxMg==