МПС АиУ-конспект

Минобрнауки РФ
Федеральное ГОСУДАРСТВЕННОЕ бюджетное ОБРАЗОВАТЕЛЬНОЕ УЧРЕЖДНИЕ ВЫСШЕГО ПРОФЕССИОНАЛЬНОГО ОБРАЗОВАНИЯ
“ТЮМЕНСКИЙ ГОСУДАРСТВЕННЫЙ НЕФТЕГАЗОВЫЙ УНИВЕРСИТЕТ”
ИНСТИТУТ НЕФТИ И ГАЗА

Кафедра Кибернетических систем






КОНСПЕКТ ЛЕКЦИЙ



По курсу: «Микропроцессорные системы автоматизации и управления»

для студентов очного и заочного обучения специальности 220201–
«Управление и информатика в технических системах», бакалавриата 220200 – «Автоматизация и управление»





















Тюмень 2012

Утверждено редакционно-издательским советом
Тюменского государственного нефтегазового университета











Составитель: д.т.н., профессор Кузяков О.Н.

Рецензент:


























© Федеральное бюджетное государственное образовательное
учреждение высшего
профессионального образования
«Тюменский государственный
нефтегазовый университет», 2012




ВВЕДЕНИЕ

Микропроцессорная техника сейчас все активнее входит в нашу жизнь, постепенно замещая и вытесняя традиционную цифровую технику “ на жесткой логике”. Универсальность, гибкость, простота проектирования аппаратуры, практически неограниченные возможности по усложнению алгоритмов обработки информации – все это обещает микропроцессорной технике большое будущее. На долю традиционной техники остаются только узлы и устройства, требующие максимального быстродействия, а также устройства с простейшими алгоритмами обработки информации. Обычная цифровая техника сегодня применяется для увеличения возможностей микропроцессорных систем, для их сопряжения с внешними устройствами, для увеличения их возможностей, то есть играет вспомогательную роль. Поэтому традиционную цифровую технику в самом недалеком будущем ждет участь аналоговой техники, область применения которой в свое время сильно сузилась с появлением цифровой.
Микропроцессоры и микроконтроллеры совершенствуются невероятно быстро, их быстродействие исчисляется сотнями миллионов операций в секунду, а тактовая частота ядра составляет единицы ГГц.
Они являются главными компонентами современных компьютерных устройств, активно внедряются в повседневный быт: используются в программируемых стиральных машинах, средствах связи, автомобилях, электронных игрушках и т.д.
Таким образом, этапы развития средств вычислительной техники в последнее время определяются поколениями развития микропроцессоров.






















МИКРОПРОЦЕССОРЫ

Электронная система – это электронный узел, блок или комплекс, состоящий из отдельных компонентов.
Задача – это набор функций, выполнение которых требуется от электронной системы.
Микропроцессор служит главным элементом для обработки и управления.
Гибкость – это способность системы подстраиваться под различные задачи.
Интерфейс – это связь двух и более устройств. В техническом смысле это совокупность трёх основных компонентов:
физической линии связи;
аппаратного обеспечения;
программного обеспечения.
Избыточность – это показатель степени соответствия возможностей системы решаемой задаче.
Выделяют различные принципы построения систем и устройств в зависимости от используемых шин (различные архитектуры):
Пристонская (Фон-неймановская) – имеется общая шина, к которой подключаются три основных блока: процессор, память, устройства ввода/вывода.
Гарвардская – предполагает разделение шины команд и шины данных. В данном случае повышается быстродействие системы.

Микропроцессор и его основные технические характеристики

Микропроцессором называется функционально законченное программно управляемое устройство высокой степени интеграции, предназначенное для обработки информации и управления.
Различают следующие виды микропроцессоров:
Микропроцессоры общего применения (универсальные) – предназначены для выполнения широкого спектра задач.
Специализированные микропроцессоры – ориентируются на выполнение узких задач.
Однокристальные микропроцессоры.
По числу выполняемых команд микропроцессоры бывают:
С полным набором команд – CISC (Complex Instruction Set Computers).
С ограниченным набором команд - RISC (Reduce Instruction Set Computers).
Технические характеристики микропроцессора:
Разрядность шин (шина адреса (8 ( 64), шина данных (4 ( 64);
Быстродействие – это число команд (инструкций) за единицу времени (от сотен тысяч до сотен миллионов);
Тактовая частота (единицы кГц ( единицы ГГц);
Потребляемая мощность (1 ( 20 Вт);
Число источников питания (у ранних моделей до трех источников питания, у современных – один); напряжение (у ранних моделей: 12 В, у современных – около 1В);
Степень интеграции – это число условно активных элементов (транзисторов) на кристалле (от нескольких тысяч до нескольких миллионов).
1.2. Состав микропроцессорного комплекта КР580

Этот комплект содержит набор БИС относительно невысокого быстродействия с f=2,5 МГц.
КР580ВМ80 – ЦП (8-разрядный).
КР580ВВ51 – программируемый последовательный интерфейс (универсальное синхронно-асинхронное программируемое приемно-передающее устройство последовательной связи).
КР580ВВ55 – программируемый параллельный интерфейс.
КР580ВИ53 – программируемый таймер (формирует программно управляемые временные задержки для синхронизации объектов управления).
КР580ВТ57 – программируемый контроллер прямого доступа к памяти (организует высокоскоростной обмен между памятью и ВУ).
КР580ВН59 – программируемый контроллер прерываний (обслуживает до 8 запросов на прерывание от внешних устройств).
КР580ГФ24 – генератор тактовых импульсов (формирует 2 последовательности тактовых импульсов).
КР580ВК28(38) – системный контроллер (формирует сигналы для управления различными устройствами).
КР580ВА86 – шинный формирователь (двунаправленный восьмиразрядный шинный формирователь с неинвертирующим выходом, высокой нагрузочной способностью и тремя состояниями).
КР580ВА87 – шинный формирователь (то же, но с инвертирующим выходом).
КР580ИР82 – буферный регистр (восьмиразрядный буферный регистр с неинвертирующим выходом и тремя состояниями).
КР580ИР83 – буферный регистр (то же, но с инвертирующим выходом).
КР580ВГ75 – программируемый интерфейс ЭЛТ (контроллер вывода информации из памяти МПУ на экран ЭЛТ).
КР580ВГ79 – программируемый интерфейс клавиатуры и дисплея (контроллер ввода/вывода для клавиатуры и дисплея).
КР580ВА93 – программируемый приемопередатчик (предназначен для использования в устройствах вычислительной техники, работает в четырех режимах).
КР580ВК91А – микропроцессорное управляемое устройство (предназначено для сопряжения МП и однокристальных микро-ЭВМ с линией коллективного пользования информационно-измерительной системы типа 2-ЛКП НИС-2).

Микропроцессор INTEL 8080 (KP580BM80A)

Технические характеристики микропроцессора:
Тактовая частота f=2,5МГц;
Среднее быстродействие: 500000 операций в секунду;
Степень интеграции: 4500 транзисторов;
Разрядность:
- по шине данных: 8;
- по шине адреса: 16;
5) Число источников питания = 3 (+5В; -5В; +12В);
6) Температурный диапазон – стандартный -10 ч +70°С;
7) Число выводов: 40;
8) Пластиковый или керамический корпус;
9) Потребляемая мощность – не более 1,25 Вт;
10) Число команд: 78 базовых команд с модификациями: 244 (максимальное число команд: 13EMBED Equation.31415).
Внутренняя архитектура микропроцессора INTEL 8080 (его программно-логическая модель) представлена на рис. 1.

