Курс Лекций: «Аппаратное и программное обеспечение ЭВМ и сетей» Раздел 3. Технологии физического уровня. Кодирование Тема 3-08 Цифровое Кодирование. Протоколы физического уровня – NRZ, Манчестерский код, 4B/5B, 8B/6T. Избыточный код 4В/5В. Скремблирование. Тема 3 - 08. Физический уровень. Общие определения Предложенная нагрузка - это поток данных, поступающий от пользователя на вход сети. Характеризуется скоростью поступления данных в сеть — в битах в секунду (или килобитах, мегабитах и т. д.). Скорость передачи данных (information rate или throughput) - фактическая скорость потока данных, прошедшего через сеть. Эта скорость может быть меньше, чем скорость предложенной нагрузки, т.к. данные в сети могут искажаться или теряться. Битовая скоростью передатчика (bit rate of transmitter) - скорость передатчика коммуникационного устройства (Адаптера, повторителя, концентратора, коммутатора и т.д.); Емкость канала связи (capacity), называемая также пропускной способностью канала, представляет собой максимально возможную скорость передачи информации по каналу. Эта характеристика отражает не только параметры физической среды передачи, но и особенности выбранного способа передачи дискретной информации по этой среде. Например, емкость канала связи в сети Ethernet на оптическом волокне равна 10 Мбит/с. Эта скорость является предельно возможной для сочетания технологии Ethernet и оптического волокна. Однако, используя оптическое волокно и применяя другой способ кодирования данных, тактовую частоту и другие параметры получим другую емкость. Тема 3 - 08. Емкость канала связи. Полоса пропускания Так, технология Fast Ethernet обеспечивает передачу данных по тому же оптическому волокну с максимальной скоростью 100 Мбит/с, а технология Gigabit Ethernet - 1000 Мбит/с. Передатчик устройства должен работать со скоростью, равной пропускной способности канала. Полоса пропускания (bandwidth) — этот термин может трактоваться по разному: Во-первых, как характеристика среды передачи. В этом случае (см. лекцию №3-07): - Полоса пропускания (bandwidth) - это непрерывный диапазон частот, при котором сигнал передается по линии связи без значительных искажений. Во-вторых, термин «полоса пропускания» используется как синоним термина «емкость канала связи». В первом случае полоса пропускания измеряется в герцах (Гц), во втором — в битах в секунду. Различать значения этого термина нужно по контексту. Такое двойное использование термина «полоса пропускания» уже вошло во многие стандарты и книги. Этот термин в его втором значении является даже более распространенным, чем емкость, поэтому из этих двух синонимов мы будем использовать полосу пропускания. Тема 3 - 08. Способы кодирование двоичного сигнала. Единицам и нулям внутри компьютера соответствуют дискретные электрические сигналы. Представление данных в виде электрических или оптических сигналов называется кодированием. Существуют различные способы кодирования : • потенциальный способ, единице соответствует один уровень напряжения, а нулю – другой. • импульcный способ, для представления двоичных цифр используются импульсы различной полярности, или положительный фронт импульса для нуля, а отрицательный для единицы. • различные виды модуляции синусоидального сигнала, FSK, PSK, QAM и т.д., рассмотренные ранее. • Различают также кодирование на физическом уровне и логическое кодирование двоичного сигнала Курс Лекций: «Аппаратное и программное обеспечение ЭВМ и сетей Тема 3 - 08. Кодирование на физическом уровне Используемый метод физического цифрового кодирования должен достигать несколько целей: Обеспечивать наименьшую ширину спектра сигнала при заданной скорости передачи информации N (Бит/с). Минимизировать величину постоянной составляющей в спектре линейного сигнала. Обеспечивать приемнику возможность тактовой синхронизации (clocking). Самосинхронизирующиеся коды позволяют приемнику выделять из принимаемого цифрового потока колебание тактовой частоты и затем формировать из него тактовые импульсы при любой статистике битового потока на входе передатчика. Обладать способностью распознавать ошибки ; Обладать низкой стоимостью реализации. Тема 3 - 08. Методы физического цифрового кодирования сигналов. Потенциальный код. Код RZ Потенциальный код. Код RZ. RZ — это трехуровневый код, обеспечивающий возврат к нулевому уровню после передачи каждого бита информации (кодирование с возвратом к нулю (Return to Zero)). Логическому нулю соответствует положительный импульс, логической единице — отрицательный. Информационный переход осуществляется в начале бита, возврат к нулевому уровню — в середине бита. Особенностью кода RZ является то, что в центре бита всегда есть переход (положительный или отрицательный). Следовательно, каждый бит обозначен. Приемник может выделить синхроимпульс (строб), из самого сигнала. Такие коды, несущие в себе строб, называются самосинхронизирующимися. Недостаток кода RZ состоит в том, что он не дает выигрыша в скорости передачи данных. Для передачи со скоростью 10 Мбит/с требуется частота несущей 10 МГц. Кроме того, для различения трех уровней необходимо лучшее соотношение сигнал / шум на входе в приемник, чем для двухуровневых кодов. Тема 3 - 08. Методы физического цифрового кодирования сигналов. Потенциальный код. Код NRZ Потенциальный код NRZ в отличии от RZ, а также и от многих других кодов не использует «возврат к нулю» в течение такта. Метод потенциального кодирования без возвращения к нулю (Not Return to Zero, NRZ). Сигнал в линии имеет два уровня: нулю соответствует нижний уровень, единице - верхний. Переходы происходят на границе битового интервала. При передаче последовательности единиц сигнал не возвращается к нулю в течение битового интервала. Рис.3-08.2. Кодирование по методу NRZ Тема 3 - 08. Методы физического цифрового кодирования сигналов. Потенциальный код. Код NRZ При чередовании единиц и нулей и скорости передачи N (Бит/с) период основной гармоники в спектре сигнала равен T=2*t0=2/N сек. Частота основной гармоники f0 равна f0=N/2 (Гц). (в данном случае максимальная). При передаче только единиц, или только нулей сигнал в линии представляет собой постоянный ток. Линейный сигнал NRZ обычно содержит постоянную составляющую и не всегда обеспечивает приемнику возможность синхронизироваться с поступающим сигналом. С другой стороны код NRZ прост в реализации, обладает хорошей помехоустойчивостью (из-за двух резко отличающихся уровней сигнала). Основная энергия сигнала в коде NRZ сосредоточена на частотах от 0 до N/2 (Гц). Достоинства метода NRZ: Простота реализации. Метод обладает хорошей распознаваемостью ошибок (благодаря наличию двух резко отличающихся потенциалов). Основная гармоника fo имеет достаточно низкую частоту (равную N/2 Гц, что приводит к узкому спектру). Недостатки метода NRZ: • Метод не обладает свойством самосинхронизации; • наличие низкочастотной составляющей, которая приближается к постоянному сигналу при передаче длинных последовательностей единиц или нулей. • используется в виде различных: его модификаций, в которых устранены как плохая самосинхронизация кода NRZ, так и проблемы постоянной составляющей. Тема 3 - 08. Методы физического цифрового кодирования сигналов. Потенциальный код NRZI Потенциальный код с инверсией при единице NRZI (Non Return to Zero with ones Inverted, NRZI) При передаче нуля код NRZI передает потенциал, который был установлен на предыдущем такте (то есть не меняет его), а при передаче единицы потенциал (уровень) изменяется (инвертируется) на противоположный. Код NRZI использует только два уровня сигнала и поэтому обладает хорошей помехоустойчивостью. Максимальную энергию имеют спектральные составляющие сигнала около частоты N/4 (Гц). Он удобен в тех случаях, когда наличие третьего уровня сигнала весьма нежелательно, например в оптических кабелях, Для последовательности чередующихся единиц и нулей период сигнала равен T=4*t0 (с), основная частота сигнала f0=N/4 (Гц). При последовательности единиц – f0=N/2 (Гц), При передаче последовательности нулей. f0=0 постоянный ток в линии (или отсутствие света). Рис.3-08.3.Потенциальный код с инверсией при единице NRZI Тема 3 - 08. Методы физического цифрового кодирования сигналов. Потенциальный код NRZI А) Для последовательности чередующихся единиц и нулей период сигнала равен T=4*t0 (с), основная частота сигнала f0=N/4 (Гц). Б) При последовательности единиц – f0=N/2 (Гц); Тема 3 - 08. Методы физического цифрового кодирования сигналов. Потенциальный код NRZI С) При передаче последовательности нулей. f0=0 - постоянный ток в линии (или отсутствие света). Д) При передаче последовательности 0 1 1 0 0; Тема 3 - 08. Методы физического цифрового кодирования сигналов. Биполярное кодирование AMI Метод биполярного кодирования с альтернативной инверсией (Alternate Mark Inversion, AMI). В этом методе применяются три уровня потенциала — отрицательный, нулевой и положительный (рис. 3-08.4). Для кодирования логического нуля используется нулевой потенциал. Логическая единица кодируется либо положительным потенциалом, либо отрицательным, при этом потенциал каждой новой единицы противоположен потенциалу предыдущей. Рис. 3-08.4. Квазитроичное кодирование (AMI) А) При передаче чередующихся единиц и нулей основная гармоника f0 имеет частоту N/4 Гц. Б) При передачи длинной последовательности единиц, получаем разнополярный сигнал с частотой основной гармоники f0 = N/2. Гц. Тема 3 - 08. Методы физического цифрового кодирования сигналов. Биполярное кодирование AMI С) При передачи длинной последовательности нулей, сигнал равен нулю в течении всей последовательности нулей. D) При передаче последовательности 0 1 1 0 0; Тема 3 – 08. Биполярное кодирование AMI Длинные последовательности нулей опасны для кода AMI, как и для кода NRZ — сигнал вырождается в постоянный потенциал нулевой амплитуды; При передаче длинных последовательностей единиц сигнал на линии представляет собой последовательность разно полярных импульсов с тем же спектром, что и у кода NRZ, передающего чередующиеся нули и единицы, то есть без постоянной составляющей и с основной гармоникой N/2 Гц; При передаче чередующихся единиц и нулей сигнал на линии представляет собой последовательность разнополярных «ступенчатых» импульсов, основная гармоника f0, которых имеет частоту N/4 Гц. Спектр сигнала AMI более узок, чем у кода NRZ, а значит, обладает более высокой пропускной способности линии. В коде AMI используются не два, а три уровня сигнала на линии. Дополнительный уровень требует увеличение мощности передатчика примерно на 3 дБ для обеспечения той же достоверности приема битов на линии. Спектр сигнала AMI более узок, чем у кода NRZ, а значит, обладает более высокой пропускной способности линии. Код AMI предоставляет также некоторые возможности по распознаванию ошибочных сигналов. Так, нарушение строгой очередности в полярности сигналов говорит о ложном импульсе или исчезновении с линии корректного импульса. Тема 3 - 08. Методы физического цифрового кодирования сигналов. Код MLT3 (Multi Level Transmission - 3). Код MLT3 (Multi Level Transmission - 3). Используются три уровня линейного сигнала: «-1», «0», «+1». Логической единице соответствует обязательный переход с одного уровня сигнала на другой. При передаче логического нуля изменение уровня линейного сигнала не происходит. Код MLT3, на первый взгляд, идентичен коду AMI. Разница от AMI состоит в том, что при кодировании «1» в AMI используются два уровня «-1» и «+1», в MLT3 три уровня кодировании «-1», «0», «+1», при кодировании «0» в AMI используются уровень «0» , а при MLT3 также любой из трех «-1», «0», «+1», а именно при «0» в следующем такте уровень не меняется. При передаче последовательности единиц период изменения уровня сигнала включает четыре бита. В этом случае f0=N/4 (Гц). Это максимальная основная частота сигнала в коде MLT-3. В случае чередующейся последовательности нулей и единиц основная гармоника сигнала находится на частоте f0=N/8 (Гц). Тема 3 - 08. Методы физического цифрового кодирования сигналов. Код MLT3 (Multi Level Transmission - 3). Рис. 3-08.5. Сигнал в коде MLT-3 Тема 3 - 08. Методы физического цифрового кодирования сигналов. Потенциальный код 2B1Q Код 2B1Q, название которого отражает его суть — каждые два бита (2В) передаются за один такт (1) сигналом, имеющим четыре состояния (Q — Quadra). Паре битов 00 соответствует потенциал -2,5 В, паре 01 — потенциал -0,833 В, паре 11 — потенциал +0,833 В, а паре 10 — потенциал +2,5 В. Таким образом при данном методе кодирования кодируется не каждый бит информационного исходного сигнала, а два бита. Рис. 3-08.6. Сигнал в коде 2B1Q Тема 3 – 08. Биполярный импульсный код В импульсных кодах, данные представлены полным импульсом или же его частью — фронтом. Наиболее простой -биполярный импульсный код, в котором единица представляется импульсом одной полярности, а ноль — другой (Рис. 3-08.7,). Каждый импульс длится половину такта. Такой код обладает отличными само синхронизирующими свойствами, но постоянная составляющая может присутствовать, например, при передаче длинной последовательности единиц или нулей. спектр у него шире, чем у потенциальных кодов. Так, при передаче всех нулей или единиц частота основной гармоники кода будет равна N Гц, что в два раза выше основной гармоники кода NRZ и в четыре раза выше основной гармоники кода AMI. Из-за слишком широкого спектра биполярный импульсный код используется редко. Рис.3-08.7 Биполярный код Тема 3 - 08. Методы физического цифрового кодирования сигналов. Манчестерский код В локальных сетях до недавнего времени самым распространенным методом кодирования был так называемый манчестерский код (рис., 3-08.8). Он применяется в технологиях Ethernet и Token Ring. В манчестерском коде для кодирования единиц и нулей используется перепад потенциала, то есть фронт импульса. При манчестерском кодировании каждый такт делится на две части. Информация кодируется перепадами потенциала, происходящими в середине каждого такта. Единица кодируется перепадом от низкого уровня сигнала к высокому, а ноль - обратным: перепадом. Рис.3-08.8 манчестерский код Тема 3 - 08. Методы физического цифрового кодирования сигналов. Манчестерский код При данном коде если используется 10Base-T –витая пара, то очень важно не перепутать полярность (последовательность) проводов в каждой паре. В начале каждого такта может происходить служебный перепад сигнала, если нужно представить несколько единиц или нулей подряд. Так как: сигнал изменяется, по крайней мере один раз за такт передачи одного бита данных, то манчестерский код обладает хорошими само синхронизирующими свойствами. Полоса пропускания манчестерского кода уже, чем у биполярного импульсного. У него также нет постоянной составляющей, а основная гармоника в худшем случае (при передаче последовательности единиц или нулей) имеет частоту N Гц, а в лучшем (при: передаче чередующихся единиц и нулей) - N/2 Гц, как и у кодов AMI и NRZ. В среднем: ширина полосы манчестерского кода в полтора раза уже, чем: у биполярного импульсного кода, а основная гармоника колеблется: вблизи значения 3N/4. Манчестерский код имеет еще одно преимущество перед биполярным импульсным кодом, а именно - передачи данных в биполярном импульсном кодом используются три уровня сигнала, а в манчестерском - два Тема 3 - 08. Методы физического цифрового кодирования сигналов. Бифазный код Бифазный код часто рассматривают как разновидность манчестерского, так как их характеристики практически полностью совпадают. Принцип данного кода прост: в начале каждого битового интервала сигнал меняет уровень на противоположный предыдущему, а в середине единичных (и только единичных) битовых интервалов уровень изменяется еще раз. Таким образом, в начале битового интервала всегда есть переход, который используется для самосинхронизации. Имеется также еще один вариант бифазного кода (его еще называют дифференциальным манчестерским кодом). В этом коде единице соответствует наличие перехода в начале битового интервала, а нулю – отсутствие перехода в начале битового интервала (или наоборот). При этом в середине битового интервала переход имеется всегда, и именно он служит для побитовой самосинхронизации приемника. Характеристики этого варианта кода также полностью соответствуют характеристикам манчестерского кода. Ещё раз стоит упомянуть о том, что часто совершенно неправомерно считается, что единица измерения скорости передачи бод – это то же самое, что бит в секунду, а скорость передачи в бодах равняется скорости передачи в битах в секунду. Это верно только в случае кода NRZ. Скорость в бодах характеризует не количество передаваемых бит в секунду, а число изменений уровня сигнала в секунду. И при RZ или манчестерском кодах требуемая скорость в бодах оказывается вдвое выше, чем при NRZ. В бодах измеряется скорость передачи сигнала, а в битах в секунду – скорость передачи информации. Поэтому, чтобы избежать неоднозначного понимания, скорость передачи по сети лучше указывать в битах в секунду (бит/с, Кбит/с, Мбит/с, Гбит/с). Тема 3 - 08. Кодирование. Избыточный код 4В/5В. Скремблирование Для улучшения потенциальных кодов, подобных AMI, NRZI, RZ или 2Q1B используются два метода. Первый метод основан на добавлении в исходный код избыточных битов, содержащих логические единицы. Но этот метод снижает полезную пропускную способность линии, так как избыточные единицы пользовательской информации не несут. Второй метод основан на предварительном «перемешивании» исходной информации таким образом, чтобы вероятность появления единиц и нулей на линии становилась минимальной. Устройства, или блоки, выполняющие такую операцию, называются скремблерами. Избыточные коды основаны на разбиении исходной последовательности битов на порции, которые часто называют символами. Затем каждый исходный символ заменяется новым с большим количество битов, чем: исходный. В избыточном коде 4В/5В результирующие символы могут содержать 32 битовых комбинации, в то время как исходные символы только 16 (Табл. 3_08.1). Поэтому в результирующем коде можно отобрать 16 таких комбинаций, которые не содержат большого количества нулей, а остальные считать запрещенными кодами (code violations). Помимо устранения постоянной составляющей и придания коду свойства само синхронизации, избыточные коды позволяют приемнику распознавать искаженные биты. Если приемник принимает запрещенный код, значит, на линии произошло искажение сигнала. Тема 3 - 08. Кодирование. Избыточный код 4В/5В. Скремблирование Таблица 3_08.1 Соответствие исходных и результирующих кодов 4В/5В Исходный код Результирующий код Исходный код Результирующий код 0000 11110 1000 10010 0001 01001 1001 10011 0010 10100 1010 10110 0011 10101 1011 10111 0100 01010 1100 11010 0101 01011 1101 11011 0110 01110 1110 11100 0111 01111 1111 11101 Тема 3 - 08. Кодирование. Избыточный код 4В/5В. Скремблирование Скремблирование заключается в побитном вычислении результирующего кода на основании битов исходного кода и полученных в предыдущих тактах битов результирующего кода. Скремблер может реализовывать следующее соотношение: где Bi- двоичная цифра результирующего кода, полученная на i-м такте работы скремблера, Аi-двоичная цифра исходного кода, поступающая на i-м такте на вход скремблера. Bi-3 и B i-5 двоичные цифры результирующего кода, полученные на предыдущих тактах работы скремблера (соответственно на 3 и на 5 тактов ранее текущего такта) и объединенные операцией исключающего ИЛИ (сложение по модулю 2). Дескремблер : —> реализовывает следующее соотношение: Тема 3 - 08. Кодирование. Избыточный код 4В/5В. Скремблирование Например, для исходной последовательности 110110000001 В1 = А1=1 В2 = А2=1 В3 = А3=0 В4 = А4 В1=1 1=0 В5 = А5 В2=1 1=0 В6 = А6 В3 В1 =0 0 1= 1 В7 = А7 В4 В2 = 0 0 1 = 1 В8 = А8 В5 В3 = 0 0 0 = 0 В9 = А9 В6 В4 = 0 1 0 = 1 В10 = А10 В7 В5=0 1 0 = 1 В11 = А11 В8 В6=0 0 1= 1 В12 = А12 В9 В7=1 1 1= 1 Таким: образом, выходе на скремблера появится последовательность 110001101111, в которой нет последовательности из шести нулей, присутствовавшей в исходном коде. Тема 3 - 08. Метод кодирования B8ZS и HDB3 Оба метода используют AMI код биполярного кодирования, в качестве исходного. Метод биполярного кодирования с альтернативной инверсией (Alternate Mark Inversion, AMI). В этом методе применяются три уровня потенциала — отрицательный, нулевой и положительный (рис. 3-08.9). Для кодирования логического нуля используется нулевой потенциал. Логическая единица кодируется либо положительным потенциалом, либо отрицательным, при этом потенциал каждой новой единицы противоположен потенциалу предыдущей. Код B8ZS исправляет только последовательности, состоящие из 8 нулей. После первых трех нулей: вместо оставшихся пяти нулей вставляет пять цифр: V-1*-0-V-1*. Здесь V обозначает сигнал единицы, запрещенной (Violations) для данного такта, полярности, то есть сигнал, не изменяющий полярность предыдущей единицы, (знак звездочки отмечает тот факт, что в исходном коде; в этом: такте была не единица, а ноль). Рис. 3-08.9. Квазитроичное кодирование (AMI) Тема 3 - 08. Метод кодирования B8ZS и HDB3 Курс Лекций: «Аппаратное и программное обеспечение ЭВМ и сетей Тема 3 - 08. Метод кодирования B8ZS и HDB3 В результате на 8 тактах приемник наблюдает 2 искажения - очень маловероятно, что это случается из-за шума на линии или других сбоев передачи, Поэтому приемник считает такие нарушения кодировкой 8 последовательных нулей и после приема заменяет их исходными 8 нулями. Код B8ZS построен так, что его постоянная составляющая равна, нулю при любых последовательностях двоичных цифр. Код HDB3 исправляет любые четыре смежных нуля в исходной последовательности. Правила формирования кода HDB3 более сложные, чем: кода B8ZS. Каждые четыре нуля заменяются четырьмя сигналами, в которых имеется один сигнал. V Для: подавления постоянной составляющей полярность сигналы V чередуется при последовательных заменах. Кроме того для замены: используются два образца четырех тактовых кодов. Если перед заменой исходный код содержал нечетное число единиц, задействуется последовательность 000V, а если число единиц было четным последовательность 1*00V. Тема 3 - 08. Методы кодирования 1,2 А NRZ 2B1Q B8ZS N – информационная скорость 4B/5B (bps) A – амплитуда сигнала А Манчестерский и биполярный импульсный коды NN 8 4 N 2 N 3N 2 2N 5N 2 F (Hz) Рис. 3-08. 11 Спектры потенциальных и импульсных кодов