Fast PWM в два раза быстрее чем все остальные.
А самая ключевая особенность - это моменты обновления регистров.
В режиме fast pwm OCR обновится при достижении счётчиком нижнего значения (нуля)
В режима Phase Correct OCR обновится при достижении счётчиком верхнего значения
В режима Phase & Freq Correct OCR обновится при достижении счётчиком нижнего значения
Так сделано для правильного "подхвата" значений шим, чтобы изменения приводили в предсказуемому результату.
В режиме fast pwm, к примеру, вы никогда не сможете получть выход с нулевым значением, т.к. если запишете в OCR ноль, то всё равно на выходе будете иметь короткий импульс в одну точку таймера.
В режимах с CORRECT такого не произойдёт.
Ещё обратите внимание, что Phase Correct есть только в режимах, где частота стабильна, т.е. настраивается в регистрах контрол.
А phase & freq correct присутсвует только в режимах, где частоту несущей шима вы можете менять через регистры ICR и OCR - опять же так сделано для правильного момента обновления этих регистров.
Критерии выбора режимов PWM следующие:
Если вам не важно, будет ли импульс при нулевом OCR, или допускаются "фазовые всплески" при обновлении OCR (что часто допустимо при выходе на постоянный ток и большом фильтре) - то FAST PWM
Если вы не изменяете чаастоту шим по ходу работы - phase correct
Если вы изменяете чаастоту шим по ходу работы - phase & freq correct.
Первый режим подходит, к примеру для использования PWM как цап для формирования аналоговой величины постоянного или медленноменяющегося напряжения , используя RC-цепи как фильтр.
Второй - для управления импульсными БП, моторами, и т.п, где "неправильный" импульс недопустим.
Третий - там же где второй - но нужно ещё иногда и частоту шим поменять.
|