Чому нам потрібно використовувати кодування Манчестера для передачі Ethernet?


11

Коли ви хочете перенести дані з одного комп'ютера на інший, ваші дані (у двійковій формі) спочатку перейдуть до NIC ( картки мережевого інтерфейсу ), де дані будуть закодовані (наприклад, з галочкою таймера таймера) та надіслані по мережі під електронний сигнал.

Приклад манчестерського кодування:

101110011001   // data
101010101010   // timer tick on network
000100110011   // result using XOR

Чому NIC безпосередньо не передає двійкові дані, а повинен спочатку кодувати їх?

Відповіді:


13

Оскільки використання кодування Manchester має приємну перевагу, самозакриття (менший показник помилок і більш надійна передача).

Це тому, що, якщо дивитися на +5 вольт до 0 вольт, щоб кодувати трохи, це буде залежати від напрямку передачі, як біт кодується.

введіть тут опис зображення
Джерело зображення

Зазвичай вам потрібно спочатку синхронізувати годинник, перш ніж мати можливість передавати. Через таке кодування Манчестер Кодування цього не потребує.


Ні, я не прошу переваги Machester Encoding, я просто хочу знати, навіщо потрібно кодування?
hqt

2
Як я вже говорив, адже коли ви не кодуєте їх, вам потрібно синхронізувати годинник окремо, а це означає, що у вас буде більша швидкість помилок і менша передача.
Лукас Кауффман

Але я думаю, якщо ви кодуєте (кодування Мачестера чи інше кодування теж), два годинники все одно повинні працювати однаково часто, інакше він буде неправильно розшифровуватися.
hqt

Ні, це не так, тому що годинник є частиною того, як він закодований, як ви бачите, що ви не піднімаєтесь вгору і вниз до базової лінії, натомість базова лінія є там, щоб сказати вам, коли нічого не надсилається. Тож окремий годинник більше не потрібен
Лукас Кауффман

3
Додаткова причина: запобігає тривалий пробіг 0 або 1, тому помилки (наприклад: відключення) будуть більш очевидними.
tucuxi

13

Існує щонайменше три (може бути більше) причин використання кодування (наприклад, манчестерське кодування, яке ви згадуєте) при передачі цифрової інформації:

  • Дані та годинник об'єднані в один сигнал. Якби годинник не надсилався з даними, то приймач не знав, коли слід відібрати сигнал для вилучення цифрових значень. Навіть якщо передавач і приймач якось ідеально синхронізовані, потрібно було б враховувати нескінченно малу затримку середовища передачі. Інша альтернатива - супроводжувати лінію даних годинниковою лінією, але це подвоює кількість проводів. Це дешевше і надійніше подвоїти (або наполовину, залежно від точки зору) вимоги пропускної здатності кабелю та приймача (або можливостей), ніж використовувати більше дротяних та об'ємніших роз'ємів.
  • Довга нитка нулів (нулів) більше не буде схожа на мертву чи відключену лінію. Довге жало з них вже не схоже на застряглий рівень.
  • Кодований сигнал має більш врівноважений енергетичний профіль, тобто напруга, усереднене за часом, має прагнути до нуля. Логічний сигнал на друкованій платі використовує 0 вольт для логічного нуля, а позитивне напруга (5 вольт для старого TTL, 3,3 вольта або менше для сучасної логіки) для логічного. Тільки логіка даних усіх нулів мала б нульовий енергетичний профіль; будь-яка інша модель завжди матиме більший за нуль середній рівень напруги та характерне магнітне поле. Але оскільки кодування, такі як Манчестер, використовують як позитивний, так і негативний рівень напруги, магнітні поля, створені переданим сигналом, значно менші, оскільки вони, як правило, скасовують одне одного. Це дозволяє з’єднувати дроти ближче один до одного в кабелях, але створювати менше перешкод один одному. (Навіть у повільних схемах передачі, таких як RS / EIA-232, використовуються як позитивні, так і негативні рівні напруги, щоб збалансувати енергетичний профіль. Можливо, підключення плати до плати менше 0,5 метра і всередині корпусу використовуватимуть тільки позитивні напруги.)

IEEE 1284 використовує тільки позитивні напруги, рівні TTL.
Ігнасіо Васкес-Абрамс

@ IgnacioVazquez-Abrams - LOL, гаразд, ти знайшов виняток, але я прислухався до цього зауваження "напевно". Зазвичай він використовує стрічковий (тобто плоский і широкий) кабель із змінними провідниками земля-сигнал-земля-сигнал. Справа, яку я намагався, - зазначити, де ви, швидше за все, знайдете даталінки, що мають лише позитивну напругу; Я не намагався охарактеризувати обмеження програми.
тирса

3

Щоб повністю знати причину, що використовується "Манчестер Енкодінг", необхідно знати наступне:

  1. Тактові сигнали
  2. Синхронні сигнали
  3. Кодування

Після цього причина полягає в тому, що "потрібен спосіб отримання приймачами однозначно визначати початок, кінець або середину кожного біта без посилання на зовнішній годинник

І, нарешті, для цього Манчестерське кодування є одним із підходів.


3

В основному код Манчестера використовується в перевазі перед багатьма іншими типами, тому що він самосинхронізується.

Синхронізація може бути втрачена з іншими типами, якщо є рядок нуля або той, де дані не змінюються. Манчестерський код не має цієї проблеми через те, що завжди буде змінюватися рівень сигналу, коли дані є.

Єдина проблема з кодом Манчестера полягає в тому, що вам потрібно подвоїти частоту швидкості передачі даних, оскільки 8 біт перетворюється на 16 біт даних. Отже, якщо вам потрібна швидкість передачі даних 5K, вам знадобиться швидкість передачі даних у 10K.

Додаток Я сподіваюся, що посилання дозволено, але про всяк випадок, якщо його немає, перейдіть на сайт Maxim та шукайте Манчестер Кодування даних для радіозв'язку. http://www.maximintegrated.com/en/app-notes/index.mvp/id/3435 Це повинно допомогти кожному зрозуміти достоїнства цього кодування.

Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.