Студопедия — Таймер/счетчики
Студопедия Главная Случайная страница Обратная связь

Разделы: Автомобили Астрономия Биология География Дом и сад Другие языки Другое Информатика История Культура Литература Логика Математика Медицина Металлургия Механика Образование Охрана труда Педагогика Политика Право Психология Религия Риторика Социология Спорт Строительство Технология Туризм Физика Философия Финансы Химия Черчение Экология Экономика Электроника

Таймер/счетчики






Таймеры/счетчики (Т/С) предназначены для ввода информации в виде подсчета внешних событий, а также формирования временных функций МК51 [3].

В состав блока Т/С входят (рис.37):

- два 16-разрядных регистра Т/С0 и Т/С1;

- восьмиразрядный регистр режимов Т/С (TMOD);

- восьмиразрядный регистр управления (TCON);

- схема инкремента;

- буфер блока Т/С;

- схема фиксации входных сигналов;

- логика управления блоком Т/С;

- схема управления флагами.

Рис. 37. Функционально-структурная схема блока таймеров/счетчиков

Буфер Т/С осуществляет связь между 8-разрядной внутренней шиной ШВ и 8-разрядной шиной данных ШД, обеспечивая запись, хранение и коммутацию данных.

Два 16-разрядных регистра Т/С0 и Т/С1 выполняют функцию хранения содержимого счета. Каждый из них состоит из пары восьмиразрядных регистров, соответственно ТН0, TL0 и ТН1, TL1. Причем регистры ТН0, ТН1 - старшие, а регистры TL0, TL1 - младшие 8 разрядов. Каждый из восьмиразрядных регистров имеет

свой адрес в пространстве РСФ и может быть использован как РОН, если Т/С не используются (бит TR0 для Т/С0 и бит TR1 для Т/С1 в регистре управления TCON равны «0»):

- ТL0, TH0 – 8AH, 8CH;

- TL1, TH1 – 8BH, 8DH.

Код величины начального счета заносится в регистры Т/С программно. В процессе счета содержимое регистров Т/С инкрементируется с помощью схемы инкремента. Признаком окончания счета, как правило, является переполнение регистра Т/С, т. е. переход его содержимого из состояния "все единицы" в состояние "все нули". Все регистры ТН0, ТН1, TL0, TL1 доступны по чтению, и, при необходимости, контроль достижения требуемой величины счета может выполняться программно.

Схема инкремента предназначена:

- для увеличения на 1 в каждом машинном цикле содержимого регистров Т/С0, Т/С1, для которых установлен режим таймера и счет разрешен;

- для увеличения на 1 содержимого регистров Т/С0, Т/С1, для которых установлен режим счетчика, счет разрешен и на соответствующем входе МК51 (Т0 для Т/С0 и Т1 для Т/С1) зафиксирован счетный импульс.

При работе в качестве таймера содержимое регистра Т/С инкрементируется в каждом машинном цикле, т. е. Т/С является счетчиком машинных циклов МК51. Поскольку машинный цикл состоит из 12 периодов частоты синхронизации fCLK, то частота счета в данном случае равна fCLK/12.

При работе Т/С в качестве счетчика внешних событий содержимое регистра Т/С инкрементируется в ответ на переход из «1» в «0» сигнала на счетном входе МК51 (вывод Т0 для Т/С0 и вывод Т1 для Т/С1). Счетные входы аппаратно проверяются в фазе S5P2 каждого машинного цикла. Когда проверки показывают высокий уровень на счетном входе в одном машинном цикле и низкий уровень в другом машинном цикле, регистр Т/С инкрементируется. Новое (инкрементированное) значение заносится в регистр Т/С в фазе S3P1 машинного цикла, непосредственно следующего за тем, в котором был обнаружен переход из «1» в «0» на счетном входе. Т. к. для распознавания такого перехода требуется два машинных цикла (24 периода частоты синхронизации), то максимальная частота счета Т/С в режиме счетчика равна fCLK /24. Чтобы уровень сигнала на счетном входе был гарантировано зафиксирован, он должен оставаться неизменным в течение как минимум одного машинного цикла.

Схема фиксации входных сигналов , , Т0, Т1 представляет собой четыре триггера. В каждом машинном цикле в момент S5P2 в них запоминается информация с выводов МК51 , , Т0, Т1.

