Открыть сервис

Манчестерское кодирование

Манчестерское кодирование — это метод цифрового кодирования сигнала, при котором каждый бит данных передается с обязательным переходом уровня напряжения в середине тактового интервала. Этот переход служит как синхронизирующим сигналом, так и способом представления логического значения. Относится к классам самосинхронизирующихся кодов и кодов без возвращения к нулю (NRZ). Широко применялось в ранних стандартах Ethernet (10BASE5, 10BASE2, 10BASE-T) и в некоторых протоколах беспроводной связи.

История

Манчестерское кодирование было разработано в 1940-х годах и впервые описано в патенте 1949 года, поданном британским инженером Г. Э. Томасом. Название получило в честь Манчестерского университета, где велись работы по созданию компьютера «Манчестер Марк I». В этой машине использовался магнитный барабан, и для надежной записи данных требовался метод, обеспечивающий самосинхронизацию. Впоследствии код был адаптирован для телекоммуникаций и локальных сетей.

В 1980-х годах Манчестерское кодирование стало стандартом для Ethernet (IEEE 802.3). Однако с увеличением скоростей передачи (100 Мбит/с и выше) его недостатки — низкая спектральная эффективность — привели к замене на более современные схемы, такие как 4B/5B и 8B/10B. В настоящее время применяется в основном в низкоскоростных интерфейсах (например, RFID-метки, некоторые датчики) и в образовательных целях.

Принцип работы

Манчестерское кодирование использует два уровня напряжения (например, +V и -V) и тактовый сигнал. Каждый бит данных передается в течение одного тактового интервала. В середине этого интервала обязательно происходит переход напряжения:

  • Логический 0 кодируется переходом с низкого уровня на высокий (0 → 1) в середине такта.
  • Логическая 1 кодируется переходом с высокого уровня на низкий (1 → 0) в середине такта.

Направление перехода может быть инвертировано в зависимости от реализации (например, в стандарте Ethernet используется обратное правило: 0 — переход 1→0, 1 — переход 0→1). Важно, что сам факт перехода в середине бита гарантирует синхронизацию приемника и передатчика, так как приемник «подстраивает» свой тактовый генератор по этим переходам.

Пример кодирования

Пусть передается последовательность бит: 1 0 1 1 0.

  • Бит 1: начало — высокий уровень, в середине — переход на низкий.
  • Бит 0: начало — низкий уровень, в середине — переход на высокий.
  • Бит 1: начало — высокий, в середине — переход на низкий.
  • Бит 1: начало — высокий, в середине — переход на низкий.
  • Бит 0: начало — низкий, в середине — переход на высокий.

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

Виды и модификации

Дифференциальное Манчестерское кодирование

В этой разновидности логическое значение кодируется не направлением перехода в середине бита, а наличием или отсутствием перехода в начале тактового интервала:

  • Логический 0 — в начале такта происходит переход (уровень меняется).
  • Логическая 1 — в начале такта перехода нет (уровень остается прежним).

Переход в середине бита происходит всегда, что обеспечивает синхронизацию. Дифференциальное кодирование более устойчиво к ошибкам, так как не зависит от абсолютной полярности сигнала (инвертирование линии не меняет смысл данных). Используется в некоторых протоколах, например, в Token Ring (IEEE 802.5).

Манчестерское кодирование с инверсией

В некоторых стандартах (например, в Ethernet 10BASE-T) используется инвертированное правило: 0 кодируется переходом 1→0, а 1 — переходом 0→1. Это не меняет сути метода, но может быть удобно для совместимости с конкретными схемами приемопередатчиков.

Характеристики

Преимущества

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

Недостатки

  • Низкая спектральная эффективность: для передачи одного бита требуется два перехода уровня, что эквивалентно двум символам. Это означает, что полоса пропускания канала должна быть вдвое больше, чем при простом NRZ-кодировании. Максимальная частота сигнала равна половине тактовой частоты.
  • Чувствительность к джиттеру: колебания времени перехода могут приводить к ошибкам, особенно на высоких скоростях.
  • Неэффективность при длинных последовательностях одинаковых бит: хотя синхронизация поддерживается, спектр сигнала содержит низкочастотные компоненты, что может быть проблемой для некоторых каналов.

Применение

Ethernet (10 Мбит/с)

Манчестерское кодирование было стандартным для всех вариантов Ethernet 10BASE (10BASE5, 10BASE2, 10BASE-T, 10BASE-F). В этих сетях использовалась дифференциальная версия (с инверсией правила). С переходом на Fast Ethernet (100BASE-TX) и Gigabit Ethernet (1000BASE-T) от него отказались в пользу более эффективных схем (4B/5B и 8B/10B).

Беспроводные интерфейсы

Некоторые протоколы беспроводной связи, например, RFID (ISO 14443, ISO 15693), используют Манчестерское кодирование для передачи данных от метки к считывателю. Оно обеспечивает надежную синхронизацию при слабом сигнале.

Магнитная запись

В ранних системах магнитной записи (например, на барабанах и дисках) Манчестерское кодирование применялось для синхронизации чтения/записи. В современных накопителях (HDD) используются более сложные коды (PRML).

Промышленные сети

Некоторые промышленные протоколы (например, CAN, PROFIBUS) используют модификации Манчестерского кодирования для обеспечения помехоустойчивости и синхронизации.

Сравнение с другими методами

Метод кодированияСамосинхронизацияПостоянная составляющаяСпектральная эффективностьСложность реализации
NRZНетЕстьВысокаяНизкая
RZЧастичноЕстьСредняяСредняя
МанчестерскоеДаНетНизкаяНизкая
4B/5BДаНетВысокаяСредняя
8B/10BДаНетВысокаяВысокая

Интересные факты

  • Манчестерское кодирование иногда называют «бифазным кодом» (biphase code) из-за двух переходов на бит.
  • В стандарте USB (Universal Serial Bus) используется разновидность, называемая NRZI (Non Return to Zero Inverted), которая не является Манчестерским кодированием, но также обеспечивает синхронизацию.
  • В ранних версиях Ethernet (10BASE5) максимальная длина сегмента составляла 500 метров, что было достижимо благодаря низкой частоте сигнала (10 МГц) и использованию Манчестерского кодирования.

Источники

  • IEEE Standard 802.3-2018 (Ethernet).
  • Таненбаум Э., Уэзеролл Д. «Компьютерные сети» (5-е издание).
  • Стивенс У. Р. «TCP/IP. Протоколы и реализация».
  • Патент US 2,627,541 (1949) — «Method and apparatus for recording and reproducing signals».
  • ISO/IEC 14443-2:2016 — «Identification cards — Contactless integrated circuit cards — Proximity cards».

BFOmetr — база данных и аналитика по компаниям России.

На главную BFOmetr →