Изобретение относится к автоматике и вычислительной технике, к системам передачи данных и системам распределенного управления и может быть использовано, в частности, при построении устройств для приема и передачи данных в локальных вычислительных сетях.
Упорядочение доступа к общему для ряда абонентов ресурсу, например к общей шине локальной вычислительной сети либо массовой памяти, является важной задачей, особенно в случае частого обращения к ресурсу, приводящему к конфликтам между абонентами. В общем случае процедура доступа при конфликте регулируется приоритетами, которые могут быть присвоены отдельным пользователям либо группам пользователей заранее, могут изменяться в процессе работы, могут быть связаны с пространственной упорядоченностью абонентов или с какими-либо другими их индивидуальными особенностями (идентификаторами). Существует класс методов доступа, в котором приоритеты явным образом отсутствуют, а конфликты разрешаются с помощью различных механизмов случайного выбора.
Известен способ доступа к шине передачи данных, заключающийся в том, что абонентам сети предоставляется возможность начать передачу внутри интервала времени синхронизации ΔТ, отстоящего от момента синхронизации на время задержки ti, специфичное для каждой i-й ЭВМ [1] . Недостатком способа являются большие потери времени на паузы, вызванные временами задержки, при большом числе абонентов сети и высоком неравномерном трафике.
Известен способ доступа к шине передачи данных, реализованный с помощью устройства по авт. св. СССРN 1285614, кл. Н 04 L 5/22. Способ заключается в том, что каждой из N станций после освобождения шины выделяется интервал времени захвата шины, состоящий из n смежных интервалов времени (n = log2N) каждый длительностью ΔТ (Δ Т равно двойному времени распространения сигнала по шине), в течение которых все станции передают последовательно, начиная со старшего бита, двоичные коды своих номеров, специфичные для каждой станции, таким образом, что передаче бита "1" соответствует передача сигнала по шине, а передаче бита "0" соответствует отсутствие передачи сигнала по шине, и станции, зарегистрировавшие передачу сигнала по шине в течение интервала времени ΔТ, когда они передают бит "0", прекращают передачу сигналов по шине вплоть до освобождения шины, причем после каждого цикла захвата шины номер станции, получившей доступ к шине, устанавливается равным нулю, а номера станций, меньшие номера станции, получившей доступ к шине, увеличиваются на единицу.
Недостатком способа является низкое быстродействие, поскольку минимальное время между передачами информации по шине составляет 2 . ΔТ . log2N. Другим недостатком способа является низкая надежность, поскольку помехи, которые могут возникнуть в шине в то время, когда все станции, готовые к передаче, передают во время захвата шины нулевые биты в каком-либо разряде своих номеров, т. е. когда выходные каскады всех передатчиков находятся в высокоимпедансном состоянии, могут привести к нарушению единственности распределения номеров станций и к потере сетью работоспособности.
Известен способ доступа к шине передачи данных [2] . После того, как станция сети закончит передачу блока сообщений, что определяется с помощью сигнала синхронизации, каждая из станций, у которой сеть готовые к передаче данные, передает по шине единичные биты номера станции в течение соответствующего битового временного интервала. Во время битового интервала, когда бит номера станции равен нулю, станция контролирует шину данных и, если зарегистрирует передачу единичного бита, прекращает передачу логических "1" и ждет следующего сигнала синхронизации.
Данный способ выбран в качестве прототипа. Недостатком способа является низкое быстродействие, поскольку минимальное время между передачами информации по шине составляет 2 . ΔT. log2N. Другим недостатком способа является низкая надежность всей сети, поскольку при высоком информационном потоке от группы наиболее приоритетных станций, приближающемся к пропускной способности шины сети, вероятность низкоприоритетных станций получить доступ к сети стремится к нулю.
Цель изобретения - повышение надежности за счет обеспечения возможности одновременной передачи собственного номер приоритета.
Цель достигается тем, что по способу доступа к шине передачи данных, заключающемуся в том, что после окончания передачи блока сообщений станцией сети, определяемой с помощью сигнала синхронизации, каждая из станций, у которой есть готовые к передаче данные, передает по шине данных единичные биты номера станции в течение соответствующего битового временного интервала, а во время битового интервала, когда бит номера станции равен нулю, станция контролирует шину данных и, если зарегистрирует передачу единичного бита, прекращает передачу логических "1" и ждет следующего сигнала синхронизации, выделено время ожидания окончания распространения блока сообщений по шине, зависящее от взаимного расположения станции, передававшей сообщение, и станции, готовой к передаче, что приводит к тому, что станции, готовые к передаче, начинают передавать коды своих номеров одновременно, интервалы времени ΔТ взяты равными времени распространения сигнала по шине, номера станций определяются из кодов приоритетов станций по единому для всех станций закону преобразования, код приоритета станции, получившей доступ к шине, устанавливается равным минимальному коду приоритета, не обязательно равном нулю, после этого при получении доступа к шине сети первый раз какой-либо другой станции из группы заранее выделенных станций код приоритета станции увеличивается на единицу, а при экстренной передаче приоритет станции устанавливается меньше минимального приоритета.
Сущность изобретения заключается во введении системы динамических хронологических приоритетов, обладающих следующими свойствами.
При единственности распределения приоритетов в момент инициализации устройств далее в процессе обмена единственность распределения приоритетов не нарушается.
При законе преобразования кодов приоритета вида i -> N-i средние значения приоритета i-го абонента (1≅i≅N) выражаются соотношением
Pi= где Pi - средний приоритет i-го абонента;
ai - число запросов i-го абонента, обслуженных за единицу времени.
При ранее указанном законе преобразования наиболее активные станции сети осуществляют передачу данных с наименьшей в среднем задержкой. Гарантия доставки сообщения в этом случае отсутствует, поскольку наиболее активные станции могут полностью блокировать канал передачи информации.
При законе преобразования кодов приоритета вида i -> i (т. е. при отсутствии преобразования) любая станция может осуществить передачу самое позднее через N циклов обмена по сети, т. е. имеет место гарантия доставки сообщения в минимально возможное время.
При законе преобразования кодов приоритета, отличающемся от вида, указанного ранее осуществляется гарантия доставки сообщения за время, большее минимального, при средней задержке передачи сообщений наиболее активных станций, меньшей максимальной.
Если среди станций сети выделено k групп станций, в каждой из которых приоритеты изменяются лишь при регистрации передачи сообщений станциями своей группы, то путем установки необходимых минимальных приоритетов в группах можно реализовать сеть с k независимыми подуровнями приоритетов.
Повышение надежности работы сети происходит вследствие также и той причины, что исходной информацией для системы динамических приоритетов является номер абонента, который передается стандартным образом в пакете данных, при низкоимпедансном состоянии выходного каскада передатчика, менее подверженном помехам.
Кроме того, передача станцией кода своего приоритета в канал сети начинается не сразу после момента обнаружения станцией освобождения сети, а спустя некоторое время после этого момента, когда информация, содержащаяся в переданном пакете, полностью пересечет границу канала сети или области передачи данных. Это время ожидания окончания распространения сигнала по шине зависит от конфигурации сети и взаимного расположения передатчика и приемников и для случая линейной сети может быть выражено соотношением
tож= где tож - время ожидания окончания распространения сигнала по шине;
Lлев - расстояния от передатчика до левого края шины сети;
Lпр - расстояние от передатчика до правого края шины сети;
Lпп - расстояние от приемника до передатчика;
v - скорость распространения сигнала по шине сети.
Время окончания распространения сигнала для произвольной конфигурации шины сети можно выразить соотношением
Tож= где Lгр - максимальное расстояние от передатчика до границы сети.
Введение преобразования приоритетов позволяет широко варьировать параметры сети, изменять отношение средней задержки передачи сообщения к максимальной задержке. Введение возможности выделять группу станций сети среди всех станций позволяет строить системы с многоуровневым обслуживанием, когда закон обслуживания станций одной группы отличается от закона обслуживания станций другой группы, т. е. вводить глобальные приоритеты в систему динамических приоритетов.
Указанные отличия, а именно выделение в интервале времени захвата шины времени ожидания окончания получения доступа к каналу сети станций, передающих пакеты в интервально-маркерном режиме, уменьшение интервалов времени ΔТ до времени распространения сигнала по всей шине, определение кодов приоритетов станций посредством идентификации номера станции и ее принадлежности к выделенной группе станций, приводят к новым, неизвестным из технической и патентной литературы свойствам способа доступа к шине локальной вычислительной сети: бесконфликтности, быстродействию, возможности осуществления многоуровневой динамической системы приоритетов, установлению требуемого по условиям эксплуатации соотношения между временем гарантированной доставки сообщения и средним временем доставки сообщения, поэтому эти отличия являются существенными, а заявляемый способ обладает критерием изобретения.
На фиг. 1 представлены временные диаграммы, иллюстрирующие способ-прототип (диаграмма А) и заявляемый способ доступа (диаграмма Б). По оси абсцисс отложено время, по оси ординат - уровень сигнала в канале передачи информации.
На диаграммах А и Б передача станции заканчивается в момент времени t1. Не позднее, чем в момент времени t2, отстоящий от момента времени t1 на время распространения сигнала по всему каналу сети ΔТ, информация об окончании передачи доходит до всех абонентов сети и, следовательно, не позднее чем через время 2.ΔТ информация о реакции абонентов сети доходит до передающей станции - в момент времени t3 на диаграмме А. Лишь после этого передающая станция может начать передавать следующий бит своего номера. Таким образом, по способу-прототипу наименьшая длительность времени передачи одного бита информации в процессе определения устройства с наибольшим номером составляет 2 . ΔT.
На диаграмме Б каждая станция по окончании передачи выжидает время ухода передаваемого сигнала за пределы канала сети, зависящее от взаимного расположения передающей и принимающей станций, после чего все станции начинают передачу своих номеров одновременно в момент t2. К моменту t3 они уже знают реакцию друг друга и могут изменить состояния своих передатчиков. В этом случае, характеризующем заявленный способ, наименьшая длительность времени передачи одного бита информации в процессе определения устройства с наибольшим номером равна ΔТ.
В табл. 1 приведена иллюстрация процесса определения устройства с наибольшим номером среди четырех устройств, имеющих номера 118, 258, 368 и 378, готовых к передаче. Значком Х обозначено высокоимпедансное состояние передатчика.
В табл. 2 приведен пример изменения приоритетов устройств на протяжении 12 актов передачи информации в канале локальной сети. Номера станций, получивших доступ к каналу сети, выделены более жирным шрифтом. Видно, что их приоритеты устанавливаются равными единице.
Устройство, реализующее заявленный способ, может быть выполнено по схеме, приведенной на фиг. 2. Системная часть устройства соответствует ОСТ 11348.917-82, на фигуре не показана и может быть воспроизведена по литературе. Так, например, общая компоновка процессорного блока на основе микропроцессора КР580ИК80А может быть выполнена по схеме, приведенной в монографии Алексенко А. Г. , Галицына А. А. , Иванникова А. Д. Проектирование радиоэлектронной аппаратуры на микросхемах. М. , 1984, с. 144-145. Схемы, аналогичные по построению внесистемной части принципиальной схемы устройства, приведенной на фиг. 2, можно найти в работах Цвелодуба О. В. и Щелкунова Н. Н. Контроллер локальной вычислительной сети. //Микропроцессорные средства и системы. 1986, N 6, с. 47-49, и Гыбина Е. Н. , Козаренко С. В. и Левина К. М. Контроллер локальной сети//Микропроцессорные средства и системы. 1988, N 2, с. 49-51.
На фиг. 2 приняты следующие обозначения: 1 - системная шина микропроцессора КР580ИК80А, 2 - порт последовательного приема-передачи КР580ВВ51А, 3 - многорежимный программируемый таймер КР580ВИ53, 4 - ждущий мультивибратор, формирующий тактовую частоту приема-передачи устройства 62,5 кГц, 5 - одновибратор, формирующий узкий (50 нс) импульс, задержанный на 14 мкс относительно отрицательного перепада напряжения на своем входе, 6 - первый элемент ИЛИ; 7 - первый элемент И; 8 - декодер, 9 - приемник, 10 - кодер и передатчик, 11 - одновибратор, формирующий положительный импульс длительностью 120 мкс в ответ на положительный перепад напряжения на своем входе, 12 - первый RS-триггер, 13 - второй элемент И; 14 - второй RS-триггер; 15 - второй элемент ИЛИ; 16 - третий элемент И, 17 - третий элемент ИЛИ, 18 - четвертый элемент И, 19 - третий RS-триггер, 20 - канал сети.
Устройство работает следующим образом.
При включении устройства в сеть микросхема КР580ВВ51А программируется для работы в асинхронном режиме в подрежиме 1: 1 соотношения частот общей синхронизации микросхемы и синхронизации приема-передачи, микросхема КР580ВИ53 таймер-0 программируется для работы в режиме 0 (прерывание терминального счета), а таймер-1 и таймер-2 - для работы в режиме 1 (ждущий мультивибратор). Программирование функций приема и передачи информации микросхемы КР580ВВ51А изложено в указанной монографии А. Г. Алексенко и др. на с. 30-43, программирование таймера КР580ВИ53 изложено там же на с. 65-71.
В ОЗУ процессора выделяется адресное пространство для принимаемого и передаваемого пакетов информации. При этом первый байт пакета содержит приоритет передающего процессора, второй байт - адрес назначения пакета, третий байт - адрес источника информации, четвертый и пятый байты - оставшееся число бит в передаваемом пакете, после чего следует собственно блок передаваемой информации, который завершается контрольной суммой.
Кроме того, в ОЗУ процессора выделяются область N байт, где N - число абонентов сети, называемая далее областью маски первичности передачи, область N байт, в которую занесены числа, равные (в единицах 0,5 мкс) времени распространения сигнала от i-го абонента (1≅i≅N) за пределы сети за вычетом времени распространения сигнала до данного абонента, называемая далее таблицей расстояний, область N байт, в которую занесены коды приоритетов согласно закону преобразования приоритетов, и счетчик приоритета.
При инициализации системы каждый абонент заносит в первый и третий байты передаваемого пакета номер, присвоенный ему в системе. Одновременно во все N байт области маски первичности передачи заносятся нули.
Абоненты постоянно ведут прием информации, используя для этого известный механизм: данные поступают из канала сети 20 в приемник 9 и далее в декодер 8, где смесь информации и синхроимпульсов разделяется. Биты информации поступают на вход RxD порта 2 последовательного приема-передачи, а синхроимпульсы - на синхронизирующий вход этого же порта и на счетный вход CLKO таймера-0 многорежимного программируемого таймера 3. По окончании приема каждого байта информации порт 2 вызывает прерывание фоновой программы по обычной системе прерывания. При приеме третьего байта каждого пакета информации процессор сравнивает его содержимое с собственным номером в сети. Если эти номера равны, область маски первичности передачи обнуляется, а в счетчик приоритета заносится значение минимального приоритета. Если номера не равны, проверяется содержимое области маски первичности передачи по адресу, содержащемуся в третьем байте, и, если это содержимое равно нулю, в этот байт записывается единица, а значение счетчика приоритета на единицу увеличивается. Во всех случаях в первый байт пакета информации, предназначенного к передаче, записывается число, содержащееся по адресу, указанному значением счетчика приоритета в таблице преобразования приоритетов. Кроме того, из таблицы расстояний по адресу, равному номеру передающего процессора, выбирается байт, и, если передача разрешена, заносится в таймер-2 многорежимного таймера 3, что инициирует его работу.
После приема двух байт, содержащих число бит, оставшихся в пакете информации, передаваемой по каналу сети, они заносятся в таймер-0 многорежимного таймера 3, и, таким образом, по окончании приема пакета с последним битом на выходе OUT2 многорежимного таймера 3 установлен уровень напряжения логической "1".
Если принятый пакет предназначен данному абоненту, он переписывается в другое место памяти, после чего инициируются процедуры, не относящиеся к сущности настоящей заявки: проверка контрольных сумм, распаковка и т. д.
При передаче информации процессор готовит предназначенный к передаче пакет, снабжает его контрольными суммами, адресом назначения, служебными признаками по алгоритмам, рассмотрение которых лежит за пределами сущности данного способа, разрешает передачу и инициализацию таймера-2 многорежимного таймера 3. Эта инициализация происходит после прохождения по каналу сети первых байт информации очередного пакета данных, при этом счет тактовых импульсов таймером-2 начинается по окончании прохождения пакета синхронно с окончанием прохождения последнего бита. Число синхроимпульсов, которое предстоит отсчитать таймеру-2, определяется по таблице расстояний и выбирается с таким расчетом, чтобы к моменту окончания счета канал сети был свободен от передаваемых импульсов. По окончании счета таймера-2 на его выходе OUT2 устанавливается уровень напряжения логического "0", что в свою очередь устанавливает в единичное состояние третий RS-триггер 19. Этот триггер через элемент ИЛИ 6 запускает ждущий мультивибратор 4, в результате чего порт 2 начинает передавать пакет информации, начиная с первого байта. По запросу прерывания, организованному любым из известных способов, процессор загружает в порт очередной байт и так далее до конца предназначенного к передаче пакета. В самом первом байте содержится преобразованный приоритет абонента. Во время передачи первого байта абоненты осуществляют конкурентную борьбу за право передачи всего пакета, поэтому передача первого байта отличается от передачи остальных байт. Одновибратор 11, запускающийся от переднего фронта разрешения передачи с выхода третьего триггера 19, разрешает на время передачи первого байта формирование сигнала "Запрет передачи" на выходе элемента И 7. "Запрет передачи" формируется в том случае, если необходимо передать бит 0. Таким образом, во время передачи первого байта информационного пакета в канал сети передаются только единичные биты, и, если какой-либо абонент в одном из разрядов первого байта содержит 0, а по крайней мере один другой абонент содержит в этом разряде 1, то эта 1 будет принята приемником 9, декодирована декодером 8, в результате чего после срабатывания элементов 15, 16, 17 происходит сброс триггера 19 передачи и прерывание процессора которое сообщит ему о неудачной попытке захвата канала сети и необходимости повторной передачи.
При осуществлении экстренной передачи процессор записывает в первый байт готовящегося к передаче пакета необходимое значение приоритета, выбираемое в данном случае меньшим наименьшего возможного в обычной ситуации приоритета. По окончании экстренной передачи абонент получает приоритет, соответствующий обычному режиму передачи.
(56) 1. Патент ГДР N 239893, кл. G 06 F 15/16, опублик. 1985.
2. Патент Великобритании N 2122779, кл. G 06 F 15/16, опублик. 1986.
Изобретение относится к автоматике и вычислительной технике, к системам передачи данных и системам распределенного управления и может быть использовано при построении устройств для приема и передачи данных в локальных вычислительных сетях. Целью изобретения является повышение надежности за счет обеспечения возможности одновременной передачи собственного номера приоритета каждой станции. Цель достигается тем, что время окончания распространения сигнала по шине для каждой станции определяют из выражения где - время ожидания окончания распространения сигнала по шине; Lлев - расстояние от передатчика до левого края шины сети; Lпр - расстояние от передатчика до правого края шины сети; Lпп - расстояние от приемника до передатчика; V - скорость распространения сигнала по шине сети. 2 табл. , 2 ил.
СПОСОБ ДОСТУПА К ШИНЕ ПЕРЕДАЧИ ДАННЫХ В ВЫЧИСЛИТЕЛЬНОЙ СЕТИ , заключающийся в том, что после окончания пеpедачи блока сообщений одной из станций сети, каждая станция сети осуществляет аpбитpаж шины путем пеpедачи собственного номеpа пpиоpитета на шину данных последовательно, начиная со стаpшего бита, пpичем в течение вpеменного интеpвала, когда бит собственного номеpа пpиоpитета станции pавен единице, станция пеpедает сигнал на шину данных, а в течение вpеменного интеpвала, когда бит собственного номеpа пpиоpитета станции pавен нулю, пpекpащает пеpедачу сигнала и, если pегистpиpует сигнал, пpекpащает пеpедачу собственного номеpа пpиоpитета, отличающийся тем, что, с целью повышения надежности за счет обеспечения возможности одновpеменной пеpедачи собственного номеpа пpиоpитета каждой станции, вpемя ожидания окончания pаспpостpанения сигнала по шине для каждой станции опpеделяют
tож= ,
где tож - время ожидания окончания распространения сигнала по шине;
Lлeв - расстояние от передатчика до левого края шины сети;
Lпр - расстояние от передатчика до правого края шины сети;
Lпп - расстояние от приемника до передатчика;
V - скорость распространения сигнала по шине сети.
Авторы
Даты
1994-03-30—Публикация
1989-07-08—Подача