Принципы построения таймеров 


Мы поможем в написании ваших работ!



ЗНАЕТЕ ЛИ ВЫ?

Принципы построения таймеров



Таймеры предназначены для формирования временных интервалов, позволяя микропроцессорной системе работать в режиме реального времени.

Таймерыпредставляют собой обычные цифровые счетчики, которые подсчитывают импульсы от высокостабильного генератора частоты. К системной шине микропроцессора таймеры подключаются при помощи параллельных портов.

Генератор периодических импульсов, входящий в состав таймера, определяет минимальный интервал времени, который может формировать таймер. Интервалы времени, задаваемые таймером, могут устанавливаться только из дискретного набора допустимых интервалов времени. Их значения тоже определяется частотой задающего генератора. Разрядность цифрового счетчика, входящего в состав таймера, определяет максимальный интервал времени, который может формировать таймер.

Обычно используются 16-разрядные таймеры, поэтому, для их подключения к 8‑разрядному процессору требуется два параллельных порта. Кроме того, таймером нужно управлять, для чего используется дополнительный порт. С его помощью таймер можно включать и выключать. Часто требуется определять, не возникало ли переполнение таймера. Факт переполнения легко запомнить в дополнительном триггере, подключенном к выходу переноса счетчика таймера. Выходной сигнал этого триггера называется флагом переполнения таймера. Сигнал с выхода триггера (флаг) включения и выключения таймера и флаг переполнения подключают к системной шине микропроцессора через дополнительный порт ввода-вывода.

Структурная схема таймера, построенного по описанным выше принципам, приведена на рис. 19.30.

Рис. 19.30. Структурная схема таймера

В зависимости от типа использованного цифрового счетчика таймеры бывают суммирующие (с суммирующим счетчиком) или вычитающие (с вычитающим счетчиком). Использование вычитающего счетчика позволяет проще задавать интервалы времени. В этом случае записываемый в таймер код Codesub будет соответствовать длительности временного интервала Ttimer, вырабатываемого таймером:

Ttimer = Codesub´Tgen,

где Tgen – период импульсов внутреннего генератора.

В случае использования суммирующего таймера код, записываемый в таймер для задания интервала времени Ttimer, определяется из другой формулы:

Ttimer = (Codemax – Codesum) ´Tgen

В этой формуле код Codesum, который заносится в таймер, представляет собой дополнение кода интервала времени до максимального кода Codemax, который можно записать в таймер. Максимальный код Codemax определяется разрядностью таймера. В рассмотренном примере разрядность таймера равна 16. Это означает, что максимальный код равен Codemax = 216 = 65536.

Достаточно часто применяются свободнобегущие суммирующие таймеры. Схема такого таймера приведена на рис. 19.31.

Рис. 19.31. Структурная схема свободнобегущего таймера с модулем сравнения

Свободнобегущие таймеры используются как системные часы, задающие время внутри микропроцессорной системы. Для задания промежутков времени микропроцессор считывает значение текущего системного времени и суммирует с ним код задаваемого промежутка времени. Полученный результат записывается в регистр сравнения таймера. При совпадении значений таймера и регистра сравнения устанавливается флаг совпадения. Значение этого флага можно определить программным опросом или воспользоваться механизмом прерывания работы процессора. То есть работа со свободнобегущим таймером похожа на работу с обычным будильником, к которому мы привыкли в обычной жизни.

Часто с одним свободно бегущим таймером работает несколько модулей сравнения. Это похоже на использование часов с несколькими будильниками.

Кроме модулей сравнения, со свободнобегущим таймером работают модули захвата, которые позволяют аппаратно запоминать состояния внутренних счетчиков в момент какого-либо внешнего события (как, например, фронта входного сигнала измерение при измерении его периода входного сигнала) без участия центрального процессора. Структурная схема свободнобегущего таймера с модулем захвата приведена на рис. 19.32.

Рис. 19.32. Структурная схема свободнобегущего таймера с модулем захвата

Использование модулей захвата позволяет повысить точность измерения времени каких либо событий, так как нее перестает влиять такой нестабильный параметр, как время реакции программы и она будет определяться только быстродействием цифровых микросхем свободно бегущего таймера.



Поделиться:


Последнее изменение этой страницы: 2017-02-07; просмотров: 277; Нарушение авторского права страницы; Мы поможем в написании вашей работы!

infopedia.su Все материалы представленные на сайте исключительно с целью ознакомления читателями и не преследуют коммерческих целей или нарушение авторских прав. Обратная связь - 3.147.68.26 (0.006 с.)