Схема управления флагами вырабатывает и снимает флаги переполнения Т/С и флаги запросов внешних прерываний.

Логика управления Т/С синхронизирует работу регистров Т/С0 и Т/С1 в соответствии с запрограммированными режимами работы и синхронизирует работу блока Т/С с работой МК51.

Регистр режимов Т/С – TMOD (табл. 11) предназначен для приема и хранения кода, определяющего:

- один из 4-х возможных режимов работы каждого Т/С;

- работу в качестве таймеров или счетчиков;

- управление Т/С от внешнего вывода INTx.

 

Таблица 11

Символ Позиция Имя и назначение
GATE TMOD.7 для T/C1   TMOD.3 для T/C0 Управление блокировкой. Если бит установлен, то таймер/счетчик "x" разрешен до тех пор, пока на входе "INTx" высокий уровень и бит управления "TRx" установлен. Если бит сброшен, то Т/С разрешается, как только бит управления "TRx" устанавливается
C/ T TMOD.6 для T/C1   TMOD.2 для T/C0 Бит выбора режима таймера или счетчика событий. Если бит сброшен, то работает таймер от внутреннего источника сигналов синхронизации. Если бит установлен, то работает счетчик от внешних сигналов на входе "Тх"

 

 

Продолжение табл.11

M1 TMOD.5 для T/C1 TMOD.1 для T/C0 Режим работы (см. примечание)
M0 TMOD.4 для T/C1 TMOD.0 для T/C0 Режим работы (см. примечание)
Примечание
M1 M0 Режим работы
    "THx"работает как 8-битный таймер. "TLx" работает как 5-битный предделитель тактовой частоты.
    16-битный таймер/счетчик. "ТНх" и "TLx" включены последовательно
    8-битный автоперезагружаемый таймер/счетчик. "ТНх" хранит значение, которое должно быть перезагружено в "TLx" каждый раз по переполнению
    Таймер/счетчик 1 останавливается. Таймер/счетчик 0: TL0 работает как 8-битный таймер/счетчик, и его режим определяется управляющими битами таймера 0. ТН0 работает только как 8-битный таймер, и его режим определяется управляющими битами таймера 1
         

 

Как видно из таблицы, младшая тетрада байта регистра TMOD определяет режимы работы Т/С0, а старшая – режимы работы Т/С1.

Регистр управления (TCON) предназначен для приема и хранения кода управляющего слова. Обозначение разрядов регистра TCON и их назначение приведено в табл. 12. Для управления таймерами/счетчиками используются 4 старших разряда регистра TCON.

Таблица 12

Символ Позиция Имя и назначение
TF1 TCON.7 Флаг переполнения таймера 1. Устанавливается аппаратно при переполнении таймера/счетчика. Сбрасывается при обслуживании прерывания аппаратно
TR1 TCON.6 Бит управления таймера 1. Устанавливается/сбрасывается программой для пуска/останова
TF0 TCON.5 Флаг переполнения таймера 0. Устанавливается аппаратно. Сбрасывается при обслуживании прерывания
TR0 TCON.4 Бит управления таймера 0. Устанавливается/сбрасывается программой для пуска/останова таймера/счетчика
IE1 TCON.3 Флаг фронта прерывания 1. Устанавливается аппаратно, когда детектируется срез внешнего сигнала INT1. Сбрасывается при обслуживании прерывания
IT1 TCON.2 Бит управления типом прерывания 1. Устанавливается /сбрасывается программно для спецификации запроса INT1 (срез/низкий уровень)
IE0 TCON.1 Флаг фронта прерывания 0. Устанавливается по срезу сигнала INT0. Сбрасывается при обслуживании прерывания
IT0 TCON.0 Бит управления типом прерывания 0. Устанавливается /сбрасывается программно для спецификации запроса INT0 (срез/низкий уровень)

 

Флаги переполнения TF0 и TF1 устанавливаются аппаратно при переполнении соответствующих Т/С (переход Т/С из состояния "все единицы" в состояние "все нули"). Если при этом прерывание от соответствующего Т/С разрешено, то установка флага TF вызовет прерывание. Флаги TF0 и TF1 сбрасываются аппаратно при передаче управления программе обработки соответствующего прерывания. Флаги TF0 и TF1 программно доступны и могут быть установлены/сброшены программой. Используя этот механизм, прерывания по TF0 и TF1 могут быть вызваны (установка TF) или отменены (сброс TF) программой.

 