13 EMBED Visio.Drawing.6 1415
Рис. 1

Сигналы блока управления синхронизации делятся на входящие и исходящие.
Входящие сигналы:
С1, С2 - импульсы синхронизации, подключаются к выходам тактового генератора.
SR – системный сброс.
RDY – сигнал готовности, показывает, что внешнее устройство готово к работе с микропроцессором.
INT – запрос на прерывание, поступает от внешнего устройства или контроллера прерываний.
HLD – запрос на захват шины (шины данных).
Исходящие сигналы:
SIN – сигнал синхронизации, вырабатывается один раз за машинный цикл.
WT – сигнал ожидания.
DBIN – сигнал приема (считывается информация из внешних устройств и памяти).
WR – сигнал, управляющий записью.
INTA – разрешение прерывания.
HLDA – разрешение на захват шины – использование шины данных специальным контроллером для обмена информацией между памятью и внешними устройствами. Данный режим называется режимом прямого доступа к памяти.

А(8) - Аккумулятор (накопитель) – служит для временного хранения данных одного из операндов, а также результатов операций.
ВА(8) – Буфер аккумулятора – служит для временного хранения данных.
RG2(8) – Регистр2 – служит для временного хранения данных второго операнда.
ALU(8) – Арифметико-логическое устройство – служит для выполнения арифметических и логических операций. Данные (знаковые и беззнаковые) обрабатываются в ALU в двоичном коде. Отрицательные числа обрабатываются в дополнительном коде.
BDC(8) – блок десятичной коррекции – служит для преобразования из двоичного кода в десятичный.
RGF(8) – регистр флагов (признаков) – служит для идентификации состояния микропроцессора в любой момент времени. Содержит 8 триггеров, из них 5 – рабочие:
С – признак переноса из старшего разряда;
АС – признак дополнительного переноса (из разряда 13EMBED Equation.31415 в 13EMBED Equation.31415);
S – флаг знака: если S = 1, то число отрицательное, если S = 0, то число положительное;
Р – флаг паритета (четности): если Р = 1, то число битов в слове четное, если Р = 0, то – нечетное;
Z – признак нуля. Устанавливается при получении нуля в АЛУ или в регистре.
RGC(8) – регистр команд – служит для временного хранения команды, поступающей из внешней памяти.
DC(8) – дешифратор команд – служит для декодирования команды.
CU – блок управления и синхронизации – служит для управления работой всех остальных устройств.
МС – мультиплексор – служит для объединения регистров в пары.
W', Z', B, C, D, E, H, L – регистры общего назначения – служат для временного хранения данных. W', Z' – программно не доступные регистры, остальные пары – программно доступны. Все регистры восьмиразрядные.
РС – программный счетчик – указывает адрес последующей выполняемой команды. Является шестнадцатиразрядным.
SP – указатель стека – это шестнадцатиразрядный реверсивный счетчик, указывающий адрес вершины стека, служит для организации прерываний. Стек – это часть оперативной памяти, в которую записывается служебная информация.
ADRRG – шестнадцатиразрядный адресный регистр – здесь формируется и хранится адрес обращения к внешнему устройству или памяти.
BADR – шестнадцатиразрядный буфер адреса – служит для временного хранения адреса перед выдачей его на шину данных.

Сверхоперативная память – это совокупность внутренних блоков микропроцессора для временного хранения данных: буфер данных, аккумулятор (накопитель), буфер аккумулятора, регистр 2 и регистры общего назначения.
Условное графическое обозначение микропроцессора Intel 8080 показано на рис.2.

13 EMBED Visio.Drawing.6 1415
рис.2

Понятие машинного такта, цикла команды и машинного такта

