- •Оглавление
- •Лекция № 1 Введение в проблемы построения автоматизированных систем.
- •Основные вопросы курса:
- •1.1. Функциональные компоненты, необходимые для построения автоматизированного комплекса.
- •1.2. Особенности проектирования и основные требования к автоматизированным системам для научных исследований (асни).
- •1.3. Принципы построения автоматизированных систем.
- •Лекция №2 Средства управления объектами автоматизации.
- •2.1. Архитектурные возможности эвм.
- •Центральный процессор
- •Основные регистры процессора эвм семейства Macintosh.
- •Основные регистры процессора эвм семейства ibm pc.
- •2.2. Основная память.
- •Форматы представления чисел в озу.
- •2.3. Каналы ввода-вывода информации.
- •Общая структура магистрали эвм
- •Передача информации по системной магистрали
- •Вывод данных Ввод данных
- •Лекция №3 Принципы организации обмена данными между эвм и внешними устройствами.
- •3.1 Режимы обмена данными
- •3.2 Безусловная передача данных.
- •Лекция №4 Техническая реализация усо в эвм семейства ibm и методика управления обменом.
- •Карта регистров усо
- •4.1. Программные средства реализации безусловного обмена данными в среде BorlandPascal
- •4.2. Обмен данными между эвм и ву по готовности ву
- •4.2.1. Функциональная схема интерфейса ввода данных в эвм по готовности ву.
- •Техническая реализация интерфейса в ас на основе эвм семейства ibmpc
- •Лекция №5 Технические характеристики ацп, усилитель, мультиплексор.
- •5.1 Программная модель интерфейса
- •5.2 Алгоритм одноканальных измерений входного сигнала
- •5.3. Методика управления и оценки состояния внешних устройств
- •5.4. Проверка, установка, сброс отдельных разрядов регистра ву
- •Лекция №6 Обмен данными между эвм и внешними устройствами с прерыванием текущей программы.
- •6.1 Принцип организации обмена данными
- •6.2 Алгоритм обслуживания ву с прерыванием.
- •1. Опрос ву.
- •3. Комбинированный способ идентификации ву.
- •6.3 Блок-схема алгоритма обслуживания ву с прерыванием.
- •6.4 Механизм приоритетов. Вложенные прерывания.
- •6.5 Принципы построения интерфейса обмена данных с прерыванием программы.
- •6.6 Техническая реализация интерфейса обмена данными с прерыванием программы.
- •1. Приоритетная цепочка:
- •2. Реализация многоуровневых вп в эвм семейства ibm.
- •Технические характеристики бис Intel 8259a.
- •6.7 Программируемые режимы обслуживания ву.
- •6.8 Схема включения пкп к системной шине ву.
- •6.9 Аппаратные прерывания в порядке их приоритетов и назначения.
- •6.12 Схема каскадирования контроллеров прерывания.
- •Методика программирования контроллера прерываний.
- •6.13 Программирование пкп в процессе обслуживания ву и работы системы.
- •6.14 Методика программирования обмена данными с прерыванием программы.
- •6.15 Реализация методики обмена данными с прерыванием программы между в эвм в автоматизированных системах на основе эвм семейства ibm pc в средеBorland Pascal. Установка вп.
- •6.16 Техническая реализация обмена данными с прерыванием программы.
- •6.17 Категории прерываний эвм семейства ibmpc.
- •Основные черты программных прерываний.
- •Краткий обзор функций bios.
- •Лекция №7. Программируемые интервальные таймеры-счетчики (пит).
- •7.1 Схема включения пит к автоматизированной системе (ас).
- •Карта программно доступных регистров пит
- •7.2 Состав и назначение регистров каналов.
- •7.3 Формат регистров таймера.
- •7.3 Режимы работы таймера.
- •1 Группа.
- •2 Группа.
- •3 Группа.
- •7.4 Методика программирования таймера.
- •1. Инициализация пит.
- •2. Чтение текущего содержимого ce.
- •7.5 Синхронизация операций реального времени. Системный таймер эвм семейства ibmpcIntel8254.
- •7.6 Реализация методики программирования таймера в среде BorlandPascal.
- •7.7 Пит Intel 8253 на интерфейсной плате l-154.
- •7.8 Многоканальное измерение сигналов.
- •Лекция №8 Автоматизированные системы на основе стандартных магистрально-модульных интерфейсов.
- •Лекция №9 Интерфейс камак (camac).
- •9.1 Конструктивная совместимость элементов системы.
- •9.2 Магистраль крейта камак.
- •9.3 Пространственно-временные диаграммы на магистрали крейта.
- •9.4 Виды и назначение адресных операций на магистрали крейта.
- •Операции интерфейса камак
- •Лекция №10 Технические средства на основе интерфейса камак. Модули интерфейса камак.
- •10.1 Схемы формирования статусных сигналов.
- •10.2 Управляющие модули камак.
- •Управляющая часть кк.
- •10.3 Программная модель кк типа ккп3 для эвм семейства ibmpc.
- •10.4 Методика управления контроллером крейта и модулями камак.
- •10.5 Методика построения программного обеспечения в ас на основе унифицированных магистрально-модульных интерфейсных систем.
- •Лекция №11 Разработка интерфейсно-ориентированной библиотеки процедур для управления крейтом камак.
- •Лекция №12 Методика контроля состояния модулей в интерфейсе камак.
- •Лекция№13 Компоненты ас на основе интерфейса камак.
- •13.1 Разработка схемы прибора генератора с заданными амплитудно-частотными характеристиками.
- •13.2 Измерение временных параметров импульсных сигналов.
- •13.3 Схема соединения модулей.
- •Программная реализация алгоритма измерения частоты fвх или периода Tвх.
- •Программная реализация алгоритма измерения длительности одиночного импульса.
- •13.4 Реализация прерываний от модуля камак в автоматизированных системах.
- •Лекция №14 Обмен данными между эвм и ву в режиме пдп.
- •14.1 Алгоритм обмена в режиме пдп.
- •14.2 Программная модель интерфейса ву и кпдп (минимальная конфигурация).
- •Программная модель кпдп.
- •Методика запуска обмена данными по каналу пдп.
- •14.3 Реализация пдп в эвм на основе единого магистрального канала.
- •14.4 Реализация пдп в эвм на основе изолированного магистрального канала.
- •14.5 Назначение каналов контроллера пдп и адреса регистров страниц.
- •Лекция №15 Функциональный состав и программная модель кпдп.
- •15.1 Блок управления.
- •15.2 Каналы контроллера пдп.
- •15.3 Каскадирование контроллеров пдп.
- •Лекция №16 Методика программирования контроллера пдп.
- •Лекция№17 Реализация пдп в ас на основе камак.
- •17.1 Алгоритм выполнения кк операции пдп.
6.12 Схема каскадирования контроллеров прерывания.
Каскадирование позволяет объединить несколько контроллеров для расширения числа ЗП.
При этом один ПКП работает как ведущий, а до 8 ПКП могут работать ведомыми.
Сигнал INTведомого ПКП подается на один из входов ведущего (IRi). ЕслиIMRиISRне блокируют сигнал, то он поступает на вход ЦП по линииINTведущего.
Когда ЦП возвращает INTA, ведущий ПКП проверяет, возникло ли его собственное прерывание или от ведомого. Если прерывание от ведомого, то на шину ведущий на шину каскадирования выдает код, соответствующий входу, к которому подключен ведомый.
Рис. 6.9 Схема каскадирования контроллера прерывания.
CAS2 |
CAS1 |
CAS0 |
|
22(4) |
21(2) |
20(1) |
|
0 |
1 |
0 |
|
За исключением реакции на сигнал INTAдействие всех контроллеров в системе одинаково.
IR0 имеет самый высокий приоритет, номер типа прерывания – 8.
IR0 |
IR1 |
IR8 |
IR9 |
IR10 |
IR11 |
IR12 |
IR13 |
IR14 |
IR15 |
IR3 |
IR4 |
IR5 |
IR6 |
IR7 |
8 |
9 |
70h |
71h |
72h |
73h |
74h |
75h |
76h |
77h |
Bh |
Ch |
Dh |
Eh |
Fh |
Методика программирования контроллера прерываний.
После включения питания БИОС выполняет инициализацию ПКП.
При инициализации:
Устанавливается режим работы ПКП.
Номера типов прерываний.
Определяется ПКП1-ведущий, ПКП2-ведомый.
6.13 Программирование пкп в процессе обслуживания ву и работы системы.
По окончании инициализации IMRобнуляется, следовательно, разрешаются ЗП на всех входах.
Для программирования ПКП в работе системы используется 3 слова рабочих приказов:
- Operation Command Word (OCW).
OCW1– разрешение или запрет отдельных входов ЗП.
OCW1использует нечетный адрес.
Регистр масок всегда доступен ЦП для чтения и для записи.
7 |
6 |
5 |
4 |
3 |
2 |
1 |
0 |
IM7 |
IM6 |
IM5 |
IM4 |
IM3 |
IM2 |
IM1 |
IM0 |
LPT1 |
HTMD |
LPT2 |
COM1 |
COM2 |
Каскадир. |
Клавиатура |
Таймер |
|
0 |
1 |
1 |
1 |
0 |
0 |
0 |
Слова рабочих приказов OCW2 иOCW3 используются для управления текущим режимом работы ПКП. Оба слова передаются по четному адресу.
Для отличия OCW2 отOCW3 иICW1(InitializationCommandWord) используются два бита с номерами 4 и 3:
D4 |
D3 |
1 |
X – ICW1 |
0 |
0 – OCW2 |
0 |
1 – OCW3 |
2. OCW2используется при завершении процедуры обработки прерывания или смены текущего режима работы ПКП.
Формат OCW2:
7 |
6 |
5 |
4 |
3 |
2 |
1 |
0 |
OCW2 подается по четному адресу, для первого контроллера = 20h. |
MODE |
0 |
0 |
L2 |
L1 |
L0 | |||
OCW2 |
Если MODE=00100000 =20h, устанавливается режим вложенных прерываний и сбрасывается бит вISR, в соответствии с последним обслуживаемым запросом.
Пример: поступил ЗП на вход IR5. ЦП начал обслуживание, битIS5=1, затем пришел ЗП на входIR4, устанавливаетсяIS4=1. Режим вложенных прерываний сохраняется. Пришел ЗП наIR3, устанавливаетсяIS3=1.
Если поступает команда Port[$20]:=$20;, битIS3сбросится в 0, если еще раз поступает эта же команда, то сбросится битIS4=0, следующая аналогичная команда сбросит битIS5=0.
Если установить режим MODE=10100000 = A0h, устанавливается режим циклических приоритетов, сбрасывается бит с максимальным приоритетом, входу присваивается самый низкий приоритет.
Если установить MODE = 11000L2L1L0режим адресуемых приоритетов, номеру входа, определяемого полемL2L1L0, присваивается низший приоритет.
OCW3 используется для установки дополнительных режимов работы или опроса состояния ПКП.
Формат OCW3:
7 |
6 |
5 |
4 |
3 |
2 |
1 |
0 |
OCW2подается по четному адресу, для первого контроллера = 20h. |
0 |
SMM |
0 |
1 |
p |
RRC | |||
Признак OSW3 |
SMMможет принять только 2 значения (остальные не действуют).
SMM = 01101000 = 68h– незамаскированные запросы обслуживаются в порядке их поступления.
SMM = 01001000 = 48h– восстанавливается приоритет упорядоченных запросов.
RRC = 00001010 = Ah– разрешение чтения регистраIRR.
RRC = 00001011 = Bh– разрешение чтения регистраISR.
После выполнения команды разрешения чтения регистра, чтение указанных регистров можно выполнять произвольное число раз до момента изменения OCW3. Чтение выполняется из того же адреса.
P=1→00001100 = Ch– разрешение чтения незамаскированного запроса с максимальным приоритетом.
Следующая операция чтения из регистра с четным адресом приводит к установке бита ISkс максимальным приоритетом, как будто получен сигналINTAи передача ЦП в байта следующего форматаI0000W2W1W0, гдеIпоказывает наличие ЗП (I=1, есть ЗП), аW2W1W0показывают номер входа с наивысшим приоритетом.
Пример №1.
Port[$21]: = Port[$21] or 2; |
OCW1, адрес нечетный.IMi=1– запрет клавиатуры. |
Port[$21]: = Port[$21] and not 2; |
IMi =0 – разрешение работы клавиатуры. |
Пример №2.
Port[$20]: = Port[$20] ; |
Сброс бита с самым высоким приоритетом ISi. Завершение обслуживания прерывания, соответствующего последнему запросу. |
Пример №3.
Port[$20]:=$A; |
Разрешение чтения регистра IRR. |
Writeln( ‘содержимое регистра IRR=’), port[$20]; |
Чтение регистра IRR |