stringtranslate.com

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

Микролента, 36-контактная розетка, например, на принтерах и на некоторых компьютерах, особенно на промышленном оборудовании и персональных компьютерах начала (до 1980-х годов).
36-контактный штекер Mini-Centronics (вверху) с ленточным 36-контактным штекерным разъемом Centronics Micro (внизу)
Параллельный порт принтера Apple II, подключенный к принтеру с помощью сложенного ленточного кабеля; один конец подключался к разъему в верхней части карты, а другой конец имел 36-контактный разъем Centronics.

В вычислительной технике параллельный порт — это тип интерфейса , который использовался на первых компьютерах ( персональных и других) для подключения периферийных устройств . Имя относится к способу отправки данных; параллельные порты отправляют несколько битов данных одновременно ( параллельная связь ), в отличие от последовательной связи , при которой биты передаются по одному. Для этого параллельным портам требуется несколько линий передачи данных в кабелях и разъемах портов , и они, как правило, больше, чем современные последовательные порты , которым требуется только одна линия передачи данных.

Существует много типов параллельных портов, но этот термин стал наиболее тесно связан с портом принтера или портом Centronics, который использовался на большинстве персональных компьютеров с 1970-х по 2000-е годы. В течение многих лет он был отраслевым стандартом де-факто и, наконец, был стандартизирован как IEEE 1284 в конце 1990-х годов, который определил двунаправленные версии расширенного параллельного порта (EPP) и порта расширенных возможностей (ECP). Сегодня интерфейс параллельного порта практически отсутствует в новых компьютерах из-за появления устройств с универсальной последовательной шиной (USB), а также сетевой печати с использованием принтеров, подключенных к Ethernet и Wi-Fi .

Интерфейс параллельного порта первоначально назывался адаптером параллельного принтера на компьютерах , совместимых с IBM PC . В первую очередь он был разработан для работы с принтерами , которые использовали восьмибитный расширенный набор символов ASCII IBM для печати текста, но также мог использоваться для адаптации других периферийных устройств. Графические принтеры, как и множество других устройств, предназначены для взаимодействия с системой.

История

Центроникс

Ан Ван , Роберт Ховард и Прентис Робинсон начали разработку недорогого принтера в Centronics , дочерней компании Wang Laboratories , производившей специальные компьютерные терминалы . В принтере использовался принцип матричной печати : печатающая головка состояла из вертикального ряда семи металлических штифтов, соединенных с соленоидами . Когда на соленоиды подавалось питание, штифт выдвигался вперед, ударяясь о бумагу и оставляя точку. Чтобы создать полный символ , печатающая головка должна была подать питание на указанные контакты для создания единого вертикального рисунка, затем печатающая головка немного переместилась вправо, и процесс повторился. В оригинальном дизайне типичный глиф печатался в виде матрицы семь в высоту и пять в ширину, тогда как в моделях «А» использовалась печатающая головка с 9 штифтами и формировались глифы размером 9 на 7. [2]

Это оставило проблему отправки данных ASCII на принтер. Хотя последовательный порт делает это с минимальным количеством контактов и проводов, он требует, чтобы устройство буферизовало данные по мере их поступления и преобразовывало их обратно в многобитовые значения. Параллельный порт упрощает эту задачу; все значение ASCII представлено на выводах в полной форме. В дополнение к восьми контактам данных системе также требовались различные контакты управления, а также электрические заземления. У Вана оказался запас из 20 000 36-контактных микроленточных разъемов Amphenol , которые первоначально использовались для одного из их первых калькуляторов. Для интерфейса требовался только 21 такой контакт, остальные были заземлены или не подключены. Разъем настолько тесно связан с Centronics, что теперь широко известен как« Разъем Centronics ». [3]

Принтер Centronics Model 101 с этим разъемом был выпущен в 1970 году. [3] Хост отправлял символы ASCII на принтер, используя семь из восьми выводов данных, подключая их к +5 В, обозначая 1. Когда данные были готовы, хост перевел вывод STROBE на низкий уровень, до 0 В. Принтер ответил, подняв линию BUSY на высокий уровень, напечатав символ, а затем снова вернув BUSY на низкий уровень. Затем хост может отправить другого персонажа. Управляющие символы в данных вызывали другие действия, такие как CRили EOF. Хост также может заставить принтер автоматически начинать новую строку, подняв линию АВТОПОДАЧИ на высокий уровень и удерживая ее в этом положении. Хосту приходилось внимательно следить за линией BUSY, чтобы гарантировать, что данные на принтер не передаются слишком быстро, особенно с учетом операций с переменным временем, таких как подача бумаги. [2] [4]

