Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
мпс.docx
Скачиваний:
6
Добавлен:
17.02.2016
Размер:
1.32 Mб
Скачать
  1. Программируемый контроллер прерываний КР580ВН59. Технические характеристики, УГО, структура, алгоритм записи в него управляющих слов, виды управляющих слов.

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

    1. осуществляет фиксацию запросов на прерывание от восьми внешних источников;

    2. программное маскирование поступивших запросов;

    3. присвоение фиксированных или циклически изменяемых приоритетов входам контроллера;

    4. формирование кода операции CALL и двухбайтного адреса перехода на подпрограмму обслуживания прерываний;

    5. последовательный опрос внешних устройств для выявления внешнего устройства, нуждающегося в обмене.

Основные технические характеристики:

  1. n-MOP – технология;

  2. 28 выводов; число запросов на прерывание: 8;

  3. потребляемая мощность – не более 1Вт;

  4. стандартный температурный диапазон: -10 ÷ +70град.;

  5. один источник питания +5В ±5%;

  6. Степень интеграции – около 1000 активных элементов.

Условное графическое обозначение программируемого контроллера прерываний представлено на рис. 15.

Рис. 15

SP – вход выбора ведомого контроллера. Если SP=1, то контроллер ведущий.

IR0÷IR7 – входы поступающих запросов на прерывание.

А0 – вход выбора ячейки регистра управляющего слова для записи информации.

В системе может быть максимум 9 контроллеров, из которых один ведущий, а остальные – ведомые.

GAS0 GAS2 – входы (для ведомого)/выходы (для ведущего) – линии выбора.

Ведущий выбирает ведомого, сообщая его адрес по данным линиям.

СS – выбор устройства.

RD/WR – управляющие сигналы чтения/записи.

D0  D7 – входы/выходы шины данных. По этим линиям осуществляется либо программирование контроллера, либо считывание информации о содержимом его регистров.

INT – запрос на прерывание. Если контроллер ведомый, то сигнал с его выхода INT поступает на вход IRi ведущего, если контроллер ведущий, то – на одноименный вход микропроцессора.

Рис. 16

На структурной схеме контроллера прерываний (см. рис. 16) имеются следующие блоки:

Буфер данных (БД) – предназначен для временного хранения данных.

Схема управления – для приема и формирования сигналов управления чтения и записью.

Блок РУС (регистр управляющего слова) – для записи и хранения управляющих слов, определяющих особенности работы контроллера.

Схема каскадирования – определяет, есть ли каскадирование в системе, и формирует адрес выбираемого ведомого контроллера.

Регистр маски – для хранения маски. Маска – это байт, который определяет, какие из входов запроса могут быть закрыты (замаскированы).

Схема управления прерываниями – для формирования сигнала запроса и приема сигнала разрешения на прерывание.

Регистр состояния – определяет, какой из поступивших запросов будет обслужен.

Схема обработки приоритетов – позволяет сформировать сигнал для обслуживания наиболее приоритетного запроса путем установки соответствующего триггера в регистре состояния.

Регистр запросов на прерывание – для запоминания поступающих запросов на прерывание.

I. Управляющие слова инициализации.

1. ICW1 – программируется при А0 = 0.

А7÷А5 – разряды младшего байта адреса;

D4D3 – фиксированные;

Ф – программирует (определяет) формат младшего байта адреса;

Е – бит, определяющий наличие каскадирования (Е=0 – есть каскадирование; Е=1 – нет каскадирования);

D0 = 0 – фиксированный бит.

1 А7 А6 А5 В2 В1 В0 0 0

Ф: 0 А7 А6 В2 В1 В0 0 0 0

В2 В1 В0 – код устройства, выработавшего запрос на прерывание.

Если Ф=1, т.е. формат = 4 – это означает, что начальные адреса подпрограмм обслуживания смежных запросов отстоят друг от друга на 4 адреса. Если Ф=0, т.е. формат = 8 – начальные адреса подпрограмм отстоят друг от друга на 8 адресов.

При загрузке ICW1 контроллер прерываний выполняет следующие действия:

  1. Очищает регистр маскирования приоритетов;

  2. Присваивает запросу на входе IR7 низший приоритет;

  3. Подготавливается к работе регистр запросов;

При наличии каскадирования загрузка слов осуществляется последовательно: сначала в ведущий контроллер, затем в ведомый.

2. ICW2 – загружается при А0 = 1.

Содержит старший байт адреса команды CALL.

3.

а) ICW3 загружается при А0 = 1 и при наличии каскадирования.

Ui (0;1) определяет характер подключения выходов ведомых контроллеров к входу ведущего:

1 – выход ведомого соединен со входом Ui ведущего.

Ui

0 - запросы от внешних устройств.

б) ICW3 для ведомого контроллера: программируется три последних бита U0 U1 U2 – они указывают на его адрес в системе.

II Операционные управляющие слова.

