Реферат: Станция ЛВС с маркерным доступом на структуре шина
СОДЕРЖАНИЕ
Введение
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
--PAGE_BREAK--0000 1100
--PAGE_BREAK----PAGE_BREAK--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
продолжение--PAGE_BREAK--
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, среднее время передачи пакета активным узлом получившим управление равно Тр, среднее время передачи управления от пассивного узла составляет время />, среднее время передачи управления от активного узла равно />.
/>
продолжение--PAGE_BREAK--
Рис.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, новой величины
продолжение--PAGE_BREAK--
; предделителя, источника синхронизации
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('Среднее время задержки'); % название оси ординат