2.3.3.1. Режимы работы таймеров/счетчиков

Режим работы каждого Т/С определяется значением битов М0, Ml в регистре TMOD. Т/С0 и Т/С1 имеют четыре режима работы. Режимы работы 0, 1, 2 одинаковы для обоих Т/С. Т/С0 и Т/С1 в этих режимах полностью независимы друг от друга. Работа Т/С0 и Т/С1 в режиме 3 различна. При этом установка режима 3 в Т/С0 влияет на режимы работы Т/С1.

Установка битов М0=«0», М1=«0» определяет режим работы 0. Т/С в режиме 0 (рис. 38) представляет собой устройство на основе 13-разрядного регистра (восьмиразрядный таймер/счетчик с предделителем на 32).

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

Т/С в режиме 0

13-разрядный регистр состоит для Т/С0 из 8 разрядов регистра ТН0 и 5 младших разрядов регистра TL0, а для Т/С1 - из 8 разрядов регистра ТН1 и 5 младших разрядов регистра TL1.

В этом режиме функцию делителя на 32 выполняют регистры TL0, TL1. Они остаются программно доступными, но надо помнить, что значащими в режиме 0 являются только пять младших разрядов регистров TL0, TL1. Логика работы в режиме 0 показана на рис. 38. Бит С/Тх регистра TMOD определяет работу Т/С или в качестве таймера (С/Т=0) с тактированием от встроенного задающего генератора с частотой fCLK/12, или в качестве счетчика (С/Т=1) внешних событий со входа Тх. Счет начинается при установке бита TR регистра TCON в состояние «1». При необходимости управления счетом извне бит GATE регистра TMOD устанавливается в состояние «1». Тогда при TR= «1» счет будет разрешен, если на входе (для Т/С0) или (для Т/С1) установлено состояние «1» и будет запрещен, если установлено состояние «0». Установка бита TR0 для Т/С 0 и TR1 для Т/С1 в состояние «0»" выключает Т/С независимо от состояния других битов. При переполнении Т/С (переход содержимого регистра Т/С из состояния "все единицы" в состояние "все нули") устанавливается флаг TF0 для Т/С0 или TF1 для Т/С1 в регистре TCON.

Установка битов М0=«1», М1=«0» определяет режим работы 1. Логика работы Т/С в режиме 1 показана на рис. 39.

 

Рис.39. Функционально-структурная схема и логика работы Т/С в режиме 1

Режим 1 аналогичен режиму 0. Отличие состоит в том, что установка режима 1 превращает Т/С в устройство на основе 16- разрядного регистра. Для Т/С0 регистр состоит из программно доступных пар TL0, ТН0, для Т/С1 из программно доступных пар TL1, ТН1.

Установка битов М0=«0», М1=«1» определяет режим работы 2. В этом режиме Т/С представляет собой устройство на основе 8-разрядного регистра TL0 для Т/С0 и TL1 для Т/С1. Логика работы Т/С0 и Т/С1 в режиме 2 одинакова и показана на рис. 40.

 

 

Рис.40. Функционально-структурная схема и логика работы Т/С в режиме 2

 

При каждом переполнении TL0 кроме установки в регистре TCON флага TF0 происходит автоматически перезагрузка содержимого из ТН0 в TL0. Соответственно для Т/С1 при переполнении TL1 в регистре TCON устанавливается флаг TF1 и происходит перезагрузка TL1 из ТН1. Регистры ТН0 и ТН1 загружаются программно. Перезагрузка TL0 из ТН0 и TL1 из ТН1 не влияет на содержимое регистров ТН0 и ТН1. Назначение битов управления TR0, TR1, GATE0, GATE1, С/Т 0, С/Т 1 такое же как режиме 0.

Установка битов М0= «1», М1= «1» определяет режим работы 3. Т/С0 в режиме 3 представляет собой два независимых устройства на основе 8-разрядных регистров TL0 и ТН0. Логика работы Т/С0 в режиме 3 показана на рис. 41.

 

 

