Добавил:
Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Микропроцессоры и микроЭВМ. Периферийные устройства.pdf
Скачиваний:
12
Добавлен:
15.11.2022
Размер:
2.64 Mб
Скачать

2.Составим слово инициализации регистра счета канала 2: - младший байт:

D7

D6

D5

D4

D3

D2

D1

D0

0

0

0

0

1

1

1

1

старший байт:

 

 

 

 

 

 

D15

D14

D13

D12

D11

D10

D9

D8

0

1

0

0

0

0

0

0

_____

Составим управляющее слово регистра режима Kai

УСРР:

D7

D6

D5

D4

D3

D2

D1

DO

0

1

0

0

 

0

1

0

0

 

 

 

 

 

 

1

 

 

4. Напишем программу инициализации:

 

 

 

LOAD:

DI

 

 

; запретить прерывание

 

 

MVI А, ООН; занести МБ нач. адреса в регистр А

 

 

OUT 54Н

 

; МБ из per. А в РА КПДП

 

 

MVI А, 09Н; занести СБ нач. адреса в регистр А

 

 

OUT 54Н

 

; СБ из per. А в РА КПДП

 

 

MVI A, 0FH ; МБ числа (N -

1) в регистр счета

 

 

OUT 55Н

 

; МБ из per. А в РСч. КПДП

 

 

MVI А, 40Н ; СБ числа (N -

1) в регистр А

 

 

OUT 55Н

; СБ из per. А в РСч. КПДП

 

 

MVI А, 44Н;

УСРР в регистр Л

 

 

OUT 58Н

 

; УСРР из per. А в РР КПДП

 

 

EI

 

 

; разрешить прерывание

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

Вустройствах и системах автоматики часто требуется формирование про­ граммно-управляемых временных задержек и реализация времязадающих

функций: генерирование сигналов изменяемой частоты; подсчет числа внешних событий; формирование сигналов, задержанных во времени, на программируе­ мое значение и т. п. Все эти операции можно реализовать программным путем, загружая МП рутинной работой по подсчету числа некоторых событий. Приме­

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

На рис. 9.1 показана схема ПИТ ВИ53. В состав таймера входят три неза­ висимых 16-разрядных вычитающих счетчика, схема управления вводом/выводом, регистры режимов работы счетчиков и буфер ШД, через который осуще­ ствляется обмен информацией между МП и таймером. Счетчики ПИТ могут работать в диапазоне частот от 0 до 2 МГц в двоичном и двоично-десятичном кодах.

Рис. 9.1. Схема программируемого интервального таймера ВИ53

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

До тех пор пока на ПИТ не подан сигнал ВК, операции записи и чтения невозможны, однако сигнал ВК на работу счетчиков влияния не оказывает. Сигналы на входы Ai_o подаются с соответствующих линий ША и адресуют один из внутренних регистров ПИТ. Инициализация и управление работой ПИТ, как и других интерфейсных БИС, осуществляется с использованием управляющих слов, загружаемых в регистры режимов работы, и ограниченного числа линий управления и адресации. Формат управляющего слова показан на рис. 9.2, а функции управляющих адресных входных сигналов перечислены в табл. 9.1.

D 7

ВР1

0 0

01

1 0

11

УСРР

D e

D s

D 4

Da

D 2

D 1

Do

ВРО

Ч З 1

ЧЗо

РЖ 2

РЖ1

РЖО

К

Код

0 0

0 1

1 0

1 1

Выбор регистра режима Счетчик 0 Счетчик 1 Счетчик 2

Запрет

 

 

0

Двоичный

 

и

1

Десятичный

 

 

 

 

 

Режим работы

0

0

0

Режим 0

0

0

1

Режим 1

X

1

0

Режим 2

X

1

1

Режим 3

1

0

0

Режим 4

1

0

1

Режим 5

ЧТЕНИЕ (ЗАГРУЗКА)

Фиксация счетчика (считывание «на летуя) Только младший бейт Только старший байт

Два байта (младший, затем старший)

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

Двухразрядное поле ВР^о выбора регистра режима адресует регистр ре­ жима для счетчиков 0, 1 или 2. Поле ЧЗ)-о чтения/записи определяет порядок считывания текущего значения адресуемого счетчика или загрузки в него на­ чального значения. В поле РЖ2-0 кодируется один из шести возможных режи­ мов работы адресуемого счетчика. Разряд D0 (К) определяет код, в котором ра­ ботает счетчик.

Анализ работы ПИТ в различных режимах необходимо проводить с уче­ том взаимодействия сигнала разрешения Р, который формируется на периферии МПС или объектами и процессами в среде обитания МПС и оказывает сущест­ венное влияние на работу ПИТ.

В табл. 9.2 перечислены режимы работы ПИТ и показан характер воздей­ ствия на режим значения сигнала разрешения Р. Временные диаграммы работы ПИТ во всех режимах показаны на рис. 9.3.

