
- •Таймерная подсистема
- •Основной счетчик
- •Техника измерения времени (чтение счетчика)
- •Цена «деления», диапазон измерения и управление входной частотой
- •Программный либо аппаратный захват времени.
- •Техника формирования события в заранее заданное время
- •Сравнение с уставкой
- •Загрузка значения и сравнение с нулем (использование сигнала переполнения).
- •Автоперезагрузка и формирование периодического события.
- •Широтно_импульсный модулятор
- •Все возможности, объединенные в одном таймерном канале
- •Таймерная подсистема в мк aDuC70xx
- •Структура таймерного канала в микросистеме aDuC70xx
- •Определение констант для работы с битовыми полями регистра управления таймером 1.
Цена «деления», диапазон измерения и управление входной частотой
При измерениях времени с помощью таймера ошибка измерения имеет порядок величины , а максимальный интервал, который можно измерить не превышает 2n . Количество n разрядов счетчика в таймере жестко определено разработчиками микросистемы и составляет обычно степень двух (8 или 16 или 32, хотя иногда можно встретить и другие разрядности).
Уменьшение погрешности измерения при аппаратном захвате моментов времени может быть достигнуто, если есть возможность управлять входной частотой таймера. Во многих реализациях такая возможность в том или ином виде имеется. При увеличении входной частоты пропорционально уменьшается и максимальный измеримый интервал. Наоборот, при увеличении периода входной частоты таймера одновременно увеличивается ошибка захвата времени (ошибка дискретности) и максимальный измеримый интервал.
Независимое уменьшение ошибки и увеличение измеримого интервала возможно, только если есть возможность увеличения разрядности таймера.
При управлении входной частотой таймера может предоставляться несколько возможностей:
а) программно управляемый делитель частоты на входе таймера, который позволяет, уменьшая частоту, увеличивать максимальный измеримый интервал, ценой увеличения ошибки; обычно коэффициенты деления делаются кратными степени «двойки»;
б) возможность подать внешнюю частоту через контакт микросхемы на вход таймера (не выше некоторого максимального значения, до которого счетчик еще сохраняет работоспособность) – это позволяет подключить к входу таймера свой генератор с требуемой частотой, либо превратить таймер в счетчик событий, подключив к его входу сигнал от датчика;
в) пуск или остановка счета путем разрешения или запрета входной частоте поступать на счетный вход таймера;
г) возможность изменять направление счета таймера (выбирать режим «сложение» либо «вычитание» ‑ иногда это бывает полезно, см. далее «режим с автоперезагрузкой»).
Программный либо аппаратный захват времени.
Для уменьшения величины ошибки, как для однократного захвата времени, так и для вычисленной разности двух захваченных значений, захват времени может быть реализован в таймере аппаратно по внешнему сигналу, являющемуся следствием внешнего события (и возникающему асинхронно по отношению к входной частоте таймера). Для недолговременного хранения кода времени в таймерную подсистему добавляется регистр захвата, куда аппаратно копируется содержимое таймера при возникновении внешнего асинхронного сигнала о событии. Схемотехника захвата времени обычно делается таким образом, что систематическая ошибка (время между приходом сигнала о событии и моментом захвата) не превышает одного периода входной частоты таймера .
После того, как захват произошел, у программы есть время вплоть до следующего захвата, в течение которого она может прочитать содержимое регистра захвата в переменную.
Канал таймера, обладающий свойством аппаратного захвата времени называют каналом регистрации событий (по-английски: Input-Capture IC).
Техника формирования события в заранее заданное время
Под формирование события может пониматься любое изменение управляющего воздействия на объект управления, выдаваемого микроконтроллером. Обычно управляющая программа должна формировать такие изменения в строго определенные моменты времени (правильнее сказать – обеспечивать строго определенные промежутки времени между отдельными управляющими воздействиями). Формирование интервала времени можно осуществить, используя несколько разных техник.