Глава 4. Физическое и логическое кодирование данных
Каждый вид компьютеров имеет свой внутренний вид кодирования для представления данных – символьной и текстовой информации. Наиболее часто используются коды ASCII (American Standard Code for Information Interchange, американский стандартный код для обмена информацией) и EBCDIC (Extended Binary Coded Decimal Interchange Code, расширенный двоично-десятичный код обмена информацией).
ASCII представляет собой 8-битную кодировку для представления десятичных цифр, латинского и национального алфавитов, знаков препинания и управляющих символов. Первую половину кодовой таблицы (0 — 127) занимают символы US-ASCII, которые включают 95 печатаемых и 33 управляющих символа (разработана ANSI – Американским институтом национальных стандартов). Вторая половина таблицы (128 — 255) содержит национальные шрифты (кириллица) и символы псевдографики. Этот код используется в персональных компьютерах и в несовместимых с IBM больших машинах. На больших компьютерах (мейнфреймах) используется 8-битовый код EBCDIC, разработанный компанией IBM. При передаче данных от одного компьютера к другому может потребоваться перекодировка символов, которая осуществляется системным МО передающего или принимающего компьютеров. Эти действия являются функциями уровня представления модели OSI. Далее рассмотрим наиболее часто применяемые методы кодирования на физическом уровне.
Большинство компьютеров для представления «0» и «1» оперирует стандартными уровнями сигналов (логическими уровнями), которые определяются видом микросхем. TTL-логика представляет 0,5В как «0», и 5В как «1». ECL и CMOS-логики представляют -1,75В как «0», и -0,9В как «1». Для передачи данных, например, в оптоволоконных системах, в трансивере (приемопередатчике) устанавливается специальный чип, обрабатывающий любую логику и выдающий управляющий сигнал источнику света с конвертацией 0,5В и 5В TTL в 0 мA и 50 мА соответственно (включи свет, выключи свет).
В большинстве компьютерных сетей цифровые данные передаются при помощи цифрового сигнала, т.е. последовательностью импульсов. Для передачи данных может использоваться более двух уровней сигнала, при этом единичный импульс сигнала может представлять не один бит, а группу бит. Возможна обратная ситуация, когда для передачи одного бита может использоваться два импульса сигнала.
При цифровой передаче используют потенциальные и импульсные коды. В потенциальных кодах для представления логических единиц и нулей используется только значение сигнала в течение битового интервала, а фронты сигнала, формирующие законченные импульсы, во внимание не принимаются. Импульсные коды представляют логический ноль и логическую единицу перепадом потенциала определенного направления. В значение импульсного кода включается весь импульс вместе с его фронтами.
Сигнал в виде импульсной последовательности имеет бесконечный спектр. Основная энергия сигнала сосредоточена в диапазоне частот от нуля до частоты f=1/tо (первый лепесток энергетического спектра сигнала), где tо – бодовый интервал, то есть длительность единичного импульса линейного сигнала.
Теоретически в соответствии с пределом Найквиста максимально допустимая скорость изменения значений дискретного сигнала (B=1/tо, скорость передачи в Бодах) при передаче последовательности прямоугольных импульсов по каналу связи, эквивалентом которого является идеальный ФНЧ с прямоугольной АЧХ и линейной ФЧХ и с частотой среза fгр, равна Bmax=2fгр.Указанное ограничение связано с наличием переходных процессов на выходе ФНЧ, при этом время нарастания/спада фронта сигнала определяется как .
При максимально допустимой скорости передачи сигнала tо=tн . Если интервал tо<tн, происходит недопустимое искажение формы сигнала на выходе канала и, как следствие, ошибки при приеме. Таким образом, скорость передачи информации N (Бит/с) зависит от скорости передачи сигнала В (Бод) и выбранного метода кодирования сигнала на физическом уровне.
Используемый метод физического цифрового кодирования должен достигать несколько целей:
1. Обеспечивать наименьшую ширину спектра сигнала при заданной скорости передачи информации N (Бит/с). Минимизировать величину постоянной составляющей в спектре линейного сигнала.
2. Обеспечивать приемнику возможность тактовой синхронизации (clocking). Так называемые самосинхронизирующиеся коды позволяют приемнику выделять из принимаемого цифрового потока колебание тактовой частоты и затем формировать из него тактовые импульсы при любой статистике битового потока на входе передатчика.
3. Обладать способностью распознавать ошибки.
4. Обладать низкой стоимостью реализации.