Скачиваний:
117
Добавлен:
15.09.2014
Размер:
2.71 Mб
Скачать

7.3. Интерфейсы принтеров и плоттеров

Современные принтеры, печатающие графические изображения (в том числе и текст в графическом режиме) с высоким разрешением, требуют высокоскоростной передачи данных по внешнему интерфейсу. Большинство принтеров имеют традиционный параллельный интерфейс Centronics или более производительный IEEE 1284, что позволяет достигать скоростей передачи 0,15-2 Мбайт/с, в зависимости от производительности компьютера и выбранного режима передачи (см. ниже). Эти же интерфейсы используются и в плоттерах.

Для подключения принтера с параллельным интерфейсом используется LPT-порт в различных модификациях, от традиционного SPP-порта до теперь уже стандартного и эффективного IEEE 1284 (см. п. 1.3).

Поначалу все принтеры с параллельным интерфейсом обязательно поддерживали протокол Centronics, а более «продвинутые» вдобавок могли работать и в режиме ЕСР, поддерживая согласование режимов по IEEE 1284. Их инсталляционные программы старались установить драйверы «продвинутых» режимов, если того позволяла ОС и возможности LPT-порта. Теперь ситуация изменилась, и появились принтеры с параллельным интерфейсом, не поддерживающие Centronics. При инсталляции они требуют подключения по «двунаправленному интерфейсу» IEEE 1284 (обычно режим ЕСР), и через LPT-порт в режиме SPP они работать отказываются. С такими принтерами в среде MS DOS без специальных драйверов работать невозможно.

Внекоторых принтерах используется последовательный интерфейс RS-232C, RS-422 или «токовая петля», но здесь теоретический предел скорости около 11 Кбайт/с (115 Кбит/с), а практически она едва достигает 1 Кбайт/с (9600 бит/с). Эти принтеры можно подключать к СОМ-порту непосредственно или через адаптер — преобразователь уровня сигналов.

Впоследнее время стали чаще применять шину USB, однако этот переход не так уж безоблачен: шина USB поддерживается не всеми ОС. Старые приложения (ведь не всегда есть необходимость и возможность перехода на новые), работающие с принтером через функции BIOS Int 17h или непосредственно с регистрами LPT-порта, например для приглашения к подаче бланков, не могут работать с принтером USB даже в среде ОС, поддерживающих USB в полном объеме. Что касается скорости передачи данных, то у USB 1.0 со скоростью 12 Мбит/с скорость передачи данных отнюдь не достигает 1,5 Мбайт/с (12:8) хотя бы из-за накладных расходов шины. В USB 2.0, которая сейчас выходит на рынок, пиковая скорость может достигать 50 Кбайт/с (скорость в шине — 480 Мбит/с), что для принтера пока что более чем достаточно. Однако для этого и принтер, и компьютер должны поддерживать USB 2.0, и между ними не должно быть старых (USB 1.0) хабов.

Принтеры могут иметь интерфейс SCSI (редкий вариант), а также подключаться не к компьютеру, а к локальной сети по интерфейсу Ethernet (10 или 100 Мбит/с). Такое подключение удобно для принтеров коллективного пользования, и при грамотно построенной сети оно не доставляет забот пользователям. Шина Fire Wire для принтеров применяется пока очень сдержанно.

7.3.1. Параллельные интерфейсы – Centronics, IEEE 1284

Параллельный интерфейс Centronics ориентирован на передачу потока байт данных к принтеру и прием сигналов состояния принтера. Этот интерфейс поддерживается всеми LPT-портами компьютеров. Его отечественным аналогом является интерфейс ИPNP-М. Понятие «Centronics» относится как к набору сигналов и протоколу взаимодействия, так и к 36-контактному разъему на принтерах. Назначение сигналов интерфейса приведено в табл. 7.3, а временные диаграммы обмена с принтером показаны на рис. 7.5.

Таблица 7.3. Сигналы интерфейса Centronics

Рис. 7.5. Передача данных по протоколу Centronics

