Передача данных на физическом уровне
Для передачи данных на физическом уровне необходимо каждому биту передаваемых данных поставить в соответствие некоторый электрический, оптический или инфракрасный сигнал. Информация в кабельных сетях передается в закодированном виде, то есть каждому биту передаваемой информации соответствует свой набор уровней сигналов. Модуляция высокочастотных сигналов применяется в основном в радиоканалах. В кабельных сетях передача идет без модуляции, то есть на основной полосе частот.
Правильный выбор кода позволяет повысить достоверность переданной информации, увеличить скорость передачи или снизить требования к выбору кабеля. Так, при разных кодах предельная скорость передачи по одному и тому же кабелю может отличаться в два раза. От выбранного кода напрямую зависит также сложность сетевой аппаратуры – узлов кодирования и декодирования. Теоретически код должен обеспечивать хорошую синхронизацию приема, низкий уровень ошибок, работу с любой длиной передаваемых информационных последовательностей.
Рассмотрим некоторые используемые в сетях коды.
Код NRZ
Код NRZ (Non Return to Zero – без возврата к нулю) – это простейший код, представляющий собой обычный цифровой сигнал. Логическому нулю соответствует высокий уровень напряжения в кабеле, логической единице – низкий уровень напряжения или наоборот. Уровни могут быть разной полярности или одной полярности. В течение битового интервала, то есть времени передачи одного бита никаких изменений уровня сигнала в кабеле не происходит.
К достоинствам кода NRZ относятся: довольно простая реализация – исходный сигнал не надо специально кодировать на передающем конце и декодировать на приемном; минимальная по сравнению с другими кодами пропускная способность линии связи, требуемая при данной скорости передачи. Наиболее частое изменение сигнала в сети будет происходить при непрерывном чередовании единиц и нулей, то есть при последовательности 1010101010.... Поэтому при скорости передачи, равной 10 Мбит/с, и длительности одного бита, равной 100 нс, частота изменения сигнала и соответственно требуемая пропускная способность линии составит 1 / 200 нс = 5 МГц (рис. 3.17).
Рис. 3.17. Скорость передачи и требуемая пропускная способность при коде NRZ
Самый большой недостаток кода NRZ – это потеря синхронизации приемником во время приема слишком длинных пакетов информации. Приемник может привязывать момент начала приема только к стартовому биту пакета, а в течение приема пакета он вынужден пользоваться только внутренним тактовым генератором. Например, если передается последовательность нулей или последовательность единиц, то приемник может определить, где проходят границы битовых интервалов, только по внутренним часам. И если часы приемника расходятся с часами передатчика, то временной сдвиг к концу приема пакета может превысить длительность одного или даже нескольких бит. В результате произойдет потеря переданных данных. Так, при длине пакета в 10000 бит допустимое расхождение часов должно составлять не более 0,01% даже при идеальной передаче формы сигнала по кабелю.
Во избежание потери синхронизации, можно было бы ввести вторую линию связи для синхросигнала (рис. 3.18). Но при этом длина кабеля, число приемников и передатчиков увеличивается в два раза. При большой длине сети и значительном количестве абонентов это невыгодно.
Рис. 3.18. Передача в коде NRZ с синхросигналом
В связи с этим код NRZ используется только для передачи короткими пакетами (обычно до 1 Кбит).
Большой недостаток кода NRZ состоит еще и в том, что он может обеспечить обмен пакетами только фиксированной, заранее установленной длины. Дело в том, что по принимаемой информации приемник не может определить, продолжается ли передача или она уже закончилась. Для синхронизации начала приема пакета используется стартовый служебный бит, уровень которого отличается от пассивного состояния линии связи (например, если пассивное состояние линии при отсутствии передачи – 0, то стартовый бит – 1). Заканчивается прием после отсчета приемником заданного количества бит последовательности (рис. 3.19).
Рис. 3.19. Определение окончания последовательности при коде NRZ
Наиболее известное применение кода NRZ – это стандарт RS232-C, последовательный порт персонального компьютера. Передача информации в нем ведется байтами, сопровождаемыми стартовым и стоповым битами.
Три остальных кода (RZ, манчестерский код, бифазный код) принципиально отличаются от NRZ тем, что сигнал имеет дополнительные переходы (фронты) в пределах битового интервала. Это сделано для того, чтобы приемник мог подстраивать свои часы под принимаемый сигнал на каждом битовом интервале. Отслеживая фронты сигналов, приемник может точно синхронизовать прием каждого бита. В результате небольшие расхождения часов приемника и передатчика уже не имеют значения. Приемник может надежно принимать последовательности любой длины. Такие коды называются самосинхронизирующимися. Можно считать, что самосинхронизирующиеся коды несут в себе синхросигнал.
Код RZ
Код RZ (Return to Zero – с возвратом к нулю) – это трехуровневый код получил свое название потому, что после значащего уровня сигнала в первой половине битового интервала следует возврат к некоему нулевому, среднему уровню, например, к нулевому потенциалу. Переход к нему происходит в середине каждого битового интервала. Логическому нулю, таким образом, соответствует положительный импульс, логической единице – отрицательный (или наоборот) в первой половине битового интервала.
В центре битового интервала всегда есть положительный или отрицательный переход сигнала, следовательно, из этого кода приемник легко может выделить синхроимпульс (строб). Возможна временная привязка не только к началу пакета, как в случае кода NRZ, но и к каждому отдельному биту, поэтому потери синхронизации не произойдет при любой длине пакета.
Еще одно важное достоинство кода RZ – простая временная привязка приема, как к началу последовательности, так и к ее концу. Приемник просто должен анализировать, есть изменение уровня сигнала в течение битового интервала или нет. Первый битовый интервал без изменения уровня сигнала соответствует окончанию принимаемой последовательности бит (рис. 3.20). Поэтому в коде RZ можно использовать передачу последовательностями переменной длины.
Рис. 3.20. Определение начала и конца приема при коде RZ
Недостаток кода RZ состоит в том, что для него требуется вдвое большая полоса пропускания канала при той же скорости передачи по сравнению с NRZ, так как здесь на один битовый интервал приходится два изменения уровня сигнала. Например, для скорости передачи информации 10 Мбит/с требуется пропускная способность линии связи 10 МГц, а не 5 МГц, как при коде NRZ (рис. 3.21).
Рис. 3.21. Скорость передачи и пропускная способность при коде RZ
Другой важный недостаток – наличие трех уровней, что всегда усложняет аппаратуру как передатчика, так и приемника.
Код RZ применяется не только в сетях на основе электрического кабеля, но и в оптоволоконных сетях. Правда, в них не существует положительных и отрицательных уровней сигнала, поэтому используется три следующие уровня: отсутствие света, средний свет, сильный свет. Это очень удобно. Даже когда нет передачи информации, свет все равно присутствует, что позволяет легко определить целостность оптоволоконной линии связи (рис. 3.22).
Рис. 3.22. Использование кода RZ в оптоволоконных сетях
Манчестерский код
Манчестерский код получил наибольшее распространение в локальных сетях. Он также относится к самосинхронизирующимсякодам, но в отличие от RZ имеет не три, а всего два уровня, что способствует его лучшей помехозащищенности и упрощению приемных и передающих узлов. Логическому нулю соответствует положительный переход в центре битового интервала (то есть первая половина битового интервала – низкий уровень, вторая половина – высокий), а логической единице соответствует отрицательный переход в центре битового интервала (или наоборот).
Как и в RZ, обязательное наличие перехода в центре бита позволяет приемнику манчестерского кода легко выделить из пришедшего сигнала синхросигнал и передать информацию сколь угодно большими последовательностями без потерь из-за рассинхронизации. Допустимое расхождение часов приемника и передатчика может достигать 25%.
Подобно коду RZ, при использовании манчестерского кода требуется пропускная способность линии в два раза выше, чем при применении простейшего кода NRZ. Например, для скорости передачи 10 Мбит/с требуется полоса пропускания 10 МГц (рис. 3.23).
Как и при коде RZ приемник легко может определить не только начало передаваемой последовательности бит, но и ее конец. Если в течение битового интервала нет перехода сигнала, то прием заканчивается.
Рис. 3.23. Скорость передачи и пропускная способность при манчестерском коде
В манчестерском коде можно передавать последовательности бит переменной длины (рис. 3.24). Процесс определения времени передачи называют еще контролем несущей, хотя в явном виде несущей частоты нет.
Рис. 3.24. Определение начала и конца приема при манчестерском коде
Манчестерский код используется как в электрических, так и в оптоволоконных кабелях (в последнем случае один уровень соответствует отсутствию света, а другой – его наличию).
Основное достоинство манчестерского кода – постоянная составляющая в сигнале, так как половину времени сигнал имеет высокий уровень, другую половину – низкий. Постоянная составляющая равна среднему значению между двумя уровнями сигнала.
Если высокий уровень имеет положительную величину, а низкий – такую же отрицательную, то постоянная составляющая равна нулю. Это дает возможность легко применять для гальванической развязки импульсные трансформаторы. При этом резко уменьшается влияние низкочастотных помех, которые не проходят через трансформатор, легко решается проблема согласования.
Если же один из уровней сигнала в манчестерском коде нулевой (например, в сети Ethernet), то величина постоянной составляющей в течение передачи будет равна примерно половине амплитуды сигнала. Это позволяет легко фиксировать коллизию пакетов в сети по отклонению величины постоянной составляющей за установленные пределы.
Частотный спектр сигнала при манчестерском кодировании включает в себя только две частоты: при скорости передачи 10 Мбит/с это 10 МГц (соответствует передаваемой цепочке из одних нулей или из одних единиц) и 5 МГц (соответствует последовательности из чередующихся нулей и единиц – 1010101010...). Поэтому с помощью простейших полосовых фильтров можно легко избавиться от всех других частот (помехи, наводки, шумы).
Бифазный код
Бифазный код часто рассматривают как разновидность манчестерского, так как их характеристики практически полностью совпадают.Этот код отличается от классического манчестерского тем, что он не зависит от перемены мест двух проводов кабеля. Особенно это удобно в случае, когда для связи применяется витая пара, провода которой легко перепутать. Именно этот код используется в одной из самых известных сетей Token-Ring компании IBM.
Принцип кода прост: в начале каждого битового интервала сигнал меняет уровень на противоположный предыдущему, а в середине единичных (и только единичных) битовых интервалов уровень изменяется еще раз. Таким образом, в начале битового интервала всегда есть переход, который используется для самосинхронизации. Как и в случае классического манчестерского кода, в частотном спектре при этом присутствует две частоты. При скорости 10 Мбит/с это частоты 10 МГц при последовательности одних единиц и 5 МГц при последовательности одних нулей.
Имеется еще один вариант бифазного кода – дифференциальный манчестерский код. В этом коде единице соответствует наличие перехода в начале битового интервала, а нулю – отсутствие перехода в начале битового интервала (или наоборот). При этом в середине битового интервала переход имеется всегда, и именно он служит для побитовой самосинхронизации приемника. Характеристики этого варианта кода также полностью соответствуют характеристикам манчестерского кода.
Нужно отметить, что часто совершенно неправомерно считают, что единица измерения скорости передачи бод то же самое, что бит в секунду, а скорость передачи в бодах равняется скоростипередачив битах в секунду. Это верно только в случае кода NRZ. Скорость в бодах характеризует не количество передаваемых бит в секунду, а число изменений уровня сигнала в секунду. И при RZ или манчестерском кодах скорость в бодах оказывается вдвое выше, чем при NRZ. В бодах измеряется скорость передачи сигнала, а в битах в секунду – скорость передачи информации. Поэтому, чтобы избежать неоднозначного понимания, скорость передачи по сети лучше указывать в битах в секунду.
Логическое кодирование
Некоторые разновидности цифрового кодирования очень чувствительны к характеру передаваемых данных. Например, при передаче длинных последовательностей логических нулей посредством потенциального кода NRZ сигнал на линии долгое время не изменяется, и приемник может ошибиться с моментом считывания очередного бита. Для кода NRZ подобные проблемы возникают и при передаче длинных последовательностей логических единиц. Логическое кодирование, которому может подвергаться исходная последовательность данных, должно внедрять в длинные последовательности бит биты с противоположным значением или вообще заменять их другими последовательностями. Кроме исключения проблемных битовых последовательностей, логическое кодирование позволяет также для упрощения декодирования увеличить кодовое расстояние между символами, улучшить спектральные характеристики сигнала, а кроме того передавать в общем потоке служебные сигналы. В основном для логического кодирования применяются три группы методов: вставка бит, избыточное кодирование и скремблирование.
Вставка бит – наиболее прямолинейный способ исключения длинных последовательностей. Если в передаваемой последовательности встречается непрерывная последовательность 1, то передатчик вставляет 0 после каждой, например пятой 1. Приемник отбрасывает все эти лишние 0, которые встречаются после пяти 1. Разумеется, можно проводить и обратную операцию. Схема вставки бит применяется, например, в протоколе HDLC.
Избыточное кодирование основано на разбиении исходной последовательности бит на участки одинаковой длины – символы. Затем каждый символ заменяется табличным способом новым символом, имеющим либо большее количество бит, либо другое основание системы счисления.
Рассмотрим некоторые распространенные схемы логического кодирования.
Логический код 4B/5B заменяет каждые 4 бита входного потока на 5-битный выходной символ. Так как количество различных 5-битных символов равно 32, а исходных символов лишь 16 комбинаций, то среди возможных выходных кодов отбираются 16 удобных комбинаций, не содержащих больше трех нулей подряд. Среди оставшихся кодов выделяются служебные символы для поддержания синхронизации, выделения границ кадров и их полей и т.д. (табл. 3.1). Оставшиеся коды считаются запрещенными.
Накладные расходы при кодировании 4B/5B составляют 25% (один лишний бит на четыре бита данных), поэтому для достижения той же пропускной способности передатчик должен работать на повышенной на 25% частоте. Код 4B/5B используется в FDDI и Fast Ethernet: 100BaseFX и 100BaseTX.
Таблица 3.1
Дата добавления: 2016-04-14; просмотров: 2540;