logo
ISiT_Lekcii

2.3.2. Методы цифрового кодирования

При цифровом кодировании дискретной информации применяют потенциальные и импульсные коды [13].

В потенциальных кодах для представления логических единиц и нулей используется только значение потенциала сигнала. Импульсные коды представляют двоичные данные либо импульсы определенной полярности, либо их фронты ‑ перепадом потенциала определенного направления.

Методы цифрового кодирования должны удовлетворять следующим требованиям:

- обеспечивать наименьшую ширину спектра результирующего сигнала;

- поддерживать постоянную синхронизацию между передатчиком и приемником;

- обладать способностью распознавать ошибки;

- обладать низкой стоимостью реализации.

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

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

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

На рис. 2.14 приведены основные разновидности цифровых кодов, применяемых для кодирования дискретных данных. На рис. 2.15 ‑ временные диаграммы, иллюстрирующие их реализацию.

Рис. 2.14. Основные разновидности цифровых кодов

Потенциальный код без возвращения к нулю (Non Return to Zero, NRZ) и реализованный на его основе метод потенциального кодирования приведены на рис. 2.15, а.

Указание на отсутствие возврата к нулю отражает то обстоятельство, что при передаче последовательности единиц сигнал не возвращается к нулю в течение такта.

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

Рис. 2.15. Методы цифрового кодирования

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

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

Метод биполярного кодирования с альтернативной инверсией (Bipolar Alternate Mark Inversion, АМ1) является одной из модификаций метода NRZ. В этом методе (рис. 2.15, б) используются три уровня потенциала ‑ отрицательный, нулевой и положительный. Для кодирования логического нуля используется нулевой потенциал, а логическая единица кодируется либо положительным потенциалом, либо отрицательным, при этом потенциал каждой новой единицы противоположен потенциалу предыдущей.

Код АМI частично ликвидирует проблемы отсутствия самосинхронизации, присущие коду NRZ. Это происходит при передаче длинных последовательностей единиц. В этих случаях сигнал на линии представляет собой последовательность разнополярных импульсов с тем же спектром, что и у кода NRZ, передающего чередующиеся нули и единицы, т.е. без постоянной составляющей и с основной гармоникой N/2 Гц (где N ‑ битовая скорость передачи данных). Длинные же последовательности нулей также нежелательны для кода АМI, как и для кода NRZ ‑ сигнал вырождается в постоянный потенциал нулевой амплитуды. Поэтому код АМI также не нашел широкого применения в сетях ЭВМ.

Потенциальный код с инверсией при единице (Non Return to Zero with ones Inverted, NRZI) похож на код AMI, но имеет только два уровнями сигнала (рис 2.15, б). При передаче нуля он передает потенциал, который был установлен в предыдущем такте (т.е. не меняет его), а при передаче единицы потенциал инвертируется на противоположный. Этот код удобен в тех случаях, когда использование третьего уровня сигнала весьма нежелательно, например в оптических кабелях, где устойчиво распознаются два состояния сигнала ‑ свет и отсутствие света.

Биполярный импульсный код ‑ простейшая разновидность импульсных кодов, в которых данные представляются либо полным импульсом, либо его частью ‑ фронтом. В данном коде логическая единица представляется импульсом одной полярности, а ноль ‑ другой (рис. 2.15, в). Каждый импульс длится половину такта. Такой код обладает хорошими самосинхронизирующими свойствами, но постоянная составляющая может присутствовать, например, при передаче длинной последовательности единиц или нулей. Кроме того, спектр у него шире, чем у потенциальных кодов. Так, при передаче всех нулей или единиц частота основной гармоники кода будет равна N Гц, что в два раза выше основной гармоники кода NRZ и в четыре раза выше основной гармоники кода AMI при передаче чередующихся единиц и нулей. Из-за слишком широкого спектра биполярный импульсный код используется редко.

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

Полоса пропускания манчестерского кода уже, чем у биполярного импульсного. У него также нет постоянной составляющей, а основная гармоника в худшем случае (при передаче последовательности единиц или нулей) имеет частоту N Гц, а в лучшем (при передаче чередующихся единиц и нулей) она равна N/2 Гц, как и у кодов AMI или NRZ. В среднем ширина полосы манчестерского кода в полтора раза уже, чем у биполярного импульсного кода, а основная гармоника колеблется вблизи значения 3N/4. Манчестерский код имеет еще одно преимущество перед биполярным импульсным кодом. В последнем для передачи данных используются три уровня сигнала, а в манчестерском ‑ два.

Манчестерский код широко применяется в локальных сетях ЭВМ Ethernet и Token Ring.