Русская Википедия:Параллельный порт

Материал из Онлайн справочника
Перейти к навигацииПерейти к поиску

Шаблон:About

Файл:Parallel computer printer port.jpg
Параллельный порт DB-25 принтера в стиле IBM PC и некоторых других компьютеров
Файл:Centronics-36F.jpg
36-контактное кабельное гнездо для принтеров некоторых компьютеров, применялось в промышленном оборудовании и в ранних персональных компьютерах (до 1980-х)

Паралле́льный порт — тип интерфейса, разработанный для компьютеров (персональных и других) для подключения различных периферийных устройств. В вычислительной технике параллельный порт является физической реализацией принципа параллельного соединения. Он также известен как принтерный порт или порт Centronics. Стандарт IEEE 1284 определяет двунаправленный вариант порта, который позволяет одновременно передавать и принимать биты данных.

История

Первый принтер с параллельным интерфейсом Centronics модели 101 был представлен в 1970 году[1]. Интерфейс был разработан в Centronics Робертом Говардом и Прентисом Робинсоном. Параллельный интерфейс Centronics де-факт стал отраслевым стандартом. В то время производители использовали в системные блоки уникальные разъёмы, для которых применялись различные кабели. Например, в ранних системах VAX использовался разъём DC-3, в NCR применялся 36-контактный плоский разъём, Texas Instruments использовала 25-контактный краевой разъём, а в Data General использовался 50-контактный плоский разъём.

Dataproducts представила весьма оригинальную реализацию параллельного интерфейса для своих принтеров. Она использовала разъём DC-37 со стороны хоста и 50-контактный разъём со стороны принтера: либо DD-50 (иногда его неправильно называют DB50), либо разъём М-50 в форме блока (его также называют винчестерным разъёмом)[2][3]. Параллельное соединение Dataproducts было доступно в двух вариантах: либо для коротких соединений (до 15 м), либо для длинных соединений (от 15 до 150 м). Интерфейс Dataproducts встречался во многих системах мейнфреймов вплоть до 1990-х годов, многие производители принтеров предлагали его в качестве опции.

IBM выпустила свой персональный компьютер в 1981 году и включила в него доработанный вариант интерфейса Centronics: только принтеры с логотипом IBM (ребрендинг от Epson) могли подключаться к IBM PC[4]. IBM стандартизировала параллельный кабель с разъёмом DB25F на стороне ПК и разъём Centronics на стороне принтера. Вскоре производители выпустили на рынок принтеры, совместимые как со стандартным соединением Centronics, так и с соединением IBM.

В 1987 году IBM реализовала первую версию двунаправленного интерфейса. HP в 1992 году представила свою версию двунаправленного интерфейса на принтере LaserJet 4, известную как Bitronics. Интерфейсы Bitronics и Centronics в 1994 году были заменены на стандартный интерфейс IEEE 1284.

Применение

До появления USB параллельный интерфейс помимо принтеров был адаптирован к большому числу периферийных устройств. Вероятно, одним из первых таких устройств были электронные ключи для защиты от копирования программного обеспечения. Вскоре параллельный интерфейс нашёл применение в накопителях на гибких магнитных дисках Iomega Zip и сканерах, за которыми последовали и другие устройства: модемы, звуковые карты, веб-камеры, геймпады, джойстики, внешние жёсткие диски и CD-диски. Появились адаптеры для подключения через параллельный интерфейс SCSI-устройств. Могли подключаться параллельно и другие устройства, такие как EPROM и аппаратные контроллеры.

Текущее применение

Для потребителей интерфейс USB, а в некоторых случаях — Ethernet, эффективно заменили параллельный порт принтера. Многие производители персональных компьютеров и ноутбуков рассматривают параллельный порт как устаревшее наследие прошлого и больше его не поддерживают. Руководящие принципы для программы Windows Logo фирмы Microsoft «настоятельно рекомендуют» системным разработчикам воздерживаться от применения параллельных портов[5]. Разработаны и доступны адаптеры, которые позволяют подключать принтеры с параллельным интерфейсом к USB-портам.

Реализация в персональных компьютерах IBM

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

Традиционно в системе IBM PC три первых параллельных порта распределяются в соответствии со следующей таблицей:

Имя порта Прерывание # Начальный
адрес I/O
Конечный
адрес I/O
LPT1 IRQ 2 0x3BC 0x3BF
LPT2 IRQ 7 0x378 0x37F
LPT3 IRQ 5 0x278 0x27F

Если в компьютере есть неиспользуемый слот LPTx, то адреса других портов сдвигаются вверх (например, при отсутствии порта 0x3BC порт 0x378 станет LPT1)[6]. Адреса портов, присвоенные каждому слоту LPTx, можно определить путём чтения области данных BIOS по адресу 0000:0408.

