Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Компьютерные Сети(Смоленцев С.В., 2002).doc
Скачиваний:
3
Добавлен:
01.07.2025
Размер:
967 Кб
Скачать
☆

2.5.Методы передачи данных на физическом уровне

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

  • минимальная ширина спектра передаваемого сигнала (что позволяет повысить скорость передачи информации);

  • обеспечение синхронизации между приемником и передатчиком;

  • отсутствие постоянных составляющих в сигнале;

  • способность распознавать ошибки;

  • простота реализации.

В настоящее время разработано несколько методов кодирования:

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

Биполярный код использует для кодирования три уровня потенциала – отрицательный, нулевой и положительный. Для кодирования логического нуля используют нулевой потенциал, а единицы кодируют чередующейся последовательностью с противоположными потенциалами. При этом ликвидируют проблемы с возникновением постоянной составляющей сигнала и потерей синхронизации на длинных последовательностях единиц. Однако, длинные последовательности нулей могут приводит к потере синхронизации, как и в потенциальных кодах. Кроме того, использование трех уровней сигнала требует увеличения мощности передатчика для обеспечения такой же достоверности приема, как и двухуровневых сигналов. Такой метод кодирования также не приемлем для передачи световых сигналов (который могут иметь только два состояния – свет и темнота).

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

Манчестерский код для кодирования единиц и нулей использует перепад потенциала. При манчестерском кодировании каждый такт делится на две части. Информация кодируется перепадами потенциала в середине такта (единица – перепадом от низкого к высокому уровню, нуль – обратным перепадом). Если необходимо передать несколько нулей или единиц подряд, то в начале такта может произойти служебный перепад сигнала. У этого кода очень хорошие самосинхронизирующие свойства, не возникает постоянной составляющей и используется два уровня сигнала. Однако ширина спектра манчестерского кода больше, чем у потенциального кода, хотя меньше, чем у биполярного. Манчестерский код широко используется в низкоскоростных технологиях передачи данных (Ethernet , TockenRing).

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

Избыточные коды основаны на разбиении входной последовательности бит на группы одинакового размера (например по 4 бита) – символы. Далее каждый символ заменяется символом с большим числом бит (например 5 бит). Поскольку пятибитных комбинаций в два раза больше, чем четырехбитных – 32, то из них можно выбрать 16 «хороших» комбинаций, не содержащих большого количества нулей или единиц. Тогда результирующий сигнал не будет содержать длинных последовательностей нулей или единиц. При кодировании и декодировании используют специальную таблицу преобразования слов. Таким образом, платой за возможность использования быстрых потенциальных кодов в данном случае является увеличение количества передаваемой служебной информации. Рассмотренный выше пример перекодирования 4 битных символов в 5 битные используется в технологиях Fast Ethernet и FDDI и называется 4В/5В. Существуют и другие подобные коды, например 8В/10В и т.п.

0

1

0

1

1

0

0

0

Потенциальный код

Биполярный код

Биполярный импульсный код

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

Рис. 10. Методы кодирования

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

Bi = Ai  Bi-2  Bi-5

Где Bi значение бита результирующего кода, полученное на i такте работу алгоритма, Ai - значение этого бита в исходном коде, Bi-2 Bi-5- значения бит результирующего кода для соответствующих тактов работы,  - операция исключающее ИЛИ (сложение по модулю 2). При получении последовательности сигналов происходит его дескрэмблирование и восстановление исходного сигнала. Алгоритм перемешивания строится таким образом, чтобы в результирующем битовом потоке отсутствовали большие последовательности нулей или единиц. При этом количество передаваемой служебной информации не увеличивается, хотя возрастает сложность обработки.