Анализ алгоритма установления соединения для оптических сетей и моделирование передачи данных

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

Рубрика Коммуникации, связь, цифровые приборы и радиоэлектроника
Вид дипломная работа
Язык русский
Дата добавления 09.07.2015
Размер файла 1,7 M

Отправить свою хорошую работу в базу знаний просто. Используйте форму, расположенную ниже

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

1. Неактивная PON, неактивный ONU.

Эта ситуация характеризуется отсутствием на PON передаваемого восходящего трафика и тем, что ONU еще не получил PON-ID от OLT.

2. Действующая PON, недействующая ONU.

Эта ситуация характеризуется добавлением нового (новых) ONU, который не подвергался раннее измерению дальности, или же добавлением ранее активного (активных) ONU с восстановлением его питания и возвратом его в PON на то время, пока трафик передается на PON.

3. Активная PON, активный ONU.

Эта ситуация характеризуется наличием ранее активного ONU, который остается с включенным питанием и подключенным к активной PON, но пребывая в состоянии POPUP, описанном в (2.8.5). Эта ситуация также включает активный ONU, подключенный к активной PON с передаваемым трафиком.

4. Переключение

Может существовать несколько типов возможных дуплексных и / или частично дуплексных конфигураций ATM-PON. В этих случаях должен применяться протокол измерения дальности. [2]

2.7 Определение фазового соотношения между восходящим и нисходящим потоками

Фазовое соотношение между восходящим и нисходящим потоками должно определяться для процесса измерения дальности.

Конфигурация точек определения, описанных ниже, показана на рисунке 2.7.

Рис. 2.7. Конфигурация точек определения

Точка определения фазы ONU устанавливается для удобства определения фазы передачи ячеек. Она виртуально располагается на стороне Эталонной точки S/R ONT. Точка определения фазы OLT также устанавливается для определения фазы передачи ячеек. Она виртуально находится на стороне эталонной точки R/S OLT.

Основная задержка передачи ячеек (Ts) определяется как фаза ячейки в восходящем направлении, которая соответствует первому праву доступа первой ячейки PLOAM в нисходящем кадре к ее нисходящему кадру в точке определения фазы ONU, когда equalization_delay (Td) равна 0. Эта задержка (Ts) происходит из-за обработки сигнала PON в ONU.

Задержка передачи ячеек ONU определяется как фаза ячейки в восходящем направлении, которая соответствует первому праву доступа первой ячейки PLOAM в нисходящем кадре к ее нисходящему кадру в точке определения фазы ONU. Задержка передачи ячеек ONU является суммой основной задержки передачи ячейки (Ts) и equalization_delay (Td) в процессе измерения дальности.

Ячейки в нисходящем направлении передачи в эталонной точке R в ONU достигают точки определения фазы ONU с определенной задержкой TiOl. Ячейки в восходящем направлении передачи в точке определения фазы ONU достигают эталонной точки S в ONU черезТiO2. Также ячейки в нисходящем направлении передачи в точке определения фазы OLT достигают эталонной точки S в OLT с определенной задержкой TiS1. Ячейки в восходящем направлении передач и в эталонной точке R в OLT достигают точки определения фазы OLT через TiS2.

Задержки TiO1, TiO2, TiS1 и TiS2 происходят в следствие оптоэлектрического и электрооптического преобразования в ONU и OLT (см. рисунок 2.7).

Время срабатывания ONU, Tresponse (ONU), должно определяться в эталонной точке S/R для обеспечения связности будущих ONU в условиях наличия оборудования различных фирм - производителей.

Время срабатывания, Tresponse (ONU), определено ниже:

Tresponse (ONU) = TiOl + Ts + Td + TiO2 (при Td = 0)

= TiOl+Ts

Значение Tresponse (ONU) должно составлять от 3136 до 4032 бит (при 155,52 Мбит/с), что эквивалентно от 7 до 9 ячеек (при 56-байтовой ячейке). Оно оценивается как достаточное время обработки сигнала в ONU.

3136 битов ? Tresponse(ONU) ? 4032 бита (при 155,52 Мбит/с)

6272 бита ? Tresponse(ONU) ? 8064 бита (при 622,08 Мбит/с)

Изменение задержки из-за Tresponse (ONU) рассматривается как неоднозначность расположения ONU и эквивалентно примерно 600 м и 300 м для скоростей в восходящем направлении 155 и 622 Мбит/с, соответственно.

Соотношение между фазами для нисходящих и восходящих ячеек в эталонной точке S/R ONU, точке определения фазы ONU, эталонной точке R/S OLT и точке определения фазы OLT показано на рисунке 2.8. Tpd представляет задержку распространения в оптоволокне от OLT к ONU (и наоборот).

Временной слот ячейки в восходящем направлении для ячейки №1 соответствует полю первого права доступа первой нисходящей ячейки PLOAM нисходящего кадра. Задержка между ячейкой PLOAM с первым правом доступа и соответствующей восходящей ячейкой определяется как компенсированная двусторонняя задержка (Teqd). Эта компенсированная двусторонняя задержка (Teqd) определяется в точке определения фазы OLT (как описано выше).

Teqd = 2*Tpd + Ts + Td + TiOl + TiO2 + TiSl + TiS2

= 2*Tpd + Tresponse (ONU) + Td + TiS 1 + TiS2

В обычном рабочем состоянии Teqd является постоянной для всех ONU. Допуская изменение Tpd и Tresponse (ONU), equalization_delay (Td) определена далее:

- максимальное значение Td ? 32 000 битов (при 155,52 Мбит/с)

- максимальное значение Td ? 128 000 битов (при 622,08 Мбит/с)

Максимальная двусторонняя задержка в 200 мс (эквивалентная 20 км оптоволокна) равна 69 ячейкам (ячейки по 56 байт) + 192 бита, а максимальное Tresponse (ONU) составляет 9 ячеек ± 2 ячейки, так что equalization_delay должна охватывать изменения задержки от 0 до 32 000 бит (при 155,52 Мбит/с).

Рис. 2.8. Фазовое соотношение между нисходящим и восходящим потоками

Equalization_delay (Td) должна быть определена со степенью детализации 1 бит для всех скоростей передачи. [2]

Рассмотрим примеры для скорости 155,52 Мбит/с в восходящем направлении.

2.8 Процедура измерения дальности

Обычная процедура

Прежде чем инициировать процесс измерения дальности, OLT посылает сообщение «Upstream_overhead», чтобы указать новым ONU на то, какую служебную нагрузку они могут задействовать. Затем OLT инициирует процесс измерения дальности. Права доступа данных в

Восходящем направлении организованы в очередь.

OLT создает следующую последовательность:

- неназначенные права доступа для открывания окна;

- право доступа измерения дальности (или право доступа PLOAM);

- дополнительные права доступа измерения дальности или права доступа PLOAM, если они необходимы.

Они отображаются в ячейки PLOAM в нисходящем направлении. Это гарантирует, что после того, как право доступа измерения дальности покидает OLT, открывается окно в восходящем направлении для приема ячейки PLOAM измерения дальности. Дополнительные права доступа измерения дальности или права доступа PLOAM позволяют установить оптическую мощность ONU и / или регулировать пороговые значения OLT, или получение данных об амплитуде и т.д. Количество дополнительных прав доступа для установки оптической мощности ONU должно равняться 1, а их количество для приемника OLT должно, по необходимости, определяться OLT.

Если для завершения установки оптической мощности ONU необходимо большее количество прав доступа, то установка оптической мощности может быть завершена, допуская несколько отказов во время измерения дальности и повторного измерения дальности. В случае, если применяется поиск порядковых номеров, то ONU может использовать права доступа для установки оптической мощности ONU. Также, если ONU периодически инициирует процесс измерения дальности для проверки недавно подключенных ONU, то это является приемлемым для данной цели.

