- Параллельный порт
-
Паралле́льный порт — тип интерфейса, разработанный для компьютеров (персональных и других) для подключения различных периферийных устройств. В вычислительной технике параллельный порт является физической реализацией принципа параллельного соединения. Он также известен как принтерный порт или порт 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 были заменены на стандартный интерфейс IEEE 1284 в 1994 году.
Применение
До появления USB параллельный интерфейс был адаптирован помимо принтеров к большому числу периферийных устройств. Вероятно, одним из первых таких устройств были электронные ключи для защиты программного обеспечения от копирования. Вскоре параллельный интерфейс нашёл применение в накопителях на гибких магнитных дисках Iomega Zip и сканерах, за которыми последовали и другие устройства: модемы, звуковые карты, веб-камеры, геймпады, джойстики, внешние жёсткие диски и CD-диски. Появились адаптеры для подключения SCSI устройств через параллельный интерфейс. Могли подключаться параллельно и другие устройства, такие как EPROM и аппаратные контроллеры.
Текущее применение
Для потребителей USB интерфейс, а в некоторых случаях Ethernet, эффективно заменили параллельный порт принтера. Многие производители персональных компьютеров и ноутбуков рассматривают параллельный порт как устаревшее наследие прошлого и больше не поддерживают параллельный интерфейс. Руководящие принципы для программы Windows Logo фирмы Microsoft «настоятельно рекомендуют» разработчикам систем воздерживаться от применения параллельных портов.[5] Разработаны и доступны адаптеры «USB-параллельный интерфейс», которые позволяют подключать принтеры с параллельным интерфейсом к USB портам.
Реализация в персональных компьютерах IBM
Адреса портов
Традиционно в системе IBM PC три первых параллельных порта распределяются в соответствии со следующей таблицей.
ИМЯ ПОРТА Прерывание # Начальный
адрес I/OКонечный
адрес I/OLPT1
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, Solaris, 386BSD и т. д.) задействован встроенный в процессор 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-битных полубайта, которые передавались друг за другом, приём осуществлялся через линии состояния. Пятая линия состояния служила для синхронизации: 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.[10] Последняя давала возможность любой игре (как для DOS, так и для Windows) работать через параллельный кабель по протоколам IPX и TCP/IP.
См. также
Примечания
- ↑ Webster, Edward C. Print Unchained: Fifty Years of Digital Printing: A Saga of Invention and Enterprise. — West Dover, VT: DRA of Vermont, 2000. — ISBN 0-9702617-0-5
- ↑ Dataproducts D-Sub 50 Parallel. Hardware Book. Архивировано из первоисточника 25 августа 2011.
- ↑ Dataproducts M/50 Parallel. Hardware Book. Архивировано из первоисточника 25 августа 2011.
- ↑ Durda IV, Frank Centronics and IBM Compatible Parallel Printer Interface Pin Assignment Reference (2004). Архивировано из первоисточника 25 августа 2011.
- ↑ Microsoft Windows Logo Program System and Device Requirements. Архивировано из первоисточника 25 августа 2011.
- ↑ Frank Van Gilluwe, The Undocumented PC, 1994, page 703, ISBN 0-201-62277-7
- ↑ LapLink/InterLink Parallel - HwB
- ↑ Для сравнения: больше 8 килобайт в секунду от нуль-модемного кабеля получить нельзя; 10BASE-2, основной носитель Ethernet того времени, давал до 1 мегабайта в секунду, но был значительно дороже.
- ↑ Например, существовала неофициальная утилита для Doom.
- ↑ От Windows 95 до XP.
Ссылки
- Jan Axelson Parallel Port Complete. Lakeview Research. ISBN 0-9650819-1-5.
- The (Linux) Parallel Port Subsystem by Tim Waugh
- Interfacing to the Standard Parallel Port
- Parallel Port programming and interfacing
- Parallel Port .NET Programming and Interface with Hardware
- Linux I/O port programming mini-HOWTO
- The Linux 2.4 Parallel Port Subsystem
- Parallel Port interfacing with Windows NT/2000/XP
- Parallel port complete: programming, interfacing & using the PC’s parallel printer port
- PyParallel — API для языка программирования Python
Компьютерные шины Основные понятия Шина адреса • Шина данных • Шина управления • Пропускные способности Процессоры BSB • FSB • DMI • HyperTransport • QPI Внутренние AGP • ASUS Media Bus • EISA • InfiniBand • ISA • LPC • MBus • MCA • NuBus • PCI • PCIe • PCI-X • Q-Bus • SBus • SMBus • VLB • VMEbus • Zorro III Ноутбуки ExpressCard • MXM • PC Card Накопители ST-506 • ESDI • ATA • eSATA • Fibre Channel • HIPPI • iSCSI • SAS • SATA • SCSI Периферия 1-Wire • ADB • I²C • IEEE 1284 (LPT) • IEEE 1394 (FireWire) • Multibus • PS/2 • RS-232 • RS-485 • SPI • USB • Игровой порт Универсальные Futurebus • InfiniBand • QuickRing • SCI • RapidIO • IEEE-488 • Thunderbolt (Light Peak) Категории:- Компьютерные шины
- Протоколы физического уровня
Wikimedia Foundation. 2010.