Программный интерфейс

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

Расположение выводов

Расположение выводов для параллельного порта следующее:

№ контакта
(25-контактный)
№ контакта
(36-контактный)
Обозначение Направление Бит регистра Инвертирование
1 1 Strobe In/Out Control-0 Да
2 2 Data0 Out Data-0 Нет
3 3 Data1 Out Data-1 Нет
4 4 Data2 Out Data-2 Нет
5 5 Data3 Out Data-3 Нет
6 6 Data4 Out Data-4 Нет
7 7 Data5 Out Data-5 Нет
8 8 Data6 Out Data-6 Нет
9 9 Data7 Out Data-7 Нет
10 10 Ack In Status-6 Нет
11 11 Busy In Status-7 Да
12 12 Paper-Out In Status-5 Нет
13 13 Select In Status-4 Нет
14 14 Linefeed In/Out Control-1 Да
15 32 Error In Status-3 Нет
16 31 Reset In/Out Control-2 Нет
17 36 Select-Printer In/Out Control-3 Да
18—25 19—30, 33, 17, 16 Ground

В инвертированных линиях низкий логический уровень имеет значение «истина», в неинвертированных, наоборот, истиной является высокий логический уровень.

Контакт 25 в разъёме DB-25 на современных компьютерах может быть не соединён с землёй.

Кабель LapLink

В исходном варианте параллельного интерфейса (SPP, Standard Parallel Port) линии данных были однонаправленными (только вывод). Специалисты компании LapLink, занимавшейся ПО для синхронизации настольного компьютера с ноутбуком, придумали обходной путь.

Кроме восьми линий данных, параллельный порт имеет пять линий состояния. Восьмибитный байт делился на два 4-битных полубайта, которые передавались друг за другом, приём осуществлялся через линии состояния. Пятая линия состояния (обычно штырь 11 «занят») служила для синхронизации: 0 сменялся на 1 и наоборот каждый раз, когда передавался полубайт, в ответ принимающая сторона меняла 0 на 1 на своей линии (и заодно передавала свой полубайт). Таким «пинг-понгом» компьютеры могли передавать информацию с той скоростью, какую реально поддерживает ПО и кабель: быстрее для короткого кабеля и медленнее — для длинного. Подобным механизмом пользовалось и другое аппаратное обеспечение, подключавшееся к параллельному порту.

Разводка кабеля[7]:

Название Штырь DB-25M Направление Штырь DB-25M Название
Данные 0 2 15 Ошибка
Данные 1 3 13 Выбор
Данные 2 4 12 Нет бумаги
Данные 3 5 10 Подтверждение
Данные 4 6 11 Занят
Подтверждение 10 5 Данные 3
Занят 11 6 Данные 4
Нет бумаги 12 4 Данные 2
Выбор 13 3 Данные 1
Ошибка 15 2 Данные 0
Земля 25 25 Земля

В дальнейшем кабель LapLink (или кабель InterLink, названный в честь утилиты MS-DOS, или нуль-принтерный кабель, по аналогии с нуль-модемным) стал экзотическим, но быстрым и надёжным (до 100 килобайт в секунду[8]!) способом передачи данных между компьютерами. Игры, за редчайшими исключениями[9], такой связи не поддерживали; к тому же главным средством дистанционной игры тогда был телефонный модем, и под его частоты разрабатывали игры. Зато деловое ПО быстро взяло кабель на вооружение: утилиты для связи были в составе MS-DOS, Norton Commander и Microsoft Windows. Последняя давала возможность любой игре (как для DOS, так и для Windows) работать через параллельный кабель по протоколам IPX и TCP/IP.

Фабричные кабели имели длину около 2 м; кабель длиннее 4 м не рекомендуется — сильно падает скорость, повышается вероятность приёма с ошибкой.

На Windows 7 соединение компьютеров через нуль-модемный кабель и LapLink всё ещё работает[10].

См. также

Примечания

Шаблон:Примечания

Ссылки

Шаблон:Компьютерные шины

  1. Шаблон:Книга
  2. Шаблон:Cite web
  3. Шаблон:Cite web
  4. Шаблон:Cite web
  5. Шаблон:Cite web
  6. Frank Van Gilluwe, The Undocumented PC, 1994, page 703, ISBN 0-201-62277-7
  7. Шаблон:Cite web
  8. Для сравнения: больше 8 килобайт в секунду от нуль-модемного кабеля получить нельзя; основной носитель Ethernet того времени 10BASE-2 давал до 1 мегабайта в секунду, но был значительно дороже.
  9. Например, существовала неофициальная утилита для Doom.
  10. Installing and configuring a PPP null-modem connection on Windows 7 | MikeBeach.org