Цикл команды – это время, необходимое микропроцессору для выполнения отдельной команды.
Цикл команды (ЦК) подразделяется на машинные циклы (МЦ) – это более короткие временные отрезки, во время которых микропроцессор выполняет определенные действия.
В цикл команды может входить от трех до пяти машинных циклов, причем М1 является обязательным.
Каждый машинный цикл состоит из ряда машинных тактов (Т), определяющих периоды синхросерии импульсов. В одном машинном цикле может быть от трех до пяти машинных тактов.
Разновидности машинных циклов: М1 М10:
М1 – извлечение первого байта команды. D7D6D5D4D3D2D1D0 – слово (байт) состояния. Микропроцессор сообщает о выполнении машинного цикла записью, соответствующей ему, байта состояния. Байт состояния записывается либо в регистр, либо в системный контроллер. На основании этого байта состояния в системе формируются требуемые сигналы управления (с использованием некоторых битов этого байта состояния). Например, для М1 байт состояния имеет вид: 10100010.
М2 – чтение из памяти.
М3 – запись в память.
М4 – чтение из стека.
М5 – запись в стек.
М6 – ввод данных из внешнего устройства/памяти.
М7 – вывод данных во внешнее устройство/память.
М8 – обслуживание (подтверждение) прерывания.
М9 – подтверждение останова.
М10 – обслуживание прерывания в режиме останова.
Соотношение между ЦК, МЦ и Т поясняет рис.3.
Цикл команды

МЦi МЦi МЦi МЦi
13EMBED Equation.31415 13EMBED Equation.31415 13EMBED Equation.31415 13EMBED Equation.31415
Рис.3
1.3.2. Извлечение микропроцессором кода команды (данных)
из памяти

Схема извлечения микропроцессором кода команды (данных) из памяти приведена на рис. 4.

13 EMBED Visio.Drawing.6 1415
Рис. 4.

Нагрузочная способность вывода: 1 ТТЛ вход. Это означает, что к указанному выводу можно подключить не более одного входа логического элемента.
Повышают нагрузочную способность буферные регистры или шинные формирователи, которые будут рассмотрены ниже.

13 EMBED Visio.Drawing.6 1415

Рис. 5
На основании временных диаграмм, представленных на рис. 5 можно описать работу системы следующим образом: на шину адреса микропроцессором выставляется адрес считываемой ячейки памяти, в которой может храниться код команды (данные).
На такте Т1 кроме выдачи адреса происходит формирование сигнала синхронизации по переднему фронту импульса С2. На шину данных поступает слово (байт) состояния о выполняемом машинном цикле.
Сигнал-прием DBIN на данном такте отсутствует (равен логическому «0») и поскольку он управляет работой шинного формирователя, то последний пропускает данные слева направо.
Байт состояния записывается в регистр слова состояния RGW в начале такта Т2 ( по второму импульсу С1).
На такте Т2 завершается сигнал синхронизации SIN по переднему фронту С2 и формируется сигнал приема данных DBIN. На шине данных появляется информация, соответствующая считываемой из ячейки памяти (код/данные). Это обусловлено тем, что сигнал управления считыванием RDM формируется при срабатывании DD5 (логический элемент «И») на основании входных сигналов DBIN и бита регистра слова состояния (DD4). DD4 отвечает за процесс считывания. На этом же такте проверяется сигнал готовности, сигнал захвата шин и сигнал подтверждения останова (RDY, HLD, HLT). Если сигнал RDY = 1, то захвата шин нет, HLD, HLT = 0, то микропроцессор переходит на такт Т3. Если сигнал RDY не появится к моменту по заднему фронту С2, то микропроцессор переходит в состояние ожидания.
В момент окончания импульса С1 на такте Т3 происходит запись информации с шины данных в буфер микропроцессора (момент времени t'2). По переднему фронту С2 сбрасываются сигналы DBIN и RDM.
Такты Т4 и Т5 используются для дешифрации кода команды, определения количества байтов в команде, формирования сигналов на внутренней пересылке, и микропроцессор готовится к выполнению следующего машинного цикла.

Основные состояния микропроцессора

Микропроцессор может находиться во включенном и выключенном режиме. Во включенном режиме различают четыре состояния микропроцессора:
Состояние захвата шин.
Состояние прерывания.
Состояние ожидания.
Состояние останова.
1) Состояние захвата шин инициируется внешним сигналом HLD, поступающим на одноименный вход микропроцессора. Указанный сигнал посылает специализированный контроллер КР580ВТ57 – контроллер прямого доступа к памяти – это четырехканальный программируемый контроллер, берущий на себя функцию управления шинами адреса и данных. Такое управление реализуется контроллером после получения разрешающего сигнала HLDА. С помощью контроллера осуществляется двунаправленный обмен массивами данных до 16 килобайт по одному из каналов. К каналу с одной стороны подключено внешнее устройство, с другой – память. При работе в этом режиме микропроцессор переводит свои магистрали (шина адреса и шина данных) в третье состояние (отключенное). Состояние захвата шин длится целое число машинных тактов. Микропроцессор при этом на каждом машинном такте синхроимпульсов С2 проверяет наличие сигнала HLD. Если сигнал снимается, то по следующему тактовому импульсу С2 режим захвата шин прекращается, и микропроцессор переходит к выполнению очередного машинного цикла, начиная с такта Т1.
2) Состояние обслуживания прерывания инициируется сигналом INT на входе микропроцессора. Данный сигнал может поступить либо от внешнего устройства, либо от контроллера прерываний КР580ВН59.
Микропроцессор может не обслуживать прерывания, если внутренний триггер разрешения прерываний сброшен. Если триггер установлен в единицу (сигнал INTA), то микропроцессор после получения запроса на прерывание сообщает другим модулям системы о выполняемом машинном цикле записью байта состояния (D0D1D5, равные «1») в регистр слова состояния или одноименный регистр внутри системного контроллера. После перехода в режим обслуживания микропроцессор осуществляет процедуру вызова подпрограммы прерывания.
Существует два пути перехода микропроцессора на подпрограмму обслуживания прерываний (указания адреса первой команды подпрограммы прерываний):
Формируется сигнал разрешения прерывания INTA на выходе микропроцессора. По этому сигналу возможна запись адреса первой команды подпрограммы обслуживания прерываний. (Существует однобайтная инструкция RST для указания адреса перехода на ячейку памяти, где - трехразрядный код).
Трехбайтная команда вызова CALL , где A1 – младший байт, A2 – старший байт. CALL - код команды вызова. При наличии в системе контроллера прерывания и системного контроллера по первому разрешающему сигналу INTA, который формирует системный контроллер, контроллер прерываний выдает на шину данных код команды CALL. По двум последующим сигналам INTA системного контроллера на шину данных поступают младший и старший байты адреса первой команды подпрограммы обслуживания прерываний. До считывания указанного адреса перехода на подпрограмму прерывания, микропроцессор сохраняет содержимое программного счетчика в стеке, а также всю необходимую информацию, а в программный счетчик загружает поступивший адрес перехода. Далее выполняется подпрограмма обслуживания прерываний.