Интерфейс со стороны принтера быстро стал отраслевым стандартом де-факто , но производители использовали различные разъемы на стороне системы, поэтому требовались разнообразные кабели. Например, NCR использовала 36-контактный ленточный разъем на обоих концах соединения, ранние системы VAX использовали разъем DC-37 , Texas Instruments использовала 25-контактный краевой разъем карты , а Data General использовала 50-контактный ленточный микроразъем. . Когда IBM внедрила параллельный интерфейс на IBM PC , они использовали разъем DB-25F на конце интерфейса для ПК, создав теперь знакомый параллельный кабель с DB25M на одном конце и 36-контактным микроленточным разъемом на другом. .

Теоретически порт Centronics может передавать данные со скоростью 75 000 символов в секунду. Это было намного быстрее, чем у принтера, скорость которого составляла в среднем около 160 символов в секунду, а это означало, что порт большую часть времени простаивал. Производительность определялась тем, насколько быстро хост мог реагировать на сигнал BUSY принтера, запрашивающий дополнительные данные. Чтобы повысить производительность, принтеры начали включать буферы , чтобы хост мог отправлять им данные быстрее, пакетами. Это не только уменьшило (или устранило) задержки, связанные с ожиданием прибытия следующего символа от хоста, но также освободило хост для выполнения других операций без потери производительности. Производительность была дополнительно улучшена за счет использования буфера для хранения нескольких строк и последующей печати в обоих направлениях, что позволило устранить задержку при возвращении печатающей головки в левую часть страницы. Такие изменения более чем удвоили производительность принтера, который в остальном не изменился, как это было в случае с такими моделями Centronics, как 102 и 308. [4]

ИБМ

IBM выпустила персональный компьютер IBM в 1981 году и включила в него вариант интерфейса Centronics — с IBM PC можно было использовать только принтеры с логотипом IBM ( переименованные из Epson ). [5] IBM стандартизировала параллельный кабель, установив разъем DB25F на стороне ПК и 36-контактный разъем Centronics на стороне принтера. Вскоре поставщики выпустили принтеры, совместимые как со стандартным Centronics, так и с реализацией IBM.

Оригинальный адаптер параллельного принтера IBM для IBM PC 1981 года был разработан для поддержки ограниченной двунаправленной связи с 8 строками вывода данных и 4 строками ввода данных. [ нужна цитация ] Это позволило использовать порт для других целей, а не только для вывода на принтер. Это было достигнуто за счет того, что устройства на обоих концах кабеля могли записывать данные в линии, что требовало, чтобы порты на хосте были двунаправленными. Эта функция мало использовалась и была удалена в более поздних версиях оборудования. Спустя годы, в 1987 году, IBM вновь представила двунаправленный интерфейс в своей серии IBM PS/2 , где его можно было включать или отключать для совместимости с приложениями, которые не ожидали, что порт принтера будет двунаправленным.

Би-Троникс

По мере расширения рынка принтеров появлялись новые типы печатающих механизмов. Они часто поддерживали новые функции и состояния ошибок, которые не могли быть представлены на относительно небольшом количестве контактов состояния существующего порта. Хотя решение IBM могло это поддерживать, его было непросто реализовать, и в то время оно не поддерживалось. Это привело к созданию системы Bi-Tronics, представленной HP на LaserJet 4Si в апреле 1993 года. [6] В ней использовались четыре существующих контакта состояния: ERROR, SELECT, PE и BUSY для представления полубайта , а для отправки 8-байта использовались две передачи. битовое значение. Режим Bi-Tronics, теперь известный как режим полубайта, обозначался тем, что хост поднимал линию SELECT на высокий уровень, а данные передавались, когда хост переключал низкий уровень AUTOFEED. Другие изменения в протоколах установления связи улучшили производительность: скорость передачи данных на принтер достигла 400 000 символов в секунду, а обратно на хост — около 50 000 символов в секунду. [7] Основным преимуществом системы Bi-Tronics является то, что она может полностью управляться программным обеспечением на хосте и использовать немодифицированное аппаратное обеспечение - все контакты, используемые для передачи данных обратно на хост, уже были линиями между принтером и хостом. .

