Кодирование сигналов
-
Кодирование
Физический уровень (уровень 1) модели OSI отвечает за преобразование потока битов, полученного от канального уровня, в электрические, оптические или радиосигналы для передачи по физической среде [[4]]. Ключевыми задачами этого процесса являются обеспечение надежной синхронизации между передатчиком и приемником, минимизация постоянной составляющей (DC-компонента) сигнала и эффективное использование полосы пропускания. Для решения этих задач применяются различные методы кодирования, которые можно разделить на линейное кодирование, блочное кодирование и скрэмблирование.
Синхронизация критически важна: без нее приемник не может точно определить границы каждого бита, что приводит к ошибкам. Простые коды, такие как NRZ, не обеспечивают гарантированных переходов сигнала, что делает их непригодными для большинства сетей. Более сложные методы, например, Манчестерское кодирование или комбинации вроде 4B/5B + MLT-3, решают эту проблему, внося избыточность или принудительно создавая переходы. Выбор конкретного метода — это всегда компромисс между скоростью передачи, надежностью, сложностью реализации и стоимостью оборудования.
Сводная таблица методов кодирования
Метод Тип Эффективность (бит/символ) Гарантия синхронизации DC-баланс Основное применение NRZ-L / NRZ-I Линейное 1.0 Нет Плохой Внутри устройств, редко в сетях Manchester Линейное (бифазное) 0.5 Да Хороший Ethernet 10BASE-T Differential Manchester Линейное (бифазное) 0.5 Да Хороший Token Ring (IEEE 802.5) MLT-3 Линейное (многоуровневое) ~1.0* Нет Хороший Fast Ethernet 100BASE-TX 4B/5B Блочное 0.8 Да Хороший Fast Ethernet, FDDI 8B/10B Блочное 0.8 Да Отличный Gigabit Ethernet, PCIe, SATA 64B/66B Блочное ~0.97 Да Отличный 10G+ Ethernet, USB 3.1 Скрэмблирование Статистическое 1.0 Да Хороший HDMI, DisplayPort, DSL *MLT-3 требует блочного кодирования (например, 4B/5B) для обеспечения синхронизации.
Подробное описание методов кодирования
Линейное кодирование
Линейное кодирование напрямую преобразует каждый бит данных в соответствующий уровень напряжения или последовательность уровней. Это самый простой тип кодирования, но он часто требует дополнительных механизмов для решения проблем синхронизации и DC-компонента.
NRZ (Non-Return to Zero):

- Принцип: Бит ‘1’ представляется одним уровнем напряжения (например, +V), а бит ‘0’ — другим (например, -V для NRZ-L или 0V для Unipolar NRZ). Сигнал не возвращается к нулевому уровню в течение всего периода бита.
- Пример: Последовательность
1011в NRZ-L будет выглядеть как[+V, -V, +V, +V]. - Применение: В основном используется для внутренней передачи данных внутри микросхем или на очень коротких расстояниях, где проблемы синхронизации и DC-компонента не критичны. Не подходит для большинства сетевых протоколов.
- Подтипы:
- NRZ-L (Level): Значение бита напрямую определяет уровень сигнала.
- NRZ-I (Inverted): Значение бита определяет наличие перехода на границе бита (‘1’ = переход, ‘0’ = нет перехода).
Manchester:

- Принцип: Каждый бит содержит обязательный переход в середине своего временного интервала. Направление перехода кодирует значение бита: низкий-на-высокий для ‘0’, высокий-на-низкий для ‘1’ (или наоборот, в зависимости от стандарта).
- Пример: Последовательность
101будет представлена как[High->Low, Low->High, High->Low]в середине каждого бита. - Применение: Стандарт Ethernet 10BASE-T. Обеспечивает отличную синхронизацию и хороший DC-баланс, но требует вдвое большей полосы пропускания по сравнению с NRZ.
- Преимущества: Само-синхронизирующийся, отсутствие DC-компонента.
- Недостатки: Низкая спектральная эффективность.
MLT-3 (Multi-Level Transmit - 3):

