Асинхронное и синхронное кодирование как основа для манчестерского кода.
Для правильного распознавания позиций символов в передаваемом сообщении получатель должен знать границы передаваемых элементов сообщения. Для этого необходима синхронизация передатчика и приемника. Использование специального дополнительного провода для сигналов синхронизации (в этом случае имеем битовую синхронизацию) слишком дорого, поэтому используют другие способы синхронизации.
В асинхронном режиме применяют коды, в которых явно выделены границы каждого символа (байта) специальными стартовым и стоповым символами. Подобные побайтно выделенные коды называют байт-ориентированными, а способ передачи - байтовой синхронизацией. Однако это увеличивает число битов, не относящихся собственно к сообщению.
В синхронном режиме синхронизм поддерживается во время передачи всего информационного блока без обрамления каждого байта. Такие коды называют бит-ориентированными. Для входа в синхронизм нужно обозначать границы лишь всего передаваемого блока информации с помощью специальных начальной и конечной комбинаций байтов (обычно это двухбайтовые комбинации). В этом случае синхронизация называется блочной (фреймовой).
Единицей передаваемых данных в асинхронных протоколах обычно занимает 1 байт. Некоторые символы имеют управляющий характер. В этих протоколах существуют управляющие последовательности, обычно начинающиеся с какого-то специального символа. Эти последовательности вызывают на управляемом устройстве достаточно сложные действия — например, загрузку нового шрифта на принтер.
В асинхронных протоколах применяются стандартные наборы символов, чаще всего ASCII или EBCDIC. Так как первые 32 или 27 кодов в этих наборах являются специальными кодами, которые не отображаются на дисплее или принтере, то они использовались асинхронными протоколами для управления режимом обмена данными. В самих пользовательских данных специальные символы никогда не встречались, так что проблемы их отделения от пользовательских данных не существовало.
В синхронных протоколах между пересылаемыми символами нет стартовых и стоповых сигналов, поэтому отдельные символы в этих протоколах пересылать нельзя. Все обмены данными осуществляются кадрами, которые имеют в общем случае заголовок, поле данных и концевик. Все биты кадра передаются непрерывным синхронным потоком, что значительно ускоряет передачу данных.
В этих протоколах основной задачей приемника является распознавание границы байтов. Затем приемник должен найти начало и конец кадра, а также определить границы каждого поля кадра — адреса назначения, адреса источника, других служебных полей заголовка, поля данных и контрольной суммы, если она имеется.
Символьно-ориентированные протоколы используются в основном для передачи блоков отображаемых символов, например текстовых файлов. Так как при синхронной передаче нет стоповых и стартовых битов, для синхронизации символов необходим другой метод. Синхронизация достигается за счет того, что передатчик добавляет два или более управляющих символа, называемых символами SYN, перед каждым блоком символов. Символы SYN выполняют две функции: во-первых, они обеспечивают приемнику битовую синхронизацию, во-вторых, как только битовая синхронизация достигается, они позволяют приемнику начать распознавание границ символов SYN. После того как приемник начал отделять один символ от другого, можно задавать границы начала кадра с помощью другого специального символа. Обычно в символьных протоколах для этих целей используются символы STX (Start of TeXt, ASCII 0000010) и ЕТХ (End of TeXt, ASCII 0000011).
Такой способ выделения начала и конца кадра работает только в том случае, если внутри кадра не было символов STX и ЕТХ. Когда протоколы начали использоваться для связи нескольких компьютеров, то эта проблема возникла.
Для решения вновь появившейся проблемы стали разрабатываться специальные протоколы. Наиболее популярным был BSC компании IBM. Он работал в двух режимах — непрозрачном, в котором некоторые специальные символы внутри кадра запрещались, и прозрачном, в котором разрешалась передачи внутри кадра любых символов. Прозрачность достигалась за счет того, что перед управляющими символами STX и ЕТХ всегда вставлялся символ DLE (Data Link Escape). Такая процедура называется стаффитом символов. А если в поле данных кадра встречалась последовательность DLE ЕТХ, то передатчик удваивал символ DLE, то есть порождал последовательность DLE DLE ЕТХ. Приемник, встретив подряд два символа DLE, всегда удалял первый, а оставшиеся символы DLE ЕТХ считал просто пользовательскими данными.
Бит-ориентированные протоколы. Потребность в паре символов в начале и конце каждого кадра означает, что символьно-ориентированная передача не эффективна для передачи двоичных данных, так как приходится в поле данных кадра добавлять достаточно много избыточных данных. Кроме того, формат управляющих символов для разных кодировок различен. Так что этот метод допустим только с определенным типом кодировки. Чтобы преодолеть эти проблемы, был разработан универсальный метод, называемый бит-ориентированной передачей. Этот метод сейчас применяется при передаче как двоичных, так и символьных данных. Широко используются 3 схемы бит-ориентированной передачи:
1) Похожа на схему с символами STX и ЕТХ. Начало и конец каждого кадра отмечается одной и той же 8-битовой последовательностью, называемой флагом. Термин «бит-ориентированный» используется потому, что принимаемый поток битов сканируется приемником на побитовой основе для обнаружения стартового флага, а затем во время приема — для обнаружения стопового флага. Поэтому длина кадра в этом случае не обязательно должна быть кратна 8 бит. Чтобы обеспечить синхронизацию приемника, передатчик посылает последовательность байтов простоя, предшествующую стартовому флагу. Для достижения прозрачности данных в этой схеме необходимо, чтобы флаг не присутствовал в поле данных кадра. Это достигается с помощью приема, известного как вставка 0 бита, — бит-стаффинга. Схема вставки бита работает только во время передачи поля данных кадра. Если эта схема обнаруживает, что подряд передано пять единиц, то она автоматически вставляет дополнительный ноль. Бит-стаффинг гораздо более экономичен, чем байт-стаффинг.
2) Во второй схеме для обозначения начала кадра имеется только стартовый флаг, а для определения конца кадра используется поле длины кадра, которое при фиксированных размерах заголовка и концевика чаще всего имеет смысл длины поля данных кадра. Эта схема наиболее применима в локальных сетях.
3) Третья схема использует для обозначения начала и конца кадра флаги, которые включают запрещенные для данного кода сигналы. Этот способ очень экономичен, так как не требует ни бит-стаффинга, ни поля длины, но его недостаток заключается в зависимости от принятого метода физического кодирования.
Дата добавления: 2017-11-21; просмотров: 1996;