Манчестерское кодирование¶
Манчестерское кодирование — это метод цифрового кодирования сигнала, при котором каждый бит данных передается с обязательным переходом уровня напряжения в середине тактового интервала. Этот переход служит как синхронизирующим сигналом, так и способом представления логического значения. Относится к классам самосинхронизирующихся кодов и кодов без возвращения к нулю (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 →