Некоторые из неназначенных прав доступа для окна могут быть заменены правами доступа данных и / или правами доступа PLOAM, с тем чтобы минимизировать размер окна. Схема открывания окна измерения дальности в случае, когда право доступа измерения дальности размещено в поле первого права доступа первой ячейки PLOAM нисходящего кадра, показана на рисунке 2.9.

Рис. 2.9 Окно измерения дальности и фазовое соотношение

Каждый ONU, которому разрешено посылать ячейку(и), должен послать ячейку(и) PLOAM измерения дальности немедленно по получении права доступа измерения дальности. В этом контексте слово «немедленно» означает, что каждый ONU посылает ячейку PLOAM в назначенное время, соответствующее расположению права доступа измерения дальности в нисходящей ячейке PLOAM.

Equalization_delay (Td) может быть измерена, как в примере на рисунке 2.9.

Td = Teqd - (T2 - T1)

T1 = Время передачи нисходящей ячейки PLOAM, содержащей право доступа измерения дальности в точке определения фазы OLT.

T2 = Время прибытия восходящей ячейки измерения дальности в точку определения фазы OLT.

Teqd = 79 ячеек (к примеру).

Используя сведения о расстоянии между ONU и OLT, размер окна измерения дальности программируется посредством назначения соответствующих неназначенных прав доступа, как показано на рисунке 2.10.

Рис. 2.10. Программируемое окно измерения дальности (пример)

Если запрашивается открывание окна измерения дальности сокращенной длины в фиксированном местоположении в восходящем кадре, то можно использовать предопределенную equalization_delay. В процессе измерения дальности, при необходимости, могут быть открыты дополнительные окна в восходящем направлении. Пример этого показан на рисунке 2.11.

Рис. 2.11. Повторное открывание окна измерения дальности

Значение «М» на этом Рисунке указывает на интервал между открывающимися окнами. Это значение «М» должно быть определено с тем, чтобы избежать ухудшения качества обслуживания. Значение «L» указывает время, требуемое для завершения процедуры измерения дальности. [2]

Окно фиксированного местоположения при некоторых данных о местонахождении ONU.

Когда известны некоторые данные о месте ONU, то OLT может передавать предопределенную equalization_delay (Те) к ONU, при этом Те эквивалентна приблизительной equalization_delay (Td). Предопределенная equalization_delay (Те) может быть передана в сообщении Upstream_overhead от OLT к каждому ONU. Значение Те по умолчанию равно 0. OLT будет передавать неназначенные права доступа для открывания окна измерения дальности, размер которого сокращен по сравнению с максимумом в зависимости от полноты данных о расстоянии OLT-ONU. Затем оно должно послать право доступа измерения дальности к ONU.

Когда ONU получает право доступа измерения дальности, оно ответит ячейкой измерения дальности после предопределенной equalization_delay (Те) плюс Tresponse (ONU). Это будет гарантировать, что ячейка измерения дальности прибудет в пределах открытого окна, которое находится в фиксированной позиции в восходящем кадре.

Пример показан на рисунке 2.12. В этом случае equalization_delay (Td) может быть измерена следующим образом:

Td = Teqd - (T2 - T1) + Te.

Рис. 2.12. Окно фиксированного местоположения при некоторых данных о местонахождении ONU

Временные соотношения между нисходящими сообщениями и правами доступа в процессе измерения дальности должны быть интерпретированы следующим образом:

- Если нисходящая ячейка PLOAM содержит и права доступа, и сообщение, то правильная интерпретация определяется посредством обработки сначала прав доступа, а затем - этого сообщения. Обработка сообщений, принятых в ONU и касающихся процесса измерения дальности, должна быть завершена в течение шести кадровых периодов (6*Tframe).

- По приеме сообщения Ranging_time, Td должна быть обновлена в течение 6*Tframe. Это означает, что OLT должно посылать право доступа PLOAM или право доступа данных к назначенному ONU не позднее, чем через 6*Tframe секунд после отправки к этому ONU первых трех сообщений Ranging_time в процессе измерения дальности. Ввиду того, что необходимо избегать коллизий восходящих ячеек во время обработки сообщений в ONU.

Временных соотношений между нисходящими ячейками PLOAM и восходящими слотами вышеизложенное определение не касается. [2]

Общая процедура измерения дальности

Измерение дальности выполняется под управлением OLT. ONU реагирует на сообщения, которые инициируются в OLT.

Схема процедуры измерения дальности:

- OLT измеряет фазу прибытия восходящей ячейки от ONU;

- OLT уведомляет ONU о equalization_delay;

- ONU согласовывает фазу передачи с объявленным значением.

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

Проблема с измерением дальности может возникнуть при использовании метода установки В, если OLT предпринимает попытку измерить дальность ONU и одновременно появляются несколько включенных ONU. Порядковые номера ONU неизвестны, так что право доступа измерения дальности выдавалось направленно во все ONU в состоянии ожидания. Это может вызвать срабатывание нескольких ONU, сигналы которых могут перекрываться в OLT, вызывая таким образом коллизию в OLT. Механизм двоичного дерева используется для решения этой проблемы.

После того, как коллизия ячеек измерения дальности была обнаружена в OLT, OLT посылает сообщение Serial_number_mask, за которым следует право доступа измерения дальности, с тем чтобы позволить любому ONU, порядковый номер которого соответствует маске, передавать ячейку измерения дальности. Размер Serial_number_mask увеличивается на один бит за один раз до тех пор, пока только один ONU будет передавать ячейку измерения дальности. Это позволяет производить индивидуальное измерение дальности ONU. Затем повторно может быть послано общее право доступа измерения дальности, позволяющее все же производить измерение дальности других ONU для передачи ячеек измерения дальности. Если коллизия все же происходит, то этот механизм повторяется. Этот механизм двоичного дерева может быть также полезен для того, чтобы избежать перегрузки оптического ввода приемника OLT во время установки мощности ONU.

Процедура измерения дальности в ONU

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

Десять состояний ONU используются для описания режима измерения дальности.

а) Исходное состояние (О1) - Состояние, при котором после первого включения ONU все еще обнаруживаются LOS, LCD, OAML или FRML.

b) Состояние ожидания измерения дальности 1 (О2) - Состояние подготовки к измерению дальности, но сообщения в нисходящем направлении поддаются обнаружению. Выполняется прием сообщения Upstream_overhead. Передаваемая в этом сообщении Upstream_overhead предопределенная equalization_delay также обнаруживается в этом состоянии.

c) Состояние ожидания измерения дальности 2 (О3) - Если необходимо, то выполняется процедура установки оптической мощности ONU.

Механизм двоичного дерева может быть применен для установки оптической мощности ONU. Никакая ячейка PLOAM не может быть передана в ответ на право доступа измерения дальности.

d) Состояние ожидания измерения дальности 3 (О4) - Если необходимо, то выполняется процедура установки оптической мощности ONU. Механизм двоичного дерева может быть применен для установки оптической мощности ONU. Ячейка PLOAM может быть передана в ответ на право доступа измерения дальности.

e) Состояние ожидания работы 1 (О5) - Состояние выявления PON_ID. Механизм двоичного дерева применим для выявления порядковых номеров. Никакая ячейка PLOAM не может быть передана в ответ на право доступа измерения дальности.

f) Состояние ожидания работы 2 (О6) - Состояние накопления PONJTO. Механизм двоичного дерева применим для накопления порядковых номеров. Ячейка PLOAM сообщением Serial_number_ONU должна быть передана в ответ на право доступа измерения дальности.

g) Состояние ожидания работы 3 (О7) - Состояние выполненного измерения задержки. Ячейка PLOAM с сообщением Serial_number_ONU должна быть передана в ответ на право доступа PLOAM.