Структура подпрограммы обслуживания прерываний:

Адрес1
Адрес2
. . . . . .
RET (возврат в основную программу)
3) Состояние ожидания предполагает отключение микропроцессора от шины адреса и шины данных, формирование на его выходе сигнала ожидания WT, на входе осуществляется проверка сигнала готовности RDY. Сигнал RDY может отсутствовать из-за низкого быстродействия периферийного устройства. Данный режим позволяет синхронизировать работу более быстрого микропроцессора с более медленным внешним устройством.
4) Состояние останова предполагает также формирование сигнала ожидания WT на выходе микропроцессора, отключение его от шины адреса и шины данных. Переход в состояние останова осуществляется программно, по инструкции (сигнал HLT). Выход из этого состояния возможен только после перезагрузки (начальной установки).

Система команд микропроцессора

Микропроцессор имеет 244 команды, которые делятся на группы.
Группы команд:
1) Команды передачи данных:
а) Команды передачи данных: MOV, MVI, LDA и др.
б) Команды обращения к стеку: PUSH, POP и др.
в) Команды ввода/вывода: IN, OUT и др.
2) Команды арифметических операций:
а) Сложение: ADD, ADI, DAD.
б) Вычитание: SUB, SUI.
в) Десятичная коррекция DAA.
3) Команды поразрядной обработки данных:
а) Логические команды: ANA, ORA, ORI.
б) Команды сравнения: CMP, CPI.
в) Команды сдвига: с переносом – RLC, RRC; без переноса – RAL, RAR.
г) Команды инверсии: CMA.
4) Команды передачи управления (условного/безусловного перехода, вызова – CALL, возврата – RET).
5) Команды управления микропроцессором:
а) Команда останова: HLT;
б) Команды отсутствия операций: NOP.
в) Команды установки/сброса триггера прерываний: EI/DI;
г) Команды установки и инверсии флага С: СТС, СМС.
Время выполнения команд: 4 – 18 тактов.

Достоинства и недостатки микропроцессора
INTEL 8080

Недостатки микропроцессора:
Три источника питания и большое значение амплитуды источников питания (+5В, -5В, +12В);
Низкое быстродействие;
Отсутствие команд умножения/деления.

Достоинства данной модели:
Простота;
Дешевизна;
Прост в изучении.



Некоторые практические примеры

1.Написать примеры команд «Нет операций».
NOP, MOV В, В.
2.Что будет результатом действия операции DCR А (декремент аккумулятора), если в аккумуляторе были данные 00 Н?
FF Н.
3) Когда команда условного перехода эквивалентна команде NOP?
При невыполнении условия.
4) Для каких целей может быть использована команда XRA (поразрядное исключающее «ИЛИ»?
1. XRA А – обнуление аккумулятора.
2. Инвертирование содержимого регистра:
а) MVI A, FF – в аккумулятор загружаем все «1»;
б) XRA В – инверсия содержимого регистра В.
5) Загрузить в триггер переноса шестой разряд D6 регистра В.
а) MOV А, В
б) RLC
в) RLC
6) Получить дополнительный код числа, которое хранится в регистре L.
а) MOV А, L
б) СМА – инверсия аккумулятора
в) INR А – инкремент аккумулятора.
7) Сделать сдвиг аккумулятора на один разряд вправо, после чего в старший разряд поместить «0».
а) RRC
б) ANI 7FН (логическое умножение: 7FН – все «1» кроме старшего разряда)
8) Загрузить в аккумулятор произвольное число, затем осуществить инверсию третьего разряда.
MVI A, ZZ (ZZ – произвольное число)
XRI (08Н) – поразрядное исключающее «ИЛИ» аккумулятора с числом, указанным в этой команде.

Двунаправленный шинный формирователь и буферный регистр

Двунаправленный шинный формирователь КР580ВА86(87)

КР580ВА87 – с инверсными выходами.
Данное устройство предназначено для:
Повышения нагрузочной способности выходных линий микропроцессора;
Буферизации своих выходных линий;
3) Организации обмена данными в одном из двух направлений.
Условное графическое обозначение устройства показано на рис. 6.

13 EMBED Visio.Drawing.6 1415
Рис. 6.

