Станция ЛВС с маркерным доступом на структуре шина

СОДЕРЖАНИЕ

Введение

1. Описание принципов функционирования ЛВС с маркерным доступом

1.1 Принцип работы ЛВС с МД на структуре шина

1.2 Тип и форматы кадров

1.3 Тайм-ауты

2. Описание микропроцессорного комплекта PIC16C64

2.1 Описание команд PIC16C64

3. Описание структурной схемы станции ЛВС

4. Описание принципиальной схемы станции ЛВС

5. Описание граф-схемы режима работы ЛЛС

6. Расчет эффективности работы станции

6.1 МД при произвольном расположении узлов на структуре шина

6.2 ИМД при произвольном расположении узлов на структуре шина

6.3 Сравнение МД и ИМД на структуре шина

Заключение

Библиографический список

Приложение 1

Приложение 2

СПИСОК СОКРАЩЕНИЙ

ЛВС - локальная вычислительная сеть;

УДС - подуровень управления доступом к среде;

УЛС - подуровень управления логической связью;

МД - маркерный доступ;

ИМД - интервально-маркерный доступ;

КД - кадр данных;

КМ - кадр маркера;

КП - кадр прерывания;

ПБД - протокольный блок данных;

IEEE - Институт инженеров по электротехнике и радиоэлетроннике;

МК - микроконтроллер;

ЦП - центральный процессор;

ПЗУ - постоянное запоминающее устройство;

ОЗУ - оперативное запоминающее устройство;

ЛЛС - ликвидация логического соединения.

ВВЕДЕНИЕ

Целью данного курсового проекта является:

    разработка структурной и принципиальной схемы станции локальной вычислительной сети (ЛВС), удовлетворяющей требованиям, изложенным в техническом задании;

    разработка граф схемы алгоритма работы станции в режиме ликвидации логического соединения;

    написание программы в командах микропроцессорного комплекта серии PIC16C64;

    изучение этой серии;

    анализ эффективности работы станции.

    ОПИСАНИЕ ПРИНЦИПОВ ФУНКЦИОНИРОВАНИЯ ЛВС С МД

1.1 Принципы работы ЛВС с МД на структуре шина

При использовании маркерного доступа на структурной организации шина для обеспечения доступа станций к физической среде передачи необходимо передавать кадр маркера определенного формата /1/. Передача маркера от одной станции к другой должна происходить в заданной последовательности. В стандарте 802.4 принята циклическая последовательность передачи маркера в порядке убывания адресов, когда станция с более старшим адресом передает маркер станции с более младшим адресом, а станция с самым младшим адресом передает маркер станции с самым старшим адресом. Циркуляция кадра маркера образует так называемое логическое кольцо физической шины (рис.1.1).

При этом последовательность расположения станций в логическом кольце может не соответствовать последовательности их физического размещения на шине.

Рис. 1.1. Логическое кольцо физической шины

Станции, не входящие в логическое кольцо, не могут инициализировать передачу данных и не могут передавать кадр маркера, но могут принимать кадры от других станций, могут отвечать на запросы от других станций и включаться в логическое кольцо при получении соответствующего разрешения.

В данной структурной организации нет станции-монитора, которая управляла бы работой логического кольца. Эти функции выполняет та станция, которая в данный момент является держателем маркера, т.е. получила кадр маркера и временно удерживает его у себя.

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

Для различных управляющих кадров ответ может придти в 1, 2, 3 или 4 окне. Длительность окна ответа равна интервалу ответа.

1.2 Тип и форматы кадров

Информация, передаваемая на уровне УДС, должна передаваться в виде кадров и заполнителей.

В данной структурной организации используются КД, КМ и КП, форматы которых представлены на рис.1.2. При этом приняты следующие обозначения: НО - начальный ограничитель; УК - указатель кадра; АП - адрес получателя; АО - адрес отправителя; КПК – контрольная последовательность кадра; КО - конечный ограничитель.

Сфера КПК



Преам

була

НО

УК

АП

АО

Данные

КПК

КО

КД


Преам

була

НО

Данные

КПК

КО

КМ

АП

АО


НО

КО

КП


Рис.1.2. Форматы кадров протокола УДС

Все рассматриваемые кадры передаются, начиная с левого поля. В кадре данных число байтов (октав) между полями НО и КО не должно быть более 8181 байт.