h) Состояние работы (О8) - Equalization_delay обновляется по получении сообщения Ranging_time.

i) Состояние экстренной остановки (О9) - Состояние экстренной остановки после получения сообщения Disable_serial_number с согласованным Serial_number и полем разрешения FFh. Никакая ячейка PLOAM не может быть передана в ответ на право доступа измерения дальности. Если ONU входит в это состояние, то этот ONU не должен выводиться из этого состояния любым из других событий, таких как сообщение Deactivate_PON_ID или LOS ит. д. и / или отключение питания ONU. Только если сообщение Desable_serial_number получено с согласованным Serial_number и с полем разблокирования 00h или полем разблокирования 0Fh, независимо от Serial_number, то тогда происходит переход состояния в О1.

j) Состояние POPUP (O10) - ONU входит в это состояние после обнаружения LOS, LCD, OAML или FRML в состоянии работы (08). Если получено сообщение POPUP, ONU восстанавливает установки лазера, Upstream_overhead, поля LCF и RXCF, предопределенную задержку выравнивания Те, PON_ID и Grant_allocations. Переход в О7 происходит после установки таймера ТО1 на запуск. [2]

Диаграмма состояний в таблице 2.5 используется для описания функционального поведения в ONU. В первом столбце таблицы 2.5 указаны генерированные события, включая прием сообщений, а в первой строке указаны состояния в ONU. Таб. 2.5. Диаграмма состояний ONU

Исходное состояние (O1)

Состояние ожидания измерения дальности 1 (О2)

Состояние ожидания измерения дальности 2 (О3)

Состояния ожидания измерения дальности 3 (О4)

Состояние ожидания работы 1 (О5)

Сообщение Upstream_overhead

-

Выделит служебную нагрузку

Установить предопределенную задержку Te => O3

-

-

-

Завершение установки оптической мощности

-

-

-запуск таймера TO1 => O5

-запуск таймера TO1 => O5

-

Сообщение Serial_number_mask

-

-

Согласовывать SN (достоверные биты)? => O4

Согласовывать SN (достоверные биты)? => O3

Согласовывать SN (достоверные биты)? => O6

Сообщение Assign_PON_ID

-

-

-

-

Согласовывать SN?

- назначить PON_ID

Сообщение Grant_allocation

-

-

-

-

Согласовывать PON_ID?

- присвоить право доступа данных /PLOAM => O7

Сообщение POPUP

-

-

-

-

-

Истечение времени таймера TO2

-

-

-

-

-

Истечение времени таймера TO1

-

-

-

-

O3 (аварийный SUF)

Сообщение Ranging_time

-

-

-

-

-

Право доступа данных

-

-

-

-

-

Право доступа PLOAM

-

-

-

-

-

Право доступа измерения дальности

-

-

-

Послать ячейку PLOAM

-

Сообщение Deactivate_PON_ID

-

-

Согласовывать PON_ID? => O2

Согласовывать PON_ID? => O2

Согласовывать PON_ID?

- остановить таймер TO1=> O2

Сообщение Disable_serial_number

-

Согласовывать SN и позволить = FFh? =>O9

Согласовывать SN и позволить = FFh? =>O9

Согласовывать SN и позволить = FFh? =>O9

Согласовывать SN и позволить = FFh?

- остановить таймер TO1 =>O9

Обнаружить LOS или LSD, или OAML, или FRML

-

=>O1

=>O1

=>O1

остановить таймер TO1 =>O1

Отменить LOS и LCD, и OAML, и FRML

=>O2

-

-

-

-

Сообщение Upstream_overhead

-

-

-

-

-

Завершение установки оптической мощности

-

-

-

-

-

Сообщение Serial_number_mask

Не согласовывать SN (достоверные биты)?

=>O5

-

-

-

-

Сообщение Assign_PON_ID

Согласовать SN?

- Присвоить PON_ID

-

-

-

-

Сообщение Grant_allocation

Согласовать PON_ID?

- Присвоить право доступа данных/PLOAM

-

-

-

-

Сообщение POPUP

-

-

-

-

Восстановить установки лазера, Upstream_overhead, LCF и RXCF поля, Te, PON_ID и Grant_allocation, запуск таймера TO1 =>O7

Истечение времени таймера TO2

-

-

-

-

=>O1

Истечение времени таймера TO1

=>O3 (аварийный сигнал SUF)

=>O3 (аварийный сигнал SUF)

-

-

-

Сообщение Ranging_time

-

Согласовать PON_ID?

- остановка таймера TO1

- установить задержку выравнивания =>O8

Согласовать PON_ID?

- обновить задержку выравнивания

-

-

Право доступа данных

-

-

Послать ячейку ATM

-

-

Право доступа PLOAM

-

Послать ячейку PLOAM

Послать ячейку PLOAM

-

-

Право доступа измерения дальности

Послать ячейку PLOAM

-

-

-

-

Сообщение Deactivate_PON_ID

Согласовывать PON_ID?

- остановить таймер TO1=> O2

Согласовывать PON_ID?

- остановить таймер TO1=> O2

Согласовывать PON_ID? => O2

-

-

Сообщение Disable_serial_number

Согласовывать SN и позволить = FFh?

- остановка таймера TO1=>O9

Согласовывать SN и позволить = FFh?

- остановка таймера TO1=>O9

Согласовывать SN и позволить = FFh? =>O9

Согласовывать SN и позволить =00h или позволить= 0Fh и несоответствующий SN =>O1

-

Обнаружить LOS или LSD, или OAML, или FRML

остановка таймера TO1 =>O1

остановка таймера TO1 =>O1

Запустить таймер TO2 =>O10

-

=>O10

Отменить LOS и LCD, и OAML, и FRML

-

-

-

-

-

ONU покинет состояние работы, если происходит отказ или отключение питание ONU. В этой диаграмме состояний учитываются только сигналы технического обслуживания LOS, LCD, OAML и FRML.

Ячейка PLOAM в состоянии O6 или O7 должна передаваться сообщением Serial_number_ONU с предопределенной задержкой Te, а в состоянии O4 она должна передаваться с предопределенной задержкой Te.

PON_ID и Grant_allocation должны быть отменены или аннулированы при возникновении переходов в состояния O1, O2, O3 и O9, а предопределенная задержка Te должна быть отменена при переходах в состояния O1 и O2.

Сообщения, передаваемые в ячейках PLOAM от OLT, должны быть защищены с помощью CRC, а событие приема сообщения должно создаваться, если проверка CRC является правильной. В случаях а), с), d) и e), ниже, эти сообщения посылаются трижды с тем, чтобы гарантировать правильный прием в ONU. В этих случаях событие приема сообщения создается после правильного, хотя бы однократного, приема сообщения.

а) Событие приема сообщения Upstream_overhead

Это событие возникает только в состоянии ожидания Измерения дальности 1. После успешного приема сообщения Upstream_overhead происходит переход состояния ONU в состояние ожидания измерения дальности 2.

b) Событие приема сообщения Serial_number_mask

Это событие обрабатывается в состоянии ожидания измерения дальности 2, состоянии ожидания измерения дальности 3, состоянии ожидания работы 1и состоянии ожидания работы 2.

В состоянии ожидания измерения дальности 2 и состоянии ожидания измерения дальности 3: Когда достоверный порядковый номер согласуется с собственным порядковым номером, то состояние ONU подвергается переходу в состояние ожидания измерения дальности 3. Если достоверный порядковый номер не соответствует собственному порядковому номеру, то происходит переход в состояние ожидания измерения дальности 2.