1. ОCW1 – операционное управляющее слово первого типа. Данное слово загружается при А0 = 1 и его код предполагает признаки (биты), определяющие наличие запретов на входе (1 – блокировка; 0 – обслуживание).

- маска.

Например, М5=1 – это значит, что будет заблокирован вход IR5 контроллера.

2. ОCW2 – операционное управляющее слово второго типа (D4, D3 = 0). Данное слово загружается при А0 = 1 и имеет 5 модификаций, которые указывают вид конца обслуживания прерываний, а также вид установки дна приоритетного кольца:

а) ОCW2а – обычный конец прерываний.

0 0 1 0 0 - - -: код ОCW2а.

При загрузке ОCW2а устанавливается в «0» разряд регистра состояния, соответствующий последнему обслуженному запросу.

б) ОCW2б – специальный конец прерывания.

0 1 1 0 0 В2 В1В0 – задает номер разряда.

При загрузке ОCW2б в «0» устанавливается тот разряд регистра состояния, который указывается в коде В2 В1В0.

в) ОCW2в – операционное управляющее слово для установки приоритетов по последнему обслуженному запросу. При загрузке ОCW2в устанавливается в «0» соответствующий последнему обслуженному запросу разряд регистра состояния и этому же номеру запроса присваивается низший приоритет.

г) ОCW2г.

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

д) ОCW2д.

1 1 0 0 0 В2 В1 В0 – установка приоритетов по указанию без выполнения операций конца прерываний. Дно приоритетного кольца присваивается входу, код которого указан в В2 В1 В0.

3. ОCW3 – операционное управляющее слово третьего типа. Программируется при А0 = 0. D4 = 0, D3 = 1, D7 – не используется.

Данное слово имеет пять модификаций:

а) ОCW3а – устанавливает режим обслуживания по результату опроса.

При подаче RD это слово прекращает свое действие.

б) ОCW3б – чтение регистра запросов

- 0 0 0 1 0 1 1.

в) ОCW3в – чтение регистра состояния.

- 0 0 0 1 0 1 0.

г) ОCW3г – вход в маскирование.

- 1 1 0 1 0 0 0.

д) ОCW3д – выход из маскирования.

- 1 0 0 1 0 0 0.

Алгоритм программирования PIC представлен на рис. 17.

Рис. 17

Для программиста (пользователя) контроллер прерываний схематично представляет собой два входных/выходных порта (две ячейки памяти, отличающихся адресами по линии А0):

  1. При А0=0 по команде OUT загружается ICW1;

  2. При А0=1 по команде OUT загружается ICW2.

При наличия каскадирования: А0=1; по команде OUT загружается ICW3.

Такая процедура осуществляется для ведущего и ведомого контроллеров последовательно. Затем контроллер переходит в режим обслуживания.

2) Программируемый контроллер прерываний КР580ВН59. УГО, режимы работы контроллера. Схема каскадирования контроллеров.

Условное графическое обозначение программируемого контроллера прерываний представлено на рис. 15.

Рис. 15

SP – вход выбора ведомого контроллера. Если SP=1, то контроллер ведущий.

Ir0÷ir7 – входы поступающих запросов на прерывание.

А0 – вход выбора ячейки регистра управляющего слова для записи информации.

В системе может быть максимум 9 контроллеров, из которых один ведущий, а остальные – ведомые.

GAS0 GAS2 – входы (для ведомого)/выходы (для ведущего) – линии выбора.

Ведущий выбирает ведомого, сообщая его адрес по данным линиям.

СS – выбор устройства.

RD/WR – управляющие сигналы чтения/записи.

D0  D7 – входы/выходы шины данных. По этим линиям осуществляется либо программирование контроллера, либо считывание информации о содержимом его регистров.

INT – запрос на прерывание. Если контроллер ведомый, то сигнал с его выхода INT поступает на вход IRi ведущего, если контроллер ведущий, то – на одноименный вход микропроцессора.

Выделяют 5 основных режимов работы контроллера прерываний:

  1. Режим фиксированных приоритетов (режим полного вложения подпрограммы обслуживания прерываний);

  2. Режим циклического сдвига приоритетов «А»;

  3. Режим циклического сдвига приоритетов «В»;

  4. Режим специального маскирования;

  5. Режим последовательного программного опроса.

Рассмотрим подробнее каждый из режимов.

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

В указанном режиме приоритеты входов фиксированы и не меняются. Нулевой вход IR0 имеет высший приоритет, а IR7 – низший. Если в момент обслуживания запроса, поступившего на один из входов контроллера прерываний, придет запрос на более приоритетный вход, то система прервет выполнение подпрограммы по текущему запросу и перейдет на выполнение обслуживания прерывания по более приоритетному запросу.

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

