Меню
Главная
Случайная статья
Настройки
|
Параллельный порт — тип интерфейса, разработанный для компьютеров (персональных и других) для подключения различных периферийных устройств. В вычислительной технике параллельный порт является физической реализацией принципа параллельного соединения. Он также известен как принтерный порт или порт 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-устройств.
Параллельный порт широко использовался как импровизированное GPIO. Он позволял напрямую менять напряжения на штырях, этих штырей было достаточно много и на них были обычные ТТЛ 5 вольт — а значит, можно подключать «глупую» периферию вроде транзисторов, а также «умную» вроде микроконтроллеров и ППЗУ, но работающую по нестандартным протоколам вроде SPI. На этом принципе работал примитивный звуковой ЦАП Covox. Существовал так называемый «дрыгоножный программатор» (он же bitbang-программатор), представлявший собой всего лишь кабель с токоограничивающими резисторами.
Текущее применение
Для потребителей интерфейс 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].
См. также
Примечания
- 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 (неопр.). Дата обращения: 8 июня 2011. Архивировано из оригинала 25 августа 2011 года.
- Frank Van Gilluwe, The Undocumented PC, 1994, page 703, ISBN 0-201-62277-7
- LapLink/InterLink Parallel — HwB (неопр.). Дата обращения: 23 сентября 2012. Архивировано 9 ноября 2012 года.
- Для сравнения: больше 8 килобайт в секунду от нуль-модемного кабеля получить нельзя; основной носитель Ethernet того времени 10BASE-2 давал до 1 мегабайта в секунду, но был значительно дороже.
- Например, существовала неофициальная утилита для Doom.
- Installing and configuring a PPP null-modem connection on Windows 7 | MikeBeach.org
Ссылки
|
|