ЭПП и ЭКП

Внедрение новых устройств, таких как сканеры и многофункциональные принтеры, потребовало гораздо большей производительности, чем могли обеспечить обратные каналы в стиле Bi-Tronics или IBM. Два других стандарта стали более популярными для этих целей. Расширенный параллельный порт (EPP), первоначально разработанный Zenith Electronics , по своей концепции аналогичен байтовому режиму IBM, но в нем изменены детали квитирования, чтобы обеспечить скорость до 2 МБ/с. [8] Порт расширенных возможностей (ECP) — это, по сути, совершенно новый порт в том же физическом корпусе, который также добавляет прямой доступ к памяти на основе ISA и кодирование по длине для сжатия данных, что особенно полезно при передаче простых изображений, таких как факсы. или черно-белые отсканированные изображения. ECP обеспечивает производительность до 2,5 МБ/с в обоих направлениях. [9]

Все эти улучшения собраны как часть стандарта IEEE 1284 . Первый выпуск 1994 года включал оригинальный режим Centronics («режим совместимости»), полубайтовый и байтовый режимы, а также изменение квитирования связи, которое уже широко использовалось; исходная реализация Centronics требовала, чтобы провод BUSY переключался при каждом изменении в любой строке данных (по-строчно), тогда как IEEE 1284 требует, чтобы BUSY переключался с каждым полученным символом (посимвольно). Это уменьшает количество переключений BUSY и связанных с ними прерываний с обеих сторон. Обновление 1997 года стандартизировало коды состояния принтера. В 2000 году режимы EPP и ECP были перенесены в стандарт, а также несколько стилей разъемов и кабелей, а также метод последовательного подключения до восьми устройств от одного порта. [9]

Некоторые хост-системы или серверы печати могут использовать стробоскопический сигнал с относительно низким выходным напряжением или быстрое переключение. Любая из этих проблем может привести к отсутствию или прерывистой печати, отсутствию или повторению символов, а также к мусорной печати. Некоторые модели принтеров могут иметь переключатель или настройку, позволяющую установить занятость по символу; другим может потребоваться адаптер квитирования. [ нужна цитата ]

Продукты данных

Компания Dataproducts представила совершенно другую реализацию параллельного интерфейса для своих принтеров. Он использовал разъем DC-37 на стороне хоста и 50-контактный разъем на стороне принтера - либо DD-50 (иногда неправильно называемый «DB50»), либо разъем M-50 в форме блока; М-50 также назывался Винчестером. [10] [11] Параллельная версия Dataproducts была доступна в виде короткой линии для соединений до 50 футов (15 м) и версии с длинной линией с использованием дифференциальной сигнализации для соединений до 500 футов (150 м). Интерфейс Dataproducts использовался во многих мейнфреймах вплоть до 1990-х годов, и многие производители принтеров предлагали интерфейс Dataproducts в качестве опции.

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

Историческое использование

Устройство записи компакт-дисков HP C4381A Plus серии 7200 с параллельными портами для подключения принтера к компьютеру.

До появления USB параллельный интерфейс был адаптирован для доступа к ряду периферийных устройств, помимо принтеров. Одним из первых случаев использования параллельного порта было использование ключей в качестве аппаратных ключей, которые поставлялись с прикладным программным обеспечением в качестве формы защиты программного обеспечения от копирования. Другие области применения включали приводы оптических дисков , такие как устройства чтения и записи компакт-дисков , приводы Zip , сканеры , ленточные накопители , [12] внешние модемы , геймпады и джойстики . Некоторым из первых портативных MP3-плееров требовалось подключение через параллельный порт для передачи песен на устройство. [13] Доступны адаптеры для параллельной работы устройств SCSI . Другие устройства, такие как программаторы EPROM и аппаратные контроллеры, можно подключить через параллельный порт.

Интерфейсы