3. Режим циклического сдвига приоритетов «В». В данном режиме пользователь может программно управлять назначением входа с низшим приоритетом, но в отличие от режима циклического сдвига приоритетов «А» здесь не требуется дожидаться конца обслуживания по конкретному входу, приоритеты могут быть изменены в любой момент засылкой по команде OUT с микропроцессора операционного управляющего слова OCW2.

4. Режим специального маскирования. Данный режим позволяет разрешить прерывания по входам с более низким приоритетом, чем входы с более высоким приоритетом, по которым производится обслуживание. В данном режиме с помощью специального управляющего слова записывается маска, содержащая «1» для тех входов, которые должны быть закрыты. Перед записью маски необходимо организовать вход в маскирование, затем записать маску, а после окончания режима маскирования – выход из маскирования путем загрузки специального управляющего слова.

Например,

MVI А, 68Н

OUT (ADR) PIC

MVI А, МАSC

OUT (ADR) PIC

…………………

MVI А, 48Н

OUT (ADR) PIC

68Н – OCW3 – вход в маскирование, 48Н – OCW3 – выход из маскирования.

5. Режим последовательного программного опроса. В данном режиме микропроцессор с помощью контроллера прерываний последовательно опрашивает источники запросов многократной загрузкой операционного управляющего слова в контроллер прерываний (OCW3, код ОСН) командой OUT. Далее по команде IN микропроцессор читает системную шину данных. Переход в этот режим осуществляется, таким образом, программным путем. Контроллер прерываний, получив OCW3 от МП, выставляет на шину данных следующий шифр: это байт D7D6D5D4D3D2D1D0, в котором если D7=1, то запрос (INT) есть, биты D6D5D4D3 не анализируются, биты D2D1D0 указывают номер внешнего устройства с высшим приоритетом, которое нуждается в обслуживании. Во время опроса микропроцессором внешних устройств должны быть запрещены прерывания.

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

Схема каскадирования контроллеров представлена на рис. 18.

Рис. 18

Данная схема позволяет обслужить 22 запроса от внешних устройств. Максимальное же число запросов для каскада из ведущего и 8 ведомых контроллеров = 64.

3)Программируемый таймер КР580ВИ53. УГО, технические характеристики. Назначение, структура, режимы работы, формат управляющего слова.

Данное устройство предназначено для задания временных интервалов в микропроцессорных системах и может быть использовано как:

  1. Одновибратор с программируемой длительностью импульса;

  2. Программируемый делитель частоты;

  3. Счетчик.

Программируемый таймер имеет 6 режимов работы:

- Одновибратор – нулевой и первый режимы;

- Делитель частоты – второй и третий режимы;

- Счетчик – четвертый и пятый режимы.

Основные технические характеристики таймера:

  1. Тактовая частота f до 2 МГц;

  2. Потребляемая мощность не более 1 Вт;

  3. n-МОП – технология;

  4. Один источник питания +5В;

  5. Нагрузочная способность выходов: 1 ТТЛ вход;

  6. Стандартный температурный диапазон: -10° ÷ +70°С.

Условное графическое обозначение таймера представлено на рис. 21.

Рис. 21

CS – выбор устройства.

WR/RD – управляющие сигналы записи/чтения.

D0  D7 – входы/выходы шины данных.

А1, А0 – входы выбора каналов.

А1

А0

Каналы

0

0

OUT0

0

1

OUT1

1

0

OUT2

1

1

РУС

GATE – управляющий вход, который разрешает/запрещает счет (1 – разрешает, 0 – запрещает). Минимальная длительность GATE – 150нс.

CLK – вход для подачи тактовых импульсов.

Используется реверсивный счет с загрузкой начального кода.

На рис. 22. представлена структура таймера.

Рис. 22

Структура управляющего слова

D7

D6

D5

D4

D3

D2

D1

D0

D7D6 – выбор счетчика: 00 – СТØ; 01 – СТ1; 10 – СТ2; 11 – запрет.

D5D4 – код особенности записи/чтения:

00 – управляющее слово «чтение без останова».

01 01 – младший байт;

10 способ чтения/записи: 10 – старший байт;

11 11 – два байта.

D3D2D1 – указывают режим работы:

000 – нулевой режим;

001 – первый режим;

Х10 – второй режим;

Х11 – третий режим;

100 – четвертый режим;

101 – пятый режим.

D0 – определяет настройку счетчика: 0 – счетчик двоичный; 1 – счетчик двоично-десятичный.

Направление передачи данных можно определить по табл. 3.

Табл. 3.

Таблица передачи данных.

А1

А0

СS

RD

WR

Направление

0

0

0

1

0

ШД МП→СТØ

0

1

0

1

0

ШД МП→СТ1

1

0

0

1

0

ШД МП→СТ2

1

1

0

1

0

ШД МП→РУС

х

х

1

х

х

Отключено

х

х

х

1

1

Отключено

0

0

0

0

1

СТØ→ШД МП

0

1

0

0

1

СТ1→ШД МП

1

0

0

0

1

СТ2→ШД МП

1

1

0

0

1

запрет