устройство передачи данных и доступа к каналу для локальной вычислительной сети
Классы МПК: | G06F13/00 Соединение запоминающих устройств, устройств ввода-вывода или устройств центрального процессора или передача информации или других сигналов между этими устройствами |
Патентообладатель(и): | Колосков Михаил Сергеевич |
Приоритеты: |
подача заявки:
1992-06-19 публикация патента:
20.05.1996 |
Изобретение относится к вычислительным системам и устройствам и может быть использовано при разработке устройства сопряжения вычислительной машины с локальной сетью. Устройство содержит контроллер ввода/вывода, блок манчестерского кодирования, буферную память принимаемых и передаваемых собственных пакетов. С целью расширения области применения за счет обеспечения гарантированного времени доставки пакетов при увеличении протяженности локальной вычислительной сети в него дополнительно введены блок восстановления преамбулы, блок уничтожения коротких пакетов, блок управления и коммутаци и каналов, буферная память сетевых пакетов и триггер. 3 ил.
Рисунок 1, Рисунок 2, Рисунок 3
Формула изобретения
Устройство передачи данных и доступа к каналу для локальной вычислительной сети, содержащее контроллер ввода-вывода, блок манчестерского кодирования, буферную память принимаемых и передаваемых собственных пакетов, причем первый выход данных блока манчестерского кодирования подключен к выходу данных для передачи в сеть устройства, вход данных и вход признака конфликта в сети блока манчестерского кодирования подключены соответственно к одноименным входам устройства, отличающееся тем, что, с целью расширения области применения путем обеспечения гарантированного времени доставки пакетов при увеличении протяженности локальной вычислительной сети, оно содержит блок восстановления преамбулы, блок ликвидации коротких пакетов, буферную память сетевых пакетов, блок управления и коммутации каналов и триггер, причем второй выход данных блока манчестерского кодирования соединен с информационным входом блока восстановления преамбулы и первым информационным входом блока управления и коммутации пакетов, вход признака занятости сети которого соединен с одноименными входами блока восстановления преамбулы и блока ликвидации коротких пакетов, с входом сброса триггера и выходом признака занятости сети блока манчестерского кодирования, первый выход синхроимпульсов которого соединен с первыми входами синхронизации контроллера ввода-вывода и блока восстановления преамбулы, второй вход синхронизации которого соединен с одноименным входом контроллера ввода-вывода и вторым выходом синхроимпульсов блока манчестерского кодирования, выход признака конфликта в сети которого соединен с одноименным входом контроллера ввода-вывода, информационный вход и вход признака занятости сети которого соединены соответственно с одноименными выходами блока управления и коммутации каналов, выходы управления передачей и приемом которого соединены соответственно с одноименными входами блока манчестерского кодирования, выход блока восстановления преамбулы соединен с информационным входом буферной памяти сетевых пакетов и вторым информационным входом блока управления и коммутации каналов, выходы управления записью и считыванием которого соединены соответственно с одноименными входами буферной памяти сетевых пакетов, вход управления отключением выходов которого соединен с выходом блока ликвидации коротких пакетов, вход признака окончания передачи пакета которого соединен с одноименным выходом буферной памяти сетевых пакетов, выход признака загруженности которой соединен с одноименными входами блока ликвидации коротких пакетов и блока управления и коммутации каналов, третий информационный вход которого соединен с информационным выходом буферной памяти сетевых пакетов, входы управления передачей и приемом блока управления и коммутации пакетов соединены соответственно с одноименными выходами контроллера ввода-вывода, адресный и информационный входы-выходы которого соединены соответственно с одноименными выходами-входами буферной памяти принимаемых и передаваемых пакетов, вход управления записью которой соединен с установочным входом триггера и выходом управления записью контроллера ввода-вывода, выход управления считыванием которого соединен с одноименным входом буферной памяти принимаемых и передаваемых пакетов, выход триггера соединен с входом признака режима записи пакетов блока управления и коммутации каналов.Описание изобретения к патенту
Изобретение относится к вычислительным сетям и системам и может быть использовано для построения локальных вычислительных сетей шинной и кольцевой топологии. Известны устройства передачи данных и доступа к каналу (так называемые контроллеры локальной сети), отличающиеся топологией сетевого канала шинная топология, кольцевая, звездообразная и другие, а также способом доступа станции к каналу. Наличие проблемы доступа к каналу обусловлено тем, что в вычислительных сетях наиболее распространенных топологий кольцевой и шинной, с которыми связано и данное изобретение, сетевой канал является единой средой связи, по которой выполняют передачи все станции поочередно. Одновременный выход в канал двух и более станций вызывает искажение передач, так называемое состояние конфликта. Правила очередности занятия канала различными станциями и правила выхода из конфликта в случае его возникновения составляют существенно метода доступа к каналу. Метод доступа к каналу имеет решающее значение для эффективности работы сети и определяет такие параметры, как пропускная способность сети, перегрузочная способность и время доставки пакета по сети. Таким образом, касаясь разновидностей и типов локальных вычислительных сетей, можно сказать, что они различаются по двум основным признакам топологии и методу доступа к каналу. В настоящее время наибольшее распространение получили две топологии шинная и кольцевая, что подтверждается фактами принятия международных стандартов ISO по этим топологиям. А из методов доступа наиболее распространены множественный метод доступа [1] и маркерный метод доступа [2]Известны устройства передачи данных и доступа (в дальнейшем будем называть их контроллерами), реализующие указанные методы доступа и топологии. Например, контроллеры сетей ETHERNEТ [1] реализующие шинную топологию и множественный метод доступа и контроллеры сети ARCNET [3] реализующие кольцевую топологию и маркерный метод доступа. Однако известные устройства шинной топологии имеют малую протяженность сети. Длина сети по стандарту без специальных повторителей не более 500 м, а с использованием повторителей 2500 м. Кроме того, в сети шинной топологии затруднено использование оптоволоконного кабеля, что в настоящее время все чаще сужает область применения. В сети кольцевой топологии может быть достигнута значительно большая дальность до нескольких километров между соседними станциями и соответственно несколько десятков километров в целом по сети. Однако в то же время локальные вычислительные сети кольцевой топологии имеют существенный недостаток, а именно низкую живучесть, связанную с тем, что в сети такого типа пакет последовательно пересылается от станции к станции, подвергаясь ретрансляции и восстановлению на каждой станции. В результате при отказе одной или двух станций или обрыве сегмента, соединяющего соседние станции, вся сеть выходит из строя. В сети шинной топологии этого не происходит, так как отказы станций не влияют на функционирование сети в целом. Кроме того, кольцевые сети имеют худшее время доставки пакета, так как при прохождении пакета по сети происходит задержка ретрансляции на каждой станции, которая по мере увеличения числа пройденных станций естественно накапливается. В итоге для этих рассмотренных типов сетей вырисовываются две различные области применения. Сети шинной топологии это относительно короткие сети с большим числом абонентов, используемые для построения кустовой локальной сети внутри одного помещения или здания. Число возможных абонентов несколько сотен. Сети кольцевой топологии длинные, с малым количеством абонентов для соединения кустовых локальных сетей, т.е. помещений или зданий между собой в пределах территории предприятия. Количество абонентов несколько единиц или десятков. Практически это означает, что для построения на предприятии информационной сети необходимо использовать одновременно в рамках единой интегрированной сети как сети шинной топологии, так сети кольцевого типа. В имеющейся в настоящее время практике для построения сетей шинной и кольцевой топологии используют различные контроллеры с соответствующим различным программным обеспечением. Это требует двойных затрат на разработку аппаратного обеспечения, т. е. контроллеров, а также и программного обеспечения. Кроме того, увеличиваются эксплуатационные трудности и затраты при эксплуатации сетей различных архитектур. Из известных устройств наиболее близким к предложенному является устройство передачи данных и доступа (контроллер) для локальной сети шинной топологии с множественным доступом [3] Оно содержит контроллер ввода/вывода, блок манчестерского кодирования, буферную память принимаемых и передаваемых собственных пакетов, причем первый выход данных блока манчестерского кодирования подключен к выходу данных для передачи в сеть устройства, вход данных и выход признака конфликта в сети блока манчестерского кодирования подключены соответственно к одноименным входам устройства. Недостатком этого устройства является малая протяженность сети даже с использованием оптических повторителей не более 2,5 км, что сужает функциональные возможности сети такого типа и область применения. Целью изобретения является расширение области применения за счет обеспечения гарантированного времени доставки пакетов при увеличении протяженности локальной вычислительной сети. Для этого в устройство, содержащее контроллер ввода/вывода, блок манчестерского кодирования, буферную память принимаемых и передаваемых собственных пакетов, причем первый выход данных блока манчестерского кодирования подключен к выходу данных для передачи в сеть устройства, вход данных и вход признака конфликта в сети блока манчестерского кодирования подключены соответственно к одноименным входам устройства, введены блок восстановления преамбулы, блок ликвидации коротких пакетов, буферная память сетевых пакетов, блок управления и коммутации каналов и триггер, причем второй выход данных блока манчестерского кодирования соединен с информационным входом блока восстановления преамбулы и первым информационным входом блока управления и коммутации пакетов, вход признака занятости сети которого соединен с одноименными входами блока восстановления преамбулы и блока ликвидации коротких пакетов, с входом сброса триггера и выходом признака занятости сети блока манчестерского кодирования, первый выход синхроимпульсов которого соединен с первыми входами синхронизации контроллера ввода/вывода и блока восстановления преамбулы, второй вход синхронизации которого соединен с одноименным входом контроллера ввода/вывода и вторым выходом синхроимпульсов блока манчестерского кодирования, выход признака конфликта в сети которого соединен с одноименным входом контроллера ввода/вывода, информационный вход и вход признака занятости сети которого соединены соответственно с одноименными выходами блока управления и коммутации каналов, выходы управления передачей и приемом которого соединены соответственно с одноименными входами блока манчестерского кодирования, выход блока восстановления преамбулы соединен с информационным входом буферной памяти сетевых пакетов и вторым информационным входом блока управления и коммутации каналов, выходы управления записью и считыванием которого соединены соответственно с одноименными входами буферной памяти сетевых пакетов, вход управления отключением выходов которого соединен с выходом блока ликвидации коротких пакетов, вход признака окончания передачи пакета которого соединен с одноименным выходом буферной памяти сетевых пакетов, выход признака загруженности которой соединен с одноименными входами блока ликвидации коротких пакетов и блока управления и коммутации каналов, третий информационный вход которого соединен с информационным выходом буферной памяти сетевых пакетов, входы управления передачей и приемом блока управления и коммутации пакетов соединены соответственно с одноименными выходами контроллера ввода/вывода, адресный и информационный входы выходы которого соединены соответственно с одноименными выходами-входами буферной памяти принимаемых и передаваемых пакетов, вход управления записью которой соединен с установочным входом триггера и выходом управления записью контроллера ввода/вывода, выход управления считыванием которого соединен с одноименным входом буферной памяти принимаемых и передаваемых пакетов, выход триггера соединен с входом признака режима записи пакетов блока управления и коммутации каналов. На фиг. 1 показана общая схема устройства; на фиг.2 пример реализации блока восстановления преамбулы; на фиг.3 пример реализации блока ликвидации коротких пакетов. Устройство содержит контроллер пакетов ввода/вывода 1, блок манчестерского кодирования 2, блок восстановления преамбулы 3, буферную память сетевых пакетов 4, блок ликвидации коротких пакетов 5, блок управления и коммутации каналов 6, буферную память принимаемых и передаваемых собственных пакетов 7, триггер 8. На фиг.1 показаны также части, не входящие непосредственно в устройство, а показывающие его сопряжение с вычислительной сетью в кольцевом режиме, приемопередатчик входящего канала 10 и исходящего канала 11, входящий кабельный сегмент 12 и исходящий 13. Блок восстановления преамбулы (см. фиг.2) содержит схему определения конца преамбулы 15, двупортовую одноразрядную буферную память 16, генератор искусственной преамбулы 17, счетчик битов 18, мультиплексор 19. Блок ликвидации коротких пакетов (см. фиг.3) содержит одновибратор, настроенный на длину короткого пакета 20, сдвиговый регистр признаков длины пакета 21, счетчик количества пакетов в буфере 22 и мультиплексор 23. Передача информации по сети шинной топологии производится в виде пакетов, имеющих следующий формат. В начале пакета передается специальная синхронизирующая последовательность, называемая преамбулой и представляющая собой чередующуюся последовательность "0" и "1" длиной 64 бита, далее идут адреса станции назначения пакета и станции отправления, поле типа пакета, поле передаваемой информации и последним идет код циклического контроля. Опишем теперь узлы, входящие в устройство. Контроллер ввода/вывода выполняет следующие функции:
параллельно-последовательное преобразование байтов принимаемых и передаваемых пакетов;
генерация преамбулы при передаче и уничтожение при приеме;
распознавание адреса принимаемого пакета;
подсчет и анализ кода циклического контроля;
выполнение процедур доступа к каналу на основе анализа состояния канала: "свободно", "занято", "конфликт";
выполнение алгоритма преодоления конфликта при попадании станции в конфликт. Блок манчестерского кодирования 2 выполняет манчестерское кодирование последовательного потока информации, передаваемого с контроллера ввода/вывода в вычислительную сеть и декодирование поступающей из сети в контроллер ввода/вывода информации, а также транслирует сигналы состояния сети CRS-"занято" и COL-"коллизия". Блок восстановления преамбулы приходящего пакета 3 восстанавливает номинальную длину преамбулы 64 бита. Дело в том, что во время манчестерского декодирования поступающего из входящего канала пакета при вхождении манчестерского кодека в синхронизм теряется 5-7 первых битов преамбулы. Поскольку при работе в кольцевой сети пакет может последовательно проходить все станции сети, подвергаясь при этом многократному декодированию, то необходимо принять меры, исключающие потери битов преамбулы при прохождении пакета через станцию, так как в противном случае при прохождении через 7-8 станций преамбула будет полностью потеряна. Принцип работы блока восстановления преамбулы известен и может быть пояснен с помощью фиг.2. При поступлении на приемные цепи Rx+Rx-блока 2 первого бита преамбулы приходящего пакета кодек выставляет сигнал CRS начало приема. После получения этого сигнала блок восстановления преамбулы начинает с помощью генератора искусственной преамбулы 17 генерировать по сигналу синхронизации ТхС искусственную преамбулу, формат которой известен 8 байтов чередующихся "1" и "0" с заменой в последнем байте последнего "0" на "1". Так как преамбула заканчивается кодом "11", который собственно и является признаком окончания преамбулы и начала содержательной части пакета (адреса получателя пакета). Параллельно с передачей искусственной преамбулы блок восстановления с помощью схемы определения конца преамбулы 15 анализирует "естественную" укороченную преамбулу, приходящую по цепи приема RxD на предмет ее окончания по признаку "11" и начала содержательной информации. Приходящая после окончания преамбулы (после поступления "11") содержательная информация записывается в последовательном коде в одноразрядный буфер 16. Окончание передачи искусственной преамбулы определяется путем подсчета битов преамбулы счетчиком 18, после чего мультиплексор 19 переключается на передачу в цепь RxDP содержательной информации временно до окончания передачи искусственной преамбулы, записанной в двупортовую буферную память 16. Таким образом весь пакет последовательно проходит через двупортовую буферную память 16. При этом с помощью приемной тактовой последовательности RxC принимаемый пакет записывается в буфер 16, а с помощью передающей тактовой последовательности TxC читается и через мультиплексор 19 выдается из блока восстановления преамбулы далее на передачу или в буферную память сетевых пакетов 4. Буферная память сетевых пакетов 4 имеет известный метод организации по принципу "первый вошел первый вышел" FIFO, который реализован, например, в микросхеме КМ536ИР2. В буферную память 4 по сигналу FIFO IN заносятся биты принимаемого пакета, поступающие по цепи RxDP, а по сигналу FIFO OUT биты, находящиеся в буфере пакетов, выдаются на выход TxDF. Сигнал FRDY возникает при наличии информации в буфере. Емкость буфера должна обеспечивать прием 2-3-х пакетов. Так для сети по спецификации Ethernet, имеющей максимальную длину пакетов 1500 байт, емкость буфера должна быть 4-6 Кбайт. Блок ликвидации коротких пакетов 5 предназначен для удаления из сети паразитных пакетов, состоящих из преамбулы и адреса получателя, которые возникают в кольцевой сети при приеме станцией пакета. Дело в том, что заголовок любого пакета, приходящего на станцию, начинает одновременно ретранслироваться в исходящий канал и приниматься собственным контроллером ввода/вывода 1 для определения адреса этого пакета. Контроллер ввода/вывода дешифрирует адрес получателя, который следует непосредственно за преамбулой и в том случае, если пакет не предназначен данной станции, отвергает пакет и не вмешивается в процесс его ретрансляции в исходящий канал. Если пакет предназначается данной станции, то контроллер ввода/вывода после дешифрации адреса начинает принимать поступающий пакет и одновременно прерывает ретрансляцию. В результате начальная часть пакета, содержащая преамбулу и адрес получателя, уходит в исходящий канал и будет ретранслироваться далее по сети. Эта ситуация типична для сетей кольцевой топологии, и в этом случае обычно принимаются меры для удаления таких паразитных пакетов из сети. Как правило, они определяются по признаку длины. На фиг. 3 показана принципиальная схема блока ликвидации коротких пакетов, а выше перечислены входящие в блок узлы. Его работа происходит следующим образом. На блок ликвидации коротких пакетов 5 подается сигнал наличия приема из входящего канала CRS, длительность которого точно соответствует длине пакета. По длительности сигнала CRS блок ликвидации 5 при записи в буферную память сетевых пакетов 4 отличает короткие пакеты. Затем при выдаче пакетов этот признак используется для того, чтобы с помощью сигнала OUT EN отключить выход буферной памяти 4, а время выгрузки из буфера короткого пакета. Таким образом блок ликвидации коротких пакетов работает совместно с буфером 4. Итак, при поступлении пакета на входные цепи манчестерского кодека возникает сигнал CRS, который передним фронтом запускает одновибратор 20, настроенный на длительность короткого пакета. В качестве примера скажем, что в спецификации Ethernet преамбула и адрес получателя составляют 20 байтов, что при скорости передачи 10 Мбит/с составляет длительность приема короткого пакета 16 мкс. Таким образом длительность короткого пакета можно принять 20-25 мкс. По окончании приема пакета сигнал CRS сбрасывается и задним фронтом этого сигнала в сдвиговый регистр 2 заносится состояние на этот момент выхода одновибратора 1. Если длительность приема пакета составит меньше импульса одновибратора, то в сдвиговый регистр 2 запишется признак короткого пакета, например "1". В противоположном случае соответственно "0". Очевидно, что в сдвиговый регистр будут записаны признаки всех пакетов, содержащихся в буферной памяти сетевых пакетов 4. Реверсивный счетчик 22, отсчитывающий единицу вперед по заднему фронту CRS и единицу назад по сигналу окончания передачи из буфера 4 очередного пакета END PAK будет содержать номер пакета, подлежащего в данный момент передаче. Выходы этого счетчика, поданные на управляющие входы мультиплексора 23, будут настраивать мультиплексор на выдачу со сдвигового регистра признака длины соответствующего пакета, а выход мультиплексора FIFO DATA ENABLE будет уже запрещать выведение в канал из буферной памяти 4 коротких паразитных пакетов и разрешать выведение пакетов нормальной длины. Блок управления и коммутации каналов 6 (БУКК) представляет собой логическую схему, физически реализованную в виде программируемой логической матрицы ПАЛ, которая направляет потоки принимаемых и передаваемых данных в соответствующие узлы устройства в зависимости от режима работы и вырабатывает необходимые для реализации этих режимов сигналы управления. Внутренняя структура и функционирование БУКК может быть строго задана с помощью логических уравнений, связывающих входные и выходные сигналы. Дадим определение входных и выходных сигналов. Входные сигналы:
MOD переключение режима работы контроллера: в кольцевой сети или в шинной сети;
FRDY буферная память сетевых пакетов 4 содержит пакет;
TxDF передаваемые данные с буферной памяти 4;
RxDP принятые данные с блока восстановления преамбулы;
CRSI сигнал наличия приема из входящего канала, поступающий от манчестерского кодека;
RxD принимаемые данные с манчестерского кодека;
TxE включение манчестерского кодека на передачу;
ADDR сигнал записи байтов в буферную память принимаемых и передаваемых собственных пакетов 6;
TxDC передаваемые данные из контроллера ввода/вывода 1. Выходные сигналы:
FIFO OUT сигнал выгрузки пакетов из буферной памяти 4;
FIFOIN сигнал записи принимаемого пакета в буферную память 4;
RxD принимаемые данные для контроллера ввода/вывода 1;
CRSO сигнал занятого состояния канала для контроллера ввода/вывода 1;
TxEC сигнал включения манчестерского кодека на передачу;
TxD передаваемые данные для манчестерского кодека 2. Внутренняя организация блока 6 однозначно определяется логическими уравнениями. Однако прежде чем их приводить, целесообразно определить основные функции, выполняемые устройством, которые за счет переключения каналов должен обеспечивать БУКК. Прежде всего сигнал MOD обеспечивает настройку на шинную, либо кольцевую топологию сети. При шинной топологии блок 6 обеспечивает один стандартный для метода CSMA/CD режим работы устройства, который достигается стандартным соединением манчестерского кодека 2 и контроллера ввода/вывода 1, которое показано в [3] В этом случае цепи манчестерского кодека 2 RxD, TxD, CRS, TxC, RxC, COL, TEN соединяются с одноименными цепями контроллера ввода/вывода 1, который реализует необходимые протокольные функции метода доступа CSMA/CD. В режиме кольцевой топологии информационные пакеты передаются соответствующему получателю путем последовательной передачи от станции к станции. Находящиеся в кольце станции анализируют адреса назначения всех приходящих из входного канала пакетов. Если станция обнаруживает, что пакет "чужой", то он ретранслируется далее в исходящий канал, а если пакет предназначен для данной станции, то пакет принимается, а ретрансляция прекращается. В связи с этим для работы в кольцевом режиме предлагаемое устройство должно обеспечивать функции ретрансляции пакетов и прекращения ретрансляции после распознавания "своего" адреса пакета. Попутно здесь возникают две проблемы. Первая это восстановление преамбулы, которая связана с тем, что при манчестерском декодировании пакета кодеком 2 начальные биты преамбулы теряются, а в исходящий канал необходимо передавать пакет в исходном неиспорченном виде. И вторая проблема это уничтожение коротких пакетов, которые возникают при приеме "своего" пакета и прекращении ретрансляции. Ретрансляция прекращается в этом случае после дешифрации адреса пакета, а это означает, что часть пакета будет передана в исходящий канал и будет далее циркулировать по кольцу, если этот паразитный пакет не уничтожить. При выполнении передачи в режиме кольцевой топологии существует также проблема доступа к каналу. В изобретении применен известный алгоритм "вставка регистра" [4] используемый в сетях кольцевой топологии, сущность которого состоит в следующем. Станции контролируют наличие приема из входящего канала и могут начать передачу при его отсутствии. Передача ведется в исходящий канал. Это единственное условие для определения возможности канала передачи. После начала собственной передачи, очевидно, в любое время может начаться прием из входящего канала. Поскольку в этот момент ни собственный прием, ни ретрансляция вновь прибывающего пакета невозможны, то его необходимо запомнить в буферной памяти сетевых пакетов типа FIFO. Пакетов может прибыть несколько и все их необходимо запомнить. После окончания собственной передачи помещенные в буферную память пакеты подаются на вход собственного контроллера ввода/вывода для анализа их принадлежности данной станции и приема в случае необходимости, а также передаются в исходящий канал для дальнейшей ретрансляции. Средством для предотвращения взаимного наложения передач и конфликтов в канале являются буферные памяти, имеющиеся на каждой станции. Эти буферные памяти удобно использовать и для уничтожения коротких паразитных пакетов, возникающих при ретрансляции. Таким образом теперь можно сформулировать функции, которые выполняет устройство в режиме кольцевой топологии:
1) прием и дешифрация адреса пакета;
2) ретрансляция пакета;
3) восстановление преамбулы при ретрансляции;
4) буферизация приходящих пакетов во время собственной передачи;
5) обнаружение и уничтожение "коротких" пакетов;
6) определение наличия приема из входного канала. Функции 1 и 6 являются общими для режимов как шинной, так и кольцевой топологии, а функции 2-5 специфические для режима кольцевой топологии. Для выполнения дополнительных функций, присущих кольцевому режиму, предлагаемое устройство выполняет коммутацию каналов принимаемых и передаваемых данных, реализует управление буферной памятью сетевых пакетов типа FIFO, а также при необходимости прерывает процесс ретрансляции. Коммутация каналов принимаемых данных должна обеспечивать поступление информации на цепь принимаемых данных RxD контроллера ввода/вывода 1 с кодека 2 или с блока восстановления преамбулы 3, или с буферной памяти сетевых пакетов 4. Коммутация каналов передаваемых данных должна обеспечивать поступление информации на цепь передаваемых данных TxDM манчестерского кодека 2;
с контроллера ввода/вывода 1 или с блока восстановления преамбулы 3 или с буферной памяти 4. Цепи управления должны обеспечивать:
загрузку пакета в буферную память 4 (сигнал FIFO IN);
выгрузку пакета из буферной памяти 4 (сигнал FIFO OUT);
включение/выключение передатчика манчестерского кодека, в частности прерывание трансляции (сигнал TxEC) при приеме собственного пакета. Коммутация каналов и выработка управляющих сигналов, необходимых для реализации перечисленных функций в режиме кольцевой топологии, выполняется блоком управления и коммутации каналов, который может быть реализован в виде программируемой логической матрицы (ПАЛ). Функционирование блока управления и коммутации каналов 6 таким образом может быть однозначно определено логическими уравнениями, которые связывают значения сигналов на входе ПАЛ со значениями сигналов на выходе. Рассмотрим сначала коммутацию цепей принимаемых и передаваемых данных между манчестерским кодеком и контроллером ввода/вывода. В режиме шинной топологии цепи принимаемых и передаваемых данных этих устройств соединяются стандартным образом, а именно цепи одноименных сигналов соединяются между собой. Режиму шинной топологии придадим прямое значение сигнала MOD. В режиме кольцевой топологии () принимаемые данные идут с манчестерского кодека, т.е. принимают значение RxDM при пустой буферной памяти 4 (FRDY,) и поступают с буферной памяти 4, т.е. принимают значение TxDF в противоположном случае. Сказанное выше может быть выражено следующим логическим уравнением:
RxD RxDM . + MOD . (RxDM x + TxDF . FRDY) (1)
Передаваемые данные в режиме кольцевой топологии могут поступать на манчестерский кодек 2 с контроллера ввода/вывода при собственной передаче станции (TxD), с блока восстановления преамбулы при ретрансляции (RxDP) и с буферной памяти 4 при наличии в ней пакетов (TxDF). Условия коммутации канала передаваемых данных выражаются логическим уравнением:
TxDM TxD . MOD+ . (RxDP . +TxD TxE+TxDF FRDY ) (2)
Определим теперь логические уравнения для сигналов управления. Загрузка поступающего пакета в буферную память 4 должна производиться в том случае, если в данный момент имеет место собственная передача или передача из буферной памяти 4:
FIFO IN CRSM . TxE + CRSH . FRDY (3)
Выгрузка пакетов из буферной памяти 4 при отсутствии собственной передачи и при наличии пакетов в буферной памяти
FIFO OUT FRDY . (4)
Управление передачей в исходящий канал, т.е. сигналом TxEC, должно соответствовать следующим условиям:
соответствие TxE при собственной передаче;
в режиме ретрансляции включение передатчика в начале ретрансляции до момента распознавания собственного адреса;
выключение ретрансляции, если пакет "свой". Принадлежность пакета определяется по сигналу ADDR записи в буфер поступающих пакетов 7. Если пакет "чужой", то сигнал записи не возникает и передатчик манчестерского кодека остается включенным до момента окончания ретрансляции. Ретранслируемый пакет может поступать с блока восстановления преамбулы 3 или из буферной памяти 4. Таким образом логическое уравнение включения передатчика манчестерского кодека имеет вид:
TxEC TxE . MOD + (TxE + x
x (CRSM . + FRDY . ADDR)
(5)
Сигнал занятого состояния канала CRSO, поступающий на контроллер ввода/вывода в режиме шинной топологии, соединяется с соответствующим выходом манчестерского кодека, а в режиме кольцевой топологии должен еще сигнализировать о наличии передачи из буферной памяти. В результате логическое уравнение можно записать в виде:
CRSO CRSM . MOD + (CRSM + FRDY) (6)
Буферная память принимаемых и передаваемых собственных пакетов 7 предназначена для промежуточного хранения принимаемых из сети и передаваемых в сеть пакетов, имеет байтовую организацию и емкость, достаточную для хранения от 2 до 4 принимаемых пакетов и одного, двух передаваемых пакетов. Триггер 8 приема собственного пакета предназначен для хранения признака приема станцией адресованного ей пакета. Он вводится импульсом записи в память 7 первого байта и сбрасывается задним фронтом сигнала CRSM, который сигнализирует об окончании приема пакета. Приемопередатчики 10 и 11 в состав устройства не входят и показаны для иллюстрации включения устройства в сеть кольцевой топологии. Приемопередатчики для сетей шинной топологии с методом доступа CSMA/CD типа Ethernet содержат приемопередающие усилители, схему обнаружения коллизии в канале. В режиме шинной топологии используется один приемопередатчик, подключаемый к предлагаемому устройству стандартом. Сопряжение контроллера ввода/вывода 1 с компьютером осуществляется через системный компьютерный интерфейс известным образом с использованием буферной памяти принимаемых и передаваемых пакетов 7. На фиг.1 показано подключение устройства к сети кольцевой топологии, и в данном случае необходимы два приемопередатчика. Приемопередатчики те же, что для режима шинной топологии. Отличий нет. Один предназначен для подключения входящего канала и соединен с манчестерским кодеком цепями Rx, а другой приемопередатчик используется для сопряжения с исходящим каналом и связан с манчестерским кодеком передающими цепями Tx. Работа устройства в целом производится следующим образом. Если устройство используется в режиме шинной топологии, то переключатель режима устанавливается в положение MOD=1 и блок управления и коммутации каналов принимает состояние, в котором обеспечивается соединение контроллера ввода/вывода 1 и манчестерского кодека 2 стандартным для метода CSMA/CD способом. Этот способ соединения и работа устройства в таком режиме подробно описаны в [3] Применительно к предлагаемому устройству это сводится к тому, что блок восстановления преамбулы 3, буферная память сетевых пакетов 4 и блок уничтожения коротких пакетов исключаются из работы и функционирование устройства осуществляется полностью по известному протоколу CSMA/CD. Суть его коротко сводится к следующему. Все станции через приемопередатчики параллельно подключены к единому шинному каналу, при этом каждая станция непрерывно контролирует три состояния канала: "занято", "свободно", "конфликт". Для выполнения передачи станция дожидается состояния "свободно" и занимает канал для передачи. Если канал занимает одна станция, то она благополучно завершает передачу. Если же в канал одновременно выходят две и более станций, то возникает состояние "конфликт", которое определяется приемопередатчиками и доводится до сведения контроллера. Попав в конфликт, станции прекращают передачу и начинают отсчет случайных интервалов времени, по истечении которых повторяют попытку выхода в канал. Если интервалы задержки передачи оказываются разными у конфликтующих станций, то станция, отсчитавшая меньший интервал, занимает канал благополучно выполняет передачу. Если интервалы оказываются одинаковыми, то конфликт повторяется и повторяется та же процедура выхода из конфликта, пока конфликт не будет преодолен. Рассмотренные выше процедуры алгоритма управления доступа к каналу выполняет контроллер ввода/вывода 1 при стандартном соединении с кодеком 2 и со- ответствующим подсоединением приемопередатчика (трансивера). В режиме кольцевой топологии устройство включается (см. фиг.1) с помощью двух трансиверов. Трансивера входящего канала 10 и трансивера исходящего канала 11, которые соединены через разъем с манчестерским кодеком 2 цепями принимаемых данных Rx+ и Rx- и цепями передаваемых данных Tx+ и Tx- соответственно. Таким образом манчестеpский кодек 2 принимает данные только из входящего канала и передает данные только в исходящий канал. Работа устройства в режиме кольцевой топологии производится следующим образом. Прежде всего для упорядочения описания в работе устройства необходимо выделить следующие операции:
доступ станции к каналу для выполнения передачи пакета;
передача пакета по сети;
предотвращение конфликтных ситуаций в сети. Доступ станции к каналу при кольцевой топологии выполняется на основании анализа состояния канала "занято", "свободно", так же, как и в алгоритме Ethernet с помощью контроллера ввода/вывода 1, который и выполняет этот алгоритм. Отличие в данном случае состоит в том, что алгоритм Ethernet предусматривает также процедуру выхода станций из конфликтной ситуации, т.е. дополнительно выполняется еще процедура выхода станций в канал после возникновения конфликта. При кольцевой топологии конфликт не возникает (за счет введения буферных памятей сетевых пакетов 4 на каждой станции) и таким образом можно сказать, что в контроллере ввода/вывода в этом случае используется только основная часть процедуры доступа, не связанная с конфликтом. Цепь обнаружения коллизии COL имеет вспомогательное значение и может использоваться для определения неисправностей исходящего кабельного сегмента. Известно, что при попытке выполнения передачи в кабельную сеть, выполненную по стандарту Ethernet, в случае обрыва или рассогласования кабеля возникает сигнал коллизии. Таким образом в случае подсоединения цепей коллизии CD+ и СD- к исходящему трансиверу 12, как показано на фиг.1, будет дополнительно выполняться контроль исправности исходящего кабельного сегмента. Более подробно процедура доступа в режиме кольцевой топологии выглядит следующим образом. Канал "занят" и по нему невозможно начать передачу в том случае если:
идет прием пакета из входящего канала, который либо принимается данным контроллером, либо ретранслируется дальше в исходящий канал;
идет передача пакета из буферной памяти сетевых пакетов 4. При этом пакет либо принимается собственным контроллером ввода/вывода, если он предназначен данной станции, либо ретранслируется дальше по сети. Сообщение о состоянии канала ("занято", "свободно") контроллер ввода/вывода получает по сигналу CRSO, значение которого определяется логическим уравнением (6), которое и отражает перечисленные выше условия. Решение о начале передачи по значению сигнала CRSO принимает контроллер ввода/вывода 1, так как это совпадает с условием захвата канала в алгоритме CSMA/CD (Ethernet). Сигнал COL-коллизии в канале при кольцевой топологии используется для контроля исправностей исходящего канала. Так как свои исходящие каналы контролируют все станции, то под контролем оказывается вся сеть. Таким образом, доступ к каналу в режиме кольцевой топологии определяется только значением сигнала CRSO, поступающим на контроллер ввода/вывода 1, который далее выполняет процедуры доступа к каналу в соответствии с алгоритмом CSMA/CD (Ethernet). Получив доступ к каналу по значению сигнала CRSO-"свободно", контроллер ввода/вывода начинает выполнять собственную передачу. Начало передачи контроллер ввода/вывода 1 инициализирует сигналом TxE (TRANSMIT ENABLE). Получив сигнал TxE, блок управления и коммутации 6 соединяет цепь передаваемых данных контроллера ввода/вывода TxD с цепью передаваемых данных TxDM манчестерского кодека 2, а цепь TxE с цепью инициализации манчестерского кодека TxEC. Начинается передача пакета в формате Ethernet (ISO 8 802.3). Формат пакета Ethernet имеет следующие поля: преамбула 8 байт, адрес приемника 6 байт, адрес передающей станции 6 байт, поле управляющей информации 2 байта, поле передаваемого информационного массива до 1500 байт, контрольная последовательность 4 байта. В режиме кольцевой топологии устройство (см. фиг.1) подключается к двум приемопередатчикам: принимающему 10 и передающему 11. При собственной передаче передаваемые данные с контроллера ввода/вывода проходят через блок управления и коммутации 6, манчестерский кодек 2 на передающий трансивер 11 и далее в исходящий кабельный сегмент, который связан с входным приемопередатчиком следующей станции. Таким образом передача пакета производится по кольцу в одном направлении. На каждой станции пакет принимается с помощью входного приемопередатчика и подается на манчестерский кодек 2, а с выхода манчестерского кодека по цепи RxDM подается на блок восстановления преамбулы 3 и контроллер ввода/вывода 1 через блок управления и коммутации 6. Если в данный момент станция не выполняет собственную передачу и буферная память сетевых пакетов 4 пуста, то контроллер ввода/вывода 1 начинает прием заголовка пакета, а с блока восстановления преамбулы 3 начинается ретрансляция принимаемого пакета в исходящий канал на следующую станцию. Контроллер ввода-вывода 1, приняв адрес приемника, находящийся в заголовке пакета, устанавливает принадлежность пакета данной станции. Если пакет "свой", то контроллер ввода/вывода 1 начинает прием пакета в буферную память 7 приходящих пакетов, о чем свидетельствует появление сигнала записи в память MWR. Ретрансляция пакета в следующую станцию при этом прекращается. Сигнал MWR, поступает на триггер 8, взводит его, образуя сигнал адреса "своего" пакета ADDR. При появлении сигнала ADDR блок управления и коммутации
6 выключает передатчик манчестерского кодека 2 путем снятия сигнала TxEC, прерывая таким образом ретрансляцию пакета. При этом в следующую станцию и далее по сети ретранслируется начальная часть заголовка пакета, включающая преамбулу и адрес приемника. Этот укороченный пакет далее уничтожается с помощью схемы уничтожения коротких пакетов 5 и буферной памяти 4. Если же после приема станцией адреса пакета оказывается, что пакет не предназначается данной станции ("чужой"), то контроллер ввода/вывода прекращает прием, а станция продолжает ретрансляцию пакета в следующую станцию и далее до той станции, которой он предназначен и которая его примет. Таким образом пакет передается от станции отправителя до станции назначения путем последовательной ретрансляции через промежуточные станции. При выполнении станцией собственной передачи может начаться прием пакета от предыдущей станции, т.е. может возникнуть ситуация, сходная с той, которая происходит при одновременном выходе станций в канал в режиме шинной топологии при методе доступа CSMA/CD (Ethernet). В методе CSMA/CD в этом случае вступает в действие алгоритм преодоления конфликта, описанный выше. В устройстве возможная конфликтная ситуация предотвращается за счет введения в устройство буферной памяти сетевых пакетов типа FIFO для хранения нескольких пакетов. Таким образом, в общем виде процедура предотвращения конфликтов между передаваемыми и принимаемыми пакетами выглядит следующим образом. Если в данный момент станция занята собственной передачей и не может выполнить ни приема пакета, ни ретрансляции, то поступающий пакет временно заносится в буферную память 4. После завершения собственной передачи контроллером ввода/вывода 1 и освобождения исходящего канала начинают передаваться пакеты, пришедшие из входного канала и хранящиеся в буферной памяти. Если в буфере 4 накопилось несколько пакетов, то они с межпакетным промежутком выдаются из буфера. При этом они поступают через блок управления и коммутации 6 на вход контроллера ввода/вывода 1 для приема и на вход передатчика манчестерского кодека 2 для ретрансляции. Контроллер ввода/вывода 1 и манчестерский кодек 2 функционируют в этом случае так же, как и при приеме непосредственно из линии, а именно контроллер ввода/вывода 1 принимает заголовок пакета и дешифрирует адрес пакета. Если пакет "свой", то контроллер ввода/вывода начинает принимать пакет в буферную память 7 и дает сигнал на прерывание ретрансляции. Если пакет "чужой", то контроллер ввода/вывода пакет игнорирует и продолжается дальнейшая ретрансляция пакета. Буферная память 4 при этом не освобождает исходящий канал для контроллера ввода/вывода, пока все пакеты, находящиеся в буферной памяти не будут переданы (см. уравнение 6). Таким образом основным средством предотвращения конфликтных ситуаций из-за столкновения одновременных передач различных станций являются буферные памяти объемом, необходимым для хранения 2-3 пакетов, введенные в состав каждой станции. Прием станцией "своего" пакета, сопровождается возникновением короткого "паразитного" пакета, который будет ретранслироваться через последующие станции и дойдет до станции, ведущей передачу данного пакета. Эта станция загрузит его в свою буферную память сетевых пакетов 4 до окончания передачи. При загрузке в буферную память этот пакет схемой уничтожения коротких пакетов будет отменен как короткий. После окончания собственной передачи короткий пакет из буферной памяти будет выгружен, однако передача его на входы контроллера ввода/вывода 1 и манчестерского кодека 2 будет запрещена. В результате этот пакет будет уничтожен. При передаче пакета по сети от станции отправления до станции назначения на каждой станции производится переприем и ретрансляция пакета с полным восстановлением синхронизации, что выполняется с помощью манчестерского кодека. Однако манчестерский кодек при входе в синхронизацию может потерять несколько начальных битов преамбулы. Восстановление преамбулы производится с помощью известной схемы восстановления преамбулы 3, которая дополняет потерянные биты преамбулы и обеспечивает сохранение целостного пакета. Пример схемы блока восстановления преамбулы приведен на фиг.2.
Класс G06F13/00 Соединение запоминающих устройств, устройств ввода-вывода или устройств центрального процессора или передача информации или других сигналов между этими устройствами