5. КОДУВАННЯ

Фізичне кодування

У обчислювальній техніці для представлення даних використовується двійковий код. Всередині комп’ютера одиницям і нулям даних відповідають дискретні електричні сигнали. Представлення даних у вигляді електричних або оптичних сигналів називається кодуванням. Існують різні способи кодування двійкових цифр 1 і 0, наприклад, потенційний спосіб, при якому одиниці відповідає один рівень напруги, а нулю іншій, або імпульсний спосіб, коли для представлення цифр використовуються імпульси різної або однієї полярності.

Аналогічні підходи можуть бути використані для кодування даних і при передачі їх між двома комп’ютерами по лініях зв’язку. Однак ці лінії зв’язку відрізняються за своїми електричними характеристиками від тих, які існують всередині комп’ютера. Головна відмінність зовнішніх ліній зв’язку від внутрішніх складається в їх набагато більшій протяжності, а також в тому, що вони проходять поза екранованим корпусом по просторах, часто схильних до впливу сильних електромагнітних перешкод. Все це приводить до значно більших спотворень прямокутних імпульсів (наприклад, “завалленню” фронтів), чим всередині комп’ютера. Тому для надійного розпізнавання імпульсів на приймальному кінці лінії зв’язку при передачі даних всередині і поза комп’ютером не завжди можна використати одні і ті ж швидкості і способи кодування. Наприклад, повільне наростання фронту імпульсу через високе ємкісний навантаження лінії вимагає передачі імпульсів з меншою швидкістю (щоб передній і задній фронти сусідніх імпульсів не перекривалися і імпульс встиг дорости до необхідного рівня).

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

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

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

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

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

Найпоширеніші коди:
  • NRZ (Non-Return to Zero – без повернення до нуля) – потенційний код, стан якого прямо або інверсно відображає значення біта даних;
  • диференціальний NRZ – стан міняється на початку бітового інтервалу для “1” і не міняється при “0”;
  • NRZI (Non-Return to Zero Inverted – без повернення до нуля з інверсією) – стан міняється на початку бітового інтервалу при передачі “0” і не міняється при передачі “1”. Використовується в FDDI, 100BaseFX;
  • RZ (Return to Zero – з поверненням до нуля) – біполярний імпульсний код, що самосинхронізується, що представляє “1” і “0” імпульсами протилежної полярності, що тривають половину такту (в другу половину такту стан встановлюється в нуль); усього використовується три стани;
  • AMI (Bipolar Alternate Mark Inversion – біполярне кодування з альтернативною інверсією) – використовується три стани: 0, + і –, для кодування логічного нуля використовується стан 0, а логічна одиниця кодується по черзі станами + і –. Використовується в ISDN, DSx;
  • Манчестерске кодування (manchester encoding) – двофазне полярне кодування, що самосинхронізується, логічна одиниця кодується перепадом потенціалу в середині такту від низького рівня до високого, логічний нуль – зворотним перепадом (якщо необхідно представити два однакових значення підряд, на початку такту відбувається додатковий службовий перепад потенціалу). Використовується в Ethernet;
  • Диференціальне манчестерске кодування (differential manchester encoding) – двофазне полярне кодування, що самосинхронізується, логічний нуль кодується наявністю перепаду потенціалу на початку такту, а логічна одиниця – відсутністю перепаду; у середині такту перепад є завжди (для синхронізації). В Token Ring застосовується модифікація цього методу, крім “0” і “1”, що використовує службові біти “J” і “K”, що не мають перепаду в середині такту (“J” не має перепаду на початку такту, “K” – має);
  • MLT-3 – трьохрівневе кодування зі скремблюванням без самосинхронізації, логічний нуль кодується збереженням стану, а логічна одиниця кодується по черзі наступними станами: +V, 0, -V, 0, +V і т.д. Використовується в FDDI і 100BaseTX;
  • PAM5 (Pulse Amplitude Modulation) – п’ятирівневе біполярне кодування, при якому кожна пара біт даних представляється одним з п’яти рівнів потенціалу. Застосовується в 1000BaseT;
  • 2B1Q (2 Binary 1 Quarternary) – пари біт даних представляються одним четвертинним символом, тобто одним із чотирьох рівнів потенціалу. Застосовується в ISDN;

Логічне кодування

Для покращення потенціальних кодів типу AMI, NRZI чи 2B1Q використовується логічне кодування. Воно повинне створювати вкрапленнями одиниць у довгих послідовностях нульових біт, які приводять до постійного потенціалу. Для логічного кодування характерні два методи – надлишкові коди та скремблювання.

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

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

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