Преамбула предшествует каждому передаваемому КД и КМ. Преамбула используется только в сетях, не имеющих постоянной битовой синхронизации. Длина преамбулы зависит от применяемой скорости передачи данных и используемого метода модуляции сигналов и составляет от одного до нескольких байт символов-заполнителей. Преамбула обеспечивает битовую синхронизацию станции-приемника. Она обеспечивает минимально необходимый межкадровый промежуток времени для завершения обработки станций ранее переданного кадра. Длительность преамбулы должна быть не менее 2 мкс.

Поле НО - это комбинация символов NN0NN000, где N - символ "не данные".

Необходимо отметить следующее. В протоколе УДС используются следующие символы: 0 - нуль; 1 - единица; N - "не данные"; p - заполнитель; S - молчание; В - искаженный сигнал.

Поле УК кодируется в зависимости от передаваемого КД. При этом различают кадры управления УДС, кадры данных и кадры специального назначения.

В кадре "Управление УДС" поле УК кодируется следующим образом: (табл. 1.1). Режимы работы рассматриваются ниже.

Таблица 1.1

Кадры "Управление УДС"

Название кадра

Код

Режим работы сети

    Заявка маркера

    Запрос преемника 1

    Запрос преемника 2

    Кто следующий

    Разрешение соперничества

    Кадр маркера

    Установить преемника

0000 0000

0000 0001

0000 0010

0000 0011

0000 0100

0000 1000

0000 1100

Инициализация логического кольца

Логическое подключение станции

Логическое подключение станции

Или восстановление после ошибок

Восстановление после ошибок

Логическое подключение станции

Нормальное функционирование

Логическое подключение станции и восстановление после ошибок

Кадр "Заявка маркера" используется станциями для установления той станции, которая будет инициализировать логическое кольцо, т.е. будет генерировать маркер. Этот кадр содержит поле данных произвольной длины, которая должна быть кратна байту и равняться 0, 2, 4 или 6 интервалов ответа.

Кадр "Запрос преемника 1" формируется станцией-держателем маркера для ввода в логическое кольцо новых станций. В этом кадре поле АП содержит адрес следующей станции, отсутствует поле данных и за этим кадром должно следовать одно окно ответа.

Кадр "Запрос преемника 2" формируется станцией-держателем маркера. Поле АП в этом кадре содержит адрес следующей станции. Кадр используется для ввода в логическое кольцо новых станций. Такой кадр передается, если нет ответа на кадр "Запрос преемника 1". Такая ситуация будет обязательно, если кадр "Запрос преемника 1" передает станция с наименьшим номером в логическом кольце. В кадрах "Запрос преемника 2" отсутствует поле данных и за кадром должно следовать два окна ответа.

В кадре "Кто следующий" поле данных содержит адрес следующей станции. За этим кадром должны следовать 3 окна ответа. Кадр формируется станцией-держателем маркера. Кадр используется в режиме восстановления после ошибок, если преемник не активен.

Кадр "Разрешение соперничества" передается станцией-держателем маркера, когда при опросе станций, желающих войти в логическое кольцо, ответ дали 2 или более станций. Кадр разрешает этим станциям начать соревнование за включение в логическое кольцо. Этот кадр не содержит поля данных и за ним должно следовать 4 окна ответа.

Кадр "Установить преемника" может формироваться целым рядом станций в различных режимах. Поле АП содержит поле АО последнего принятого данной станцией кадра. Поле данных содержит адрес следующей станции (если станция-держатель маркера желает отключиться из логического кольца) или собственной станции (если станция, например, хочет войти в логическое кольцо).

В КД поле УК кодируется FFMMMPPP, где FF=01  если передается КД УЛЗ; FF=10  если передается КД диспетчера; FF=11  для кадров специального назначения; MMM  биты запроса, причем MMM=000  запрос, не требующий ответа, MMM=001  запрос, требующий ответа; MMM=010  ответ на запрос; PPP  биты приоритета /000 - низший приоритет; 111 - высший/.

Поле АО содержит индивидуальный адрес станции-отправителя данного кадра. Адрес АО не интерпретируется на уровне УДС.

Поле АП указывает либо индивидуальный адрес станции - получателя кадра, либо групповой адрес нескольких станций сети, которым предназначен этот кадр.

Поле КПК служит для проверки правильности принятого кадра данных.

1.3 Тайм – ауты

