ВУЗ:
Составители:
Рубрика:
110
Рис. 4.21. Временная диаграмма для режима быстрой ШИМ
Механизм модификации регистра ICRn отличается от OCRnA в том слу-
чае, если он используется для задания верхнего предела. Регистр ICRn не имеет
двойной буферизации. Это означает, что если в ICRn записывается малое зна-
чение во время работы счетчика с малым предделением или без него, то имеет-
ся опасность записи в регистр ICRn значения, которое окажется меньше
теку-
щего значения TCNTn. Как результат, в такой ситуации будет пропущено сов-
падение на вершине счета. В этом случае счетчик дойдет до максимального
значения (0xFFFF), перезапустится со значения 0x0000, а только затем возник-
нет совпадение. Регистр OCRnA содержит схему двойной буферизации, поэто-
му, его можно модифицировать в любой момент времени.
Если выполняется запись по
адресу OCRnA, то фактически значение по-
мещается в буферный регистр OCRnA. Если же возникает совпадение между
TCNTn и вершиной счета, то следующим тактом синхронизации таймера про-
исходит копирование буферного регистра в регистр порога сравнения OCRnA.
Обновление регистра выполняется тем же тактом, что и сброс TCNTn и уста-
новка флага TOVn.
Рекомендуется использовать регистр ICRn для задания верхнего
предела,
если верхний предел счета является константой. В этом случае также освобож-
дается регистр OCRnA для генерации ШИМ-сигнала на выходе OCnA. Однако
если частота ШИМ динамически изменяется (за счет изменения верхнего пре-
дела), то в этом случае выгоднее использовать регистр OCRnA для задания
верхнего предела, т. к. он поддерживает двойную буферизацию.
В режиме
быстрой ШИМ блоки сравнения позволяют генерировать
ШИМ-сигналы на выводах OCnx. Если COMnx1:0 = 0b10, то задается ШИМ без
инверсии выхода, а если COMnx1:0 = 0b11, то задается режим ШИМ с инверси-
ей на выходе (см. таблицу 4.26). Фактическое значение OCnx можно наблюдать
на выводе порта, если для него задано выходное направление (DDR_OCnx).
ШИМ-сигнал генерируется путем установки (сброса) регистра OCnx
при воз-
никновении совпадения между OCRnx и TCNTn, а также путем сброса (уста-
Страницы
- « первая
- ‹ предыдущая
- …
- 109
- 110
- 111
- 112
- 113
- …
- следующая ›
- последняя »
