Протоколы последовательных интерфейсов

в начало

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

В связи с этим протоколы последовательных интерфейсов используют те же принципы построения, что и сетевые протоколы. Если использовать термины модели взаимо­действия открытых систем (OSI), то последовательный интерфейс можно представить в виде трехуровневой модели, содержащей прикладной, канальный и физический уровни.

Последовательный интерфейс, как правило, соединяет главный контроллер (хост-контроллер) или просто контроллер системного блока компьютера с контроллером или адаптером периферийного устройства. Главный контроллер или просто контроллер взаи­модействует с центральным процессором посредством интерфейса ввода/вывода (шина расширения, например, PCI).

Прикладной уровень на стороне центрального процессора представляет из себя про­граммное обеспечение, которое управляет работой ПУ, реализуя ту или иную функцию. На стороне ПУ этот уровень соответствует тому функциональному назначению, которое имеет данное ПУ (вывод на печать, ввод с клавиатуры, указатель типа «мыши» и т.п.).

Канальный уровень реализует протокол передачи данных между главным контроллером и ПУ. В общем случае между задатчиком и исполнителем.

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

Физический уровень представляет аппаратные и программные средства подключе­ния ПУ к главному контроллеру или просто контроллеру, который находится в системном блоке компьютера через соответствующие порты ввода/вывода.

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

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

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

Тип протокола (асинхронный, синхронный) определяется по принципу синхронизации байта (символа) и блока. Асинхронный протокол: асинхронная передача байт (символов) и синхронный байт в байте. Синхронный протокол: синхронная передача байт, асинхронный – блоков.

Асинхронные протоколы представляют собой наиболее старый способ связи типа «точка-точка». Эти протоколы оперируют не с блоками, а с отдельными символами, кото­рые представлены байтами и старт-стопными битами. Примером асинхронного последо­вательного интерфейса может служить интерфейс RS-232C. По таким интерфейсам под­ключаются низкоскоростные ПУ.

Такой режим работы называют асинхронным или старт-стопным.

В старт-стопным (асинхронном) режиме каждый байт данных сопровождается спе­циальными сигналами «старт» (начало байта) и «стоп» (конец байта). Назначение этих сигналов состоит в том, чтобы известить приемник о начале и конце передачи байта, а также для того, чтобы дать приемнику достаточно времени для выполнения некоторых функций, связанных с синхронизацией, до поступления следующего байта. Сигнал «старт» имеет длительность в один такт, сигнал «стоп» может длиться один, полтора или два такта (см. §1.7, рисунок 1.15).

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

При синхронном режиме передачи старт-стопные биты между байтами отсутствуют, Пользовательские данные собираются в блоки, которые предваряются байтами синхрони­зации. Байт синхронизации содержит заранее известный код, например, 01111110, кото­рый оповещает приемник о приходе блока данных. При его получении приемник должен войти в байтовый синхронизм с передатчиком, т.е. правильно понимать начало очередно­го байта блока.

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

Синхронные протоколы канального уровня бывают двух типов: символьно-ориентированные (байт-ориентированные) и бит-ориентированные.

Для обоих используются одни и те же методы синхронизации бит. Главное различие заключаются в методе синхронизации символов и блоков.

Символьно-ориентированный протокол использует для синхронизации специальные служебные символы. Символ SYN передатчик добавляет перед каждым блоком данных, а затем для обозначения начала и конца данных вставляет символ STX (Start of Text) и ЕТХ (End of Text) соответственно.

Этот способ неудобен тем, что требует добавление много избыточных данных для реализации синхронизации.

В настоящее время наиболее широко используются бит-ориентированные протоко­лы, которые являются более универсальными.

В этом случае (см. рисунок 1.25) при не занятом канале по нему не передается никаких символов.

Перед началом передачи кадра передатчик начинает передавать последовательность бит (101010...10) для того, чтобы приемник вошел в битовую синхронизацию. Эту после­довательность называют преамбулой. Войдя в битовую синхронизацию приемник иссле­дует входной поток на побитовой основе, пока не обнаружит байт начала кадра (10101011). За этим байтом следует заголовок кадра, затем идут поле данных и концевик. В качестве концевика используется либо специальный байт, либо определенное физиче­ское состояние линии передачи данных

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

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

Дейтаграммный метод работает быстро, но он не гарантирует доставки пакета.

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

В случае метода с установлением соединения передача данных состоит из трех ос­новных этапов, на каждом этапе передаются соответствующие пакеты информации (см. рисунок 1.26).

Сначала идет служебный пакет (маркерный пакет), посредством которого на­чинается процесс установки логического соединения. Затем в рамках установленного со­единения передается пакет данных. После передачи данных инициируется разрыв данного логического соединения и передается пакет, сообщающий о том успешно или нет прове­дена передача данных.

Протокол дейтаграммного типа поддерживает только один тип кадра – информаци­онный. Протокол с установлением соединений должен поддерживать несколько типов кадров (пакетов) – служебные и информационные.