- •Оглавление
- •Лекция № 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 Алгоритм выполнения кк операции пдп.
7.5 Синхронизация операций реального времени. Системный таймер эвм семейства ibmpcIntel8254.
Рис. 7.3 Схема включения ПИТ Intel8254 в ЭВМ семействаIBMPC.
Базовый адрес ПИТ в пространстве адресов ввода-вывода ЭВМ равен 40h. Адреса регистров каналов ПИТ принимают значения: 40h – канал 0 , 41h– канал 1, 42h– канал 2, 43h–CBR.
На входы GATEканалов 0 и 1 подан разрешающий потенциал – разрешен счет:GATE0=1,GATE1=1. СигналGATE2 управляется битом 0 управляющего регистра 61h.
Входы CLKвсех каналов подсоединены к выходу генератора импульсов.
Канал 0 таймера используется для отсчета текущего времени в системных часах времени суток, а также для синхронизации некоторых дисковых операций. При инициализации канала он программируется BIOSдля работы в режиме 3 (или 2) с двухбайтовым начальным значением счетчика равнымN=0, на выходе он вырабатывает импульсы с частотой. При таком режиме период таймера составляетТ0~55мс. ВыходOUTнулевого канала посылает ЗП наIR0 программируемого контроллера прерываний и вырабатывает прерывание таймера (номер типа прерывания 8 –IntNo=8). Это прерывание вырабатывается всегда, если разрешены аппаратные прерывания (еслиIF=1).
BIOS выполняет следующие действия:
Увеличивает значение четырехбайтовой переменной на 1, расположенной по адресу [40h..60h]. Когда выполняется переход с 12 часов ночи, происходит обновление переменной и ее установка в адрес [40h..70h].
Уменьшает значение переменной на 1 по адресу [0000:440h]. Переменная содержит время, которое осталось до выключения мотора накопителя на гибких магнитных дисках.
Вызывает прерывание с номером типа IntNo=1Ch.
После инициализации системы он указывает на команду IRET. Программа пользователя может установить собственную обработку этих прерываний, чтобы выполнять какие-либо периодические действия.
Канал 0 может программироваться на более конкретные интервалы времени.
Канал 1 используется для регенерации памяти. BIOSпрограммирует его в режиме 2 с однобайтным значением счетчика (только младший байт), начальное значениеN = 18. Такой счетчик обеспечивает интервал чуть больший:T1=18/1.193182~15мкс.
Не рекомендуется перепрограммировать канал, так как может нарушиться цикл регенерации памяти. Можно его использовать для отсчета коротких интервалов времени. Бит 4 управляющего регистра 61hизменяется каждые 15 мс.
Канал 2 таймера используется для генерации звука – соединен с динамиком. Программируется в режиме 3. Сигнал GATEуправляется битом 0 управляющего регистра 61h. ВыходOUT2 соединен с динамиком. Соединение/разъединение с динамиком управляется битом 1 порта 61h. Канал 2 может использоваться для целей отсчета времени в автоматизированной системе. Его можно программировать в любом режиме. Для контроля выходаOUTможно проверять бит 5 управляющего регистра 61h.
7.6 Реализация методики программирования таймера в среде BorlandPascal.
Инициализация 2 канала таймера для генерации импульсов с частотой F2~100 Гц в режиме 3 (генератор меандра):
N2:= 1193182 div100; - вычисление константы пересчета (должна быть объявлена как типbyte).
Port [$61]:= Port [$61] and not 3; Сброс в 0 сигнала на входеGATE2, выходOUT2 отключаем от динамика через управляющий регистр с адресом 61h.
Port [$43] := $B6; {10 11 011 0} - Установка режима работы 2 канала.
Port[$42] :=Lo(N2); - Запись младшего байта константы пересчета.
Port[$42] :=Hi(N2); - Запись старшего байта константы пересчета.
Port [$61] := Port [$61] or 1; - Установка разрешающего потенциала на входе GATE2=1: канал начинает генерацию импульсов типа меандр на выходе OUT2.
Чтение содержимого счетного элемента CE (2 канал):
Чтение без остановки счета.
Считываются последовательно младший, затем старший байты счетного элемента в переменную Count:
Count2:= Port [$42]; - Запись младшего байта выходного регистра счетчика.
Count2:= (Port [$42] shl 8) + Count2- Запись старшего байта выходного регистра счетчика, сдвиг на 8 разрядов байта.
Чтение с приостановкой работы канала.
Port [$61] := Port [$61] and not 1; - Сброс в 0 сигнала GATE 2-го канала.
Чтение младшего, затем старшего байтов регистра счетчика (см. п. 1). Разрешение работы канала – установка на входе GATEвторого канала разрешающего потенциала:
Port[$61] :=Port[$61]or1;
Чтение по команде "Защелка".
Port [$43] := $80; - Защелкивание содержимого 2 канала ПИТ.
Чтение младшего, затем старшего байтов регистра счетчика (см. п. 1).
Чтение состояния 2 канала таймера:
Запись в регистр управляющего байта кода команды – защелкнуть содержимое статусного регистра в выходном регистре состояния и содержимое счетного элемента в выходном регистре счетчика 2 канала:
Port [$43]:= $C8;
Status2 := Port [$42]; - Чтение содержимое выходного регистра состояния 2 канала.
Чтение младшего, затем старшего байт регистра счетчика в переменную Count(см. п. 1).
Чтение статусного регистра:
Port[$43]:=$EE; {11 1 0 1 1 1 0}.
Status0:=port[$40];
Status1:=port[$41];
Status2:=port[$42];
Чтение счетного элемента и статусного регистра 2 канала:
Port[$43]:=$C8;{11 0 0 1 0 0 0}.
Status:=port[$42];
CE2:=port[$42] + (port[$42] shl 8); {Чтение младшего байта и старшего байта}
Определение начала очередного периода 2 канала таймера:
Procedure waitTimerPC
Begin while (port[$61] and $20)<>0 do;
While ((port[$61] and $20)=0 do;