Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
ИС_КР_2010.doc
Скачиваний:
22
Добавлен:
08.05.2019
Размер:
1 Мб
Скачать
☆

2. Цифровое кодирование цифровых данных

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

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

Рис.2

Каждый из этих кодов имеет достоинства и недостатки.

Код NRZ

В простейшем случае потенциального кодирования логическую единицу можно представлять высоким потенциалом, а логический нуль — низким. Подобный способ представления сигнала получил название «кодирование без возврата к нулю, или кодирование NRZ (Non Return to Zero)». Под термином «без возврата» в данном случае понимается то, что на протяжении всего тактового интервала не происходит изменения уровня сигнала. Метод NRZ прост в реализации, обладает хорошей распознаваемостью ошибок, но не обладает свойством самосинхронизации.

Отсутствие самосинхронизации приводит к тому, что при появлении длинных последовательностей нулей или единиц приемник лишен возможности определять по входному сигналу те моменты времени, когда нужно в очередной раз считывать данные. Незначительное рассогласование тактовых частот приемника и передатчика может приводить к появлению ошибок, если приемник считывает данные не в тот момент времени, когда это нужно. Приемник может привязывать момент начала приема только к первому (стартовому) биту пакета, а в течение приема пакета он вынужден пользоваться только внутренним тактовым генератором (внутренними часами). Например, если передается последовательность нулей или последовательность единиц, то приемник может определить, где проходят границы битовых интервалов, только по внутренним часам. И если часы приемника расходятся с часами передатчика, то временной сдвиг к концу приема пакета может превысить длительность одного или даже нескольких бит. Особенно критично такое явление при высоких скоростях передачи, когда время одного импульса чрезвычайно мало (при скорости передачи 100 Мбит/с время одного импульса составляет 10 нс). В результате произойдет потеря переданных данных. Так, при длине пакета в 10000 бит допустимое расхождение часов составит не более 0,01% даже при идеальной передаче формы сигнала по кабелю. В связи с этим код NRZ можно использовать только для передачи короткими пакетами (обычно до 1 Кбита). Наиболее известное применение кода NRZ – это стандарт RS232-C, последовательный порт персонального компьютера. Передача информации в нем ведется байтами (8 бит), сопровождаемыми стартовым и стоповым битами.

Другим недостатком кода NRZ является наличие низкочастотной составляющей в спектре сигнала при появлении длинных последовательностей нулей или единиц. Однако, Наряду с указанными недостатками код NRZ имеет и важное достоинство – сравнительно низкая частота основной гармоники его спектра (она равна N/2, где N – битовая скорость передачи дискретных данных), что обеспечивает достаточно высокую пропускную способность линии связи. Поэтому на практике используются модификации этого кода, в которых отсутствует постоянная составляющая и самосинхронизация существенно улучшена.

Код NRZI

Другим типом кодирования является несколько видоизмененный NRZ-код, называемый NRZI (Non Return to Zero with ones Inverted). Код NRZI является простейшей реализацией принципа кодирования сменой уровня сигнала или дифференциального кодирования. При таком кодировании при передаче нуля уровень сигнала не меняется, то есть потенциал сигнала остается таким же, как и в предыдущем такте. При передаче единицы потенциал инвертируется на противоположный. Сравнение кодов NRZ и NRZI показывает, что код NRZI обладает лучшей самосинхронизацией в том случае, если в кодируемой информации логических единиц больше, чем логических нулей. Таким образом, этот код позволяет «бороться» с длинными последовательностями единиц, но не обеспечивает должной самосинхронизации при появлении длинных последовательностей логических нулей. Его часто используют в комбинации с дополнительным кодированием, позволяющим улучшить самосинхронизацию. Код NRZI применяется в оптоволоконных сетях (FDDI и 100BASE-FX).

Код AMI

Биполярный код AMI (Alternate Mark Inversion) - кодирование с альтернативной инверсией. Это модификация кода NRZ. Имеются 3 уровня потенциала. Логическая "1" кодируется либо положительным, либо отрицательным потенциалом, причем потенциал каждой новой единицы противоположен потенциалу предыдущей. Достоинства кода: достаточно узкий спектр сигнала (уже, чем у кода NRZ), что обеспечивает большую пропускную способность линии связи, возможность распознавания ошибочных сигналов при нарушении строгого чередования полярности сигналов. Недостаток - необходимость увеличения мощности передатчика, так как необходимо обеспечить надежное распознавание не двух, а трех уровней сигнала. При использовании этого кода самосинхронизация нарушается только в случае длинных последовательностей нулей.

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

Код RZ

Код RZ (Return to Zero – с возвратом к нулю) – этот трехуровневый код получил такое название потому, что после значащего уровня сигнала в первой половине битового интервала следует возврат к некоему «нулевому», среднему уровню (например, к нулевому потенциалу). Переход к нему происходит в середине каждого битового интервала. Логическому нулю, таким образом, соответствует положительный импульс, логической единице – отрицательный (или наоборот) в первой половине битового интервала.

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

Еще одно важное достоинство кода RZ – простая временная привязка приема, как к началу последовательности, так и к ее концу. Приемник просто должен анализировать, есть изменение уровня сигнала в течение битового интервала или нет. Первый битовый интервал без изменения уровня сигнала соответствует окончанию принимаемой последовательности бит. Поэтому в коде RZ можно использовать передачу последовательностями переменной длины.

Недостаток кода RZ состоит в том, что для него требуется вдвое большая полоса пропускания канала при той же скорости передачи по сравнению с NRZ (так как здесь на один битовый интервал приходится два изменения уровня сигнала). Например, для скорости передачи информации 10 Мбит/с требуется пропускная способность линии связи 10 МГц, а не 5 МГц, как при коде NRZ.

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

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

В манчестерском коде для кодирования нулей и единиц используется перепад потенциала, то есть кодирование осуществляется фронтом импульса. Перепад потенциала происходит на середине тактового импульса, при этом единица кодируется перепадом от низкого потенциала к высокому, а нуль — наоборот. В начале каждого такта в случае появления нескольких нулей или единиц подряд может возникать служебный перепад потенциала.

Из всех рассмотренных нами кодов манчестерский обладает лучшей самосинхронизацией, поскольку перепад сигнала происходит как минимум один раз за такт. Именно поэтому манчестерский код используется в сетях Ethernet со скоростью передачи 10 Мбит/с (10Ваsе 5, 10Ваsе 2, 10Bаsе-Т).

Недостаток кода RZ состоит в том, что для него требуется вдвое большая полоса пропускания канала при той же скорости передачи по сравнению с NRZ (так как здесь на один битовый интервал приходится два изменения уровня сигнала). Например, для скорости передачи информации 10 Мбит/с требуется пропускная способность линии связи 10 МГц, а не 5 МГц, как при коде NRZ. Подобно коду RZ, при использовании манчестерского кода требуется пропускная способность линии в два раза выше, чем при применении простейшего кода NRZ. Например, для скорости передачи 10 Мбит/с требуется полоса пропускания 10 МГц.

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

Для сравнительной оценки самосинхронизирующихся кодов используются следующие показатели:

  • качество синхронизации

  • надежность распознавания принимаемых битов

  • сложность реализующего код оборудования.

Один из наиболее существенных недостатков потенциальных кодов - нарушение самосинхронизации при передаче длинной последовательности нулей. Рассмотрим некоторые из применяемых на практике методов, позволяющих улучшить свойства потенциальных кодов.