Таймер

В данной части я опишу только те принципы работы и регистры, которые использовались в данной работе, так как описание таймеров занимает пятую часть документации, и описывать все здесь не имеет смысла.

Базовый модуль состоит из счетного регистра (CNT), делителя с управляющим регистром PSC и регистра автоматической загрузки ARR. Эти регистры доступны из программы. Но, помимо их, базовый модуль содержит дополнительные регистры, которые недоступны программно. Функциональная схема работы таймера представлена на рисунке 35.

Рисунок 35 - Функциональная схема работы таймера

-разрядный счетный регистр CNT - это основа таймера. Он может считать вверх (сложение) и вниз (вычитание). Направление счета задается разрядом DIR управляющего регистра CR1. Значение счетного регистра можно программно прочитать или изменить в любой момент времени.

Счетный регистр 16-разрядный, поэтому максимальное значение до которого (а также с которого) он может считать равно 65535. Но это значение можно изменять в меньшую сторону. Для этого предназначен регистр ARR, благодаря которому счетный регистр является счетчиком с переменным коэффициентом деления.

Тактирование счетного регистра

Таймер может тактироваться от разных источников. На выходе схемы выбора источника тактирования получаем сигнал CK_PSC, который и является тактовым сигналом таймера, но он подается на счетный регистр не напрямую, а через предварительный делитель с переменным коэффициентом деления (1…65536). Сигнал, подаваемый непосредственно на вход счетного регистра, называется CK_CNT.

Коэффициент деления предварительного делителя задается управляющим регистром PSC.

Управление подачей тактовых импульсов на вход предварительного делителя (а также включение/выключение таймера) осуществляется с помощью разряда CEN регистра CR1.

Переполнение счетного регистра и событие обновления UEV

Перед началом счета в регистр CNT загружается его начальное значение. При счете вверх это значение равно нулю, а при счете вниз - содержимому регистра ARR. От каждого тактового импульса содержимое CNT увеличивается на 1 (при счете вниз уменьшается на 1), пока не достигнет своего максимального значения, которое определяется содержимым регистра ARR (при счете вниз - пока не достигнет своего минимального значения, т.е. нуля).

С приходом следующего тактового импульса произойдет сброс счетного регистра в ноль (при счете вниз в него автоматически будет записано значение регистра ARR). Этот переход и называется переполнением счетного регистра, в результате которого может формироваться событие обновления счетного регистра (UEV).

Имеется возможность запретить формирование этого сигнала. Делается это с помощью разряда UDIS регистра CR1: если он равен нулю - генерирование события обновления разрешено, единице - запрещено.

Помимо формирования сигнала обновления счетным регистром, его можно формировать программно (имитация переполнения счетного регистра). Для этого предназначен разряд UG регистра EGR. После записи в него единицы, произойдет перезагрузка счетного регистра и формирование сигнала обновления (если он разрешен разрядом UDIS).

Событие обновление используется для:

Перейти на страницу: 1 2

Еще статьи по теме

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

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

Главное меню

© 2020 / www.techsolid.ru