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

Материал из Википедии — свободной энциклопедии
(перенаправлено с «Манчестерский код»)
Перейти к: навигация, поиск

Манчестерское кодирование (код Манчестер-II) — самосинхронизирующийся двух-уровневый код, является одним из способов линейного кодирования (физического кодирования), используемого в канале связи. При кодировании, логическому нулю соответствует переход на верхний уровень в значащей позиции, логической единице соответствует переход на нижний уровень в центре значащей позиции (по стандарту IEEE 802.3). Сигнал, подвергнутый Манчестерскому кодированию, не имеет постоянного тока смещения, поэтому передающие сигнал электрические соединения, могут быть гальванически развязаны с помощью трансформатора. Манчестерский код является самосинхронизирующимся; последнее означает, что тактовый сигнал может быть восстановлен из закодированных данных без использования скремблирования или дополнительных сигналов синхронизации.

Происхождение[править | править вики-текст]

Название происходит из университета Манчестера, где данное кодирование было использовано для хранения данных на магнитном барабане компьютера Манчестерский Марк I.

Манчестерское кодирование широко распространено (например в технологии 10base-Т и Ethernet (стандарт IEEE 802.3); ИК протоколов; RFID-меток). Существует более сложный метод кодирования, такой как кодирование 8B/10B, который использует меньше полосы пропускания для достижения той же скорости передачи данных, но может быть менее терпимым к частоте ошибок и джиттера в передатчике и приемнике эталонных часов.

Особенности[править | править вики-текст]

Манчестерское кодирование обеспечивает частые переходы линии напряжения, прямо пропорциональные тактовой частоте;  это помогает восстановлению тактовой частоты.

В компоненте постоянного тока кодированный сигнал не зависит от данных и, следовательно, не несет никакой информации, разрешающий сигнал для передачи по сети (например, Ethernet), которая, как правило, не передает постоянной составляющей.

Пример Манчестерского кодирования, показывающий оба случая

Извлечение исходных данных из полученных закодированных бит (Манчестерским кодированием согласно 802.3):

Original data
Clock
Manchester value
0 = 0 XOR 

0
1 1
1 0 1
1 0

Итого:

  • Каждый бит передается в установленный срок.
  •  0 определяет переход сигнала от низкого к высокому, 1 — от высокого к низкому.
  • Переходы, которые обозначаются 0 или 1 происходят в середине периода.
  • Переходы в начале периода являются накладными расходами и не обозначают данные.

Манчестерское кодирование всегда имеет переход в середине каждого периода битов и может (в зависимости от передаваемой информации) иметь переход также в начале периода. Направление серединного битового перехода указывает на данные. Переходы на границах периода не несут в себе информацию. Они существуют только чтобы поместить сигнал в правильном состоянии, чтобы позволить серединный битовый переход. Существование гарантированных переходов позволяет сигналу быть самосинхронизирующимся, а также позволяет приемнику правильно его выровнять; приемник может определить, существует ли смещение на половину периода бита, так как больше не будет постоянных переходов в течение каждого периода битов. Цена этих преимуществ — это удвоение требований к полосе пропускания по сравнению со схемами кодирования NRZ.

Манчестерское кодирование как фазовая манипуляция[править | править вики-текст]

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

Соглашения для представления данных[править | править вики-текст]

Кодирование 11011000100 Манчестерским кодированием (по Д.Е. Томасу)

Есть два противоположных соглашения для представления данных.

Первое из них было впервые опубликовано Д.Е. Томасом в 1949 году и этого соглашения придерживаются многие авторы (например, Эндрю Таненбаум). Оно указывает, что для бита '0' уровни сигнала будут иметь перепад от низкого к высокому — с низким уровнем в первой половине интервала бита, и высоким уровнем во второй половине. Для сигнала в '1' бит перепад уровней будет от высокого к низкому.

Второго соглашения тоже придерживаются многие авторы (например, Уильям Сталлингс), а также стандарт IEEE 802.4 (шина с маркерным доступом) стандарт IEEE 802.3 (Ethernet). Он утверждает, что логический '0' представлен последовательностью перепадов сигнала от высокого к низкому, а логическая '1' представлена последовательностью перепада сигнала от низкого к высокому.

Если сигнал, кодированный Манчестерским способом инвертируется в сообщении, он преобразуется из одного соглашения в другое. Эту неоднозначность можно преодолеть с помощью дифференциального манчестерского кодирования.

См. также[править | править вики-текст]

Литература[править | править вики-текст]

  • Forster, R. (2000). "Manchester encoding: Opposing definitions resolved". Engineering Science & Education Journal. 9 (6): 278. doi:10.1049/esej:20000609.
  • Tanenbaum, Andrew, S. (2002). Computer Networks (4th Edition). Prentice Hall. pp. 274–275. ISBN 0-13-066102-3
  • Stallings, William (2004). Data and Computer Communications (7th ed.). Prentice Hall. pp. 137–138. ISBN 0-13-100681-9.
  • Гольдштейн Борис Соломонович. Протоколы сети доступа. — БХВ-Петербург. — 2005.
  • Сухман С.М., Бернов А.В., Шевкопляс Б.В. Синхронизация в телекоммуникационных системах: Анализ инженерных решений. - М.: Эко-Тренз, - 2003, 272с. ISBN: 5-88405-046-1

Ссылки[править | править вики-текст]