В состоянии ожидания работы 1 и состоянии ожидания работы 2: Когда достоверный порядковый номер согласуется с собственным порядковым номером, то состояние ONU подвергается переходу в состояние ожидания работы 2. Если достоверный порядковый номер не согласуется с собственным порядковым номером, то происходит переход в состояние ожидания работы 1.

c) Событие приема сообщения Assign_PON_ID

Это событие обрабатывается только в состоянии ожидания работы 1 и в состоянии ожидания работы 2. Если порядковый номер в сообщении Assign_PON_ID согласуется с его собственным порядковым номером, то он воспринимается.

d) Событие приема сообщения Grant_allocation

Если PON_ID в сообщении Grant_allocation согласуется с его собственным PON_ID, то назначается право доступа данных и право доступа PLOAM для ONU, и затем состояние ONU устанавливается в состояние ожидания работы 3.

e) Событие приема сообщения Ranging_time

Это событие обрабатывается только в состоянии ожидания работы 3 и в состоянии работы, если PON_ID согласуется с собственным PON_ID. Equalization_delay принимается в сообщении Ranging_time и используется equalization_delay Td. (В состоянии ожидания работы 3).

Equalization_delay установлена, а состояние ONU установлено в состояние работы. (В состоянии работы).

Equalization_delay обновлена.

f) Событие приема сообщения Deactivate_РON_ID

Если PON_ID согласуется с собственным PON_ID, то состояние ONU подвергается переходу в состояние ожидания измерения дальности 1. Применяется также циркулярное сообщение Deactivate PON_ID.

g) Событие приема сообщения Disable_serial_number

Если порядковый номер (64 бита) согласуется с собственным порядковым номером, а 37-й октет Enable в этом сообщении равен FFh, то состояние ONU подвергается переходу в состояние экстренной остановки. Если порядковый номер (64 бита) согласуется с собственным порядковым номером, а 37-йоктет Enable в этом сообщении равен 00h, или же если поле Enable равно 0Fh независимо от порядкового номера, то состояние ONU подвергается переходу из состояния экстренной остановки в исходное состояние (О1).

h) Событие приема сообщения POPUP

Это событие происходит только в состоянии POPUP (010). При получении сообщения POPUP, ONU восстанавливает установки лазера, Upstream_overhead, поля LCF и RXCF, обусловленную задержку выравнивания Те, PON_ID и Grant_allocations. Запускается таймерТО1, затем происходит переход в состояние О7.

Право доступа данных обрабатывается только в состоянии работы, затем ячейка ATM передается к OLT. Ячейка PLOAM передается к OLT в ответ на право доступа PLОAM в состоянии ожидания работы 3 и в состоянии работы. Ячейка PLOAM, передаваемая в состоянии ожидания работы 3, должна включать сообщение Serial_number_ONU для подтверждения ячейки измерения дальности в ответ на право доступа PLOAM.

Право доступа измерения дальности действительно только в состоянии ожидания Измерения дальности 3 и состоянии ожидания работы 2. В состоянии ожидания измерения дальности 3, ONU посылает ячейку PLOAM в соответствии с приемом права доступа измерения дальности. Эта ячейка PLOAM может быть передана ONU неправильно во время установки лазера. В состоянии ожидания работы 2 ONU посылает ячейку PLOAM в назначенное время в соответствии с правами доступа измерения дальности. Эта ячейка PLOAM должна быть передана с сообщением Serial_number_ONU для восприятия OLT порядковых номеров.

Кроме приема сообщений в ONU могут происходить и другие события:

а) Завершение установки оптической мощности

Это событие генерируется в состоянии ожидания измерения дальности 2 и состоянии ожидания Измерения дальности 3 только при завершении установки оптической мощности ONU. Это событие вызывает переход в состояние ожидания работы 1 после установки запуска таймераТО1. Передаваемые в состоянии ожидания измерения дальности 3 ячейки PLOAM используются только для установки оптической мощности ONU в соответствии с приемом права доступа измерения дальности, если это необходимо. Если не требуется установка оптической мощности, то ONU в состоянии ожидания измерения дальности 1 (О2) выделит значение служебной нагрузки и значение предопределенной задержки из сообщения Upstream_overhead, перейдет в состояние ожидания измерения дальности 2 (О3), а затем немедленно создаст событие завершения установки оптической мощности и перейдет в состояние ожидания работы 1 (О5).

b) Истечение времени таймера ТО1

Это событие генерируется, когда процедура измерения дальности не завершена в течение определенного периода времени. Это событие создает переход состояния в состояние ожидания измерения дальности 2. Значение Т01 составляет 10 секунд.

c) Обнаружение LOS, LCD, OAML или FRML

Это событие вызывает переход состояния ОNU в исходное состояние (О1), за исключением тех случаев, когда ONU находится в состоянии работы (О8). В состоянии работы (О8) это событие вызывает переход состояния ONU в состояние POPUP (О10) после установки запуска таймера ТО2.

d) Отмена LOS, LCD, OAML и FRML

Это событие вызывает переход состояния ONU из исходного состояния в состояние ожидания измерения дальности 1.

e) Истечение таймера ТО2

Это событие генерируется, если сообщение POPUP не получено в состоянии POPUP в течение определенного периода времени. Это событие вырабатывает переход состояния в исходное состояние (О1). ЗначениеТО2 составляет 100 мс. [2]

Процедура измерения дальности в OLT

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

Функции OLT для процедуры измерения дальности могут быть разделены на Common-part (общую часть) и Individual-ONU-dealing-part(n) (часть, относящуюся к отдельным ONU(n)), где n соответствует каждому ONU. Common-part обрабатывает общую функцию в одном линейном интерфейсе, а Individual-ONU-dealing-part(n) обрабатывает каждый ONU, обеспечиваемый в одном линейном интерфейсе. Каждое состояние обеих частей соответственно описано далее, соответственно, включая поведение каждого. Диаграмма состояний, используемая для описания функционального поведения в Common-part, представлена в таблице 2.6. Первый столбец в таблице 2.6 указывает создаваемые события, а первая строка указывает состояния в Common-part.

Таб. 2.6. Диаграмма состояний Common-part в OLT

Состояние ожидания измерения задержки / состояние выполнения (OLT-COM1)

Состояние восприятия порядковых номеров (SN) (OLT-COM2)

Запрос восприятия SN

=> OLT-COM2

-

Прием достоверной PLOAM в окне

(примечание)

Извлечь SN

Распределить свободное n

Распределить свободный PON_ID

Конец поиска по двоичному дереву

-

=> OLT-COM1

Если для n условия измерения задержки не выполнены

Обновить n

-

Условия измерения задержки выполнены (n)

Команда запуска измерения задержки (n)

-

Примечание: Измерение задержки может быть выполнено или в OLT Common-part или в Individual-ONU-dealing-part. Следовательно, эта диаграмма не определяет явно эту функцию.

Состояния определены как:

- состояние ожидания измерения задержки / состояние выполнения (OLT-COM1);

- состояние восприятия последовательных номеров (SN) (OLT-COM2).

События определяются следующим образом:

а) Получена достоверная PLOAM в окне.

b) Конец поиска двоичного дерева.

c) Условия измерения задержки выполнены (n).

Это событие создается, если n-ная Individual-ONU-dealing-part(n) готова к измерению задержки.

d) Для n условия измерения задержки не выполнены. Нотификация конца измерения задержки (n).

Это событие генерируется для удобства, если n-ная Individual-ONU-dealing-part(n) завершила, успешно или безуспешно, измерение задержки. Описываемое событие приемлемо для последовательного измерения дальности в качестве запускающего обновления количества «n» ONU, подвергшихся измерению дальности, но не может использоваться в качестве запускающего обновление для параллельного измерения дальности. Соответственно, это событие не определено явно в диаграмме состояний.

e) Запрос восприятия SN.