Таблица 9.1 Функции управляющих и адресных входных сигналов ПИТ

зп

ЧТ

А,

Ао

вк

0

1

1

1

0

1

0

1

1

0

0

1

0

0

0

0

1

0

1

0

0

г 1

1

0

0

1

0

0

0

0

1

0

0

1

0

1

0

1

0

0

1

1

X

X

0

X

X

X

X

1

Направление передачи и тип данных

ШД ->ПИТ. Загрузка УС в счет­ чики 0, 1 или 2

Нет операции. Буфер ШЛ в Z- состоянии

ШД -> ПИТ. Загрузка счетчика 0

ШД ПИТ. Загрузка счетчика 1

ШД -► ПИТ. Загрузка счетчика 2 ПИТ -> ШД. Считывание счетчи­ ка 0

ПИТ -* ШД. Считывание счетчи­ ка 1 ПИТ -» ШД. Считывание счетчи­ ка 2

Нет операции. Буфер ШД в Z- состоянии

Запрет. Буфер ШД в Z-состоянии

Таблица 9.2

Функции сигнала Р в различных режимах

 

Состояние сигнала разрешения Р

Режим работы ПИТ

Нуль или задний

Передний фронт

 

фронт (спад сиг­

(нарастание сиг­

Единица

 

 

нала)

нала)

 

0. Прерывание по окончании

Запрещает счет

 

Разрешает счет

счета или программируемая за­

 

 

 

держка

 

 

 

1. Программируемый одновиб-

 

1. Запускает счет

 

ратор

 

сначала

 

 

 

2. Устанавливает

 

 

 

Вых - 0 в сле­

 

 

 

дующем такте

 

 

 

синхронизации

 

2. Генератор частот

1. Запрещает счет

Запускает счет

Разрешает счет

 

2. Немедленно

сначала

 

 

устанавливает

 

 

 

Вых = 1

 

 

3. Генератор меандра

1. Запрещает счет

Запускает счет

Разрешает счет

 

2. Немедленно

сначала

 

 

устанавливает

 

 

 

Вых = 1

 

 

4. Одиночный программируемый

Запрещает счет

Разрешает счет

строб

 

 

 

5. Одиночный аппаратно форми­

Запускает счет

 

руемый строб

 

сначала

 

Программируемая задержка (режим 0). В режиме 0 по окончании от­ счета числа, загруженного в счетчик, на выходе устанавливается уровень 1 и сохраняется там до новой загрузки считаемой величиной или до операции ус­ тановки нового режима.

Этот выходной сигнал используется для прерывания работы МП через определенные и программно-изменяемые интервалы времени.

При подаче сигнала разрешения Р = 1 счетчик начинает работу. Переза­ грузка счетчика во время счета приводит к следующему: загрузка младшего бай­ та останавливает счет, а загрузка старшего байта запускает новый цикл счета.

Появление сигнала Р = 0 в процессе счета приостанавливает работу счет­ чика и сохраняет текущее значение, с которого и продолжается процесс счета после восстановления разрешающего сигнала.

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

Программируемый делитель частоты (режим 2). В этом режиме счет­ чик ГОТГ работает как делитель входной частоты fBx на N, где N - число, загру­ женное в счетчик. При этом из входного сигнала на выходе формируется сиг­ нал с частотой TBux/N. Вых = 1 имеет длительность (N -l)TBx, а Вых = 0 имеет длительность ТВх (один период синхронизации счетчика). Если в процессе ра­ боты счетчика осуществить его перезагрузку, то текущий период генерации частоты не изменяется, а следующий период будет определяться новым значе­ нием N. В режиме 2 сигнал Вых = 1 сохраняется до момента загрузки N, что при постоянном Р = 1 обеспечивает механизм программной синхронизации ге­ нератора частоты. С другой стороны, вход Р может быть использован для аппа­ ратной синхронизации, т.к. по сигналу Р = 0 на выходе устанавливается сигнал 1, а с переходом сигнала Р к значению 1 счет возобновляется с начального зна­ чения (см. рис. 9.3). Такая реакция ПИТ на сигнал Р, формируемый внешними схемами, позволяет синхронизировать работу МПС с внешними асинхронными событиями.

Генератор меандра (режим 3). В этом режиме ПИТ выполняет функции генератора переменной частоты со скваженностью 2. Период выходного сигна­ ла ТВых - NTBx, при этом длительность положительного и отрицательного полупериода равна TBxN/2, если N - четное число. При N нечетном положительный полупериод равен TBxN/2, а отрицательный - ТВх (N-l)/2. Перезагрузка счетчи­ ка во время счета новой величиной не оказывает влияния на текущий период, но очередной период выходного сигнала изменится. Генератор меандра не ра­ ботает при загрузке в счетчик числа N = 3.