В ЛВС с МДШ используется набор таймеров для управления различными режимами функционирования. При этом измеряются соответствующие временные интервалы ( тайм- ауты).

Пять тайм-аутов оперируют с целыми числами, кратными интервалу ответа, и не используются одновременно. Рассмотрим их:

    Тайм-аут неактивности шины используется для инициализации логического кольца, т.е. для создания маркера. Он управляет интервалом времени в течение которого станция прослушивает среду передачи до выдачи кадра “Запрос маркера”. в станциях с наименьшим номером он равен 6 интервалам ответа, а в остальных станциях 7 интервалам ответа. Запуск таймера производится в момент предыдущей передачи маркера следующей станции.

    Тайм-аут заявки маркера управляет длительностью интервалов времени между передачами кадров “Запрос маркера”. Его длительность – 1 интервал ответа. Запускается таймер при выдаче кадра “Запрос маркера”.

    Тайм-аут окна ответа используется в режиме передачи данных. Он управляет интервалами времени между передачами КД станций, имеющих открытое окно ответа (т.е. передающей станции нужен ответ на ее передачу ). Длительность тайм-аута  1 интервал ответа. Запускается таймер при выдаче станцией очередного кадра.

    Тайм-аут соперничества управляет интервалом времени в течение которого станция прослушивает среду передачи после опознавания кадра “Разрешение соперничества”, “Запрос преемника” или “Кто следующий”. Запуск производится после опознавания соответствующего кадра и составляет 0, 1, 2, 3, 4 интервала ответа в зависимости от вида кадра и его отправителя.

    Тайм-аут передачи маркера управляет интервалом времени в течение которого станция прослушивает среду передачи после передачи маркера своему преемнику сцелью обнаружения его активности. Длительность тайм-аута  1 интервал ответа. Запуск производится при выдаче маркера.

Кроме перечисленных тайм-аутов используется ряд тайм-аутов, кратна октетному (байтовому ) интервалу :

    Тайм-аут удержания маркера ( ТУМ ) определяет время, в течение которого станция может передавать КД соответствующего приоритета. Число таких тайм-аутов определяется типом станции.

    Тайм-аут циркуляции маркера ( ТЦМ ) ( класс доступа ) определяет минимальный интервал времени, за который должен быть получен маркер для передачи кадров соответствующего класса доступа. Число таких тайм-аутов определяется типом станции.

2. ОПИСАНИЕ МИКРОПРОЦЕССОРНОГО КОМПЛЕКТА PIC16C64

Американская фирма Microchip Technology Inc в течении 2-х последних десятилетий является одной из ведущих фирм по разработке и производству 8-разрядных КМОП МК. Помимо МК фирма выпускает также МС электрически перепрограммируемой последовательной памяти емкостью от 1 до 64К, а также целый ряд ПУ и прикладных продуктов, как например, кодеры с динамическим кодом серии HCS300, микросхемы управления ЖКИ дисплеями AY0438 и многое другое [5].

МК PIC (Peripheral Interface Controller) имеют RISC - архитектуру. Использовать эти МК рекомендуется во всех случаях, когда критично энергопотребление, габариты и стоимость устройства.

В зависимости от производительности и функциональных возможностей МК серии PIC16/17 подразделяются на 3 семейства:

 PIC16C5X - базовое семейство с 12- разрядными командами;

 PIC16C6X / 7X / 8X - расширенное семейство с 14- разрядными командами.

 PIC17CXX - высокопроизводительное семейство с 16- разрядными командами.

В данном курсовом проекте разработка станции ЛВС ведется на микропроцессорном комплекте PIC16C64.

Условное графическое изображение микроконтроллера PIC16C64 приведено на рис.2.1.

Описание выводов PIC16C64 приведено в табл. 2.1.

2.1 Описание команд PIC16C64

Каждая команда PIC16C64 представляет собой четырнадцати битное слово, состоящее из кода команды, который соответствует типу команды и одного или более операндов [5].

Общий формат команд

Байт-ориентированные операции

13 8

7

6 0

Код операции

d

