Синхронизация передатчика и приемника нужна для того, чтобы приемник точно знал, в какой момент времени необходимо считывать новую порцию информации с линии связи. При передаче дискретной информации время всегда разбивается на такты одинаковой длительности, и приемник старается считывать новый сигнал в середине каждого такта, то есть синхронизировать свои действия с передатчиком.
На небольших расстояниях хорошо работает схема, основанная на отдельной трактующей линии связи, так что информация снимается с линии данных только в момент прихода тактового импульса.
Асинхронным или старт-стопный режим
Причиной использования такого режима работы является наличие устройств, которые генерируют байты данных в случайные моменты времени.
В асинхронном режиме каждый байт данных сопровождается специальными сигналами «старт» и «стоп». Назначение этих сигналов состоит в том, чтобы, во-первых, известить приемник о приходе данных и, во-вторых, чтобы дать приемнику достаточно времени для выполнения некоторых функций, связанных с синхронизацией, до поступления следующего байта. Сигнал «старт» имеет продолжительность в один тактовый интервал, а сигнал «стоп» может длиться один, полтора или два такта, поэтому говорят, что используется один, полтора или два бита в качестве стопового сигнала, хотя пользовательские биты эти сигналы не представляют.
Асинхронным описанный режим называется потому, что каждый байт может быть несколько смещен во времени относительно побитовых тактов предыдущего байта. Такая асинхронность передачи байт не влияет на корректность принимаемых данных, так как в начале каждого байта происходит дополнительная синхронизация приемника с источником за счет битов «старт». Более «свободные» временные допуски определяют низкую стоимость оборудования асинхронной системы. Синхронный режим При синхронном режиме передачи старт-стопные биты между каждой парой байт отсутствуют. Пользовательские данные собираются в кадр, который предваряется байтами синхронизации. Байт синхронизации - это байт, содержащий заранее известный код, например 0111110, который оповещает приемник о приходе кадра данных. При его получении приемник должен войти в байтовый синхронизм с передатчиком, то есть правильно понимать начало очередного байта кадра. Иногда применяется несколько синхробайт для обеспечения более надежной синхронизации приемника и передатчика. Так как при передаче длинного кадра у приемника могут появиться проблемы с синхронизацией бит, то в этом случае используются самосинхронизирующиеся коды. Цифровое кодирование При цифровом кодировании дискретной информации применяют потенциальные и импульсные коды. В потенциальных кодах для представления логических единиц и нулей используется только значение потенциала сигнала, а его перепады, формирующие законченные импульсы, во внимание не принимаются. Импульсные коды позволяют представить двоичные данные либо импульсами определенной полярности, либо частью импульса - перепадом потенциала определенного направления. Логическое кодирование Оно используется для улучшения потенциальных кодов. Логическое кодирование должно заменять длинные последовательности бит, приводящие к постоянному потенциалу, вкраплениями единиц. Как уже отмечалось выше, для логического кодирования характерны два метода - избыточные коды и скрэмблирование. Избыточные коды основаны на разбиении исходной последовательности бит на порции, которые часто называют символами. Затем каждый исходный символ заменяется новым, который имеет большее количество бит, чем исходный.Например, в логическом коде 4B/5B исходные символы длиной 4 бит заменяются символами длиной 5 бит. Так в коде результирующие символы могут содержать 32 битовые комбинации, в то время как исходные символы могут содержать только 16. Поэтому в результирующем коде можно отобрать 16 таких комбинаций, которые не содержат большого количества нулей, а остальные считать запрещенными кодами. Если приемник принимает запрещенный код, значит на линии произошло искажение. Скремблирование – это перемешивание данных перед передачей их в линию с помощью потенциального кода. Методы скрэмблирования заключаются в побитном вычислении результирующего кода на основании бит исходного кода и полученных в предыдущих тактах бит результирующего кода. Например Bi = Ai* Bi-3 * Bi-5Здесь Bi – двоичная цифра результирующего кода, полученная на i-м такте работы скремблера, Ai – двоичная цифра исходного кода, поступающая на i-м такте на вход скремблера, Bi-3 и Bi-5 – двоичные цифры результирующего кода, полученные на предыдущих тактах работы скремблера.
|