Программная организация процесса ввода информации
При выполнении 3-й лабораторной работы рекомендуется выбрать определитель, имеющий 6 строк и 7 столбцов. Содержание отчета см. в методических указаниях. Имя работы “lr1m”. Третья и четвертая работы посвящены изучению функционирования управляющих устройств электронных систем.
Отчет обязательно должен содержать ответы на контрольные вопросы, приведенные в конце лабораторной работы.
Вариант 09
Тема: Программная организация процесса ввода информации
Цель работы:
- Изучение алгоритмов ввода информации в память управляющего устройства по результатам сканирования элементов АТС с программным управлением.
- Изучение состава и назначения исходных данных, используемых программами ввода информации.
- Изучение состава и назначения результирующих данных, создаваемых программами ввода информации.
- Моделирование процесса ввода информации на IBM PC в дисплейном классе кафедры АЭС.
Ввод информации о состоянии комплектов.
Рассмотрим процесс приёма информации о состоянии линейных, шнуровых, служебных комплектов АТС с программным управлением. В каждом комплекте имеется одна или несколько контрольных точек (КТ), служащих для определения состояния комплекта (“свободен” или “занят”). Электронная управляющая система (ЭУС) получает информацию о их состоянии путем периодического опроса — сканирования. КТ первоначально группируются в линейки, каждая из которых объединяет точки с одинаковым периодом опроса. Затем из отдельных линеек формируется матрица контрольных точек (МКТ), которая вместе с устройством вывода линеек (УВЛ) образует определитель. На рисунке 1 представлена схема определителя с параметрами nm.
Рис. 1. Структурная схема определителя
На схеме приняты следующие обозначения:
n — число линеек определителя;
m — количество КТ в одной линейке, зависящее от числа проводов информационных шин, связывающих определитель с ЭУС;
ИШ — информационные шины, по которым информация о состоянии контрольных точек передается в ЭУС;
ПК — периферийная команда, по которой осуществляется опрос i-ой линейки;
СОС — слово очередного сканирования;
0 — обозначение контрольной точки определителя.
В оперативной памяти ЭУС за каждым определителем закрепляется массив состояния контрольных точек (МСКТ). В нем каждой КТ соответствует один разряд (1 бит информации) для запоминания её состояния при предыдущем сканировании. На рисунке 2 представлена структура МСКТ.
Рис. 2 Структурная схема МСКТ
СОС — слово очередного сканирования;
0 — обозначение контрольной точки определителя.
Структура МСКТ идентична структуре МКТ определителя для удобства обработки принимаемой информации. При наличии вызова в соответствующем разряде МСКТ выставляется 1, при отсутствии вызова — 0.
1 — есть вызов; 0 — исходное состояние (нет вызова).
В ходе очередного сканирования содержимое МСКТ, в котором записаны результаты сканирования комплектов в предыдущем цикле, используется для сравнения с текущими результатами с целью обнаружения изменения состояния комплектов.
Функции ввода информации выполняются программами двух видов:
программой первичного сканирования (ПСК 1);
программой повторного сканирования (ПСК 2).
Структурная схема взаимодействия этих программ с массивами данных и аппаратными средствами (определителями комплектов ОК) показана на рисунке 3.
Рис. 3. Структурная схема взаимодействия программ ПСК1 и ПСК2
ОК – определитель комплектов.
ПСК 1 — программа первичного сканирования.
Алгоритм работы программы ПСК 1 приведен на рисунке 4.
ПСК 2 — программа повторного сканирования.
Алгоритм работы программы ПКС 2 приведен на рисунке 5.
СОС 1(СОС 2) – слово очередного сканирования.
ПК — периферийная команда (формируется в ПСК).
В ответ из ОК выдается СОС, которое содержит инф-цию о текущем состоянии КТ.
МСКТ — массив состояния КТ.
СПС — слово предыдущего сканирования.
Предыдущее состояние i-й группы контрольных точек хранится в i-м слове МСКТ.
СИ — слово изменений.
СИ формируется в ПСК в результате выполнения операции логического умножения:
БПЗ — буфер предварительных заявок.
В нем записывается (фиксируется) СИ1 и i-номер линейки, в которой обнаружилось изменение состояния КТ.
ССИ — слово стабильности изменений:
По результату расчета проверяется стабильность изменений. В соответствии с ССИ программа ПСК 2 корректирует (изменяет) содержимое соответствующей строки (слова) МСКТ, где необходимо отразить новое состояние данной КТ. При этом осуществляется логическая операция «сложение по модулю 2»:
МСКТ =МСКТССИ
БЗО — буфер заявок на обработку вызовов.
В него записывается линейный номер АК или другого комплекта в первые свободные ячейки, независимо от места КТ в МСКТ. Этот номер определяется с помощью «Таблицы пересчёта» по номеру определителя, номеру линейки и номеру контрольной точки.
Таблицы пересчета используются для определения номера комплекта по номеру определителя, номеру линейки и номеру КТ в линейке. Количество линеек в БЗО зависит от числа комплектов и интенсивности поступления вызовов. В процессе ввода информации необходимы сведения о наличии свободных ячеек в буфере для записи новой заявки (при последовательной записи обычно запоминается номер первой свободной ячейки).
Выполнение лабораторной работы.
- Вводим размерность матрицы сканирования (исходя из здания):
— число строк;
— число столбцов.
— произвольное число
Запуск программы ПСК 1.
Получив указание от диспетчера (программы управления), ПСК 1 формирует периферийную команду на опрос i-й (вначале первой) линейки определителя. Результат опроса 1 -и линейки выводится на экран.
- Информация о предыдущем состоянии этой группы контрольных точек хранится в 1-м слове МСКТ и называется «слово предыдущего сканирования» СПС.
- Выявляем изменение состояния КТ строки. Для этого определяем слово изменений СИ 1 в процессе операции логического умножения:
Наличие одной или нескольких единиц в слове изменений означает, что с момента предыдущего опроса одна или несколько контрольных точек изменили свое состояние «», и следовательно, эти КТ отметили поступление вызова.
- В соответствии с алгоритмом работы программы ПСК 1 если СИ 10, то необходимо сделать заявку в буфер предварительных заявок БПЗ. Содержимое БПЗ выводится на экран.
В первую свободную ячейку БПЗ записываются:
номер линейки, в которой произошли изменения;
СИ 1.
- 5. Приступаем к опросу второй линейки определителя.
- Процесс повторяться до тех пор, пока не опрошены все 6 линеек.
- По окончании работы программы ПСК 1 управление передается диспетчеру, который после проверки содержимого БПЗ производит запуск программы ПСК 2.
Программа ПСК 2 ведет последовательный опрос лишь тех линеек, номера которых записаны в БПЗ.
- Отвечаем на вопрос “Заявки в БПЗ (есть/нет)?”. При ответе имеем в виду, что содержимое БПЗ выведено на экран.
- Из БПЗ получаем информацию о номере линейки, в которой изменилось состояние КТ, а программа ПCK 2 формирует и затем выдает в определитель первую команду — запрос о состоянии КТ данной линейки. В ответ на экране появляется слово очередного сканирования СОС 2.
- Считываем состояние 1-й строки МСКТ и получаем СПС (оно остается таким же, как и в программе ПСК 1).
- По результату повторного сканирования формируется слово изменений СИ 2:
- 12. Осуществляется проверка стабильности изменений ССИ:
- Если ССИ = 0, то стабильных изменений состояния КТ нет, следовательно, вызовов нет, и начинается проверка следующей строки БПЗ. Если ССИ0, это значит, что есть изменение состояния КТ.
ССИ во всех случаях равно 0, поэтому нет заявок в БЗО.
- В случае обнаружения изменения состояния КТ начинается анализ ССИ и с помощью таблиц пересчета по номеру линейки и номеру КТ определяется линейный номер АК.
- Происходит запись найденного номера АК в свободную ячейку буфера заявок на обработку (БЗО). В БЗО заполнение ячеек происходит последовательно.
- В соответствующей линейке МСКТ необходимо отразить все обнаруженные устойчивые изменения состояний КТ. Это достигается логической операцией «сложение по модулю 2».
МСКТ= MCKT ССИ,
МСКТ — новое состояние линейки МСКТ.
После записи оно отражается на экране.
Вывод: в процессе выполнения лабораторной работы изучены алгоритмы ввода информации в память управляющего устройства по результатам сканирования элементов АТС с программным управлением.
В процессе ввода информации выполняются следующие действия:
- Считывание информации с помощью определителей.
- Предварительная обработка информации с целью выявления изменений состояний КТ (предыдущее состояние сравнивается с текущим).
- Запись в буфер заявок на запуск программ обработки информации (БЗО) адреса комплекта, в котором КТ изменила своё состояние.
Отзывы
Отзывов пока нет.