stringtranslate.com

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

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

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

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

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

История

Центроники

An Wang , Robert Howard и Prentice Robinson начали разработку недорогого принтера в Centronics , дочерней компании Wang Laboratories , которая производила специализированные компьютерные терминалы . Принтер использовал принцип точечной матричной печати с печатающей головкой, состоящей из вертикального ряда из семи металлических штифтов, соединенных с соленоидами . Когда питание подавалось на соленоиды, штифт выдвигался вперед, чтобы ударить по бумаге и оставить точку. Чтобы сделать полный глиф символа , печатающая головка получала питание на указанные штифты для создания одного вертикального рисунка, затем печатающая головка перемещалась вправо на небольшое расстояние, и процесс повторялся. В их оригинальной конструкции типичный глиф печатался как матрица высотой семь и шириной пять, в то время как модели «A» использовали печатающую головку с 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. Хост также мог заставить принтер автоматически начинать новую строку, подтягивая линию AUTOFEED к высокому уровню и удерживая ее там. Хост должен был внимательно следить за линией 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 Personal Computer в 1981 году и включила вариант интерфейса Centronics — только принтеры с логотипом IBM ( переименованные из Epson ) могли использоваться с IBM PC. [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 является то, что ею можно управлять исключительно программно на хосте, и она использует немодифицированное оборудование — все контакты, используемые для передачи данных обратно на хост, уже были линиями принтер-хост.

EPP и ECP

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

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

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

Данныепродукты

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

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

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

HP C4381A CD-Writer Plus 7200 Series , на котором показаны параллельные порты для подключения принтера к компьютеру.

До появления USB параллельный интерфейс был адаптирован для доступа к ряду периферийных устройств, отличных от принтеров. Одним из ранних применений параллельного порта были ключи, используемые в качестве аппаратных ключей, которые поставлялись с прикладным программным обеспечением в качестве формы защиты от копирования программного обеспечения. Другие применения включали оптические дисководы , такие как считыватели и пишущие CD , 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 можно изменять и переопределять с помощью директив CONFIG.SYS LPT1 , LPT2 , LPT3 (и, опционально , LPT4 ) .

Доступ

Системы на базе DOS делают логические параллельные порты, обнаруженные BIOS, доступными под именами устройств, такими как LPT1 , LPT2 или LPT3 (соответствующими логическим параллельным портам 1, 2 и 3 соответственно). Эти имена происходят от таких терминов, как Line Print Terminal , Local Print Terminal (оба сокращенно LPT ) или Line Printer. Аналогичное соглашение об именовании использовалось в системах 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-to-parallel, которые могут заставить параллельные принтеры работать с USB-системами. Существуют карты PCI (и PCI-express), которые предоставляют параллельные порты. Существуют также некоторые серверы печати , которые предоставляют интерфейс для параллельных портов через сеть. Микросхемы USB-to-EPP также могут позволить другим устройствам, не являющимся принтерами, продолжать работать на современных компьютерах без параллельного порта. [16]

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

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

Реализация IBM PC

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

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

Если есть неиспользуемый слот, адреса портов остальных перемещаются вверх. (Например, если порт с адресом 0x3BC не существует, то порт с адресом 0x378 станет первым логическим параллельным портом.) [18] Базовый адрес 0x3BC обычно поддерживается портами принтера на видеоадаптерах MDA и Hercules, тогда как порты принтера, предоставляемые набором микросхем материнской платы или дополнительными картами, редко позволяют настраиваться на этот базовый адрес. Поэтому при отсутствии монохромного видеоадаптера обычным назначением для первого логического параллельного порта (и, следовательно, также для соответствующего драйвера устройства LPT1 DOS) сегодня является 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 и предоставляет абстрактный интерфейс к параллельным портам системы. Доступ обрабатывается в последовательности open-claim-release-close, что позволяет осуществлять одновременный доступ в пользовательском пространстве.

Распиновка

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

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

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

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

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

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

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

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

Ссылки

  1. ^ ab Джеймс, Кевин. Интерфейс ПК и сбор данных: методы измерения, приборостроения и управления . Оксфорд; Бостон: Newnes, 2000. ISBN  9780750646246. стр. 256
  2. ^ ab Техническое руководство по модели Centronics 306. Centronics. 1976.
  3. ^ ab Webster, Edward C. (2000). Print Unchained: Fifty Years of Digital Printing: A Saga of Invention and Enterprise . West Dover, VT: DRA of Vermont. ISBN 0-9702617-0-5.
  4. ^ ab Centronics 101, 120A, 101AL, 102A, 306 Принтеры (PDF) . Архивировано (PDF) из оригинала 2016-10-03.
  5. ^ Дурда IV, Фрэнк (2004). "Centronics and IBM Compatible Parallel Printer Interface Pin Assignment Reference". Архивировано из оригинала 2007-09-13 . Получено 2007-10-05 .
  6. ^ Корпоративные архивы HP (2004-05-24). "Двадцать лет инноваций: лазерные и струйные принтеры HP 1984–2004" (PDF) . www.hp.com . HP. Архивировано из оригинала (PDF) 2007-12-02 . Получено 2021-11-05 .
  7. ^ "Nibble Mode". Химический факультет Университета Аджу . Архивировано из оригинала 2017-04-06 . Получено 2016-10-11 .
  8. ^ EP 0640229  Бакстон, CL / Котц, RA / Zenith Data Systems Corp.: Улучшенный параллельный порт. Дата подачи 15 мая 1992 г.
  9. ^ ab IEEE 1284: Параллельные порты (PDF) (Технический отчет). Lava. 2002. Архивировано из оригинала (PDF) 23 мая 2006 года . Получено 2 ноября 2007 года .
  10. ^ "Dataproducts D-Sub 50 Parallel". Hardware Book . Архивировано из оригинала 2007-12-14 . Получено 2008-01-25 .
  11. ^ "Dataproducts M/50 Parallel". Hardware Book . Архивировано из оригинала 2007-12-14 . Получено 2008-01-25 .
  12. ^ Майкл Берд (2013). Справочник по устранению неполадок в работе компьютеров . UNKNO. ISBN 978-1888998993.
  13. ^ Mitskaniouk, Олег (2000-06-19). "MP3-плеер D-Link DMP-100". Target PC Magazine. стр. 2. Архивировано из оригинала 2015-05-01 . Получено 2012-07-20 .
  14. ^ Баркакати, Наба (2006). Настольный справочник «Все-в-одном» по Linux для чайников (2-е изд.). Джон Уайли и сыновья. п. 482. ИСБН 9780471793137. Получено 11.09.2015 . Некоторые устройства IDE используют адаптер параллельного порта IDE — именно на это указывает опция PARIDE.
  15. ^ "Play Snappy Video SnapShot Характеристики серии адаптеров для захвата неподвижных изображений". CNET . Архивировано из оригинала 2017-08-06 . Получено 2017-08-06 .
  16. ^ "Планшетный сканер с параллельным портом работает через USB на Win9x (Архив)". Архивировано из оригинала 2012-06-30 . Получено 2012-06-30 .{{cite web}}: CS1 maint: бот: исходный статус URL неизвестен ( ссылка )
  17. ^ "Inpout32.DLL для Windows 98/2000/NT/XP". Архивировано из оригинала 2014-03-14 . Получено 2014-03-14 .
  18. ^ abcd Фрэнк Ван Джиллуве, Недокументированный ПК, 1994, стр. 703, ISBN 0-201-62277-7 
  19. ^ Томпсон, Роберт Брюс; Томпсон, Барбара Фричман (24 июля 2003 г.). Аппаратное обеспечение ПК в двух словах: Краткий справочник по настольным компьютерам. "O'Reilly Media, Inc.". ISBN 978-0-596-55234-3.
  20. ^ Определение параллельного порта. Архивировано 03.01.2013 на Wayback Machine , Techopedia

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