Станция ЛВС с маркерным доступом на структуре шина
Станция ЛВС с маркерным доступом на структуре шина
33 СОДЕРЖАНИЕ
Введение 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 Кто следующий Разрешение соперничества Кадр маркера Установить преемника | 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 | | 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 - емкость накопителя ( в числе пакетов ) буфера; - загрузка системы. Вероятность потери определяется по формуле: Допустимое значение вероятности потери пакетов в реальных сетях, как правило, не превышает . Примем Pпот равной , а = 0.5, тогда: 17.61 18. Исходя из того, что максимальный размер пакета, используемого данной станцией, равен 2048, получаем требуемый объем ОЗУ: Vозу = 18 2048 4 Кбайт. 6. РАСЧЕТ ЭФФЕКТИВНОСТИ РАБОТЫ СТАНЦИИ Эффективность методов доступа к среде определяется как среднее время задержки, зависящее от коэффициента загрузки среды передачи. Модель сети на структуре шина приведена на рис.6.1 [1]. Пусть имеется N узлов с очередями, которые подключены к общей среде передачи. На каждый узел от абонента поступает пуассоновский поток пакетов с интенсивностью 0 [пакетов/с]. Эти пакеты обслуживаются с интенсивностью 0 [пакетов/с]. Пусть известны времена распространения сигналов ij между узлами i и j и максимальное время распространения сигналов в среде m. Пусть заданы средняя длина пакета Tp и скорость передачи в среде 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 ) 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('Среднее время задержки') ; % название оси ординат
|