Магистральный параллельный интерфейс
- 1 year ago
- 0
- 0
Паралле́льный порт — тип интерфейса, разработанный для компьютеров ( персональных и других) для подключения различных периферийных устройств. В вычислительной технике параллельный порт является физической реализацией принципа параллельного соединения . Он также известен как принтерный порт или порт Centronics . Стандарт IEEE 1284 определяет двунаправленный вариант порта, который позволяет одновременно передавать и принимать биты данных.
Первый принтер с параллельным интерфейсом Centronics модели 101 был представлен в 1970 году . Интерфейс был разработан в Centronics Робертом Говардом и Прентисом Робинсоном. Параллельный интерфейс Centronics де-факт стал отраслевым стандартом. В то время производители использовали в системные блоки уникальные разъёмы, для которых применялись различные кабели. Например, в ранних системах VAX использовался разъём DC-3, в NCR применялся 36-контактный плоский разъём, Texas Instruments использовала 25-контактный краевой разъём, а в Data General использовался 50-контактный плоский разъём.
Dataproducts представила весьма оригинальную реализацию параллельного интерфейса для своих принтеров. Она использовала разъём DC-37 со стороны хоста и 50-контактный разъём со стороны принтера: либо DD-50 (иногда его неправильно называют DB50), либо разъём М-50 в форме блока (его также называют винчестерным разъёмом) . Параллельное соединение Dataproducts было доступно в двух вариантах: либо для коротких соединений (до 15 м), либо для длинных соединений (от 15 до 150 м). Интерфейс Dataproducts встречался во многих системах мейнфреймов вплоть до 1990-х годов, многие производители принтеров предлагали его в качестве опции.
IBM выпустила свой персональный компьютер в 1981 году и включила в него доработанный вариант интерфейса Centronics: только принтеры с логотипом IBM ( ребрендинг от Epson ) могли подключаться к IBM PC . 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 «настоятельно рекомендуют» системным разработчикам воздерживаться от применения параллельных портов . Разработаны и доступны адаптеры, которые позволяют подключать принтеры с параллельным интерфейсом к USB-портам.
Традиционно в системе 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
)
. Адреса портов, присвоенные каждому слоту
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 на современных компьютерах может быть не соединён с землёй.
В исходном варианте параллельного интерфейса (SPP, Standard Parallel Port ) линии данных были однонаправленными (только вывод). Специалисты компании LapLink, занимавшейся ПО для синхронизации настольного компьютера с ноутбуком , придумали обходной путь.
Кроме восьми линий данных, параллельный порт имеет пять линий состояния. Восьмибитный байт делился на два 4-битных полубайта , которые передавались друг за другом, приём осуществлялся через линии состояния. Пятая линия состояния (обычно штырь 11 «занят») служила для синхронизации: 0 сменялся на 1 и наоборот каждый раз, когда передавался полубайт, в ответ принимающая сторона меняла 0 на 1 на своей линии (и заодно передавала свой полубайт). Таким «пинг-понгом» компьютеры могли передавать информацию с той скоростью, какую реально поддерживает ПО и кабель: быстрее для короткого кабеля и медленнее — для длинного. Подобным механизмом пользовалось и другое аппаратное обеспечение, подключавшееся к параллельному порту.
Разводка кабеля :
Название | Штырь 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 килобайт в секунду !) способом передачи данных между компьютерами. Игры, за редчайшими исключениями , такой связи не поддерживали; к тому же главным средством дистанционной игры тогда был телефонный модем , и под его частоты разрабатывали игры. Зато деловое ПО быстро взяло кабель на вооружение: утилиты для связи были в составе MS-DOS , Norton Commander и Microsoft Windows . Последняя давала возможность любой игре (как для DOS, так и для Windows) работать через параллельный кабель по протоколам IPX и TCP/IP .
Фабричные кабели имели длину около 2 м; кабель длиннее 4 м не рекомендуется — сильно падает скорость, повышается вероятность приёма с ошибкой.
На Windows 7 соединение компьютеров через нуль-модемный кабель и LapLink всё ещё работает .