Большая интегральная схема К580ВИ53, размещенная в корпусе с 24 выводами (рис. 2.6), предназначена для выработки временных интервалов между импульсами, длительность и форма которых задаются программно. В микросхеме имеется три совершенно одинаковых счетчика с независимым управлением и выдачей выходных сигналов. Специальные, программно задаваемые режимы таймера позволяют делить входную частоту, вырабатывать однократные, зависящие от тактовой частоты стробирующие сигналы, вести подсчет числа внешних импульсов, измерять длительность промежутка времени.
Таким образом, на БИС К580ВИ53 можно реализовать функции счетчика-таймера (временная задержка), счетчика событий, программного управляемого генератора частоты, часов реального времени, цифрового счетчика (срабатывание от единичного импульса), комплексного регулятора двигателя — и, следовательно, освободить от этих функций центральный процессор.
Управляющие слова и начальные значения всех счетчиков вводятся по шине данных микропроцессора. Доступ к таймеру открывается подачей сигнала низкого уровня на вход ВМ, а выбор конкретного счетчика делается по входам А 1 и АО, подключенным к младшим разрядам шины адреса (табл. 2.4).
Рис. 2.6. Программируемый интервальный таймер
Каждый счетчик представляет собой 16-разрядный регистр обратного счета, т. е. работающий только на вычитание. Счет может производиться в двоичном коде или БКД. Соответственно максимальное значение составляет 216 или 104. Загрузка нулей во все счетные триггеры позволяет получить максимальный возможный коэффициент счета. Входными сигналами каждого счетчика являются тактовые импульсы, по которым содержимое счетчика уменьшается на единицу. Кроме того, имеются входные сигналы СчО, Сч1 и Сч2, которые управляют работой каждого счетчика: высокий уровень сигнала Сч возбуждает счет, низкий блокирует счет, т. е. приостанавливает работу счетчика. Счет возобновляется при подаче сигнала высокого уровня.
Программное управление таймером. Функции, выполняемые таймером, полностью определяются программным обеспечением. Для инициализации таймера должен быть введен набор управляющих слов, задающих режимы и начальные значения каждого счетчика. Счетчики могут программироваться в любой последовательности. Каждый счетчик программируется отдельно, путем записи управляющего слова (рис. 2.7). Это процедура выполняется с помощью команды вывода. При программировании таймер рассматривается как порт вывода, и поэтому ему должен быть присвоен определенный номер. Во время работы счетчика допускается повторный ввод нового значения коэффициента п без ввода управляющего слова, т. е. без изменения режима.
Таблица 2.4. Сигналы управления и функции программируемого таймера
* — произвольно.
Текущее содержание счетчиков может считываться двумя способами: чтения с помощью команды ввода;
Рис. 2.7. Формат управляющего слова программируемого таймера
чтения «на лету», при котором счет не останавливается. В первом случае для обеспечения стабильного показания счетчика его работа во время считывания должна быть приостановлена либо снятием сигнала разрешения, т. е. подачей Сч=0, либо прекращением подачи тактовых импульсов на данный счетчик. Режим «на лету» (защелкивание) создается программно путем подачи 0 на разряды D5 и D4 управляющего слова, при этом D7 и D6 должны содержать код выбора данного счетчика. По этой команде текущее значение счетчика запоминается в буферном регистре, из которого можно считывать зафиксированное значение.
Режимы работы таймера (рис. 2.8). Режим 0 — выработка единичного сигнала запуска (или прерывания) после поступления заданного числа тактовых импульсов. Иными словами, происходит преобразование числа п, соответствующего начальному состоянию счетчика, во временной интервал. При достижении заданного значения п счет заканчивается и устанавливается сигнал ВЫХ=1, который сохраняется до загрузки нового значения п или до изменения режима работы данного счетчика. Нулевое значение на входе Сч приостанавливает счет.
Режим 1 — формирование отрицательного временного интервала, равного заданному числу периодов тактовой частоты.
Рис. 2.8. Временные диаграммы
Режим 2 — деление частоты: таймер генерирует периодический сигнал с частотой, в п раз меньшей тактовой частоты. Интервал времени между двумя выходными импульсами пропорционален числу входных импульсов, поступающих от генератора тактовых импульсов (ТИ) на счетчик. Если перезагрузка счетчика происходит между двумя выходными импульсами, то данный интервал не будет изменен, но на следующем интервале отразится новое значение.
Режим 3 — генерация прямоугольных сигналов. Аналогичен режиму 2, но на выходе сигнал высокого уровня будет до тех пор, пока счет не дойдет до половины числа п, а во второй половине счета будет сигнал работы программируемого таймера низкого уровня. Если число п нечетное, то первая часть сигнала будет составлять (n+1)/2, а вторая.— (п—1)/2. При четном п сигналы на выходе имеют симметричную прямоугольную форму.
Режим 4 — программный запуск одиночного строб-импульса. При загрузке числа счетчик начинает счет. После окончания на выходе будет сигнал низкого уровня, который остается таким на протяжении одного периода тактовой частоты. Затем на выходе устанавливается сигнал высокого уровня. Если происходит перезагрузка . счетчика между выходными импульсами, то текущий интервал не будет изменен, но следующий изменяется в соответствии с новым значением. После перезагрузки счетчика счет начинается с нового числа.
Режим 5 — аппаратный запуск строб-импульса. Счетчик начинает отсчет после прихода фронта входного сигнала запуска. Уровень на выходе остается низким в течение одного периода тактовой частоты. Уровень выходного сигнала остается высоким до завершения счета, начатого фронтом любого сигнала запуска.
0 коммент.:
Отправить комментарий