Коды 4B/5B и их прием с помощью эластичного буфера
Принципы логического кодирования с использованием кодов 4В/5В, а также физического кодирования с помощью методов NRZI (для оптоволокна) и MLT-3 (для витой пары) уже были рассмотрены, так как технология Fast Ethernet позаимствовала их у технологии FDDI.
Кроме 16 кодов, отведенных для 16 кодовых комбинаций исходных 4-х байтовых символов, физический и МАС-уровни оперируют нескольким служебными символами:
- Символы состояния линии:
- Quiet, Q (молчание) - 00000;
- Idle, I (простой) - 11111;
- Halt,I (останов) - 00100.
Эти символы позволяют соседям по физическому соединению определить его состояние в процессе его инициализации и поддержания.
- Символы ограничителей начала и конца кадра:
- Start Delimiter 1 (первый символ границы начала кадра) - 11000;
- Start Delimiter 2 (второй символ границы начала кадра) - 10001;
- Ending Delimiter (конец кадра) - 01101.
Начало кадра отмечает встретившиеся подряд два символа Start Delimiter 1 и Start Delimiter 2, называемых также символами J и K (по аналогии со стандартом Token Ring).
- Символы логического нуля и логической единицы:
- Reset (логический нуль) - 00111;
- Set (логическая единица) - 11001.
Эти символы используются для указания логических значений признаков распознавания адреса, ошибки и копирования кадра, имеющих в кадре FDDI назначение, аналогичное назначению соответствующих признаков кадра Token Ring.
- Запрещенные символы - это все символы, которые не являются служебными кодами или 5-битными кодами, использованными для записи 16 возможных комбинаций 4-х разрядных кодов.
В обязанности физического уровня входит фильтрация символов, передаваемых на выходную линию порта. Если среди символов кадра встречаются запрещенные символы, то они заменяются на 4 символа Halt, которые далее сопровождаются символами Idle до передачи следующего кадра. Последующий сосед, получив кадр с 4-мя символами Halt, должен изъять поврежденный кадр из кольца. Функция фильтрации не обязательна, когда кадр проходит через МАС-блок станции, но это происходит не всегда, например, вторичное кольцо может проходить только через блоки физического уровня, не заходя в МАС-блок, если это станция с двойным подключением.
Рассмотрим подробней, каким образом происходит синхронизация приемника с передатчиком в сети FDDI при приеме кодов 4B/5В.
Сеть FDDI использует распределенную схему тактирования информации, при которой каждая станция работает со своим независимым локальным тактовым генератором. Это отличает ее от сетей Token Ring, в которых одна станция поддерживает тактирование информации для всей сети, управляя главным тактовым генератором сети, называемым Master Clock.
В сети FDDI тактовые частоты синхронизируются в каждом физическом соединении соседних станций (рис. 51).
Каждая станция имеет два тактовых генератора - локальный, который управляет тактированием передаваемой информации, и восстанавливающим, который синхронизируется с тактовой частотой данных, приходящих от соседней станции. Локальный тактовый генератор работает на тактовой частоте 125 Мгц ± 0.005%. Восстанавливающий тактовый генератор, называемый RCRCLK (Receive Recovery Clock) подстраивается под тактовую частоту, извлекаемую из NRZI или MLT-3 сигналов при поступлении кодов Idle в промежутке между передачей кадров данных. Коды Idle, имеющие значение 111111, создают последовательность импульсов типа "меандр" с равными длительностями высокого и низкого потенциала, удобных для подстройки тактового генератора RCRCLK, так как сигнал изменяется два раза за период.
Поступающие символы записываются в соответствии с обнаруженной в импульсах кодов Idle частотой в эластичный буфер (Elasticity Buffer). Из эластичного буфера символы извлекаются уже с частотой локального генератора. В результате, рассогласование частот станций в кольце постоянно сглаживается, не превышая 0.01%. Принимающая станция поддерживает заполнение эластичного буфера наполовину, извлекая очередной символ только при превышении этой границы.
Рис. 51. Согласование тактовых генераторов в сети FDDI