Передача данных начинается с проверки готовности принтера — состояния линии Busy. Строб данных может быть коротким — доли микросекунды, и порт заканчивает его формирование, не обращая внимания на сигнал Busy. Во время строба данные должны быть действительными. Подтверждением приема байта (символа) является сигнал Ack#, который вырабатывается после приема строба через неопределенное время (за это время принтер может выполнять какую-либо длительную операцию, например прогон бумаги). Импульс Ack# является запросом принтера на прием следующего байта, его задействуют для формирования сигнала прерывания от порта принтера. Если прерывания не используются, то сигнал Ack# игнорируется и весь обмен управляется парой сигналов Strobe* и Busy. Свое состояние принтер может сообщить порту по линиям Select, Error*, PaperEnd — по ним можно определить, включен ли принтер, исправен ли он и есть ли бумага. Формированием импульса на линии lnit# принтер можно проинициализировать (при этом он очистит и весь свой буфер данных). Режимом автоматического перевода строки, как правило, не пользуются, и сигнал AutoLF* имеет высокий уровень. Сигнал Selectln* позволяет логически отключать принтер от интерфейса.

Через параллельный порт (LPT) протокол Centronics может быть реализован чисто программно, используя стандартный режим порта (SPP), достигая скорости передачи до 150 Кбайт/с при полной загрузке процессора. Благодаря «продвинутым» режимам порта протокол может быть реализован и аппаратно (Fast Centronics), при этом скорость до 2 Мбайт/с достигается при меньшей загрузке процессора.

Большинство современных принтеров с параллельным интерфейсом поддерживают и стандарт IEEE 1284, в котором оптимальным режимом передачи является ЕСР (см. п. 1.3.4).

Для подключения принтера требуется кабель Centronics, пригодный для любых режимов параллельного интерфейса. Простейший вариант кабеля — 18-провод-ный с неперевитыми проводами — может использоваться для работы в режиме SPP. При длине

более 2 м желательно, чтобы хотя бы линии Strobe* и Busy были перевиты с отдельными общими проводами. Для скоростных режимов (Fast Centronics, ЕСР) такой кабель может оказаться непригодным — возможны нерегулярные ошибки передачи, возникающие лишь при определенных последовательностях передаваемых кодов. Встречаются кабели Centronics, у которых отсутствует связь контакта 17 разъема PC с контактом 36 разъема принтера. При попытке подключения таким кабелем принтера, работающего в стандарте 1284, появится сообщение о необходимости применения «двунаправленного кабеля». Принтер не может сообщить системе о поддержке расширенных режимов, на что рассчитывает драйвер принтера. Другое проявление отсутствующей связи — «зависание» принтера по окончании печати задания из Windows. Эту связь можно организовать подпайкой дополнительного провода или же просто заменить кабель.

Неплохие электрические свойства имеют ленточные кабели, у которых сигнальные цепи (управляющих сигналов) чередуются с общими проводами. Но их применение в качестве внешнего интерфейса непрактично (нет второго защитного слоя изоляции, высокая уязвимость) и неэстетично (круглые кабели смотрятся лучше). Идеальным вариантом являются кабели, в которых все сигнальные линии перевиты с общими проводами и заключены в общий экран — то, что требует IEEE 1247. Такие кабели гарантированно работают на скоростях до 2 Мбайт/с при длине до 10 м.

7.3.2. Последовательные интерфейсы

Из последовательных интерфейсов в принтерах чаще всего используется RS-232C для подключения к СОМ-порту. Встречаются принтеры с последовательными интерфейсами «токовая петля» или RS-422, которые подключаются к СОМ-порту через специальные переходники. Принтеры работают всегда по асинхронному протоколу передачи и, как правило, позволяют настраивать конфигурацию последовательного интерфейса. Задается частота передачи, формат посылки (число информационных, старт- и стоп-битов, контроль паритета) и протокол управления потоком: программный XON/XOFF или аппаратный RTS/CTS. Подключение принтеров и плоттеров к СОМ-порту требует применения кабеля, соответствующего выбранному протоколу, схемы кабелей приведены на рис. 7.6 и 7.7. Аппаратный протокол предпочтительнее — стандартный драйвер СОМпорта пользуется именно им. Естественно, параметры интерфейса принтера должны соответствовать параметрам, заданным для задействованного СОМ-порта. Порт конфигурируется, например, DOS-командой MODE. Заметим, что при печати средствами DOS (командами COPY или PRINT) прерывания от порта не используются.

Рис. 7.6. Кабель подключения принтера с протоколом RTS-CTS

Если принтер имеет интерфейс «токовая петля», то для него потребуется преобразователь сигналов, простейшая схема которого приведена на рис. 7.7. Здесь принтер подключается по токовой петле к СОМ-порту с аппаратным управлением потоком. Для получения двуполярного сигнала, требуемого для входных сигналов СОМ-порта, применяется питание от интерфейса.

Соседние файлы в папке ПУЭВМ