Программируемый интервальный таймер

Большая интегральная схема К580ВИ53, размещенная в корпусе с 24 выводами (рис. 2.6), предназначена для выработки временных интервалов между импульсами, длительность и форма которых задаются программно. В микросхеме имеется три совершенно одинаковых счетчика с независимым управлением и выдачей выход­ных сигналов. Специальные, программно задаваемые режимы таймера позволяют делить входную частоту, вырабатывать однократные, зависящие от тактовой час­тоты стробирующие сигналы, вести подсчет числа внешних импульсов, измерять длительность промежутка времени.

Таким образом, на БИС К580ВИ53 можно реализовать функции счетчика-таймера (временная задержка), счет­чика событий, программного управляе­мого генератора частоты, часов реаль­ного времени, цифрового счетчика (сра­батывание от единичного импульса), комплексного регулятора двигателя — и, следовательно, освободить от этих функций центральный процессор.

Управляющие слова и начальные значения всех счетчиков вводятся по шине данных микропроцессора. Доступ к таймеру открывается подачей сигна­ла низкого уровня на вход ВМ, а выбор конкретного счетчика делается по вхо­дам А 1 и АО, подключенным к млад­шим разрядам шины адреса (табл. 2.4).

clip_image002

Рис. 2.6. Програм­мируемый интер­вальный таймер

Каждый счетчик представляет собой 16-разрядный регистр обратного счета, т. е. работающий только на вычитание. Счет может производиться в двоичном коде или БКД. Соответственно максимальное значение состав­ляет 216 или 104. Загрузка нулей во все счетные триггеры позволяет получить максимальный возможный коэффициент счета. Входными сигналами каждого счет­чика являются тактовые импульсы, по которым содержи­мое счетчика уменьшается на единицу. Кроме того, имеются входные сигналы СчО, Сч1 и Сч2, которые управляют работой каждого счетчика: высокий уровень сигнала Сч возбуждает счет, низкий блокирует счет, т. е. приостанавливает работу счетчика. Счет возобнов­ляется при подаче сигнала высокого уровня.

Программное управление таймером. Функции, выпол­няемые таймером, полностью определяются программным обеспечением. Для инициализации таймера должен быть введен набор управляющих слов, задающих режимы и начальные значения каждого счетчика. Счетчики могут программироваться в любой последовательности. Каждый счетчик программируется отдельно, путем записи упра­вляющего слова (рис. 2.7). Это процедура выполняется с помощью команды вывода. При программировании тай­мер рассматривается как порт вывода, и поэтому ему дол­жен быть присвоен определенный номер. Во время работы счетчика допускается повторный ввод нового значения коэффициента п без ввода управляющего слова, т. е. без изменения режима.

Таблица 2.4. Сигналы управления и функции программируемого таймера

clip_image004

* — произвольно.

Текущее содержание счетчиков может считываться двумя способами: чтения с помощью команды ввода;

clip_image006

Рис. 2.7. Формат управляющего слова программируемого таймера

чтения «на лету», при котором счет не останавливается. В первом случае для обеспечения стабильного показания счетчика его работа во время считывания должна быть приостановлена либо снятием сигнала разрешения, т. е. подачей Сч=0, либо прекращением подачи тактовых импульсов на данный счетчик. Режим «на лету» (защелки­вание) создается программно путем подачи 0 на разряды D5 и D4 управляющего слова, при этом D7 и D6 должны содержать код выбора данного счетчика. По этой команде текущее значение счетчика запоминается в буферном регистре, из которого можно считывать зафиксированное значение.

Режимы работы таймера (рис. 2.8). Режим 0 — выра­ботка единичного сигнала запуска (или прерывания) после поступления заданного числа тактовых импульсов. Иными словами, происходит преобразование числа п, соответствующего начальному состоянию счетчика, во вре­менной интервал. При достижении заданного значения п счет заканчивается и устанавливается сигнал ВЫХ=1, который сохраняется до загрузки нового значения п или до изменения режима работы данного счетчика. Нулевое значение на входе Сч приостанавливает счет.

Режим 1 — формирование отрицательного временного интервала, равного заданному числу периодов тактовой частоты.

clip_image008

clip_image010

Рис. 2.8. Временные диаграммы

Режим 2 — деление частоты: таймер генерирует пери­одический сигнал с частотой, в п раз меньшей тактовой частоты. Интервал времени между двумя выходными импульсами пропорционален числу входных импульсов, поступающих от генератора тактовых импульсов (ТИ) на счетчик. Если перезагрузка счетчика происходит между двумя выходными импульсами, то данный интервал не будет изменен, но на следующем интервале отразится новое значение.

Режим 3 — генерация прямоугольных сигналов. Ана­логичен режиму 2, но на выходе сигнал высокого уровня будет до тех пор, пока счет не дойдет до половины числа п, а во второй половине счета будет сигнал работы программируемого таймера низкого уровня. Если число п нечетное, то первая часть сигнала будет составлять (n+1)/2, а вторая.— (п—1)/2. При четном п сигналы на выходе имеют симметричную прямоугольную форму.

Режим 4 — программный запуск одиночного строб-импульса. При загрузке числа счетчик начинает счет. После окончания на выходе будет сигнал низкого уровня, который остается таким на протяжении одного периода тактовой частоты. Затем на выходе устанавливается сиг­нал высокого уровня. Если происходит перезагрузка . счетчика между выходными импульсами, то текущий интервал не будет изменен, но следующий изменяется в соответствии с новым значением. После перезагрузки счетчика счет начинается с нового числа.

Режим 5 — аппаратный запуск строб-импульса. Счет­чик начинает отсчет после прихода фронта входного сигнала запуска. Уровень на выходе остается низким в течение одного периода тактовой частоты. Уровень выходного сигнала остается высоким до завершения счета, начатого фронтом любого сигнала запуска.

clip_image012

Предлагаю ознакомиться с аналогичными статьями: