Эластичный буфер

Из-за помех, влажности, перепадов температуры, скачков напряжения, временной нестабильности кварцевого генератора, частота часов не может быть постоянной величиной. Поэтому существует разброс по частотам часов разных станций. Полное кольцо, включая сетевые станции и кабельные коммуникации, должно сохранять битовую длину с тем, что бы ни один бит не мог быть создан или уничтожен в логическом кольце. Иначе не сохранится или исказится информация. Для этой цели используются специальные средства стабилизации, Уровень PHY предусматривает два средства: эластичный буфер и функцию сглаживания (рис. 6.14).

Системы кодирования 4В/5В и NRZI уровня PHY

Рис. 6.14. Системы кодирования 4В/5В и NRZI уровня PHY

Приемник имеет часы с подстраиваемой частотой, для чего использует такую стандартную технику, как фазовая подстройка колебаний генератора. Передатчик, напротив, использует часы с фиксированной частотой. Эластичный буфер, установленный на каждой станции, призван компенсировать разную скорость приема и передачи битов по сети, возникающую вследствие различия частот приемных и передающих часов. Установка буфера в среднее положение (заполняется только половина ячеек буфера — буфер работает на прием) наступает
перед приходом кадра по преамбуле, которая предшествует кадру данных. Далее буфер начинает работать на прием и на передачу битов, поддерживая очередь FIFO (first in, first out ~ первым пришел, первым обслужен).

Часы передатчика стандартизованы со стабильностью ±0,005%. Эластичный буфер работает с битами символов до процедуры декодирования 4В/5В. Поэтому для передачи кадра максимальной длины 9000 символов (4500 байт х 2, так как каждый байт данных представлен двумя 5-битовыми символами в потоке по физической линии связи) или 45000 бит без переполнения буфера достаточно выбрать буфер длиной 10 бит (45000 х 0,00005 х 2 х 2 = 9, плюс 1 бит для четной полной длины), где один множитель 2 учитывает максимальный разброс частот двух часов 0,01%, а другой множитель 2 учитывает возможность дрейфа уровня заполнения буфера как в сторону заполнения, так и в сторону освобождения.
Буфер длиной в 10 бит вносит задержку при ретрансляции маркера и кадров, которая при скорости передачи 125 Мбод эквивалента 0,08 мкс. Однако, принимая во внимание дополнительные задержки, в частности, при передаче битов между регистрами, это число — так называемое латентное время станции -увеличивается, и обычно оценивается в 1 мкс [13].
Латентное время сети — это время, которое требуется маркеру, испущенному станцией, возвратиться обратно к этой станции, при условии, что ни одна из станций не захватывает маркер. Это время складывается из латентных времен на станциях и задержках на сегментах из-за конечной скорости распространения света.

Если станция передает (ретранслирует) несколько кадров, следующих друг за другом, она может не успевать переводить буфер в среднее положение до обработки следующего кадра. В этом случае процедура установки буфера в среднее положение сопровождается процессом увеличения или уменьшения длины преамбулы (которая первоначально, в момент испускания кадра станцией-отправителем, составляет 16 или более символов). В частности, если настроенная частота приемных часов меньше частоты передающих часов, то возможно увеличение длины преамбулы у последовательно принимаемых кадров, так чтобы выравнивалось среднее время приема и передачи. Таким образом, по мере продвижения кадра (маркера) по сети длина предшествующей преамбулы может варьироваться от своего начального значения как в сторону увеличения, так и в сторону уменьшения (начальное значение преамбулы маркера задается на этапе его инициализации, см. п.6.7. «Уровень MAC»).

Функция сглаживания

Кадры с длинной преамбулой снижают производительность сети, не внося других проблем. Но уменьшение длины преамбулы до нуля означало бы потерю информации в критической ситуации. Проблему решает специально встроенный в PHY элемент, выполняющий функцию сглаживания. Этот элемент проверяет длину преамбулы у всех приходящих кадров и, в зависимости от обстановки, вставляет или удаляет символы преамбулы с целью уменьшения разброса в длинах преамбул от их номинального значения в 16 символов. Расчеты, представленные техническим комитетом ANSI X3T9.5 на этапе разработки FDDI, показали, что выбранный алгоритм функции сглаживания в самом худшем случае обеспечивает вероятность потери кадра меньше, чем 10 , что в дальнейшем подтвердилось на практике при больших конфигурациях кольца.

Фильтр повторений

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

Пример 6.1. Положив, что скорость распространения света в волокне соответствует величине 5 мкс/км, оценим латентное время кольца FDDI в следующих случаях: а) 2 км и 20 станций, б) 20 км и 200 станций, в) 100 км и 500 станций.
Латентное время сети (кольца FDDI) определяется как ТLP+NxTS где ТP — полная задержка из-за конечной скорости распространения света, N- число станций, ТS — латентное время станции:

а) TL=2 x 5 + 20 x 1= 30 мкс (или 3000 бит); б) TL=20 x 5 + 200 x 1= 300 мкс (или 30000 бит);
в) TL=100 x 5 + 500 x 1= 1000 мкс (или 100000 бит);

Заметим, что латентное время вычислялось в предположении, что активно только первичное кольцо — при наличии вторичного кольца латентное время могло бы удвоится, К возрастанию латентного времени ведет подключение вторичных устройств к кольцу, например концентраторов SAC, или рабочих станций SAS, поскольку увеличивается путь движения маркера — длина логического кольца и число устройств сети. Предельное латентное время равно 2000 мкс, в случае свертывания кольца.