Большинство ПК-совместимых систем в 1980-х и 1990-х годах имели от одного до трех портов, а интерфейсы связи определялись следующим образом:

Если порт принтера по адресу 0x3BC отсутствует, второй порт в строке (0x378) становится логическим параллельным портом 1, а 0x278 становится логическим параллельным портом 2 для BIOS. Иногда порты принтера перемыкаются для совместного использования прерываний, несмотря на то, что у них есть собственные адреса ввода-вывода (т. е. одновременно можно использовать только один порт, управляемый прерыванием). В некоторых случаях BIOS также поддерживает четвертый порт принтера, но его базовый адрес значительно различается у разных производителей. Поскольку зарезервированная запись для четвертого логического порта принтера в области данных BIOS (BDA) используется совместно с другими устройствами PS/2 и видеокартами, совместимыми с S3, в большинстве сред обычно требуются специальные драйверы. В DR-DOS 7.02 назначения портов BIOS можно изменить и переопределить с помощью директив LPT1 , LPT2 , LPT3 (и, возможно, LPT4 ) CONFIG.SYS .

Доступ

Системы на базе DOS делают логические параллельные порты, обнаруженные BIOS, доступными под именами устройств, такими как LPT1 , LPT2 или LPT3 (соответствующие логическим параллельным портам 1, 2 и 3 соответственно). Эти названия происходят от таких терминов, как «Терминал линейной печати» , «Локальный терминал печати» (оба сокращенно LPT ) или «Линейный принтер». Аналогичное соглашение об именах использовалось в системах ITS , DEC , а также в CP/M и 86-DOS ( LST ).

В DOS доступ к параллельным принтерам можно было получить непосредственно из командной строки . Например, команда " TYPE C:\AUTOEXEC.BAT > LPT1:" перенаправит содержимое файла AUTOEXEC.BAT на порт принтера. Устройство PRN также было доступно как псевдоним для LPT1. Некоторые операционные системы (например, Multiuser DOS ) позволяют изменять это фиксированное назначение различными способами. В некоторых версиях DOS используются резидентные расширения драйверов, предоставляемые MODE, или пользователи могут изменить сопоставление внутри страны с помощью директивы CONFIG.SYS PRN =n (как в DR-DOS 7.02 и выше). DR-DOS 7.02 также предоставляет дополнительную встроенную поддержку LPT4, если ее поддерживает базовый BIOS.

PRN, наряду с CON, AUX и некоторыми другими, являются недопустимыми именами файлов и каталогов в DOS и Windows, даже в Windows XP . В Windows 95 и 98 существует даже уязвимость устройства MS-DOS в пути имени , которая приводит к сбою компьютера, если пользователь вводит «C:\CON\CON», «C:\PRN\PRN» или «C:\». AUX\AUX» в адресной строке Проводника Windows. [ нужна цитация ] Microsoft выпустила патч для исправления этой ошибки, но недавно установленные операционные системы Windows 95 и 98 по-прежнему будут иметь эту ошибку.

PRINTДля достижения того же эффекта существовала также специальная команда " ". Microsoft Windows по-прежнему во многих случаях обращается к портам таким образом, хотя зачастую это довольно скрыто.

В SCO UNIX и Linux первый параллельный порт доступен через файловую систему как /dev/lp0. Устройства Linux IDE могут использовать драйвер paride (параллельный порт IDE). [14]

Известные потребительские товары

Адаптер Ethernet параллельного порта Accton Etherpocket-SP (около 1990 г., драйверы DOS ). Поддерживает как коаксиальный кабель, так и 10 Base-T. Дополнительное питание подается через сквозной кабель порта PS/2 .

Текущее использование

Для потребителей USB и компьютерные сети заменили параллельный порт принтера для подключения как к принтерам, так и к другим устройствам.

Многие производители персональных компьютеров и ноутбуков считают параллельный порт устаревшим и больше не включают параллельный интерфейс. На машинах меньшего размера меньше места для больших разъемов параллельного порта. Доступны адаптеры USB-параллельный, которые позволяют принтерам, поддерживающим только параллельный интерфейс, работать с системами только с USB-портом. Существуют карты PCI (и PCI-express), которые предоставляют параллельные порты. Существуют также некоторые серверы печати , которые обеспечивают интерфейс для параллельных портов сети. Чипы USB-EPP также могут позволить другим устройствам, не являющимся принтерами, продолжать работать на современных компьютерах без параллельного порта. [16]