Рис. 9.3. Временные диаграммы работы

Строб с программным запуском (режим 4). В этом режиме работы по окончании отсчета числа, загруженного в счетчик, на выходе Вых фор­ мируется сигнал 0 с длительностью, равной периоду ТВх, а затем сигнал вновь переходит в «исходное состояние» Вых = 1. Возможна перезагрузка

время счета, при этом загрузка младшего байта N не оказывает влияния на те­ кущий счет, а загрузка старшего байта N запускает новый цикл счета. По дей­ ствию сигнала Р работа ПИТ в режиме 4 аналогична его работе в режиме О, при Р=0 счет запрещен, при Р=1 счет разрешен.

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

Программирование таймера. Перед началом работы на этапе инициализа­ ции системы каждый ПИТ и каждый счетчик в нем необходимо настроить на требуемый режим работы и загрузить в него начальное значение. Эта процедура реализуется путем передачи соответствующих УС и чисел N в адресуемые ПИТ и счетчики по командам вывода OUT (см. рис. 9.2). Загрузка в счетчики УС (А0=1, А 1=1) может выполняться в любой последовательности, т.к. каждый счет­ чик имеет свой регистр режима, адресуемый разрядами D7, D6 в управляющем слове. Каждый адресуемый счетчик в обязательном порядке должен быть загру­ жен именно тем количеством байт, которое было задано в УС.

Чтение содержимого ПИТ. В подавляющем большинстве случаев приме­ нения ПИТ в МПС управления объектами или процессами, работающими в ре­ альном масштабе времени, с помощью ПИТ решаются задачи регистрации внешних событий, подсчета числа событий, поддержания системы астрономи­ ческого или условного времени и т. п. При этом взаимодействие ПИТ и МП не ограничивается только связью по линии прерывания (ВыхПит"^ЗПРпкп); МП должен прочитать содержимое любого счетчика и в зависимости от его значе­ ния принять те или иные решения.

Считывание текущего значения счетчика ПИТ в МП можно выполнить двумя способами. В первом способе используются стандартные команды пере­ дачи данных в МП (ввода IN или пересылки MOV в зависимости от способа раскраски адресной шины), в которых адресуется требуемый счетчик. Однако использование этого способа чтения сопряжено с тем ограничением, что на время выполнения операции считывания работу счетчика необходимо приоста­ навливать либо сигналом Р = 0, либо запретом поступления синхросигналов Вх. Для многих применений подобное ограничение является недопустимым. Схема управления вводом/выводом ПИТ имеет такие особенности, что операцию счи­ тывания необходимо всегда доводить до конца, т.е. если в УС закодировано чтение 2 байт, то нельзя, считав только младший байт, перезагружать счетчик новой величиной N. В этом случае необходимо дважды исполнять команду IN. Как следует из рис. 9.2, операцию чтения по адресу Л 1=1, А0=1 выполнить не­ возможно. Точно так же содержимое регистров приказов считать нельзя.

Второй способ считывания содержимого счетчика без прерывания про­ цесса счета (считывание «на лету») требует предварительной загрузки в регистр

режима УС с кодом 1000ХХХХ. В этом случае текущее содержимое адресуемо­ го счетчика тиражируется в специальном буферном регистре, считывание из которого не оказывает влияния на процесс счета. Данный способ считывания имеет ту особенность, что нельзя предварительно для каждого счетчика произ­ вести загрузку УС считывания «на лету». Процедура считывания «на лету» со­ стоит из трех операций: вывод OUT УС, ввод IN младшего байта, ввод IN старшего байта.

Инициализация ПИТВИ53

Пример. Запрограммировать режим 2 «Программируемый делитель часто­ ты» со следующими параметрами:

-деление входной частоты в 240 раз;

-использовать канал 0;

-режим двоичного счета;

-обращение к младшему байту;

-примем адрес канала 0 = 50Н;

-примем адрес регистра управляющего слова = 53Н.

1.Составим управляющее слово инициализации канала 2:

 

 

 

УСРР

 

 

 

 

D7

D6

D5

D4

D3

D2

D1

D0

0

0

0

1

0

1

0

0

Составим слово инициализации регистра счета кан

 

младший байт

 

 

 

 

D7

D6

D5

D4

D3

D2

D1

DO

1

1

1

1

| 0

0

0

0

 

 

 

 

I

 

 

 

десятичное число 240 равно шестнадцатиричному F0H

3. Напишем программу инициализации:

LOAD: DI

; запретить прерывание

MVI А, 14Н; УСРР в регистр А

OUT 53Н

; УСРР из per. А в РР ПИТ

MVI A, F0H; МБ сч. канала 0 в регистр А

OUT 5ОН

; МБ из per. А в per. счета канала 0 ПИТ

EI

; разрешить прерывание