Параллельный порт и РпР

в начало

Большинство современных периферийных устройств, подключаемых к LPT-порту, поддерживает стандарт 1284 и функции РпР. Для поддержки этих функций компьютером с аппаратной точки зрения достаточно иметь контроллер интерфейса, поддерживающий стандарт 1284. Если подключаемое устройство поддерживает РпР, оно по протоколу согласования режимов 1284 способно “до­говориться” с портом, представляющим “интересы” компьютера, о возможных режимах обмена. Далее, для работы РпР подключенное устройство должно сообщить операционной системе все необходимые сведения о себе. Как минимум это идентификаторы производителя, модели и набор поддерживаемых команд. Более развернутая информация об устройстве может содержать идентификатор класса, подробное описание и идентификатор устройства, с которым обеспечи­вается совместимость, В соответствии с принятой информацией операционная система может предпринять действия по установке требуемого программного обеспечения поддержки данного устройства.

 


3.2. Последовательные интерфейсы: COM-порт

в начало

Последовательный интерфейс для передачи данных в одну сторону использует одну сигнальную линию, по которой информационные биты передаются друг за другом последовательно. Такой способ передачи и определяет название интерфейса и порта, его реализующего. Эти названия соответствуют английским терминам Serial Interface и Serial Port (иногда в неудачном переводе их называют “серийными”, что звучит довольно странно). Последовательная передача данных может осуществляться как в асинхронном, так и синхронном режимах.

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

Рис.3.4. Формат асинхронной передачи

Старт-бит следующего посланного байта может посылаться в любой момент после окончания стоп-бита, то есть между передачами возможны паузы произвольной длительности. Старт-бит, имеющий всегда строго определенное значение (лог. 0), обеспечивает простой механизм синхронизации приемника по сигналу от передатчика. Подразумевается, что приемник и передатчик работают на одной скорости обмена, измеряемой в количестве передаваемых бит в секунду. Внутренний генератор синхронизации приемника использует счетчик-делитель опорной частоты, обнуляемый в момент приема начала старт-бита. Этот счетчик генерирует внутренние стробы, по которым приемник фиксирует последующие принимаемые биты. В идеале эти стробы располагаются в середине битовых интервалов, что обеспечивает возможность приема данных и при некотором рассогласовании скоростей приемника и передатчика. Нетрудно заметить, что при передаче 8 бит данных, одного контрольного и одного стоп-бита предельно допустимое рассогласование скоростей, при котором данные будут распознаны верно, не может превышать 5%. С учетом фазовых искажений (затянутых фронтов сигнала) и дискретности работы внутреннего счетчика синхронизации реально допустимо меньшее отклонение частот. Чем меньше коэффициент деления опорной частоты внутреннего генератора (тем выше частота передачи), тем больше погрешность привязки стробов к середине битового интервала, и, следовательно, требования к согласованности частот более строгие. Также, чем выше частота передачи, тем больше влияние искажений фронтов на фазу принимаемого сигнала. Такое «дружное» действие этих двух факторов приводит к повышению требований согласованности частот приемника и передатчика с ростом частоты обмена.

Для асинхронного режима принят ряд стандартных скоростей обмена: 50, 75, 110, 150,300,600, 1200,2400,4800,9600, 19200, 38400, 57600 и 115200 бит/с. Иногда вместо единицы измерения “бит/с” используют “бод” (baud), но в дан­ном случае, при рассмотрении двоичных передаваемых сигналов, это некор­ректно. В бодах принято измерять частоту изменения состояния линии, а при недвоичном способе кодирования (широко применяемом в современных моде­мах) в одном и том же канале связи скорости передачи бит (бит/с) и изменения сигнала (бод) могут отличаться в несколько раз.

Количество бит данных может составлять 5, 6, 7 или 8 (5- и 6-битные форматы малораспространены). Количество стоп-бит может быть 1, 1,5 и 2 (“полтора бита” подразумевает, естественно, только длительность стопового ин­тервала).

Асинхронный обмен в РС реализуется с помощью СОМ-порта с использованием протокола RS-232C.

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