Для любителей электроники параллельный порт по-прежнему остается самым простым способом подключения к внешней монтажной плате. Он быстрее, чем другой распространенный устаревший порт (последовательный порт), не требует последовательно-параллельного преобразователя и требует гораздо меньше интерфейсной логики и программного обеспечения, чем целевой интерфейс USB. Однако операционные системы Microsoft старше Windows 95/98 не позволяют пользовательским программам напрямую записывать или читать из LPT без дополнительного программного обеспечения (расширений ядра). [17]

Старые фрезерные станки с ЧПУ также часто используют параллельный порт для непосредственного управления двигателями и навесным оборудованием станка.

Реализация IBM ПК

Адреса портов

Традиционно в системах IBM PC первые три параллельных порта распределяются в соответствии с конфигурацией, приведенной в таблице ниже (если все три порта принтера существуют).

Если есть неиспользуемый слот, адреса остальных портов сдвигаются вверх. (Например, если порт по адресу 0x3BC не существует, порт по адресу 0x378 станет первым логическим параллельным портом.) [18] Базовый адрес 0x3BC обычно поддерживается портами принтера на видеоадаптерах MDA и Hercules, тогда как порты принтера предоставляемые чипсетом материнской платы или дополнительными картами, редко позволяют настроить этот базовый адрес. Таким образом, при отсутствии адаптера монохромного дисплея обычное назначение для первого логического параллельного порта (и, следовательно, также для соответствующего драйвера устройства DOS LPT1) сегодня составляет 0x378, хотя значение по умолчанию по-прежнему равно 0x3BC (и будет выбрано BIOS). если он обнаружит порт принтера по этому адресу). Линии IRQ обычно также настраиваются аппаратно. Следует избегать назначения одного и того же прерывания более чем одному порту принтера, поскольку обычно один из соответствующих портов будет работать только в режиме опроса. Адреса портов, назначенные слоту, можно определить, прочитав область данных BIOS (BDA) по адресу 0000h:0408h.

Побитовое сопоставление для стандартного параллельного порта (SPP):

~ указывает на аппаратную инверсию бита.

Интерфейс программы

В версиях Windows , которые не использовали ядро ​​Windows NT (а также DOS и некоторые другие операционные системы), программы могли получить доступ к параллельному порту с помощью простых команд подпрограмм outportb() и inportb(). В таких операционных системах, как Windows NT и Unix ( NetBSD , FreeBSD , Solaris , 386BSD и т. д.), микропроцессор работает в другом кольце безопасности, и доступ к параллельному порту запрещен, если не используется необходимый драйвер. Это повышает безопасность и разрешает конфликты устройств. В Linux inb() и outb() можно использовать, когда процесс запускается от имени пользователя root, а команда ioperm() используется для разрешения доступа к его базовому адресу ; альтернативно, ppdev разрешает общий доступ и может использоваться из пользовательского пространства, если установлены соответствующие разрешения.

Кроссплатформенная библиотека для доступа к параллельным портам libieee1284 также доступна во многих дистрибутивах Linux и предоставляет абстрактный интерфейс для параллельных портов системы. Доступ обрабатывается в последовательности «открыть заявку-выпустить-закрыть», что обеспечивает одновременный доступ в пользовательском пространстве.

Распиновка

Старые параллельные порты принтера имели 8-битную шину данных и четыре контакта для вывода управления (стробоскоп, перевод строки, инициализация и вход выбора) и еще пять для ввода управления (ACK, Busy, Select, Error и Paper Out). Скорость передачи данных составляет 150 кБ/с. [1]

Новые EPP (расширенные параллельные порты) имеют 8-битную шину данных и те же контакты управления, что и обычный параллельный порт принтера. Новые порты достигают скорости до 2 МБ/с. [19] [ нужен лучший источник ]

Распиновка разъемов параллельного порта:

Распиновка разъемов параллельного порта.

Инвертированные линии верны при низком логическом уровне. Если они не инвертированы, то высокий логический уровень верен.

