Физическое кодирование — способы представления данных в виде электрических или оптических импульсов.
Ни в одной из версий технологии Ethernet не применяется прямое двоичное кодирование бита 0 напряжением 0 вольт и бита 1 — напряжением +5 вольт, так как такой способ приводит к неоднозначности. Если одна станция посылает битовую строку 00010000, то другая станция может интерпретировать её либо как 10000, либо как 01000, так как она не может отличить «отсутствие сигнала» от бита 0. Поэтому принимающей машине необходим способ однозначного определения начала, конца и середины каждого бита без помощи внешнего таймера. Кодирование сигнала на физическом уровне позволяет приемнику синхронизироваться с передатчиком по смене напряжения в середине периода битов.
Содержание
[убрать]
1 Иерархия кодирования
2 Физическое кодирование
3 Логическое кодирование
4 Системы кодирования
5 Системы с двухуровневым кодированием
5.1 NRZ
5.2 Манчестерский код, код Манчестер-2
5.3 NRZI
6 Системы с трёхуровневым кодированием
6.1 RZ
6.2 MLT-3
6.3 Гибридный троичный код
6.4 4B3T
7 Системы с четырёхуровневым кодированием
7.1 2B1Q
8 Системы с пятиуровневым кодированием
8.1 PAM-5
9 Системы с восьмиуровневым кодированием
9.1 PAM-8
10 Системы с десятиуровневым кодированием
10.1 PAM-10
11 Системы с двенадцатиуровневым кодированием
11.1 PAM-12
12 Системы с шестнадцатиуровневым кодированием
12.1 PAM-16
13 Источники
14 См. также
15 Литература
[править]Иерархия кодирования
Система кодирования сигналов имеет многоуровневую иерархию.
[править]Физическое кодирование
Самым нижним уровнем в иерархии кодирования является физическое кодирование, которое определяет число дискретных уровней сигнала (амплитуды напряжения, амплитуды тока, амплитуды света). Физическое кодирование рассматривает кодирование только на самом низшем уровне иерархии кодирования - на физическом уровне и не рассматривает более высокие уровни в иерархии кодирования, к которым относятся логические кодирования различных уровней. С точки зрения физического кодирования цифровой сигнал может иметь два, три, четыре, пять и т. д. уровней амплитуды напряжения, амплитуды тока, амплитуды света. Естественным становится вопрос:"Какое число уровней сигнала имеет наибольшую плотность кодирования?" Ответ на этот вопрос даёт "Теорема о наиболее экономичной системе счисления (системе кодирования)", описанная в книжке С. В. Фомина "Системы счисления", в § 14. Об одном замечательном свойстве троичной системы[1].
[править]Логическое кодирование
Вторым уровнем в иерархии кодирования является самый нижний уровень логического кодирования с разными назначениями. В совокупности физическое кодирование и логическое кодирование образуют систему кодирования самого низшего уровня.
[править]Системы кодирования
Системы кодирования данных
Наиболее часто используемые системы кодирования:
NRZ (Non Return Zero) — без возврата к нулю
Манчестер II
RZ (Return to Zero) — с возвратом к нулю
[править]Системы с двухуровневым кодированием
[править]NRZ
Простейший код, обычный цифровой (дискретный) сигнал (может быть преобразован на обратную полярность или изменены уровни соответствующие нулю и единице).
Достоинства — простая реализация; не нужно кодировать и декодировать на концах. Высокая скорость передачи при заданной полосе пропускания (для обеспечения пропускной способности в 10Мбит/сек полоса пропускания составит 5 МГц, так как одно колебание равно 2 битам). Для синхронизации передачи байта используется старт-стоповый бит. Недостатки - Наличие постоянной составляющей, из за чего невозможно обеспечить гальваническую развязку с помощью трансформатора. Высокие требования к синхронизации частот на приёмном и передающем конце - за время передачи одного слова (байта) приемник не должен сбиться больше, чем на бит (например для слова длиной в байт с битом старта и стопа, т.е. всего 10 бит канальной информации, рассинхронизация частот приёмника и передатчика не может превышать 10% в обе стороны, для слова в 16 бит, т.е. 18 бит канальной информации, рассинхронизация не должна превышать 5,5%, а в физических реализациях и того меньше).
[править]Манчестерский код, код Манчестер-2
Является самосинхронизирующимся, то есть не требует специальной кодировки синхроимпульса, который бы занимал полосу данных и поэтому является самым плотным кодом на единицу частоты. Логическому нулю соответствует положительный переход в центре бита, то есть первая половина битового интервала — низкий уровень, вторая половина — высокий. Логической единице соответствует отрицательный переход в центре бита. (Возможна и обратная реализация, обычно в приёмнике это проверяется вначале передачи. "Обратная реализация может возникнуть например в трансформаторе, если перепутать направление обмоток").
Обязательное наличие перехода в центре бита позволяет легко выделить синхросигнал. Допустимое расхождение частот передачи - до 25 % (это означает, что код Манчестер-2 - самый устойчивый к рассинхронизации, он самосинхронизуется в каждом бите передаваемой информации).
Плотность кода 1 бит/герц. В спектре сигнала, закодированного Манчестером-2, присутствует 2 частоты - частота передачи и половинная частота передачи (она образуется когда рядом стоят 0 и 1 или 1 и 0. При передаче гипотетической последовательности одних 0 или 1 в спектре будет присутствовать только частота передачи). Важным достоинством манчестерского кода является возможность обеспечить гальваническую развязку с помощью трансформатора, так как у него отсутствует постоянная составляющая. Вторым важным преимуществом является отсутствие необходимости в синхронизующих битах (как в NRZ-коде) и, вследствие этого, данные могут передаваться подряд сколь угодно долго, из-за чего плотность данных в общем потоке кода приближается к 100% (например для кода NRZ 1-8-0 она равна 80%).
[править]NRZI
NRZI — Non Return to Zero Invertive (инверсное кодирование без возврата к нулю). Этот метод является модифицированным методом Non Return to Zero (NRZ), где для представления 1 и 0 используются потенциалы двух уровней. В коде NRZ I также используется 2 потенциала, но его текущее значение зависит от предыдущего. Если текущее значение бита “1”, то полученный потенциал должен быть инверсией от предыдущего, если значение бита “0” — такой же.
Поскольку код незащищен от долгих последовательностей “нулей” или “единиц”, то это может привести к проблемам синхронизации. Поэтому перед передачей, заданную последовательность битов рекомендуется предварительно закодировать кодом предусматривающим скремблирование (скремблер предназначен для придания свойств случайности передаваемой последовательности данных с целью облегчения выделения тактовой частоты приемником). Используется в Fast Ethernet 100Base-FX и 100Base-T4.
[править]Системы с трёхуровневым кодированием
[править]RZ
Это трехуровневый код. После значащего уровня сигнала в первой половине передаваемого бита информации следует возврат к нулевому уровню. Переход к нему происходит в середине бита. Логическому нулю при этом соответствует положительный импульс, логической единице — отрицательный. Здесь на 1 бит приходится 2 изменения уровня напряжения, поэтому для скорости в 10 Мбит/сек требуется пропускная способность в 10 МГц.
[править]MLT-3
Пример кодирования MLT-3.
MLT-3 Multi Level Transmission — 3 (многоуровневая передача) — немного схож с кодом NRZ, но в отличие от последнего имеет три уровня сигнала. Единице соответствует переход с одного уровня сигнала на другой, причем изменение уровня сигнала происходит последовательно с учетом предыдущего перехода. При передаче “нуля” сигнал не меняется.
Этот код, так же как и NRZ нуждается в предварительном кодировании. Используется в Fast Ethernet 100Base-TX.
[править]Гибридный троичный код
Входной бит
Предыдущее состояние на выходе
Выходной бит
+
−
−
+
+
−
[править]4B3T
Таблица кодирования:
MMS 43 coding table
Input
Accumulated DC offset
+ 0 + (+2)
0−0 (−1)
0 − + (+0)
+ − 0 (+0)
0 0 + (+1)
− − 0 (−2)
− + 0 (+0)
0 + + (+2)
− 0 0 (−1)
− + + (+1)
− − + (−1)
− 0 + (+0)
+ 0 0 (+1)
0 − − (−2)
+ − + (+1)
− − − (−3)
+ + − (+1)
+ − − (−1)
+ 0 − (+0)
+ + + (+3)
− + − (−1)
0 + 0 (+1)
− 0 − (−2)
0 + − (+0)
+ + 0 (+2)
0 0 − (−1)
Таблица декодирования:
Ternary
Binary
Ternary
Binary
Ternary
Binary
0 0 0
Н/Д
− 0 0
+ − −
+ 0 +
− + +
+ 0 −
0 − 0
− − +
+ + +
0 − +
− 0 +
− + −
+ − 0
+ 0 0
0 + 0
0 0 +
0 − −
− 0 −
− − 0
+ − +
0 + −
− + 0
− − −
+ + 0
0 + +
+ + −
0 0 −
[править]Системы с четырёхуровневым кодированием
[править]2B1Q
[править]Системы с пятиуровневым кодированием
[править]PAM-5
[править]Системы с восьмиуровневым кодированием
[править]PAM-8
[править]Системы с десятиуровневым кодированием
[править]PAM-10
[править]Системы с двенадцатиуровневым кодированием
[править]PAM-12
[править]Системы с шестнадцатиуровневым кодированием