Диаграмма состояний, используемая для описания функционального поведения в Individual-ONU-dealing-part(n), представлена в таблице 2.7. Первый столбец в таблице 2.7 указывает генерируемые события, а первая строка указывает состояния в Individual-ONU-dealing-part(n).

Таб. 2.6. Диаграмма состояний для Individual-ONU-dealing-part(n) в OLT

Исходное состояние (OLT-IDV1)

Состояние измерения задержки (OLT-IDV2)

Состояние работы (OLT-IDV3)

Команда запуска измерения задержки (n)

=> OLT-IDV2

-

-

Завершение измерения задержки (n)

-

Послать трижды Ranging_time. Уведомление конца измерения задержки (n).

=> OLT-IDV3

-

Аварийная остановка измерения задержки (n)

-

Послать трижды сообщение Deactivate_PON_ID.

Нотификация конца измерения задержки (n).

=> OLT-IDV1

-

Обнаружить LOSi(n), CPEi(n), LCDi(n), OAMLi(n), LOAi(n) или R-INHi(n)

-

-

=> OLT-IDV1

Состояния определяются как:

- исходное состояние (OLT-IDV1);

- состояние ожидания команды запуска измерения задержки;

- состояние измерения задержки (OLT-IDV2);

- состояние работы (OLT-IDV3).

События определяются следующим образом:

а) Команда запуска (n) измерения задержки

Это событие генерируется, если принята команда из Common-part.

b) Завершение измерения задержки (n)

Это событие генерируется, если было успешно выполнено измерение задержки. После того, как сообщение Ranging_time, содержащее equalization_delay, было трижды послано к назначенному ONU, для удобства выдается нотификация конца измерения задержки (n) к Common_part OLT, затем происходит переход состояния в состояние работы (OLT-IDV3).

c) Аварийная остановка измерения задержки (n)

Это событие генерируется при отказе измерения задержки. После того, как сообщение Deactivate_PON_ID было трижды послано к назначенному ONU, для удобства выдается нотификация конца измерения задержки (n) к Common-part OLT, затем происходит переход состояния в исходное состояние (OLT-IDV1).

d) Обнаружение LOSi(n), CPEi(n), LCDi(n), OAMLi(n) или R-INHi(n)

Это событие вызывает переход состояния в исходное состояние (OLT-IDV1).

Процедура для equalization_delay

Определенные биты в поле сообщения Ranging_time в нисходящей ячейке PLOAM устанавливаются в значение этой equalization_delay и это передается к ONU.

Успешное измерение equalization_delay указывается, если соблюдены все следующие условия:

1) достоверная ячейка PLOAM обнаружена в окне измерения дальности;

2) сообщение Serial_number_ONU в ячейке PLOAM согласуется с порядковым номером адресуемого ONU;

3) измеряемая Td меньше или равна определенной величине (например, 79 ячеек);

4) фаза накопления ONU отличается менее чем на ± 2 бита или равно ± 2 бита, по сравнению с фазой эталонной ячейки.

Эталонная ячейка определяется следующим образом:

- Первая фаза накопления не имеет эталонной ячейки, следовательно, измерение equalization_delay считается изначально успешным, если первая принятая ячейка PLOAM удовлетворяет всем вышеуказанным условиям (1-3). Первая фаза захвата считается эталонной фазой для следующей принятой ячейки PLOAM. Эталонная ячейка обновляется каждый раз, когда OLT принимает новую достоверную ячейку PLOAM, которая удовлетворяет вышеуказанным условиям (1-3), не зависимо от соблюдения условия 4).

Процедура измерения задержки включает ряд измерений и считается завершенной по выполнении двух успешных (S) или двух неудачных (F) измерений. Выполнение ее S (=2) раз указывает на успешное измерение equalization_delay, и это генерирует событие завершения измерения задержки. Напротив, F(=2) указывает на отказ при измерении equalization_delay, это означает, что не были соблюдены условия для успешного измерения equalization_delay, что генерирует событие аварийной остановки измерения задержки. При необходимости, время отказов может не включать время установки пороговых значений в приемнике OLT. Метод расчета и передачи equalization_delay описан ниже.

Когда происходит событие завершения измерения задержки, то самое последнее успешное значение equalization_delay и значение equalization_delay его эталонной ячейки усредняются, а дробные части бита не учитываются. Это усредненное значение передается к ONU как equalization_delay.

Во время активности ONU, фаза принятой в OLT ячейки непрерывно проверяется с тем, чтобы предупредить коллизии с соседними ячейками. Джиттер, создаваемый задающим генератором OLT, компенсируется с помощью метода выравнивания фазы синхронизации. Блуждание (wander), вызываемое изменением температуры, заставляет восходящую ячейку ONU смещаться по направлению к предыдущей или последующей ячейке. Фазы ячеек, поступающих в OLT, через определенный временной период, усредняются с соответствующей выборкой ячеек для каждого ONU, а обновленная equalization_delay посылается через сообщение Ranging_time к тому ONU, который будет регулировать equalization_delay. Это сообщение Ranging_time должно быть передано, по крайней мере, один раз в течение определенного максимального периода времени.

Если OLT обнаруживает, что ONU не отрегулировал свою equalization_delay после определенной выдержки времени, или же, если OLT обнаруживает погрешность по фазе ячейки в определенный промежуток времени, то OLT несколько раз посылает обновленную equalization_delay. В случае неудачи (CPEi) OLT трижды посылает сообщение Deactivate_PON_ID. Если ONU не реагирует на это сообщение, то оператор информируется об этой аномалии. Если ONU блокирован, то прием права доступа для этого ONU приостанавливается. Оператор информируется об этом действии. Оператор может решить вывести этот ONU из эксплуатации или же повторить полную процедуру измерения дальности. [2]

Диаграмма обмена сообщениями ONU-OLT

Диаграмма, приведенная на рисунке 2.13, иллюстрирует обычный обмен сообщениями между OLT и ONU в процессе измерения дальности.

Рис. 2.13. Последовательность сообщений измерения дальности.

3. Моделирование алгоритма распределения ресурсов на ЭВМ

Основные результаты приведённого выше анализа были проверены путём моделирования на ЭВМ алгоритма работы пассивной оптической сети APON.

Проверка работоспособности полученного алгоритма была реализована путем создания программы на алгоритмическом языке Turbo Pascal 7.0.

Общая блок-схема программы содержит ряд функционально законченных блоков:

1. Описание констант и переменных.

2. Процедура ввода исходных данных.

3. Процедура построения структуры сети.

4. Инициализация модуля графики.

5. Набор процедур, обеспечивающих управление выводом графической информации.

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

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

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

Основные клавиши для работы в программе: вверх, вниз, ввод, табуляция - выбор и выход - Esc.

Основные этапы работы программы:

1) Создается заданная структура сети, вводятся серийные номера ONU.

2) На следующем этапе на дисплей выводится графическое изображение структуры сети с OLT и ONU и серийным номером ONU, еще не получившего свой временной интервал в групповом сигнале (рис. 3.1).

Рис. 3.1. Структура сети с OLT и ONU и серийным номером ONU, еще не получившего свой временной интервал в групповом сигнале

3) Выбор ONU, который получил право доступа измерения дальности (рис. 3.2)

Рис. 3.2. Выбор ONU, получившего право доступа измерения дальности

4) Измерение времени задержки Td (рис 3.3).

Рис. 3.3. Измерение времени задержки Td

5) В процессе измерения дальности ONU и OLT не смогли согласовать Td и ONU, OLT посылает сообщение Deactivate_PON_ID, и ONU не может осуществлять передачу (рис. 3.4).

Рис. 3.4. OLT посылает сообщение Deactivate_PON_ID, и ONU не может осуществлять передачу