Рис.41. Функционально-структурная схема и логика работы Т/С0 в режиме 3

 

Т/С1 в режиме 3 заблокирован и просто сохраняет свой счет (значение кода в регистре Т/С). Эффект такой же, как при установке TR1=0.

Устройство на основе регистра TL0 может работать в режиме таймера и в режиме счетчика. За ним сохраняются все биты управления Т/С0, оно реагирует на воздействия по входам Т0, . При переполнении TL0 устанавливается флаг TF0. Устройство на основе регистра ТН0 может работать только в режиме таймера. Оно использует бит включения TR1, при переполнении ТН0 выставляет флаг TF1. Других битов управления устройство на основе ТН0 в этом режиме не имеет.

Установка Т/С0 в режим 3 лишает Т/С1 бита включения TR1. Поэтому Т/С1 в режимах 0, 1, 2 при GATE 1= «0» всегда включен и при переполнении в режимах 0 и 1 Т/С 1 обнуляется, а в режиме 2 перезагружается не устанавливая флаг, если Т/С0 находится в режиме 3. Управление от входов , Т1, биты управления С/Т1, GATE1 для Т/С1 не зависят от режима Т/С 0.

Т/С 1 аппаратно связан с блоком синхронизации последовательного порта (УАПП). При работе в режимах 0, 1, 2 при переполнении Т/С1 всегда вырабатывает импульс тактирования УАПП. Поэтому 3-й режим Т/С0 удобно применять тогда, когда требуется работа УАПП и двух таймеров или УАПП, таймера и счетчика.

Когда Т/С0 переведен в режим 3, Т/С1 можно выключить, переведя его также в режим 3, использовать с последовательным портом для выработки импульсов тактирования или в любых других приложениях, не требующих прерывания.

 

2.3.3.2. Работа с таймерами/счетчиками

 

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

Счетчик внешних событий. Биты установки функции Т/С имеют значение Т/Сх= «1». Информация поступает от датчиков, подключенных к входам Т0 (Р3.4), Т1 (Р3.5). Это может быть информация о количестве деталей на движущемся конвейере, числе включений контрольной аппаратуры, количестве импульсов датчика частоты вращения вала и прочее. Для микроконтроллера входная информация представлена количеством импульсов на входе Тх (рис.42).

Рис. 42. Временная диаграмма работы Т/С в режиме счетчика

внешних событий

 

Для разрешения счета перед подачей импульсов необходимо установить бит управления TRx=1. Счет будет продолжаться либо до значения Ni в момент остановки счетчика TRx=0 (показано пунктиром), либо до момента переполнения счетчика. В последнем случае максимальное число, определяющее полный цикл счета, будет зависеть от числа разрядов счетчика: , при n=8 Nmax=255, при n=16 Nmax=65535. Необходимо отметить, что при работе в режиме счетчика фактор времени, как и равномерность наступления событий, не играет никакой роли. Счетчик может переполниться в одном случае за несколько секунд, например при подключении импульсного датчика частоты вращения, в другом случае это может быть интервал времени в несколько дней.

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

Самый эффективный вариант создания временных интервалов - это применение специальных аппаратных средств – счетчиков /таймеров, работа которых не загружает ЦП, кроме моментов обслуживания (задание времени работы, пуск и останов). Все остальное время он работает параллельно ЦП. Интервал времени формируется в таком случае как сумма временных интервалов всех тактовых импульсов поступивших на вход счетчика от момента пуска до момента остановки. Поэтому источник тактовых импульсов должен удовлетворять жестким требованиям стабильности частоты. В микроконтроллерах эту роль выполняет кварцевый резонатор задающего генератора. В МК51 стандартная частота кварцевого резонатора составляет fCLK =12 мГц, а частота тактирования Т/С – fтакт = fCLK/12 = 1мГц, что определяет удобный для практики применения интервал времени тактирования tтакт = 1мкс.

Для установки функции таймера для Т/С биты принимают значение Т/Сх= «0». Один из вариантов работы таймеры - это пуск с нулевым значением регистров (THx)=0, (TLx)=0, (рис.43).

 

Рис. 43. Временная диаграмма работы Т/С в режиме таймера

 