На современных компьютерах контакт 25 разъема DB25 может быть не заземлен. [ сомнительно ]

Смотрите также

Аппаратные микросхемы:

Рекомендации

  1. ^ аб Джеймс, Кевин. Интерфейс ПК и сбор данных: методы измерения, контрольно-измерительные приборы и контроль . Оксфорд; Бостон: Ньюнес, 2000. ISBN  9780750646246 . п. 256
  2. ^ ab Техническое руководство Centronics модели 306. Центроникс. 1976.
  3. ^ аб Вебстер, Эдвард К. (2000). Print Unchained: пятьдесят лет цифровой печати: сага об изобретениях и предпринимательстве . Западный Дувр, Вирджиния: DRA штата Вермонт. ISBN 0-9702617-0-5.
  4. ^ ab Принтеры Centronics 101, 120A, 101AL, 102A, 306 (PDF) . Архивировано (PDF) из оригинала 3 октября 2016 г.
  5. ^ Дурда IV, Фрэнк (2004). «Справочник по назначению контактов параллельного интерфейса принтера, совместимого с Centronics и IBM». Архивировано из оригинала 13 сентября 2007 г. Проверено 5 октября 2007 г.
  6. ^ Корпоративные архивы HP (24 мая 2004 г.). «Двадцать лет инноваций: HP LaserJet и струйные принтеры, 1984–2004 гг.» (PDF) . www.hp.com . ХП. Архивировано из оригинала (PDF) 2 декабря 2007 г. Проверено 5 ноября 2021 г.
  7. ^ «Режим откусывания». Химический факультет Университета Аджу . Архивировано из оригинала 6 апреля 2017 г. Проверено 11 октября 2016 г.
  8. ^ EP 0640229  Бакстон, CL / Коц, РА / Zenith Data Systems Corp.: Улучшенный параллельный порт. дата подачи 15 мая 1992 г.
  9. ^ ab IEEE 1284: Параллельные порты (PDF) (Технический отчет). Лава. 2002. Архивировано из оригинала (PDF) 23 мая 2006 года . Проверено 2 ноября 2007 г.
  10. ^ "Продукты данных D-Sub 50 Parallel" . Книга аппаратного обеспечения . Архивировано из оригинала 14 декабря 2007 г. Проверено 25 января 2008 г.
  11. ^ "Продукты данных M/50 Parallel" . Книга аппаратного обеспечения . Архивировано из оригинала 14 декабря 2007 г. Проверено 25 января 2008 г.
  12. ^ Майкл Берд (2013). Справочник по устранению неполадок компьютера . НЕ знаю. ISBN 1888998997.
  13. ^ Мицканюк, Олег (19 июня 2000 г.). «MP3-плеер D-Link DMP-100». Журнал Target PC. п. 2. Архивировано из оригинала 1 мая 2015 г. Проверено 20 июля 2012 г.
  14. ^ Баркакати, Наба (2006). Настольный справочник «Все-в-одном» по Linux для чайников. Для чайников (2-е изд.). Джон Уайли и сыновья. п. 482. ИСБН 9780471793137. Проверено 11 сентября 2015 г. Некоторые устройства IDE используют адаптер IDE с параллельным портом — именно к нему относится опция PARIDE.
  15. ^ «Технические характеристики серии адаптеров захвата неподвижных изображений Play Snappy Video SnapShot» . CNET . Архивировано из оригинала 6 августа 2017 г. Проверено 6 августа 2017 г.
  16. ^ «Планшетный сканер с параллельным портом работает под USB на Win9x (Архив)» . Архивировано из оригинала 30 июня 2012 г. Проверено 30 июня 2012 г.{{cite web}}: CS1 maint: bot: исходный статус URL неизвестен ( ссылка )
  17. ^ «Inpout32.DLL для Windows 98/2000/NT/XP» . Архивировано из оригинала 14 марта 2014 г. Проверено 14 марта 2014 г.
  18. ^ abcd Фрэнк Ван Гиллуве, Недокументированный ПК, 1994, стр. 703, ISBN 0-201-62277-7 
  19. ^ Определение параллельного порта. Архивировано 3 января 2013 г. на Wayback Machine , Techopedia.

Внешние ссылки