Студопедия

КАТЕГОРИИ:


Архитектура-(3434)Астрономия-(809)Биология-(7483)Биотехнологии-(1457)Военное дело-(14632)Высокие технологии-(1363)География-(913)Геология-(1438)Государство-(451)Демография-(1065)Дом-(47672)Журналистика и СМИ-(912)Изобретательство-(14524)Иностранные языки-(4268)Информатика-(17799)Искусство-(1338)История-(13644)Компьютеры-(11121)Косметика-(55)Кулинария-(373)Культура-(8427)Лингвистика-(374)Литература-(1642)Маркетинг-(23702)Математика-(16968)Машиностроение-(1700)Медицина-(12668)Менеджмент-(24684)Механика-(15423)Науковедение-(506)Образование-(11852)Охрана труда-(3308)Педагогика-(5571)Полиграфия-(1312)Политика-(7869)Право-(5454)Приборостроение-(1369)Программирование-(2801)Производство-(97182)Промышленность-(8706)Психология-(18388)Религия-(3217)Связь-(10668)Сельское хозяйство-(299)Социология-(6455)Спорт-(42831)Строительство-(4793)Торговля-(5050)Транспорт-(2929)Туризм-(1568)Физика-(3942)Философия-(17015)Финансы-(26596)Химия-(22929)Экология-(12095)Экономика-(9961)Электроника-(8441)Электротехника-(4623)Энергетика-(12629)Юриспруденция-(1492)Ядерная техника-(1748)

Пример алгоритма, реализующего процесс сканирования




Итак, существует ряд алгоритмов, выполняющих процессы сканирования. Более подробно этот вопрос изложен в [9, 10, 40], где приведены описания алгоритмов, которые представле­ны в других разделах данной главы. Ниже даны обобщенные выводы из указанных источ­ников, соответствующие максимально строгим требованиям по обслуживанию вызовов.

Алгоритм сканирования приведен на рис. 4. На этом рисунке приняты обозначения:

R — предыдущие состояния точек опроса линейки;

R— последующие состояния точек опроса линейки;

R— состояния линейки в таблице блокировки для опроса линейки.

Остальные переменные R,R,R,R вычисляются в процессе работы алгоритма и по­ясняются по ходу его рассмотрения.

Верхний индекс в алгоритме означает текущий номер обслуживаемой линейки, который изменяется в соответствии с оператором 20 этого алгоритма. Алгоритм начинается с перио­дического запуска таймера. В данном случае выбран период запуска 10 мс, что гарантирует чтение наиболее короткого сигнала (импульса дискового набора номера) от 2 до 3 раз. Мно­гократный опрос в дальнейшем позволяет отличить реальный сигнал от помехи.

В начале алгоритма выполняются операторы 1-7, обрабатывающие буфер заявок, по­ступивших от уже начавшихся процессов. Такой приоритет в обработке позволяет не ста­вить на обслуживание новые заявки, чтобы избежать перегрузки алгоритмов обработки. Данный участок алгоритма определяет наличие сигналов, которые ожидает остановленный после перехода процесс. Алгоритм при этом доставляет в процесс сигнал ВХОД.

Второй участок содержит операторы 8-12, выявляющие наличие изменений в состоя­нии внешней среды. Принцип его работы заключается в том, что сопоставляются предыду­щее состояние линеек R1 и последующее R2 и определяется, есть ли изменения по сравне­нию с предыдущим моментом времени.

Например, если в некоторый десятимиллисекундный цикл к:

R= 00101101, a

R= 10010101, то

R= R R= 10111000.

Разряды результата, равные единице, говорят о наличии изменения, при этом следует обратить внимание на то, что отмечены два типа перехода — из 1 в 0 и из 0 в 1.


Рис. 4 Алгоритм сканирования

 


При многих процессах важна не только информация о наличии изменения, необходимо также различать его тип. Например, переход из 0 в 1 обозначает «вызов», а обратный пере­ход — «отбой». При приеме номера фиксация цифры может происходить по переднему или заднему фронту. В связи с этим производятся следующие действия. Для определения пере­хода из 1 в 0 проводится операция поразрядного умножения R3 и R:

R3 = 10111000

R1 = 00101101

R4 = R3 & R1= 00101000.

Из этого результата должны быть исключены заблокированные точки. Формируется массив блокировок R0.. Одно слово из этого массива считывается. В нем 0 означает, что точка сканирования заблокирована, а 1 — что она находится в работе. Для исключения блокированных точек R4 логически умножается на R0. После чего получается массив R5, содержащий незаблокированные точки сканирования, которые изменили свои состояния из 1 в 0.

R4 = 00101000

R0= 11001111

R5 = R4&R0 = 0000 1000

Единичное значение разрядов указывает на переход из 1 в 0.

Далее определяются разряды, изменившие свое состояние из 0 в 1. Для этого выполня­ется операция сложения по модулю 2 над числами R4 и R3:

R4 = 0010 1000

R3= 1011 1000

R6=R4 R3= 1001 0000

Исключая блокированные точки получаем массив R7:

R6=1001 0000

R0= 1100 1111

R7 = R6 &R0= 1000 0000

Результат сканирования содержится в словах R5 (переход из 1 в 0) и R7 (переход из 0 в 1).

Следующие операторы (13-18) обеспечивают получение координат комплектов, в кото­рых произошли изменения.

После этого каждому слову массива предыдущих состояний присваивается значение те­кущего, чтобы подготовить последующие циклы (оператор 19).

Дальнейшие действия (операторы 20 и 21) связаны с переходом к следующей строке сканирования или завершением процесса при проверке последней линейки.

Алгоритм завершается переходом в исходное состояние.




Поделиться с друзьями:


Дата добавления: 2014-01-14; Просмотров: 505; Нарушение авторских прав?; Мы поможем в написании вашей работы!


Нам важно ваше мнение! Был ли полезен опубликованный материал? Да | Нет



studopedia.su - Студопедия (2013 - 2024) год. Все материалы представленные на сайте исключительно с целью ознакомления читателями и не преследуют коммерческих целей или нарушение авторских прав! Последнее добавление




Генерация страницы за: 0.014 сек.