После установки бита TRx= «1» (пуск) происходит тактирование Т/С, вплоть до достижения состояния переполнения, что фиксируется установкой флага TFx= «1». Интервал времени в режиме 1 (шестнадцатиразрядный счетчик) Tmax = Nmax × tтакт. При

Nmax = 65535 и tтакт = 1мкс Tmax = 65535мкс.

Для создания произвольных интервалов времени (не более Tmax =65535мкс) используется режим работы таймера с предустановкой (рис.44). Для этого, до пуска таймера, осуществляется предустановка – запись заранее выбранного значения числа Nпред в регистры ТНх и TLx.

 

Рис. 44. Временная диаграмма работы Т/С в режиме таймера

с предустановкой

После установки бита TRx= «1» начинается счет от значения Nпред до значения Nmax (переполнение). Заданный (программируемый) интервал времени будет равен

Тзад = (Nmax - Nпред)× tтакт.

Число предустановки определяется как разность:

Nпред = Nmax – Nзад,

где Nзад = Тзад / tтакт.

Например, для интервала времени 50000 мкс необходимо число предустановки равное 65535 – 50000 = 1553510 или 3САF16. Для программирования Т/С в регистр THx заносим число 3СН, в регистр TLx – число 0АFH.

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

Измерение длительности сигналов. Принцип работы Т/С позволяет использовать его для измерения длительности входных сигналов (в пределах Tmax). Для этого используется управление Т/С с помощью бита GATE= «1» в регистре TMOD и подключение измеряемого сигнала к входу INTx (рис.45).

 

 

Рис. 45. Временная диаграмма работы Т/С в режиме измерения

длительности входного сигнала

 

После разрешения счета TRx= «1», счет начнется при появлении на входе INTx высокого уровня сигнала и закончится, когда этот уровень станет нулевым. После останова счетчика, в регистрах THx и TLx будет находиться число Nимп, определяющее длительность сигнала на входе INTx – Тимп = Nимп× tтакт.

 







Дата добавления: 2015-08-12; просмотров: 1300. Нарушение авторских прав; Мы поможем в написании вашей работы!



Расчетные и графические задания Равновесный объем - это объем, определяемый равенством спроса и предложения...

Кардиналистский и ординалистский подходы Кардиналистский (количественный подход) к анализу полезности основан на представлении о возможности измерения различных благ в условных единицах полезности...

Обзор компонентов Multisim Компоненты – это основа любой схемы, это все элементы, из которых она состоит. Multisim оперирует с двумя категориями...

Композиция из абстрактных геометрических фигур Данная композиция состоит из линий, штриховки, абстрактных геометрических форм...

Разработка товарной и ценовой стратегии фирмы на российском рынке хлебопродуктов В начале 1994 г. английская фирма МОНО совместно с бельгийской ПЮРАТОС приняла решение о начале совместного проекта на российском рынке. Эти фирмы ведут деятельность в сопредельных сферах производства хлебопродуктов. МОНО – крупнейший в Великобритании...

ОПРЕДЕЛЕНИЕ ЦЕНТРА ТЯЖЕСТИ ПЛОСКОЙ ФИГУРЫ Сила, с которой тело притягивается к Земле, называется силой тяжести...

СПИД: морально-этические проблемы Среди тысяч заболеваний совершенно особое, даже исключительное, место занимает ВИЧ-инфекция...

Растягивание костей и хрящей. Данные способы применимы в случае закрытых зон роста. Врачи-хирурги выяснили...

ФАКТОРЫ, ВЛИЯЮЩИЕ НА ИЗНОС ДЕТАЛЕЙ, И МЕТОДЫ СНИЖЕНИИ СКОРОСТИ ИЗНАШИВАНИЯ Кроме названных причин разрушений и износов, знание которых можно использовать в системе технического обслуживания и ремонта машин для повышения их долговечности, немаловажное значение имеют знания о причинах разрушения деталей в результате старения...

Различие эмпиризма и рационализма Родоначальником эмпиризма стал английский философ Ф. Бэкон. Основной тезис эмпиризма гласит: в разуме нет ничего такого...

Studopedia.info - Студопедия - 2014-2024 год . (0.011 сек.) русская версия | украинская версия