СОДЕРЖАНИЕ
Введение
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 Принципы работы ЛВС с МД на структуре шина
При использовании маркерного доступа на структурной организации шина для обеспечения доступа станций к физической среде передачи необходимо передавать кадр маркера определенного формата /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 Тайм – ауты
В ЛВС с МДШ используется набор таймеров для управления различными режимами функционирования. При этом измеряются соответствующие временные интервалы ( тайм- ауты).
Пять тайм-аутов оперируют с целыми числами, кратными интервалу ответа, и не используются одновременно. Рассмотрим их:
- Тайм-аут неактивности шины используется для инициализации логического кольца, т.е. для создания маркера. Он управляет интервалом времени в течение которого станция прослушивает среду передачи до выдачи кадра “Запрос маркера”. в станциях с наименьшим номером он равен 6 интервалам ответа, а в остальных станциях 7 интервалам ответа. Запуск таймера производится в момент предыдущей передачи маркера следующей станции.
- Тайм-аут заявки маркера управляет длительностью интервалов времени между передачами кадров “Запрос маркера”. Его длительность – 1 интервал ответа. Запускается таймер при выдаче кадра “Запрос маркера”.
- Тайм-аут окна ответа используется в режиме передачи данных. Он управляет интервалами времени между передачами КД станций, имеющих открытое окно ответа (т.е. передающей станции нужен ответ на ее передачу ). Длительность тайм-аута - 1 интервал ответа. Запускается таймер при выдаче станцией очередного кадра.
- Тайм-аут соперничества управляет интервалом времени в течение которого станция прослушивает среду передачи после опознавания кадра “Разрешение соперничества”, “Запрос преемника” или “Кто следующий”. Запуск производится после опознавания соответствующего кадра и составляет 0, 1, 2, 3, 4 интервала ответа в зависимости от вида кадра и его отправителя.
- Тайм-аут передачи маркера управляет интервалом времени в течение которого станция прослушивает среду передачи после передачи маркера своему преемнику сцелью обнаружения его активности. Длительность тайм-аута - 1 интервал ответа. Запуск производится при выдаче маркера.
Кроме перечисленных тайм-аутов используется ряд тайм-аутов, кратна октетному (байтовому ) интервалу :
- Тайм-аут удержания маркера ( ТУМ ) определяет время, в течение которого станция может передавать КД соответствующего приоритета. Число таких тайм-аутов определяется типом станции.
- Тайм-аут циркуляции маркера ( ТЦМ ) ( класс доступа ) определяет минимальный интервал времени, за который должен быть получен маркер для передачи кадров соответствующего класса доступа. Число таких тайм-аутов определяется типом станции.
2. ОПИСАНИЕ МИКРОПРОЦЕССОРНОГО КОМПЛЕКТА PIC16C64
Американская фирма MicrochipTechnologyInc в течении 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.
Обозначения:
С: Carrybit - бит переноса / заема (для команд ADDWF, ADDLW, SUBLW, SUBWF)
(для заема полярность инверсная):
1 - в результате операции имеет место выход переноса из наиболее значащего бита результата;
0 - нет переноса из наиболее значащего бита результата.
DC: DigitCarrybit - бит десятичного переноса /заема (для команд ADDWF, ADDLW,SUBLW, SUBWF) (для заема полярность инверсная ) :
1 - выход переноса из 4-го младшего бита при образовании результата;
0 - выход переноса из 4-го младшего разряда результата
Z- Zerobit- бит результата:
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 Сравнение МД и ИМД на структуре шина
Разрабатываемая ЛВС в соответствии с техническим заданием имеет следующие параметры:
- скорость передачи данных по каналу связи 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.
Программа представляет собой набор ассемблерных команд для приемной и передающей станций.
Была разработана принципиальная электрическая схема станции.
БИБЛИОГРАФИЧЕСКИЙ СПИСОК
1. Крылов Ю.Д. Локальные вычислительные сети с маркерными способами доступа: Учеб. пособие. СПбГААП, СПб., 1995.
2. Стандарты по локальным вычислительным сетям: Справочник / Щербо В.К. и др.; под ред. С.И. Самойленко. М.: Радио и связь, 1990.
3. Протоколы информационно-вычислительных сетей : Справочник / Под ред. Мизина И.А. и Кулишова А.П., М.: Радио и связь, 1990.
4. Зелигер Н.Б., Чугреев О.С., Янковский Г.Г. Проектирование сетей и систем передачи дискретных сообщений”, М. Радио и связь, 1984.
5. Microchip PIC16/17. Микроконтроллер, Data Book 1996, Microchip Technology Inc.
Приложение 1
Программа ликвидации ЛС
Title“Ликвидация ЛС”
Listp=16C64
ErrorLevel0 ; вывод всех ошибок при компиляции
N2 equH’A’ ; число попыток разъединения
NequH’1’ ; начальное значение счетчика
TzadequH’FF’ ; заданное значение таймера
Org0 ; вектор сброса
ClrfIntCon; очистка регистра IntCon
ClrfPCLath; очистка регистра хранение старших бит для PC
ClrfStatus; очистка регистра состояния
CallInitPort; инициализация портов
Goto Begin
InitPort
Bsf Status, RP0 ; выборбанка 1
ClrfPortC; инициализация порта С
MovLW0хFF; значение, используемое для инициализации
; направления обмена данными
MovFWTrisC; установка RC <7:0> как входов
ClrfPortD; инициализация порта D
MovLW0х00 ; значение, используемое для инициализации
; направления обмена данными
MovWFTrisD; установка RD <7:0> как выходов
BсfStatus, RP0 ; выбор банка 0
Return; возврат из подпрограммы
; Для инициирующей станции:
Begin
CallP_DISC; передача команды DISC
BsfStatus, RP0 ; выбор банка 1
ClrfTMR0 ; сброс таймера
MovLWB’00000101’ ; выбор TMR0, новой величины
; предделителя, источника синхронизации
MovWFOption
BсfStatus, RP0 ; выбор банка 0
L1: MovFPortC, 0 ; чтение порта С ( UA или DM )
SubLWH’C8’, 0 ; сравнение значения с протокольным значением
BtwssStatus, 2 ; проверка результата
GoToLLS; если UA то LLS
MovFTMR0, 0 ; иначе проверяем таймер
SubLWTzad, 0 ; сравниваем с заданным
BtwssStatus, 2 ; проверка результата
GoToL1 ; если время не истекло, то опять
; получаем кадр
IncfN, 1 ; иначе N:=N+1
MovfN, 0 ; N в аккумулятор
SubLWN2, 0 ; W:=W-N2
BtwssStatus, 2 ; сравниваем N и N2
GoToBegin;если N < N2 идем на начало
GoToError; иначе ошибка
LLS:ClrfTMR0 ; сброс таймера
CallUst_R_Raz; вызов процедуры “установление режима
; разъединения “
GoToEnd
End: Nop
; Для приемной станции:
Begin: MovfPortC, 0 ; чтение порта С
MovWfR1 ; значение в R1
DecfszR1, 1 ; сравнение с протокольным значением
GoToUA; if <> 0, то передача UA
GoToDM; передача DM
UA: CallF_Reg; процедура формирования КД для UA
MovfR_Apr; адрес приемной стороны загруж-ся в ак-
MovWfPortD; кумулятор и передается в порт D
MovfR_APer; адрес передающей стороны
MovWfPortD
MovfR_DSAP; запись команды DSAP
MovWfPortD
MovfR_SSAP; запись команды SSAP
MovWfPortD
MovfR_UA; запись команды UA
MovWfPortD
GoToEnd
DM: CallF_Reg; процедура формирования КД для DM
MovfR_Apr; адрес приемной стороны загруж-ся в ак-
MovWfPortD; кумулятор и передается в порт D
MovfR_APer; адрес передающей стороны
MovWfPortD
MovfR_DSAP; запись команды DSAP
MovWfPortD
MovfR_SSAP; запись команды SSAP
MovWfPortD
MovfR_DM; запись команды DM
MovWfPortD
End: CallUst_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('Среднее время задержки') ; % название оси ординат