6) В процессе измерения дальности ONU и OLT согласовали Td, процедура измерения дальности завершена, и ONU может приступить к работе (рис. 3.5).

Рис. 3.5. ONU и OLT согласовали Td, процедура измерения дальности завершена, и ONU может приступить к работе

Заключение

Приведем результаты, полученные в данной дипломной работе.

В первой главе был рассмотрен принцип работы пассивных оптических сетей, топологии построения сетей PON, представлены стандарты PON, изложены принципы работы технологий APON, GPON, EPON.

Во второй главе был проведен анализ алгоритма установления соединения в сетях APON. Так же была приведена структура кадра, рассмотрены служебные сообщения, приведен метод расчета задержки.

На основании проведённого анализа была разработана программа, позволяющая моделировать процесс измерения дальности для сетей APON.

Полученные результаты позволяют моделировать алгоритм работы пассивной оптической сети APON и выделение временного интервала для конкретного ONU на основании измерения задержки Td.

Литература

1. И.И. Петренко, Р.Р. Убайдуллаев «Оптические сети PON». //Lightwave. Russian edition. - №1, 2004, с. 22-28

2. ITU-T Recommendation G.983.1.

3. http://www.fotonexpress.ru/pdf/PE_3 (51).pdf

4. http://www.cisco.com/web/RU/downloads/Cisco_FTTH_architecture.pdf

5. http://www.teralink.ru/

6. http://www.tls-group.ru/doc/2005/nets/prozr/prozr.html

7. http://www.tssonline.ru/articles2/Oborandteh/med-ili-optika-chto-luchshe-oper-shpd

8. http://www.deps.ua/tehnicheskaya-informatsiya/stati/praktika-vnedreniya-passivnyih-opticheskih-setey-pon.html

9. Кирби Р. «Новый отсчет времени для пассивных оптических сетей» LAN Журнал Сетевых Решений, №9, 2001, с. 50-55.

Гаскевич Е., Убайдуллаев Р. «PON - широкополосная мультисервисная сеть доступа», ТелеМультиМедиа, №2 (12), 2002, с. 29-32.

10. Орлов С. «Оптика вплотную к клиентам» LAN Журнал сетевых решений, №5, 2003, с. 50-60.

Приложение

Program Graf;

uses CRT, Graph, var_u, kadrOLT, kadrONT;

procedure oshibka;

begin

for io:=1 to 2*d do begin

jo:=random (abs(jj-2));

if jo=0 then jo:=1;

oshibka2:=random (n-1); {номер байта}

if oshibka2=22 then oshibka2:=oshibka2-1;

oshibka1:=random(7); {номер бита}

seek (f, (jo-1)*n+oshibka2);

blockread (f, h, 1, result);

m:=ioresult;

h.mean:=h.mean xor trunc (exp(oshibka1*ln(2)));

seek (f, (jo-1)*n+oshibka2);

blockwrite (f, h, 1, result);

m:=ioresult;

end;

end;

{-}

procedure decod2 (ao:byte);

begin

xo:=0;

for ko:=0 to 7 do

if ao>=int (exp((7-ko)*ln(2))) then begin

xoo:=xoo+1;

ao:=ao-trunc (exp((7-ko)*ln(2)));

end;

end;

{-}

procedure inicial;

begin

assign (f, 'd:\am\kol_onu');

reset (f, sizeof(x1));

blockread (f, x1,1, result);

m:=ioresult;

close(f);

if x1<>0 then begin

assign (f, 'd:\am\kol_cont');

reset (f, sizeof(x1));

blockread (f, x1,1, result);

m:=ioresult;

close(f);

end;

CONT:=x1;

ATM:=0;

ploamu1:=2;

r1:=1;

kadr_n;

end;

{-}

procedure otvet;

begin

assign (f, 'd:\am\kadr-n');

reset (f, sizeof(h));

ONU_ID:=zs[i15].id;

SN:=ys[i15];

seek (f, 8); {широковещат}

blockread (f, h, 1, result);

m:=ioresult;

if h.mean=255 then begin

seek (f, 9);

blockread (f, h, 1, result);

m:=ioresult;

case h.mean of

1: if ONU_ID=255 then begin

seek (f, 10);

blockread (f, h, 1, result);

m:=ioresult;

zaschita:=h.mean;

seek (f, 11);

blockread (f, h, 1, result);

m:=ioresult;

pream1:=h.mean;

seek (f, 12);

blockread (f, h, 1, result);

m:=ioresult;

pream2:=h.mean;

seek (f, 13);

blockread (f, h, 1, result);

m:=ioresult;

pream3:=h.mean;

for i:=1 to 3 do begin

seek (f, 13+i);

blockread (f, h, 1, result);

m:=ioresult;

razdel[i]:=h.mean;

end;

seek (f, 22);

blockread (f, h, 1, result);

m:=ioresult;

CONT1:=h.mean*16;

seek (f, 23);

blockread (f, h, 1, result);

m:=ioresult;

CONT1:=CONT1+trunc((h.mean and 240)/16);

end;

end;

end;

close(f);

kadr_v;

assign (f, 'd:\am\kadr-v');

reset (f, sizeof(h));

seek (f, 12);

blockread (f, h, 1, result);

m:=ioresult;

if h.mean=255 then begin

seek (f, 13);

blockread (f, h, 1, result);

m:=ioresult;

if h.mean=1 then begin

seek (f, 20);

blockread (f, h, 1, result);

m:=ioresult;

seek (f, 21);

blockread (f, h, 1, result);

m:=ioresult;

SN:=h.mean;

close(f);

assign (f, 'd:\am\kol_onu');

reset (f, sizeof(x1));

blockread (f, x1,1, result);

m:=ioresult;

seek (f, 0);

x1:=x1+1;

ONU_ID:=x1;

blockwrite (f, x1,1, result);

m:=ioresult;

close(f);

assign (f, 'd:\am\kol_cont');

reset (f, sizeof(x1));

blockread (f, x1,1, result);

m:=ioresult;

seek (f, 0);

x1:=x1+1;

CONT:=x1;

blockwrite (f, x1,1, result);

m:=ioresult;

close(f);

end;

end;

r1:=2;

kadr_n;

assign (f, 'd:\am\kadr-n');

reset (f, sizeof(h));

seek (f, 10);

blockread (f, h, 1, result);

m:=ioresult;

zs[i15].ID:=h.mean;

for r:=1 to CONT do begin

seek (f, 33+8*(r-1));

blockread (f, h, 1, result);

m:=ioresult;

x1:=h.mean;

seek (f, 34+8*(r-1));

blockread (f, h, 1, result);

m:=ioresult;

zs1 [r]:=x1*256+h.mean;

seek (f, 35+8*(r-1));

blockread (f, h, 1, result);

m:=ioresult;

x1:=h.mean;

seek (f, 36+8*(r-1));

blockread (f, h, 1, result);

m:=ioresult;

zs2 [r]:=x1*256+h.mean;

end;

r2:=1;

for r:=1 to s0 do

if zs[r].id=255 then continue

else begin

zs[r].start:=zs1 [r2];

zs[r].stop:=zs2 [r2];

r2:=r2+1;

if r2>cont then break;

end;

end;

{-}

procedure Setka;

begin

setbkcolor(15);

cleardevice;

setcolor(1);

SetLineStyle (SolidLn, 0, ThickWidth);

Rectangle (Round((GetMaxX*0.5+GetMaxY*0.5-70)*yasp/xasp), round (GetMaxY/2 - 40),

Round((GetMaxX*0.5+GetMaxY*0.5-30)*yasp/xasp), round (GetMaxY/2+40));

