Курсовая работа: Станция ЛВС с маркерным доступом на структуре шина
Курсовая работа: Станция ЛВС с маркерным доступом на структуре шина
СОДЕРЖАНИЕ
Введение
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
- Институт инженеров по электротехнике и радиоэлетроннике;
МК
- микроконтроллер;
ЦП
- центральный процессор;
ПЗУ
- постоянное запоминающее устройство;
ОЗУ
- оперативное запоминающее устройство;
ЛЛС
- ликвидация логического соединения.
ВВЕДЕНИЕ
Целью
данного курсового проекта является:
q разработка
структурной и принципиальной схемы станции локальной вычислительной сети (ЛВС),
удовлетворяющей требованиям, изложенным в техническом задании;
q разработка
граф схемы алгоритма работы станции в режиме ликвидации логического соединения;
q написание
программы в командах микропроцессорного комплекта серии PIC16C64;
q изучение
этой серии;
q анализ
эффективности работы станции.
1.
ОПИСАНИЕ
ПРИНЦИПОВ ФУНКЦИОНИРОВАНИЯ ЛВС С МД
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. Запрос преемника 1
3. Запрос преемника 2
4. Кто следующий
5. Разрешение
соперничества
6. Кадр маркера
7. Установить преемника
|
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
Тайм – ауты
В ЛВС с МДШ используется набор таймеров
для управления различными режимами функционирования. При этом измеряются
соответствующие временные интервалы ( тайм- ауты).
Пять тайм-аутов оперируют
с целыми числами, кратными интервалу ответа, и не используются одновременно.
Рассмотрим их:
q
Тайм-аут
неактивности шины используется для инициализации логического кольца, т.е. для
создания маркера. Он управляет интервалом времени в течение которого станция
прослушивает среду передачи до выдачи кадра “Запрос маркера”. в станциях с
наименьшим номером он равен 6 интервалам ответа, а в остальных станциях 7
интервалам ответа. Запуск таймера производится в момент предыдущей передачи
маркера следующей станции.
q
Тайм-аут заявки
маркера управляет длительностью интервалов времени между передачами кадров
Запрос маркера”. Его длительность – 1 интервал ответа. Запускается таймер при
выдаче кадра “Запрос маркера”.
q
Тайм-аут окна
ответа используется в режиме передачи данных. Он управляет интервалами времени
между передачами КД станций, имеющих открытое окно ответа (т.е. передающей
станции нужен ответ на ее передачу ). Длительность тайм-аута - 1 интервал ответа. Запускается
таймер при выдаче станцией очередного кадра.
q
Тайм-аут
соперничества управляет интервалом времени в течение которого станция
прослушивает среду передачи после опознавания кадра “Разрешение соперничества”,
Запрос преемника” или “Кто следующий”. Запуск производится после опознавания
соответствующего кадра и составляет 0, 1, 2, 3, 4 интервала ответа в
зависимости от вида кадра и его отправителя.
q
Тайм-аут передачи
маркера управляет интервалом времени в течение которого станция прослушивает
среду передачи после передачи маркера своему преемнику сцелью обнаружения его
активности. Длительность тайм-аута - 1 интервал ответа. Запуск производится при выдаче маркера.
Кроме перечисленных
тайм-аутов используется ряд тайм-аутов, кратна октетному (байтовому ) интервалу
:
q
Тайм-аут
удержания маркера ( ТУМ ) определяет время, в течение которого станция может
передавать КД соответствующего приоритета. Число таких тайм-аутов определяется
типом станции.
q
Тайм-аут
циркуляции маркера ( ТЦМ ) ( класс доступа ) определяет минимальный интервал
времени, за который должен быть получен маркер для передачи кадров
соответствующего класса доступа. Число таких тайм-аутов определяется типом
станции.
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 |
SUBWF 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 |
|
SUBLW 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, SUBLW,
SUBWF)
(для заема полярность инверсная):
1 - в результате операции
имеет место выход переноса из наиболее значащего бита результата;
0 - нет переноса из наиболее
значащего бита результата.
DC: Digit Carry bit - бит десятичного переноса /заема (для команд ADDWF, ADDLW,SUBLW,
SUBWF) (для заема полярность инверсная ) :
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 – емкость накопителя ( в числе
пакетов ) буфера;
r – загрузка системы.
Вероятность
потери определяется по формуле:
Допустимое значение
вероятности потери пакетов в реальных сетях, как правило, не превышает .
Примем Pпот равной ,
а r = 0.5, тогда:
17.61 » 18.
Исходя из того, что
максимальный размер пакета, используемого данной станцией, равен 2048, получаем
требуемый объем ОЗУ:
Vозу = 18 × 2048 » 4 Кбайт.
6.
РАСЧЕТ ЭФФЕКТИВНОСТИ РАБОТЫ СТАНЦИИ
Эффективность
методов доступа к среде определяется как среднее время задержки, зависящее от
коэффициента загрузки среды передачи. Модель сети на структуре шина приведена
на рис.6.1 [1].
Пусть
имеется N узлов с очередями, которые
подключены к общей среде передачи. На каждый узел от абонента поступает пуассоновский
поток пакетов с интенсивностью l0
[пакетов/с]. Эти пакеты обслуживаются с интенсивностью m0
[пакетов/с]. Пусть известны времена распространения сигналов tij
между узлами i и j
и максимальное время распространения сигналов в среде tm.
Пусть заданы средняя длина пакета Tp
и
скорость передачи в среде fd
[бит/с].
Необходимо
определить зависимость среднего времени задержки пакетов в узле t
(от момента поступления пакетов от абонента в узел до передачи его в среду) от коэффициента
использования среды передачи
, (6.1)
где
S - средняя (эффективная) скорость
передачи информации в среде (бит/с).
Предполагаем,
что коэффициент загрузки каждого узла равен r0,
среднее время передачи пакета активным узлом получившим управление равно Тр, среднее
время передачи управления от пассивного узла составляет время , среднее время передачи
управления от активного узла равно .
Рис.6.1.
Модель сети на структуре шина
Имеем
следующие зависимости для коэффициента использования среды и среднего времени
задержки пакетов в узле:
, (6.2)
. (6.3)
6.1
МД при произвольном расположении узлов на структуре шина
Здесь
среднее время распространения между парой узлов:
.
Следовательно,
С
учетом этого выражения и выражений (6.2) и (6.3) получим:
6.2
ИМД при произвольном расположении узлов на структуре шина
Среднее
время распространения сигнала между парой узлов будет:
Среднее
время передачи управления от активного узла:
.
Среднее
время передачи управления от пассивного узла:
.
Тогда,
подставляя полученные выражения в (6.2) и (6.3), получим:
6.3
Сравнение МД и ИМД на структуре шина
Разрабатываемая
ЛВС в соответствии с техническим заданием имеет следующие параметры:
q
скорость
передачи данных по каналу связи fd = 1 Мбит/с;
q
длина
кадра – 512, 1024, 2048 бит;
q
число
станций в сети - N = 75 шт.;
q
длина
сети L = 1 км.
В
этих условиях при длине пакета 2048 бит и длине кабеля 1000 м отношение максимального времени распространения сигнала к времени передачи пакета данных
составит:
Будем предполагать, что
длительность маркера составляет 5% от средней длины пакета, т.е.
Программа сравнения ИМД и
МДШ для данной ЛВС приведена в Прил.2 вместе с результатами ее работы. По
полученным результатам было построено семейство кривых для двух способов
доступа, которые приведены на рис.6.2. Из анализа графиков следует, что:
q
при малом коэффициенте
загрузки канала среднее время задержки пакетов у маркерного и интервально-маркерного
доступа отличается незначительно;
q
при увеличении коэффициента
загрузки канала задержки начинают расти, причем скорость роста графика для маркерного
доступа несколько выше, чем для интервально-маркерного;
q
существенное
увеличение времени задержки зависит от длины кадра и появляется при
коэффициенте использования канала выше 0,6 - 0,8 для МДШ и 0.8 - 1.0 для ИМДШ;
q
при высоком коэффициенте
использования канала (0.9 и выше) маркерный доступ проигрывает интервально-маркерному
по времени задержки.
Рис. 6.2. Сравнение МД и ИМД на
структуре шина
ЗАКЛЮЧЕНИЕ
В
соответствии с техническим заданием в курсовом проекте была разработана станция
локальной вычислительной сети с маркерным доступом на структуре шина. Была проведена
оценка эффективности ЛВС с МД и ИМД при упорядоченной нумерации узлов.
Результаты
расчетов показали, что более эффективным является ЛВС с ИМ доступом.
По
заданной граф-схеме алгоритма работы станции была написана программа на языке команд
микроконтроллера PIC16C64.
Программа
представляет собой набор ассемблерных команд для приемной и передающей станций.
Была
разработана принципиальная электрическая схема станции.
БИБЛИОГРАФИЧЕСКИЙ
СПИСОК
1.
Крылов
Ю.Д. Локальные вычислительные сети с маркерными способами доступа: Учеб.
пособие. СПбГААП, СПб., 1995.
2.
Стандарты
по локальным вычислительным сетям: Справочник / Щербо В.К. и др.; под ред. С.И.
Самойленко. М.: Радио и связь, 1990.
3. Протоколы
информационно-вычислительных сетей : Справочник / Под ред. Мизина И.А. и Кулишова
А.П., М.: Радио и связь, 1990.
4. Зелигер Н.Б., Чугреев О.С., Янковский
Г.Г. Проектирование сетей и систем передачи дискретных сообщений”, М. Радио и
связь, 1984.
5. 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 )
SubLW H’C8’, 0 ; сравнение
значения с протокольным значением
Btwss Status, 2 ; проверка результата
GoTo LLS ; если UA то LLS
MovF TMR0, 0 ; иначе проверяем таймер
SubLW Tzad, 0 ; сравниваем с заданным
Btwss Status, 2 ; проверка результата
GoTo L1 ; если время не истекло, то опять
; получаем кадр
Incf N, 1 ; иначе N:=N+1
Movf N, 0 ; N в
аккумулятор
SubLW 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('Среднее время задержки')
; % название оси ординат
|