Джон Ф.Уэйкерли Проектирование цифровых устройств. Том I (2002) (1095889), страница 24
Текст из файла (страница 24)
В противном случае у приемника не будет 7 Зак. 2137, 98 Глава 2. Числовые системы н колы возможности определить, как много нулей или единиц предсэавлено непрерывно удерживаемым 0-ым или 1-ым уровнем. Например, в отсутствие тактового сигнала, задающего границы битовых ячеек, сигнал !чу, приведенный на рнс. 2.17, может быть ошибочно интерпретирован как 01010, йй2! ВРЛ2 Рно. 2.17. Сигнальные коды, обычно применяемые для последовательной передачи данных Аналого-цифровой схемой, позволяющей извлечь тактовый сигнал из последовательного потока данных, является цифровая схема фазовай автападстрайки частоты (иифравая ФА!7 Ч; гйя!га!р!иззв-!оскег!!аар, ОР!.Ц.
Схема ФАПЧ будет работать только в том случае, когда в последовательном потоке данных содержится достаточное число переходов от 0 к 1 и от 1 к О, чтобы схема ФАПЧ могла «догадаться», где происходят подобные переходы в исходном тактовом сигнале. Если данные передаются кодом !ч!КХ, то схема ФАПЧ будет работать толью тогда, когда в данных нет длительных интервалов, в течение которых непрерывно следуют единицы нли нули. В некоторых случаях среда, по которой последовательно передаются или в которой хранятся данные, чувствительна только к переходам !!гааз!г!оп зепз!! !гв тес!!а).
В такой среде нельзя передавать или хранить абсолютные уровни 0 нли 1; передавать или хранить можно только переходы между двумя дискретными уровнями. Например, на магнитном диске или ленте информация запоминается в виде изменения полярности намагниченности материала на участках, соответствующих запоминаемым битам. При воспроизведении информации нельзя определить абсолютную полярность намагниченности на том нли ином участке, а можно обнаружить лишь изменение полярности при переходе от одного участка к другому. Данные, записанные в формате ЯКУ в среде, чувствительной к переходам, нельзя восстановить однозначно; указанную на рис.
2.17 последовательность битов можно было бы интерпретировать как 01110010 и 10001101. В коде бвз возврата к нулю с инверсией (йап-йвгигп-гаХего гт «к!оп- !з, Л )гс!) этот недостаток преодолевается: единичный бит перелается уровнем, противоположным тому, который поддерживался в пределах предыдущей битовой ячейки, а нулевой бит— 2. 16.
Коды для последовательной передачи и хранения данных 99 посылкой того же уровня. Схема ФАПЧ сможет извлечь тактовый сигнал из данных, передаваемых кодом МКАД!, если только данные не будут содержать длинных последовательностей подряд идущих нулей, Кад с возвратом к нулю ()<егигп-га-У«го, Рс) подобен коду ХКХ за исключением того, что в случае единичного бита уровень! удерживается толью на части интервала времени, отведенного на передачу бита, обычно в течение 1/2 этого интервала. Если последовательность данных, передаваемых этим кодом, содержит большое число единиц, то она содержит много переходов н это может быть использовано схемой ФАПЧ для извлечения тактовых сигналов.
Однаю при этом, как и в случае других сигнальных кодов, строка из нулей не содержит переходов, и при наличии длинных последовательностей нулей извлечение такювого сигнала оказывается невозможным. Другое требование, предъявляемое к сигналам в таких каналах связи, как высокоскоростные волоконно-оптические линии, заключается в том, что последовательныйй поток данных должен быть сбалансированным по посгналнному току(!)С Ьа!апсе). Это значит, что он должен иметь равное число единиц и нулей; наличие постоянной составляющей в потоке (когда единиц много бол ьше, чем нулей, или наоборот) на протяжении сравнительно долгого времени вызывает смещение в приемнике, которое ухудшает его способность надежно различать единицы и нули.
Обычно не гарантируется, что данные, передаваемые кодами Х Кс, ХКЛ! или К8, будут сбалансированными по постоянному току; ничто не может предотвратить наличие в пашке данных пользователя длинных строк со словам н, в которых единиц больше, чем нулей, или наоборот. Однаю сбалансированности по постоянному току все же можно достичь с помощью нескольких лишних битов, кодируя данные пользователя балансным кодам (Ьа!апсе<! соде), в каждом слове которого одинаковое число единиц и нулей, и передавая этн кодовые слова в формате ЯКЕ. В параграфе 2.
! 3, например, мы ввели код 8В! ОВ, который преобразует 8-разрядные двоичные данные пользователя в 1О-разрядные двоичные слова, являющиеся по большей части словами кода «5 из ! 0». Напомним, что в коде «5 нз 10» (ю'1 имеется только 252 кодовых слова, но существует еще ( )= 210 кодовых слов кода 4 «4 из 10» и столько же кодовых слов кода «б из 10». Конечно, кодовые слова двух последних кодов не являются точно сбалансированными по постоянному току.
В коде 8В!ОВ эта проблема решается путем представления одной 8-разрядной двоичной величины парой несбалансированных кодовых слов, беря одно «легкое» слово из кода «4 из 10» и одно «тяжелое» слово нз кода «б нз 10». В кодере вырабатывается также признак рассогласования (гнпп(п8 <!!зрагйу), то есть одиночный бнт, указывающий, каким было последнее переданное им несбалансированное кодовое слово: «тяжелым» нли «легким». Когда наступает момент передачи очередного несбалансированного кодового слова, кодер выбирает пару слов разного веса. Этот простой прием обеспечивает наличие в коде 8В10В 252 + 210 = 462 кодовых слов для кодирования 8-разрядных двоичных данных пользователя.
Неюторыми «лишними» кодовыми словами удобно кодировать состояния в канале последовательной передачи, не являющиеся данными, такие как НХЕ, ЯтИС и ЕЙЙОВ. Используются не все несбалансированные кодовые слова, и даже не все сбалансированные: вместо таких слов, как 0000011111, предпочтительнее передавать несбалансированные пары с большим числом переходов. т 00 Глава 2. Числовые системы и коззы КИЛО-, МЕГА-, ГИГА-, ТЕРА- Когда речь идет о битах в секунду (бит/с), герцах, омах, ваттах и в большинстве других случаев, относящихся к техническим показателям, приставки к (кило-), М (мега-), Г (гига-) и Т (гера-) означают 1Оз, 100, 100 н 10'2, соответственно. Однако применительно к объему памяти те же приставки имеют значения 2'0, 2,2 и 2 .
Так сложилось исторически, что они были заимствованы для этой 20 30 40 цели, поскольку обычно объем памяти бывает равен степени 2, а значение 2'0 (1024) очень близко к 1 000. Поэтому теперь, если кто-нибудь предложит за вашу первую работу в качестве инженера 50 кнлобаксов в год, вам придется договариваться о значении приставки! Во всех предыдущих кодах сигналы, применяемые для передачи и при чтении/ записи, имели только два уровня. В деуполлрнач коде с волврагпач к нулю (В/ро/аг Веп4гп-го-2его, ВРВХ~ передаются сигналы трех уровней:+1, 0 и -1. Этот код подобен коду Кл„за исключением того, что единичные биты поочередно передаются как+! и-1; по этой причине такой способ передачи называют также кодированием с чередованием поллрн осгпи (А /геена/е Магл! пгегл/оп, АМ/) .
Большим преимуществом кода ВРКй по сравнению с кодом Кл, является его сбалансированность по постоянному току. Благодаря этому его можно применять для передачи потока данных по каналу, не допускающему наличия постоянной составляющей, например, по телефонным линиям с трансформаторной связью.
Код ВРКХ и в самом деле уже не один десяток лет используется в цифровых телефонных линиях Т1, где аналоговый речевой сигнал передается по последовательному каналу со скоростью 64 кбит/с в виде потока из 8000 цифровых отсчетов в секунду по 8 битов в каждом в формате ВРКХ. Как и в случае кода Ке, из потока данных в формате ВРКЛ можно извлечь тактовый сигнал, если только подряд не идет слишком много нулей. Хотя «Телефонная Компания» («ТЪе Р)юпе Сошрапу», ироническое прозвище корпорации АТ04Т. -Прим. перев.) не может проконтролировать, чту вы говорите (по крайней мере пока), все же у нее есть простой способ ограничения последовательности нулей.
Если какой-то из 8-разрядных байтов, возникающих в результате взятия выборок из вашего аналогового речевого сигнала, оказывается состоящим из одних нулей, то происходит замена второго бита со стороны младших разрядов на 1! Это называется подавлением нулевого кода ( его-сог/е лирргелл/оп). Держу пари, что вы никогда не замечали этого. Вот почему во многих случаях, когда по ливиям Т1 передаются данные, вы получаете из канала, со скоростью передачи 64 кбит/с только 56 кбит в секунду; младшему разряду каждого байта всегда присваивается единичное значение, чтобы воспрепятствовать изменению других битов из-за подавления нулевого кода. Последний из кодов, приведенных на рис.