line (Round((GetMaxX*0.5+GetMaxY*0.5-70)*yasp/xasp), round (GetMaxY/2),

Round((GetMaxX*0.5-40)*yasp/xasp), round (GetMaxY/2));

settextstyle (0,0,2);

settextjustify (centertext, centertext);

outtextxy (Round((GetMaxX*0.5+GetMaxY*0.5-50)*yasp/xasp),

round (GetMaxY/2), 'OLT');

settextstyle (0,0,1);

SetLineStyle (SolidLn, 0, NormWidth);

for i1:=1 to s0 do

line (zs[i1].ex, zs[i1].ey, Round((GetMaxX*0.5 - 50)*yasp/xasp), round (GetMaxY/2));

SetFillStyle (1,15);

Bar (Round((GetMaxX*0.5-60)*yasp/xasp), round (GetMaxY/2-5),

Round((GetMaxX*0.5-40)*yasp/xasp), round (GetMaxY/2+5));

SetLineStyle (SolidLn, 0, ThickWidth);

Rectangle (Round((GetMaxX*0.5-60)*yasp/xasp), round (GetMaxY/2-5),

Round((GetMaxX*0.5-40)*yasp/xasp), round (GetMaxY/2+5));

str (s0, w1);

textw:=textwidth ('ONU'+w1);

for i1:=1 to s0 do begin

SetFillStyle (1,15);

Bar (zs[i1].ex-round (textw/2) - 4, zs[i1].ey-10, zs[i1].ex+round (textw/2)+4,

zs[i1].ey+10);

SetColor (zs[i1].col);

Rectangle (zs[i1].ex-round (textw/2) - 4, zs[i1].ey-10, zs[i1].ex+round (textw/2)+4,

zs[i1].ey+10);

end;

setcolor(1);

settextjustify (centertext, centertext);

for i1:=1 to s0 do begin

str (i1, w1);

outtextxy (zs[i1].ex, zs[i1].ey, 'ONU'+w1);

end;

end;

{-}

procedure generator;

begin

setka;

setcolor(s5);

settextjustify (centertext, centertext);

str (ys[i15], w1);

if sv1=1 then begin

w1:='данный ONU уже идентифицирован';

sv1:=0;

end;

outtextxy (4+round (textwidth(w1)/2), getmaxy-30, w1);

str (i15, w1);

w3:='серийный номер ONU '+w1;

outtextxy (4+round (textwidth(w3)/2), getmaxy-50, w3);

if zs[i15].id<>255 then begin

str (zs[i15].id, w1);

w3:='ONU_ID '+w1;

outtextxy (4+round (textwidth(w3)/2), getmaxy-70, w3);

str (zs[i15].stop, w1);

w3:='SSTOP '+w1;

outtextxy (4+round (textwidth(w3)/2), getmaxy-85, w3);

str (zs[i15].start, w1);

w3:='SSTART '+w1;

outtextxy (4+round (textwidth(w3)/2), getmaxy-100, w3);

end;

zs[i15].col:=z3;

end;

{-}

procedure vibor;

begin

i15:=1;

k:=0;

z3:=zs[i15].col;

zs[i15].col:=s3;

generator;

repeat

if keypressed then begin

ch:=readkey;

if ch=#0 then begin

ch:=readkey;

case ord(ch) of

72:begin

{if y[i15]=2 then begin k:=i15; for j:=1 to s0 do x [j, i15]:=0; end;}

if i15=s0 then

i15:=1

else i15:=i15+1;

z3:=zs[i15].col;

zs[i15].col:=s3;

generator;

end;

80: begin

{if y[i15]=2 then begin k:=i15; for j:=1 to s0 do x [j, i15]:=0; end;}

if i15=1 then

i15:=s0

else i15:=i15-1;

z3:=zs[i15].col;

zs[i15].col:=s3;

generator;

end;

end;

end

else begin

if ch=#9 then

if zs[i15].sv=0 then begin

inicial;

otvet;

zs[i15].sv:=1;

end

else begin

sv1:=1;

zs[i15].col:=s3;

generator;

end;

z[i15].col:=s3;

case y[i15] of

0: if k=0 then y[i15]:=2

else y[i15]:=4;

2: begin

if i15=k then begin k:=0; for j:=1 to s0 do x [j, i15]:=x2 [j, i15]; end;

y[i15]:=4;

end;

4: y[i15]:=11;

11: y[i15]:=0;

end;

generator;

end;}

if ch=#13 then begin

zs[i15].col:=z3;

break;

end;

if ch=#27 then halt;

end;

end;

until (1=2);

end;

{-}

begin

textbackground(1);

textcolor(14);

clrscr;

jj:=1;

writeln ('введите кол-во ONU');

readln(s0);

writeln ('введите серийные номера ONU');

for i15:=1 to s0 do begin

readln (ys[i15]);

zs[i15].id:=255;

end;

assign (f, 'd:\am\kol_onu');

rewrite (f, sizeof(x1));

x1:=0;

blockwrite (f, x1,1, result);

m:=ioresult;

close(f);

assign (f, 'd:\am\kol_cont');

rewrite (f, sizeof(x1));

x1:=0;

blockwrite (f, x1,1, result);

m:=ioresult;

close(f);

assign (f, 'd:\am\oltO_ID');

rewrite (f, sizeof(h1));

h1.kcont:=0;

h1.snum:=0;

h1.onu:=0;

blockwrite (f, h1,1, result);

m:=ioresult;

close(f);

assign (f, 'd:\am\kadr-n');

rewrite (f, sizeof(h));

close(f);

assign (f, 'd:\am\kadr-v');

rewrite (f, sizeof(h));

close(f);

{inicial;}

repeat

Gd:=9;

gm:=1;

pgd:='d:\BP\BGI';

InitGraph (Gd, Gm, pgd);

str (s0, w1);

rd:=textwidth(w1) - 6*(s00-1);

getaspectratio (xasp, yasp);

for i15:=1 to s0 do begin

zs[i15].ex:=Round (GetMaxX*0.5+((GetMaxY*0.5-25)*cos (pi/2+pi*(i15-1)/(s0-1)))*yasp/xasp);

zs[i15].ey:=Round (GetMaxY*0.5 - (GetMaxY*0.5-25)*sin (pi/2+pi*(i15-1)/(s0-1)));

zs[i15].ox:=Round (GetMaxX*0.5+((GetMaxY*0.5-25+rd+14)*cos (pi/2+pi*(i15-1)/(s0-1)))*yasp/xasp);

zs[i15].oy:=Round (GetMaxY*0.5 - (GetMaxY*0.5-25+rd+6)*sin (pi/2+pi*(i15-1)/(s0-1)));

end;

p4:=0;

for j:=1 to s0 do zs[j].col:=s5;

setka;

vibor;

restorecrtmode;

textbackground(1);

textcolor(14);

clrscr;

po1:=0.00001;

po2:=0.005;

d:=1;

po:=po1;

jj:=round (d/(4*n*po))+1;

s11:=0;

r5:=0;

yo:=0;

xoo:=0;

for eo:=1 to 5 do begin

r1:=1;

kadr_n;

assign (f, 'd:\am\kadr-n');

reset (f, sizeof(h));

Oshibka;

seek (f, 0);

repeat

blockread (f, h, 1, result);

m:=ioresult;

if h.name=22 then begin

ao:=s11 XOR h.mean;

decod2 (ao);

yo:=yo+xoo;

s11:=0;

end else

s11:=s11 XOR h.mean;

until (eof(f));

{-}

writeln ('{-}');

writeln ('вероятность ошибки ', po);

writeln ('общее число обнаруженных ошибок ', yo);

writeln ('общее число внесенных ошибок ', 2*d);

textcolor(15);

writeln ('{-}');

writeln (' Enter - продолжение; Esc - выход ');

writeln ('{-}');