- Принцип: Использует три уровня напряжения: +1, 0, -1. При передаче ‘1’ сигнал циклически переключается между уровнями (+1 → 0 → -1 → 0 → +1…). При передаче ‘0’ уровень остается неизменным.
- Пример: Последовательность
1101будет выглядеть как[+1, 0, 0, -1]. - Применение: Всегда используется в паре с блочным кодированием 4B/5B в стандарте Fast Ethernet (100BASE-TX). Сам по себе не гарантирует синхронизацию при длинных последовательностях нулей.
- Преимущества: Высокая спектральная эффективность (почти как у NRZ).
- Недостатки: Требует блочного кодирования для надежной работы.
Блочное кодирование
Блочное кодирование преобразует группы из
kбит данных в более длинные группы изnбит (n > k), называемые кодовыми словами. Добавленная избыточность используется для контроля качества сигнала.4B/5B:
- Принцип: Каждые 4 бита данных заменяются на 5-битное кодовое слово, выбранное из таблицы. Все кодовые слова содержат не более трех подряд идущих нулей, что гарантирует достаточное количество переходов для синхронизации.
- Пример: 4-битный блок
1111кодируется как11101. - Применение: Fast Ethernet (100BASE-TX, в паре с MLT-3), FDDI.
- Эффективность: 4/5 = 80%.
- Расшифровка: 4B/5B — 4 Bits to 5 Bits.
8B/10B:
- Принцип: Каждый байт (8 бит) данных разбивается на две части (3 старших и 5 младших бит) и кодируется в два 5-битных символа, которые затем объединяются в 10-битное слово. Код специально спроектирован для поддержания DC-баланса (разница между количеством ‘1’ и ‘0’ в кодовом слове не превышает 2) и ограничения длины последовательностей одинаковых битов.
- Пример: Байт
0x00(00000000) кодируется как1001110100. - Применение: Gigabit Ethernet, PCI Express (до версии 3.0), Serial ATA (SATA), Fibre Channel.
- Эффективность: 8/10 = 80%.
- Расшифровка: 8B/10B — 8 Bits to 10 Bits.
64B/66B:
- Принцип: 64-битные блоки данных преобразуются в 66-битные кодовые слова путем добавления 2-битного префикса. Префикс указывает, является ли блок данными или служебной информацией. Этот метод обеспечивает очень высокую эффективность и хорошее распределение переходов.
- Пример: 64-битный блок данных начинается с префикса
01. - Применение: 10 Gigabit Ethernet и выше, USB 3.1, PCI Express 3.0 и выше.
- Эффективность: 64/66 ≈ 97%.
- Расшифровка: 64B/66B — 64 Bits to 66 Bits.
Скрэмблирование
Скрэмблирование — это метод, который модифицирует исходный поток данных, чтобы сделать его статистические свойства более “случайными”, не увеличивая его размер.
- Принцип: Исходный поток данных подвергается побитовой операции XOR с псевдослучайной последовательностью (PRBS), генерируемой на передающей стороне. На приемной стороне та же PRBS применяется повторно для восстановления исходных данных.
- Пример: Если данные —
1010, а PRBS —1100, то скрэмблированный поток будет0110(1⊕1=0, 0⊕1=1, 1⊕0=1, 0⊕0=0). - Применение: HDMI, DisplayPort, многие стандарты xDSL, беспроводные технологии (LTE, Wi-Fi). Используется там, где критически важна высокая эффективность и низкий уровень электромагнитных помех (ЭМП).
- Преимущества: 100% эффективность, снижение ЭМП, предотвращение длинных последовательностей одинаковых битов.
- Недостатки: Требует сложной синхронизации генераторов PRBS на обоих концах линии.
© 2024 - 2025 ExLends, Inc. Все права защищены.