f (файл #)

Таблица 2.2

Описание поля кода команды

Значение

Описание

f

Адрес файлового регистра

w

Аккумулятор

b

Адрес бита в регистре

k

Литерал, константа или метка

x

Ассемблер сгенерирует код, когда x = 0. Это рекомендуемая форма использования для совместимости со всеми программными средствами.

d

D=0 результат хранится в регистре W

D=1 результат хранится в регистре f

По умолчанию d=1

label

Имя метки

TOS

Вершина стека

PC

Программный счетчик команд

PCLATH

Программный счетчик

GIE

Общее разрешение прерываний

WDT

Сторожевой счетчик времени

TO

Тайм-аут

PD

Выключение питания

Описание системы команд МК PIC16C64 приведено в табл.2.3.

Таблица 2.3

Описание команд PIC16C64

Мнемоника команды

Описание

Цик-лы

Код команды

Прим

ADDWF f, d

сложение W c f

1

00 0111 dfff ffff

C,DC, Z

1,2

ANDWF f, d

логическое И W и f

1

00 0101 dfff ffff

Z

1,2

CLRF f

сброс регистра f

1

00 0001 lfff ffff

Z

2

CLRW -

сброс регистра W

1

00 0001 0xxx xxxx

Z

COMF f, d

инверсия регистра f

1

00 1001 dfff ffff

Z

1,2

DECF f, d

декремент регистра f

1

00 0011 dfff ffff

Z

1,2

DECFSZ f, d

декремент f, пропустить команду, если 0

1(2)

00 1011 dfff ffff

1,2,3

INCF f, d

инкремент регистра f

1

00 1010 dfff ffff

Z

1,2

INCFSZ f, d

инкремент регистра f, пропустить, если 0

1(2)

00 1111 dfff ffff

1,2,3

IORWF f, d

логическое ИЛИ W и f

1

00 0100 dfff ffff

Z

1,2

MOVF f, d

пересылка регистра f

1

00 1000 dfff ffff

Z

1,2

MOVWF f

пересылка W в f

1

00 0000 lfff ffff

NOP -

холостая команда

1

00 0000 0xx0 0000

Мнемоника команды

Описание

Цик-лы

Код команды

Прим

RLF f, d

сдвиг f влево через перенос

1

00 1101 dfff ffff

C

1,2

RRF f, d

сдвиг f вправо через перенос

1

00 1100 dfff ffff

C

1,2

sub>WF f, d

вычитание W из f

1

00 0010 dfff ffff

C, DC,Z

1,2

SWAPF f, d

обмен тетрад в f

1

00 1110 dfff ffff

1,2

XORWF f, d

Исключающее ИЛИ W и f

1

00 0110 dfff ffff

Z

1,2

Команды работы с битами регистров (бит-ориентированные)

BCF f, b

сброс бита в регистре f

1

00 00bb bfff ffff

1,2

BSF f, b

Установка бита в регистре f

1

01 01bb bfff ffff

1,2

BTFSC f, b

Пропустить команду, если бит равен 0

1(2)

01 10bb bfff ffff

3

BTFSS f, b

Пропустить команду, если бит равен 1

1(2)

01 11bb bfff ffff

3

Команды работы с константами и операции перехода

ADDLW k

Сложение константы с W

1

11 111x kkkk kkkk

C, DC, Z

ANDLW k

Логическое И W и f

1

11 1001 kkkk kkkk

Z

CALL k

вызов подпрограммы

2

10 0kkk kkkk kkkk

CLRWDT -

сброс сторожевого таймера WDT

1

00 0000 0110 0100

TO, PD

GOTO k

переход по адресу

2

10 1kkk kkkk kkkk

IORLW k

Логическое ИЛИ константы и W

1

11 1000 kkkk kkkk

Z

MOVLW k

пересылка константы в W

1

11 00xx kkkk kkkk

RETFIE -

возврат из прерывания

2

00 0000 0000 1001

RETLW k

возврат из подпрограммы с загрузкой константы в W

2

11 01xx kkkk kkkk

RETURN -

возврат из подпрограммы

2

00 0000 0000 1000

SLEEP -

переход в режим SLEEP

1

00 0000 0110 0011

TO, PD

sub>LW k

вычитание W из константы

1

11 110x kkkk kkkk

C,DC, Z

XORLW k

Исключающее ИЛИ конс-танты и W

1

11 1010 kkkk kkkk

Z

Примечание:

1. Во всех командах операнд f принимает значения от 0 до 127, а операнд d значения 0 или 1.

2. В бит-ориентированных операциях операнд b принимает значения от 0 до 7.

3. В литеральных операциях и операциях управления, кроме оговоренных случаев, операнд k принимает значения от 0 до 255.

Обозначения:

С: Carry bit - бит переноса / заема (для команд ADDWF, ADDLW, sub>LW, sub>WF)

(для заема полярность инверсная):

1 - в результате операции имеет место выход переноса из наиболее значащего бита результата;

0 - нет переноса из наиболее значащего бита результата.

DC: Digit Carry bit - бит десятичного переноса /заема (для команд ADDWF, ADDLW,sub>LW, sub>WF) (для заема полярность инверсная ) :

1 - выход переноса из 4-го младшего бита при образовании результата;

0 - выход переноса из 4-го младшего разряда результата

Z - Zero bit - бит результата:

1 - результат арифметической или логической операции есть 0;

0 - результат арифметической или логической операции есть не 0;

\ - инверсия

W/f - результат помещается в регистр W, если d=0, и в регистр f, если d=1

3. ОПИСАНИЕ СТРУКТУРНОЙ СХЕМЫ СТАНЦИИ ЛВС

Структурная схема станции ЛВС представлена на рис.3.1.[1]

В состав станции входят следующие устройства:

    центральный процессорный элемент (ЦПЭ);

    постоянное запоминающее устройство (ПЗУ);

    системное ОЗУ;

    контроллеры прерываний (Прер);

    контроллер прямого доступа к памяти (КПДП);

    ОЗУ для приема (ОЗУ ПР) и выдачи пакетов (ОЗУ ПД);

    схема синхронизации (СИ);

    коммутатор-мультиплексор (КМ);

    схема сравнения адресов (Ср.А);

    буферный регистр принимаемой информации (БРПИ);

    буферный регистр выдаваемой информации (БРВИ);

    схема дешифрации манчестерского кода (ДМК);

    схема формирования манчестерского кода (ФМК);

    формирователь-усилитель (ФУ);

    порт ввода-вывода информации;

    схема выделения ограничителей кадра (ВОК);

    схема формирования ограничителей кадра (ФОК);

    магистральный усилитель приема (МПР);

    магистральный усилитель передачи (МПД);

    регистр состояния блока сопряжения с физической средой (РСБС);

    схема управления блоком сопряжения с физической средой.

Работает схема следующим образом. В режиме приема кадра ЦПЭ активизирует схему приема и далее данные поступают в ОЗУ ПР без участия процессора под управлением КПДП. Передача кадра в среду также проходит под управлением КПДП. Процессор должен лишь инициировать ее. ОЗУ ПД пакетов предназначено для временного хранения пакетов, сформированных станцией и предназначенных для выдачи в сеть связи.

Схема синхронизации (СИ), предназначена для выработки серий импульсов синхронизации и обеспечения возможности внешней синхронизации от принимаемой информации.

Буферный регистр принимаемой информации необходим для согласования скорости обмена буферной памяти станции и скорости передачи информации в физической среде. Этот регистр преобразует последовательный код в параллельный.

Буферный регистр выдаваемой информации предназначен для сопряжения скорости обмена буферной памяти со скоростью передачи в физической среде и преобразования параллельного кода в параллельный.

Схема дешифрации манчестерского кода обеспечивает выделение информационных разрядов "данные" и "не данные" из манчестерского кода принимаемого кадра и синхронизацию станции от внешних принимаемых кадров.

Порт ввода-вывода станции обеспечивает сопряжение станции с абонентом, который данная станция обслуживает.

4. ОПИСАНИЕ ГРАФ - СХЕМЫ РЕЖИМА РАБОТЫ ЛЛС

Алгоритмы работы станции в режиме ЛЛС описаны в /2/.

Граф-схемы алгоритма работы станции в фазе ликвидации логического соединения представлены на рис.4.1 и рис. 4.2 для инициирующей и приемной стороны соответственно. Опишем работу этих граф-схем.

Ликвидация логического соединения:

Она может быть осуществлена по инициативе любой из взаимосвязанных станций. Инициирующая станция посылает команду DISC (disconnect) и запускает таймер T1. После получения ответа UA (или DM) от удаленной станции таймер T1 выключается и процедура переходит в фазу разъединения. Если время таймера T1 истекло, то инициирующая станция повторяет передачу команды DISC до N2 раз.

Фаза разъединения заканчивается:

 у инициирующей станции после получения ответа UA или DM;

 у удаленной станции после отправки согласия UA на разъединение.

Функционирование станции в режиме разъединения:

В режиме разъединения станция должна отвечать на команды обычным образом и посылать ответ DM при получении DISC (disconnect). При получении любой команды с битом P=1 станция посылает ответ DM с битом F=1.

Все другие команды, принимаемые станцией по логическому каналу, игнорируются.

Примечание:

DISC  разъединение (U-кадр);

DM  режим разъединения (U-кадр) (Disconnect Mode),используется для сообщения удаленной станции о статусе местной станции, если она логически отсоединена от ЗПД и находится в фазе разъединения.

Программа ликвидации логического соединения, представлена в Прил.1.

Рис.4.1. Инициирующая станция

Рис.4.2. Приемная сторона

5. ОПИСАНИЕ ПРИНЦИПИАЛЬНОЙ СХЕМЫ СТАНЦИИ ЛВС

Расчет объема буферного накопителя [4].

Объем буферного накопителя должен выбираться из условия обеспечения заданной вероятности потери пакета. Воспользуемся формулой из /4/:

,

где N – емкость накопителя ( в числе пакетов ) буфера;

 – загрузка системы.

Вероятность потери определяется по формуле:

Допустимое значение вероятности потери пакетов в реальных сетях, как правило, не превышает .

Примем P>пот> равной , а  = 0.5, тогда:

17.61  18.

Исходя из того, что максимальный размер пакета, используемого данной станцией, равен 2048, получаем требуемый объем ОЗУ:

Vозу = 18  2048  4 Кбайт.

6. РАСЧЕТ ЭФФЕКТИВНОСТИ РАБОТЫ СТАНЦИИ

Эффективность методов доступа к среде определяется как среднее время задержки, зависящее от коэффициента загрузки среды передачи. Модель сети на структуре шина приведена на рис.6.1 [1].

Пусть имеется N узлов с очередями, которые подключены к общей среде передачи. На каждый узел от абонента поступает пуассоновский поток пакетов с интенсивностью >0> [пакетов/с]. Эти пакеты обслуживаются с интенсивностью >0> [пакетов/с]. Пусть известны времена распространения сигналов >ij> между узлами i и j и максимальное время распространения сигналов в среде >m>. Пусть заданы средняя длина пакета T>p> и скорость передачи в среде fd [бит/с].

Необходимо определить зависимость среднего времени задержки пакетов в узле  (от момента поступления пакетов от абонента в узел до передачи его в среду) от коэффициента использования среды передачи

, (6.1)

где S - средняя (эффективная) скорость передачи информации в среде (бит/с).

Предполагаем, что коэффициент загрузки каждого узла равен >0>, среднее время передачи пакета активным узлом получившим управление равно Тр, среднее время передачи управления от пассивного узла составляет время , среднее время передачи управления от активного узла равно .

Рис.6.1. Модель сети на структуре шина

Имеем следующие зависимости для коэффициента использования среды и среднего времени задержки пакетов в узле:

, (6.2)

. (6.3)

6.1 МД при произвольном расположении узлов на структуре шина

Здесь среднее время распространения между парой узлов:

.

Следовательно,

С учетом этого выражения и выражений (6.2) и (6.3) получим:

6.2 ИМД при произвольном расположении узлов на структуре шина

Среднее время распространения сигнала между парой узлов будет:

Среднее время передачи управления от активного узла:

.

Среднее время передачи управления от пассивного узла:

.

Тогда, подставляя полученные выражения в (6.2) и (6.3), получим:

6.3 Сравнение МД и ИМД на структуре шина

Разрабатываемая ЛВС в соответствии с техническим заданием имеет следующие параметры:

    скорость передачи данных по каналу связи fd = 1 Мбит/с;

    длина кадра – 512, 1024, 2048 бит;

    число станций в сети  N = 75 шт.;

    длина сети L = 1 км.

В этих условиях при длине пакета 2048 бит и длине кабеля 1000 м отношение максимального времени распространения сигнала к времени передачи пакета данных составит:

Будем предполагать, что длительность маркера составляет 5% от средней длины пакета, т.е.

Программа сравнения ИМД и МДШ для данной ЛВС приведена в Прил.2 вместе с результатами ее работы. По полученным результатам было построено семейство кривых для двух способов доступа, которые приведены на рис.6.2. Из анализа графиков следует, что:

    при малом коэффициенте загрузки канала среднее время задержки пакетов у маркерного и интервально-маркерного доступа отличается незначительно;

    при увеличении коэффициента загрузки канала задержки начинают расти, причем скорость роста графика для маркерного доступа несколько выше, чем для интервально-маркерного;

    существенное увеличение времени задержки зависит от длины кадра и появляется при коэффициенте использования канала выше 0,6 - 0,8 для МДШ и 0.8 - 1.0 для ИМДШ;

    при высоком коэффициенте использования канала (0.9 и выше) маркерный доступ проигрывает интервально-маркерному по времени задержки.

Р
ис. 6.2. Сравнение МД и ИМД на структуре шина

ЗАКЛЮЧЕНИЕ

В соответствии с техническим заданием в курсовом проекте была разработана станция локальной вычислительной сети с маркерным доступом на структуре шина. Была проведена оценка эффективности ЛВС с МД и ИМД при упорядоченной нумерации узлов.

Результаты расчетов показали, что более эффективным является ЛВС с ИМ доступом.

По заданной граф-схеме алгоритма работы станции была написана программа на языке команд микроконтроллера PIC16C64.

Программа представляет собой набор ассемблерных команд для приемной и передающей станций.

Была разработана принципиальная электрическая схема станции.

БИБЛИОГРАФИЧЕСКИЙ СПИСОК

    Крылов Ю.Д. Локальные вычислительные сети с маркерными способами доступа: Учеб. пособие. СПбГААП, СПб., 1995.

    Стандарты по локальным вычислительным сетям: Справочник / Щербо В.К. и др.; под ред. С.И. Самойленко. М.: Радио и связь, 1990.

    Протоколы информационно-вычислительных сетей : Справочник / Под ред. Мизина И.А. и Кулишова А.П., М.: Радио и связь, 1990.

    Зелигер Н.Б., Чугреев О.С., Янковский Г.Г. Проектирование сетей и систем передачи дискретных сообщений”, М. Радио и связь, 1984.

    Microchip PIC16/17. Микроконтроллер, Data Book 1996, Microchip Technology Inc.

Приложение 1

Программа ликвидации ЛС

Title “Ликвидация ЛС”

List p=16C64

ErrorLevel 0 ; вывод всех ошибок при компиляции

N2 equ H’A’ ; число попыток разъединения

N equ H’1’ ; начальное значение счетчика

Tzad equ H’FF’ ; заданное значение таймера

Org 0 ; вектор сброса

Clrf IntCon ; очистка регистра IntCon

Clrf PCLath ; очистка регистра хранение старших бит для PC

Clrf Status ; очистка регистра состояния

Call InitPort ; инициализация портов

Goto Begin

InitPort

Bsf Status, RP0 ; выбор банка 1

Clrf PortC ; инициализация порта С

MovLW 0хFF ; значение, используемое для инициализации

; направления обмена данными

MovFW TrisC ; установка RC <7:0> как входов

Clrf PortD ; инициализация порта D

MovLW 0х00 ; значение, используемое для инициализации

; направления обмена данными

MovWF TrisD ; установка RD <7:0> как выходов

Bсf Status, RP0 ; выбор банка 0

Return ; возврат из подпрограммы

; Для инициирующей станции:

Begin

Call P_DISC ; передача команды DISC

Bsf Status, RP0 ; выбор банка 1

Clrf TMR0 ; сброс таймера

MovLW B’00000101’ ; выбор TMR0, новой величины

; предделителя, источника синхронизации

MovWF Option

Bсf Status, RP0 ; выбор банка 0

L1: MovF PortC, 0 ; чтение порта С ( UA или DM )

sub>LW H’C8’, 0 ; сравнение значения с протокольным значением

Btwss Status, 2 ; проверка результата

GoTo LLS ; если UA то LLS

MovF TMR0, 0 ; иначе проверяем таймер

sub>LW Tzad, 0 ; сравниваем с заданным

Btwss Status, 2 ; проверка результата

GoTo L1 ; если время не истекло, то опять

; получаем кадр

Incf N, 1 ; иначе N:=N+1

Movf N, 0 ; N в аккумулятор

sub>LW N2, 0 ; W:=W-N2

Btwss Status, 2 ; сравниваем N и N2

GoTo Begin ;если N < N2 идем на начало

GoTo Error ; иначе ошибка

LLS:Clrf TMR0 ; сброс таймера

Call Ust_R_Raz ; вызов процедуры “установление режима

; разъединения “

GoTo End

End: Nop

; Для приемной станции:

Begin: Movf PortC, 0 ; чтение порта С

MovWf R1 ; значение в R1

Decfsz R1, 1 ; сравнение с протокольным значением

GoTo UA ; if <> 0, то передача UA

GoTo DM ; передача DM

UA: Call F_Reg ; процедура формирования КД для UA

Movf R_Apr ; адрес приемной стороны загруж-ся в ак-

MovWf PortD ; кумулятор и передается в порт D

Movf R_APer ; адрес передающей стороны

MovWf PortD

Movf R_DSAP ; запись команды DSAP

MovWf PortD

Movf R_SSAP ; запись команды SSAP

MovWf PortD

Movf R_UA ; запись команды UA

MovWf PortD

GoTo End

DM: Call F_Reg ; процедура формирования КД для DM

Movf R_Apr ; адрес приемной стороны загруж-ся в ак-

MovWf PortD ; кумулятор и передается в порт D

Movf R_APer ; адрес передающей стороны

MovWf PortD

Movf R_DSAP ; запись команды DSAP

MovWf PortD

Movf R_SSAP ; запись команды SSAP

MovWf PortD

Movf R_DM ; запись команды DM

MovWf PortD

End: Call Ust_R_Raz ; вызов процедуры “установление режима ; разъединения"

Приложение 2

Программа расчета коэффициента использования среды и среднего времени задержки для ИМД2 и МД2 на структуре шина и построение сравнительной характеристики

format long ;

v=4.33e-9; % задержка распространения сигнала, с/м

L=1000 ; % длина кабеля, м

dp = [512,1024,2048] ; % длина пакета, бит

fd = 1e6 ; % скорость передачи, bit/с

N = 75 ; % число узлов в сети

taum = v * L ; % задержка распространения по всей сети

tp = dp * 1/fd ; % время передачи пакета

tm = 64/fd ; % время передачи маркера

i=1;

for ro0=0.001:0.005:0.9,

a1 = taum /tp(1) ;

b1 = tm / tp(1) ; a2 = taum /tp(2) ; b2 = tm / tp(2) ; a3 = taum /tp(3) ; b3 = tm / tp(3) ;

% расчет параметров для маркерного доступа на шине с произвольным расположением узлов.

tet1(i) = ro0 / ( ro0 + a1/2 + b1 ) ;

tet2(i) = ro0 / ( ro0 + a2/2 + b2 ) ;

tet3(i) = ro0 / ( ro0 + a3/2 + b3 ) ;

tau1(i)=( 1 + ro0*(N-1) + N * ( a1/2 + b1 ) ) / ( 1 - ro0 ) ; tau2(i)=( 1 + ro0*(N-1) + N * ( a2/2 + b2 ) ) / ( 1 - ro0 ) ; tau3(i)=( 1 + ro0*(N-1) + N * ( a3/2 + b3 ) ) / ( 1 - ro0 ) ;

% расчет параметров для интервально-маркерного доступа на шине с произвольным расположением узлов.

tet4(i)=ro0 / ( ro0 + a1 * ( 5/2 - 2*ro0 + 0.1 * ( 1-ro0) ) ) ; tet5(i)=ro0 / ( ro0 + a2 * ( 5/2 - 2*ro0 + 0.1 * ( 1-ro0) ) ) ; tet6(i)=ro0 / ( ro0 + a3 * ( 5/2 - 2*ro0 + 0.1 * ( 1-ro0) ) ) ;

tau4(i)=(1+ro0*(N-1))*(a1/2+1)/(1-ro0) + a1*(5/2 + 0.1)*(N-1) ; tau5(i)=(1+ro0*(N-1))*(a2/2+1)/(1-ro0) + a2*(5/2 + 0.1)*(N-1) ; tau6(i)=(1+ro0*(N-1))*(a3/2+1)/(1-ro0) + a3*(5/2 + 0.1)*(N-1) ; i=i+1 ;

end ;

% вывод графиков на экран

clg;

axis([0,1,0,2]) ; % выбор масштаба вывода

semilogy(tet1,tau1,'-',tet2,tau2,'-.',tet3,tau3,'--'),hold;

semilogy(tet4,tau4,'-',tet5,tau5,'-.',tet6,tau6,'--'),grid;

title('Сравнительная характеристика ИМДШ и МДШ') ;

xlabel('Коэффициент использования среды') ; % название оси абсцисс ylabel('Среднее время задержки') ; % название оси ординат