xo1 [r5]:=po;

yo1 [r5]:=100*yo/(2*d);

po:=po+(po2-po1)/(5-1);

d:=round (4*n*jj*po);

r5:=r5+1;

repeat

ch:=readkey;

if ch=#27 then halt;

until (ch=#13);

end;

m1:=5;

fmax:=100;

mn2:=1;

mn1:=0;

Kn:=300/fmax; dx:=xo1 [1] - xo1 [0];

{Вычисление производных}

for i:=1 to m1-3 do begin

df0:=yo1 [i-1] - yo1 [i]; df1:=yo1 [i+1] - yo1 [i]; df2:=yo1 [i+2] - yo1 [i];

kf1 [i]:=(6*df1-df2-2*df0)/(6*dx);

kf2 [i]:=(df1+df0)/(2*Sqr(dx));

kf3 [i]:=(df2-3*df1-df0)/(6*Sqr(dx)*dx); end;

kf1 [0]:=kf1 [1] - 2*kf2 [1]*dx+3*kf3 [1]*Sqr(dx);

kf1 [m1-2]:=kf1 [m1-3]+2*kf2 [m1-3]*dx+3*kf3 [m1-3]*Sqr(dx);

kf1 [m1-1]:=kf1 [m1-3]+4*kf2 [m1-3]*dx+12*kf3 [m1-3]*Sqr(dx);

for i:=0 to m1-2 do begin

v0 [i]:=yo1 [i];

v1 [i]:=kf1 [i];

v2 [i]:=(3*(yo1 [i+1] - yo1 [i]) - (kf1 [i+1]+2*kf1 [i])*dx)/Sqr(dx);

v3 [i]:=(kf1 [i+1] - v1 [i] - 2*v2 [i]*dx)/(3*Sqr(dx)); end;

xo:=po1; l:=0; deltaX:=(xo1 [1] - xo1 [0])/no;

for i:=0 to m1-2 do begin

for k:=0 to no-1 do begin

fm[l]:=v0 [i]+v1 [i]*(xo-xo1 [i])+v2 [i]*Sqr (xo-xo1 [i])+v3 [i]*(xo-xo1 [i])*

Sqr (xo-xo1 [i]); xo:=xo+deltax; l:=l+1; end; end;

GD:= Detect;

InitGraph (GD, GM, 'd:\bp\bgi');

if GraphResult <> grOk then Halt(1);

setbkcolor(15);

setcolor(1);

setlinestyle (0,0,3);

for i:=0 to 10 do begin

Line (80,90+i*30,560,90+i*30); end;

for i:=0 to m1-1 do begin

Line (80+i*120,90,80+i*120,390); end;

OutTextXY (85,75,'K, %');

OutTextXY (93,80,'osh');

for i:=1 to 10 do begin

Str (i*10, v);

OutTextXY (50,390 - i*30, v); end;

OutTextXY (75,400,'1');

for i:=1 to m1-1 do begin

Str (trunc(xo1 [i]/xo1 [0]), v);

OutTextXY (75+i*120,400, v); end;

repeat

if round (xo1 [0]*mn2)<1 then begin

mn2:=mn2*10;

mn1:=mn1+1;

end else break;

until (1=2);

str (trunc(mn2*xo1 [0]), v);

str (mn1, vv);

v:='1';

OutTextXY (90+(m1-1)*120,385,'p*1-E'+vv);

SetColor(1);

mashtabx:=120*(m1-1)/(l-1);

for i:=0 to l-2 do begin

yp:=Round (fm[i]*Kn);

yn:=Round (fm[i+1]*Kn);

Line (round(80+i*mashtabx), 390-yp, round (80+(i+1)*mashtabx), 390-yn);

end;

readln;

halt;

CloseGraph;

until (1=2);

end.

-

unit var_u;

{$N+}

interface

uses CRT, DOS;

type

signal = record

num_tc:longint;

num:word;

name:byte;

mean:byte;

end;

signal1 = record

snum:integer;

onu:byte;

kcont:integer;

end;

elips=record

ex:integer;

ey:integer;

ox:integer;

oy:integer;

col:byte;

sv:byte;

ID:byte;

start:integer;

stop:integer;

end; const

n=19440; {кол. байт в нисходящем / восходящем кадре}

s7=3; {число сплитеров}

s00=1; {количество цифр в s0}

s3=4; {цвет аварийных узлов}

s4=0; {номер узла}


Подобные документы

  • Оценка характеристик и возможностей сети X.25. Описание особенностей использования и возможностей глобальных сетей с коммутацией пакетов, их типология. Основные принципы построения и главные достоинства сети Х.25, оценка преимуществ и недостатков.

    курсовая работа [418,8 K], добавлен 21.07.2012

  • Эволюция беспроводных сетей. Описание нескольких ведущих сетевых технологий. Их достоинства и проблемы. Классификация беспроводных средств связи по дальности действия. Наиболее распространенные беспроводные сети передачи данных, их принцип действия.

    реферат [71,2 K], добавлен 14.10.2014

  • Классификация телекоммуникационных сетей. Схемы каналов на основе телефонной сети. Разновидности некоммутируемых сетей. Появление глобальных сетей. Проблемы распределенного предприятия. Роль и типы глобальных сетей. Вариант объединения локальных сетей.

    презентация [240,1 K], добавлен 20.10.2014

  • Принципы построения телефонных сетей. Разработка алгоритма обработки сигнальных сообщений ОКС№7 в сетях NGN при использовании технологии SIGTRAN. Архитектура сетей NGN и обоснованность их построения. Недостатки TDM сетей и предпосылки перехода к NGN.

    дипломная работа [8,4 M], добавлен 02.09.2011

  • Архитектура вычислительных сетей, их классификация, топология и принципы построения. Передача данных в сети, коллизии и способы их разрешения. Протоколы TCP-IP. OSI, DNS, NetBios. Аппаратное обеспечение для передачи данных. Система доменных имён DNS.

    реферат [1,1 M], добавлен 03.11.2010

  • Характеристика современного состояния цифровых широкополосных сетей передачи данных, особенности их применения для передачи телеметрической информации от специальных объектов. Принципы построения и расчета сетей с использованием технологий Wi-Fi и WiMax.

    дипломная работа [915,0 K], добавлен 01.06.2010

  • Характеристика и методы организации локальных сетей, структура связей и процедуры. Описание физической и логической типологии сети. Техническая реализация коммутаторов, ее значение в работе сети. Алгоритм "прозрачного" моста. Способы передачи сообщений.

    реферат [217,5 K], добавлен 22.03.2010

  • Характеристика типовых топологий сетей. Состав линии связи и виды компьютерных сетей. Принцип и стандарты технологии Ethernet. Структура MAC-адреса и модель взаимодействия открытых систем (OSI). Состав сетевого оборудования и процесс маршрутизации.

    отчет по практике [322,5 K], добавлен 23.05.2015

  • Разработка проекта объединения двух локальных сетей в корпоративную на основе цифровых технологий передачи данных. Характеристика производства и оборудования ADSL, HDSL и VDSL, их применение. Настройка сетевого соединения и безопасности ресурсов.

    курсовая работа [930,3 K], добавлен 01.04.2011

  • Обзор современного состояния сетей передачи данных. Организация цифровых широкополосных сетей. Главные преимущества WiMAX и Wi-Fi. Проектирование сети в программе NetCracker. Расчет зоны действия сигнала. Требования к организации рабочего места техника.

    дипломная работа [1,1 M], добавлен 20.05.2013

Работы в архивах красиво оформлены согласно требованиям ВУЗов и содержат рисунки, диаграммы, формулы и т.д.
PPT, PPTX и PDF-файлы представлены только в архивах.
Рекомендуем скачать работу.