Т – сигнал направления передачи данных. Если Т=1, то А0 ( А7 – входы, а
В0 ( В7 – выходы. Если Т=0, то – наоборот.
ОЕ - сигнал управления отключением выходных линий. Если ОЕ=1, то выходы отключены.

Буферный регистр КР580ИР82(83)

КР580ИР83 – с инверсными выходами.
Данное устройство предназначено для:
Временного хранения данных;
Повышения нагрузочной способности выходных линий микропроцессора;
Буферизации своих выходных линий.
Условное графическое обозначение устройства показано на рис. 7.

13 EMBED Visio.Drawing.6 1415

Рис. 7

STB – сигнал управления записью в регистр. Если STB=1, то данные записываются в регистр.
Если ОЕ=0, то на выходе (В0 ( В7) появятся записанные данные. Если ОЕ=1, то выходы отключаются – режим «защёлки».

Сходства и различия буферного регистра и
шинного формирователя

Сходства:
Повышают нагрузочную способность;
Управляемое отключение выходов;
Пропускают данные.
Отличия:
В шинном формирователе, в отличие от буферного регистра, организована двунаправленная поочередная передача данных;
Шинный формирователь не запоминает информацию.

Место в системе

Место в системе шинного формирователя и буферного регистра показано на рис. 8.
13 EMBED Visio.Drawing.6 1415
Рис. 8

СИСТЕМНЫЙ КОНТРОЛЛЕР
КР580ВК28

Устройство предназначено для:
Фиксации слова состояния микропроцессора;
Буферизации выходных линий;
Повышения нагрузочной способности выходных линий;
Формирования сигналов управления памятью и внешними устройствами.
Условное графическое обозначение показано на рис. 9.

13 EMBED Visio.Drawing.6 1415
Рис. 9

DА0 ( DА7 – входы/выходы, подключаемые к шине данных микропроцессора;
WR – управление записью;
DBIN – управление приемом данных;
HLDA – разрешение захвата шин;
STSTB – сигнал строба – сигнал, стробирующий запись данных в системный контроллер;
BUSEN – сигнал разрешения выдачи данных по линии DВ0 ( DВ7. Если BUSEN=0, то системный контроллер подключен к системной шине данных, если BUSEN=1, то выходы DВ0 ( DВ7 отключены.
DВ0 ( DВ7 – входы/выходы, подключаемые к системной шине данных.
INTA – разрешение прерывания.
MRD, MWR – чтение/запись для памяти (активный сигнал «0»).
I/ORD, I/OWR – чтение/запись для устройств ввода/вывода (активный сигнал «0»).
Структура контроллера приведена на рис. 10.

13 EMBED Visio.Drawing.6 1415
Рис. 10

Работа системного контроллера осуществляется следующим образом: в конце первого такта каждого машинного цикла генератор выдает на вход контроллера STSTB отрицательный импульс («0»). По этому импульсу происходит фиксация слова состояния микропроцессора в системном контроллере (в регистре слова состояния). Затем системный контроллер декодирует этот байт и на соответствующем выходе появляется требуемый сигнал управления.
Вход BUSEN используется для управления выходами DВ0 ( DВ7, которые подключаются к системной шине данных. Если BUSEN=1, то выходы переходят в третье (отключенное) состояние, позволяя тем самым другим устройствам использовать системную шину данных.
Если к выходу INTA подключить через сопротивление 1кОм источник питания напряжением +12В, то системный контроллер выставит на шину данных код команды RST7. Если в ответ на подтверждающий сигнал INTA системного контроллера внешнее устройство выдаст на шину данных код команды CALL (первый байт), то системный контроллер выдаст еще два сигнала INTA для считывания оставшихся двух байтов адреса команды вызова.

ПРОГРАММИРУЕМЫЙ ПАРАЛЛЕЛЬНЫЙ ИНТЕРФЕЙС
КР580ВВ55

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

13 EMBED Visio.Drawing.6 1415
Рис. 11

Основные технические характеристики:
n-MOP – технология;
Корпус с 40 выводами;
Потребляемая мощность - не более 0,35Вт;
Степень интеграции: 1600 активных элементов;
Номинальный ток: 60мА;
Нагрузочная способность: 1 ТТЛ вход.
Условное графическое обозначение КР580ВВ55 представлено на рис. 12.

13 EMBED Visio.Drawing.6 1415
Рис. 12
D0 ( D7 – входы/выходы, подключаемые к шине данных микропроцессора;
А0, А1 – входы выбора каналов (портов);
СS – сигнал выбора микросхемы (приходит с дешифратора);
RES – сигнал системного сброса.
Табл.1
Выбор порта или регистра управляющего слова

А1
А0


0
0
РА

0
1
РВ

1
0
РС

1
1
РУС


РУС – регистр управляющего слова.
РА – порт А – имеет два буферных регистра, что позволяет
организовать двунаправленный обмен данными по этому порту.
У РВ и РС – по одному буферному регистру.
Группа А – комбинация порта А и старшей половины порта С (РС4,5,6,7): РА+РС2.
Группа В – РВ+РС1(младшая половина РС).
Структура программируемого параллельного интерфейса приведена на рис. 13.
13 EMBED Visio.Drawing.6 1415
Рис. 13

Направление передачи данных в PPI определяется по табл. 2.
Табл. 2.
Направление передачи данных в PPI

Ввод данных:
А1
А0
СS
WR
RD
Направление передачи данных

0
0
0
1
0
ВУiРАШД МП

0
1
0
1
0
ВУiРВШД МП

1
0
0
1
0
ВУiРСШД МП

1
1
0
1
0
Запрещенная комбинация

х
х
1
х
х
Отключено

х
х
0
1
1
Отключено

Вывод данных:
А1
А0
СS
WR
RD
Направление передачи данных

0
0
0
0
1
ШД МПРА ВУi

0
1
0
0
1
ШД МПРВ ВУi

1
0
0
0
1
ШД МПРС ВУi

1
1
0
0
1
ШД МПРУС


Режимы работы программируемого параллельного интерфейса

Нулевой режим;
Первый режим;
Второй режим.

Нулевой режим – ввод/вывод данных. В данном режиме данные записываются в ВУi или читаются (в зависимости от сигнала управления), проходя через порты А, В или С (поочередно). Дополнительные сигналы управления не формируются.
Первый режим – ввод/вывод со стробированием. В данном режиме порты А и В служат для передачи данных, а по линиям порта С передаются управляющие сигналы (STB, RD, IBF, INTR, ACK и др.). Свободные линии порта С также служат для передачи данных. Пример нулевого режима представлен на рис. 14.

13 EMBED Visio.Drawing.6 1415
Рис. 14

Второй режим – режим двунаправленного обмена. В данном режиме канал В не работает, передача данных происходит через канал А поочередно в двух направлениях. Необходимые управляющие сигналы передаются по линиям порта С.
Программирование PPI

Программирование PPI предполагает, что при инициализации необходимо загружать управляющие слова в регистр управляющего слова.
Управляющие слова:

D7D6D5D4D3D2D1D0
Для установки/сброса любого разряда порта С:
D7 = 0 D6D5D4 – не используются
D3D2D1 – определяют номер линии порта С:
000 – РС0
001 – РС1
. . . . . . . .
111 – РС7
D0 – определяет значение линии РС (РСi)
Для общей настройки PPI.
D7 = 1
D6D5 – режим работы группы А («0»режим – 00; «1»режим – 01; «2»режим – 1х)
D4 – программирование порта А: D4 =1 – ввод данных; D4 =0 – вывод данных.
D3 – программирование старшей половины порта С (РС2): 1 – ввод данных; 0 – вывод данных.
D2 – режим работы группы В («0»режим – 0; «1»режим» - 1).
D1 – программирование РВ: 1 – ввод данных, 0 – вывод данных.
D0 – программирование младшей половины РС (РС1): 1 – ввод данных; 0 – вывод данных.

ПРОГРАММИРУЕМЫЙ КОНТРОЛЛЕР ПРЕРЫВАНИЙ
КР580ВН59

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

Основные технические характеристики:
n-MOP – технология;
28 выводов; число запросов на прерывание: 8;
потребляемая мощность – не более 1Вт;
стандартный температурный диапазон: -10 ч +70град.;
один источник питания +5В ±5%;
Степень интеграции – около 1000 активных элементов.
Условное графическое обозначение программируемого контроллера прерываний представлено на рис. 15.
13 EMBED Visio.Drawing.6 1415
Рис. 15
SP – вход выбора ведомого контроллера. Если SP=1, то контроллер ведущий.
IR0чIR7 – входы поступающих запросов на прерывание.
А0 – вход выбора ячейки регистра управляющего слова для записи информации.
В системе может быть максимум 9 контроллеров, из которых один ведущий, а остальные – ведомые.
GAS0 (GAS2 – входы (для ведомого)/выходы (для ведущего) – линии выбора.
Ведущий выбирает ведомого, сообщая его адрес по данным линиям.
СS – выбор устройства.
RD/WR – управляющие сигналы чтения/записи.
D0 ( D7 – входы/выходы шины данных. По этим линиям осуществляется либо программирование контроллера, либо считывание информации о содержимом его регистров.
INT – запрос на прерывание. Если контроллер ведомый, то сигнал с его выхода INT поступает на вход IRi ведущего, если контроллер ведущий, то – на одноименный вход микропроцессора.

13 EMBED Visio.Drawing.6 1415

Рис. 16

На структурной схеме контроллера прерываний (см. рис. 16) имеются следующие блоки:
Буфер данных (БД) – предназначен для временного хранения данных.
Схема управления – для приема и формирования сигналов управления чтения и записью.
Блок РУС (регистр управляющего слова) – для записи и хранения управляющих слов, определяющих особенности работы контроллера.
Схема каскадирования – определяет, есть ли каскадирование в системе, и формирует адрес выбираемого ведомого контроллера.
Регистр маски – для хранения маски. Маска – это байт, который определяет, какие из входов запроса могут быть закрыты (замаскированы).
Схема управления прерываниями – для формирования сигнала запроса и приема сигнала разрешения на прерывание.
Регистр состояния – определяет, какой из поступивших запросов будет обслужен.
Схема обработки приоритетов – позволяет сформировать сигнал для обслуживания наиболее приоритетного запроса путем установки соответствующего триггера в регистре состояния.
Регистр запросов на прерывание – для запоминания поступающих запросов на прерывание.

Режимы работы контроллера прерываний

Выделяют 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 указывают номер внешнего устройства с высшим приоритетом, которое нуждается в обслуживании. Во время опроса микропроцессором внешних устройств должны быть запрещены прерывания.

Характеристика управляющих слов для настройки контроллера прерываний

Существует две группы управляющих слов для настройки программируемого контроллера прерываний:
Управляющие слова для инициализации (ICW1, ICW2, ICW3). Они позволяют настроить контроллер прерываний (указывают на наличие каскадирования, содержат начальные адреса переходов, определяют характер подключения контроллеров при каскадировании). После загрузки этих слов контроллер прерываний переходит в состояние обслуживания запросов. ICW3 – необходимо при наличии каскадирования.
Операционные управляющие слова (ОCW1, ОCW2, ОCW3). Они позволяют изменить режим работы контроллера прерываний, выбрать или изменить алгоритм обслуживания запросов. Эти слова загружаются в любой момент после слов инициализации (могут вообще не загружаться).
Алгоритм программирования PIC представлен на рис. 17.
13 SHAPE \* MERGEFORMAT 1415
Рис. 17

Для программиста (пользователя) контроллер прерываний схематично представляет собой два входных/выходных порта (две ячейки памяти, отличающихся адресами по линии А0):
При А0=0 по команде OUT загружается ICW1;
При А0=1 по команде OUT загружается ICW2.
При наличия каскадирования: А0=1; по команде OUT загружается ICW3.
Такая процедура осуществляется для ведущего и ведомого контроллеров последовательно. Затем контроллер переходит в режим обслуживания.

Особенности обслуживания при каскадировании контроллера прерываний

Поскольку есть ведущий и ведомый контроллеры, то появляется разграничение функций обслуживания прерываний между контроллерами.
По первому сигналу, разрешающему прерывание (INTА) на своем входе, ведущий контроллер выдает на шину данных первый байт команды CALL (код команды). Кроме этого, на своих выходах GAS0 ч GAS2 ведущий контроллер формирует код выбираемого ведомого. С приходом двух последующих сигналов INTА от системного контроллера ведомый контроллер прерываний выставляет на шину данных последовательно два байта адреса первой команды подпрограммы обслуживания прерываний.
В каскадируемых системах по окончанию обслуживания прерывания необходимо корректно завершить выход из процедуры обслуживания прерываний. Это осуществляется путем загрузки по команде OUT из микропроцессора соответствующих операционных управляющих слов в ведущий и ведомый контроллеры.
Схема каскадирования контроллеров представлена на рис. 18.
13 EMBED Visio.Drawing.6 1415

Рис. 18

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

Характеристика и формат управляющих слов

I. Управляющие слова инициализации.
1. ICW1 – программируется при А0 = 0.
13 EMBED Visio.Drawing.6 1415

А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 контроллер прерываний выполняет следующие действия:
Очищает регистр маскирования приоритетов;
Присваивает запросу на входе IR7 низший приоритет;
Подготавливается к работе регистр запросов;
При наличии каскадирования загрузка слов осуществляется последовательно: сначала в ведущий контроллер, затем в ведомый.
2. ICW2 – загружается при А0 = 1.
13 EMBED Visio.Drawing.6 1415
Содержит старший байт адреса команды CALL.
3.
а) ICW3 загружается при А0 = 1 и при наличии каскадирования.
13 EMBED Visio.Drawing.6 1415

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

б) ICW3 для ведомого контроллера: программируется три последних бита U0 U1 U2 – они указывают на его адрес в системе.
II Операционные управляющие слова.
1. ОCW1 – операционное управляющее слово первого типа. Данное слово загружается при А0 = 1 и его код предполагает признаки (биты), определяющие наличие запретов на входе (1 – блокировка; 0 – обслуживание).
13 EMBED Visio.Drawing.6 1415 - маска.
Например, М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а – устанавливает режим обслуживания по результату опроса.
13 EMBED Visio.Drawing.6 1415
При подаче 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.

Анализ приоритетов обслуживания при введении аппаратной
избыточности
13 EMBED Visio.Drawing.6 1415
Рис. 19

Используется метод схемного последовательного опроса (см. рис. 19.). По данному методу предполагается, что имеется ряд внешних устройств, инициирующих запрос на прерывание. По каждому запросу предполагается своя подпрограмма обслуживания прерываний. Используемый микропроцессор имеет всего один вход INT (например, КР580ВМ80А). Схема работает следующим образом:
В исходном состоянии триггер Т сброшен, запросов от внешних устройств нет; счетчик СТ через дешифратор DС последовательно опрашивает запросные линии внешних устройств.
Поочередно формируется сигнал на логических элементах & сборки «И»-«ИЛИ». Сборка логических элементов И* закрыта, т.к. разрешающий сигнал «1» с системной шины данных отсутствует.
При появлении одного или нескольких запросов на прерывание от внешних устройств по первому из них срабатывает соответствующий элемент &, на выходе сборки «И»-«ИЛИ» появляется сигнал, поступающий на синхровход триггера. Триггер устанавливается в «1» и формирует запрос на прерывание микропроцессору. Этим же сигналом запрещается работа счетчика. На выходе счетчика фиксируется m-разрядный двоичный код, который соответствует номеру внешнего устройства, выставившего запрос на прерывание. Микропроцессор переходит на подпрограмму обработки прерываний. В этой подпрограмме обработки прерываний формируется сигнал разрешения («1») для сборки И*. Логические элементы & этой сборки открываются, код со счетчика поступает на системную шину данных, считывается микропроцессором, и является адресом перехода на подпрограмму обслуживания прерываний для данного внешнего устройства.

Схема, реализующая передачу вектора прерываний в МП, не обладающий способностью реакции на векторное прерывание

Простые микропроцессоры (INTEL 8080) не обладают способностью реагировать на векторное прерывание. Они имеют один вход INT и фиксированный адрес перехода на обслуживающую программу. Появление сигнала на входе INT вызывает передачу управления в фиксированную ячейку памяти с последующим сохранением служебной информации в стеке для возврата к прерванной программе. Предлагаемая схема (см. рис. 20.) позволяет повысить функциональные возможности микропроцессора до уровня, когда он способен различать запросы от внешних устройств и соответствующим образом реагировать на них.
13 EMBED Visio.Drawing.6 1415
Рис. 20

Х
Код операции

Х+1
А'

А – адресный вход;
А' – адрес перехода.


Таким образом, при получении хотя бы одного запроса от внешнего устройства, который поступает на вход приоритетного дешифратора DC1, на его выходе формируется сигнал запроса на прерывание для микропроцессора, который вызывает переход микропроцессора к фиксированной прерывающей подпрограмме.
В начале этой подпрограммы в ячейках Х и Х+1 записана двухбайтная команда передачи управления по адресу А'. При попытке выбора микропроцессором адреса А' из ячейки Х+1 происходит следующее: дешифратор DC2, обнаружив, что адрес на шине = Х+1, формирует на выходе сигнал, запрещающий работу основной памяти, и отключает ее от системной шины данных. Одновременно по этому же сигналу разрешается работа дополнительной памяти ПЗУ*, и происходит ее подключение к системной шине данных.
Поскольку дешифратор DC1 выбрал один из запросов от внешнего устройства, с его выхода на вход дополнительной памяти поступит соответствующий этому запросу код, который используется для формирования дополнительным ПЗУ адреса передачи управления.
Таким образом, микропроцессор, не подозревая о подлоге, отрабатывает процедуру перехода к программе, считав начальный адрес по шине данных, и ведет себя, по существу, также, как и при отработке векторных прерываний.

ПРОГРАММИРУЕМЫЙ ТАЙМЕР КР580ВИ53

Данное устройство предназначено для задания временных интервалов в микропроцессорных системах и может быть использовано как:
Одновибратор с программируемой длительностью импульса;
Программируемый делитель частоты;
Счетчик.
Программируемый таймер имеет 6 режимов работы:
- Одновибратор – нулевой и первый режимы;
- Делитель частоты – второй и третий режимы;
- Счетчик – четвертый и пятый режимы.

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

Тактовая частота f до 2 МГц;
Потребляемая мощность не более 1 Вт;
n-МОП – технология;
Один источник питания +5В;
Нагрузочная способность выходов: 1 ТТЛ вход;
Стандартный температурный диапазон: -10° ч +70°С.
Условное графическое обозначение таймера представлено на рис. 21.



13 EMBED Visio.Drawing.6 1415
Рис. 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. представлена структура таймера.
13 EMBED Visio.Drawing.6 1415

Рис. 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
запрет


Программирование таймера

В зависимости от настройки каждый из трех счетчиков может быть либо двоичным, либо двоично-десятичным и работать в одном из шести режимов. Для программирования работы каждого из счетчиков в восьмиразрядный регистр управляющих слов требуется загрузить командой OUT микропроцессора управляющее слово (код настройки). При этом на входы А0, А1 должны быть поданы «1», CS=0, WR=0.
Запись управляющих слов для счетчиков можно производить в любой последовательности. Записывать информацию можно в счетчики и в регистр управляющих слов, а считывать только из счетчиков.

6.1.1. Считывание показаний счетчика

Оно осуществляется двумя путями: с остановом счетчика и без останова.
При чтении с остановом работа счетчика останавливается снятием сигнала Gate либо блокировкой поступления тактовых импульсов CLK. Чтение содержимого затем осуществляется с помощью двух команд IN (сначала считывается младший байт, затем – старший), если в управляющем слове разряды D4,D5 =1, или по одной команде IN, если D4=1, D5=0 - считывается младший байт, D4=0, D5=1 – старший байт.

Характеристика режимов работы таймера

Нулевой режим.
В нулевом режиме работы с момента записи числа в счетчик на его выходе OUT устанавливается логический «0». Этот сигнал поддерживается до окончания счета. После окончания счета сигнал на выходе OUT становится равным «1» и сохраняется до следующей загрузки.
Перезагрузка счетчика во время работы младшим байтом нового числа останавливает счет, а старшим байтом – начинает счет заново для нового кода.
Если сигнал GATE становится неактивным (GATE=0) – счет останавливается, если GATE=1 – счет продолжается. Временная диаграмма для данного режима представлена на рис.23.

13 EMBED Visio.Drawing.6 1415
Рис. 23

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

3. Второй режим.
В этом режиме счетчик работает как программируемый делитель частоты. Каждый раз после просчета числа, записанного в счетчик, на выходе появляется отрицательный импульс длительностью в один период тактовой частоты (выдача выходных импульсов осуществляется периодически). Загрузка счетчика новым числом не влияет на момент появления импульса на выходе. Изменения (настройка на новый коэффициент деления) будут производиться только после перезапуска (снятие сигнала GATE, затем его подача).
4. Третий режим.
В этом режиме счетчик работает как программируемый делитель частоты на два. В данном режиме если в счетчик загружено четное число, то на выходе будет формироваться сигнал, у которого длительности отрицательного и положительного импульсов равны между собой и определяются по формуле: tИ = TCLK·n/2.
Для нечетно числа отрицательный полупериод меньше положительного периода.
Код = 3 загружать нельзя!
Загрузка счетчика новым числом во время счета не влияет на текущий счет, но последующий после запуска счет будет осуществляться с новым коэффициентом пересчета. Временная диаграмма для данного режима представлена на рис. 24.

13 EMBED Visio.Drawing.6 1415
Рис. 24
5.Четвертый режим.
В режиме «4» после загрузки кода в счетчик и наличия разрешающего сигнала на входе GATE по окончанию счета на выходе появляется отрицательный импульс, по длительности равный периоду следования синхроимпульсов CLK. Запись в счетчик во время работы младшего байта нового числа не влияет на текущий счет. Запись старшего байта перезапускает счетчик. Если GATE = 0, то счет запрещен, если GATE=1, то – разрешен. Временная диаграмма для данного режима представлена на рис. 25.

13 EMBED Visio.Drawing.6 1415
Рис. 25

6. Пятый режим – счетчик событий с автозагрузкой.
Отличием данного режима от предыдущего является то, что в нем счетчик является перезапускаемым с помощью сигнала GATE. Загрузка счетчика новым числом не влияет на текущий счет, но влияет на последующий после перезапуска.


Пример.
Требуется настроить таймер таким образом, что счетчики используются как счетчики событий. В СТШ требуется загрузить 6 (06 Н); в СТ1 – 8(08 Н); в СТ2 – 10 (0А Н). Назначенные адреса: СТШ – 30 Н, СТ1 – 31 Н, СТ2 – 32 Н, РУС – 33Н.
Программирование.
MVI А, 3А 00111010 – программирование СТШ
OUT 33 Н
MVI А, 7А 01111010 – программирование СТ1
OUT 33 Н
MVI А, 7А 01111010 – программирование СТ2
OUT 33 Н
MVI А, 06
OUT 30 Н для СТШ - загрузка младшего и старшего байтов в СТШ
MVI А, 00
OUT 30 Н
MVI А, 08
OUT 31 Н для СТ1 - загрузка младшего и старшего байтов в СТ1
MVI А, 00
OUT 31 Н
MVI А, 0А
OUT 32 Н для СТ2 - загрузка младшего и старшего байтов в СТ2
MVI А, 00
OUT 32 Н










13PAGE 15


13PAGE 14515



Начало

Загрузка ICW1

Загрузка ICW2

Каскадирование

Загрузка ICW3

Готов к обслуживанию
...
загрузка ОCWi (при необходимости)













Приложенные файлы

  • doc 8981644
    Размер файла: 5 MB Загрузок: 0

Добавить комментарий