Обычно LPT-порт используют для подключения принтера (см. п. 8.3.1), однако этим его применение не исчерпывается.
Для связи двух компьютеров по параллельному интерфейсу применяются различные кабели в зависимости от режимов используемых портов. Самый простой и медленный — полубайтный режим, работающий на всех портах. Для этого режима в кабеле достаточно иметь 10 сигнальных и один общий провод. Распайка разъемов кабеля приведена в табл. 1.11. Связь двух PC данным кабелем поддерживается стандартным ПО типа Interlnk из MS-DOS или Norton Commander. Заметим, что здесь применяется свой протокол, отличный от описанного в п. 1.3.1.
Таблица 1.11. Кабель связи PC-PC (4-битный)
Бит Контакт Контакт Бит
DR.O | 2 | 15 | SR.3 |
DR.1 | 3 | 13 | SR.4 |
DR.2 | 4 | 12 | SR.5 |
DR.3 | 5 | 10 | SR.6 |
DR.4 | 6 | 11 | SR.7 |
SR.6 | 10 | 5 | DR.3 |
SR.7 | 11 | 6 | DR.4 |
SR.5 | 12 | 4 | DR.2 |
SR.4 | 13 | 3 | DR.1 |
SR.3 | 15 | 2 | DR.O |
GND 18-25 18-25 GND
Высокоскоростная связь двух компьютеров может выполняться и в режиме ЕСР (режим ЕРР неудобен, поскольку требует синхронизации шинных циклов ввода-вывода двух компьютеров).
В табл. 1.12 приведена распайка кабеля, в аналогичной таблице предыдущих книг автора (см. [2] и [5]) была ошибка (перепутаны контакты 13 и 15). Из всех сигналов
в кабеле не используется лишь PeriphRequest* (контакт 15). В цепи линий данных рекомендуется вставить последовательные резисторы (0,5-1 кОм), препятствующие протеканию слишком больших токов, когда порты данных обоих компьютеров находятся в режиме вывода. Эта ситуация возникает, когда коммуникационное ПО компьютеров еще не запущено. Связь в режиме ЕСР поддерживается Windows Эх, в комплект поставки этих ОС входит драйвер PARALINK.VxD, но из-за внутренней ошибки он неработоспособен. «Заплатку» на этот драйвер, а также тестовую утилиту и необходимые описания можно найти в сети (www.lpt.com, www.lvr.com/parport.htm).
Таблица 1.12. Кабель связи PC-PC в режиме ЕСР и байтном режиме
Разъем Х1 Разъем Х2
Контакт Имя в ЕСР Имя в ЕСР Контакт
1 | HostClk | PeriphClk | 10 |
14 | HostAck | PeriphAck | 11 |
17 | 1284Active | Xflag | 13 |
16 | ReverseRequest* | AckReverse* | 12 |
10 | PeriphClk | HostClk | 1 |
11 | PeriphAck | HostAck | 14 |
12 | AckReverse* | ReverseRequest* | 16 |
13 | Xflag | 1284Active | 17 |
2,3...9 | Data [0:7] | Data [0:7] | 2,3..•9 |
Подключение сканера к LPT-порту эффективно, только если порт обеспечивает хотя бы двунаправленный режим (Bi-Di), поскольку основной поток — ввод. Лучше использовать порт ЕСР, если этот режим поддерживается сканером (или ЕРР, что маловероятно).
Подключение внешних накопителей (Iomega Zip Drive, CD-ROM и др.), адаптеров ЛВС и других симметричных устройств ввода-вывода имеет свою специфику.
В режиме SPP наряду с замедлением работы устройства заметна принципиальная
асимметрия этого режима: чтение данных происходит в два раза медленнее, чем
(весьма небыстрая) запись. Применение двунаправленного режима (Bi-Di или PS/2Туре 1) устранит эту асимметрию — скорости сравняются. Только перейдя на ЕРР или ЕСР, можно получить нормальную скорость работы. В режиме ЕРР или ЕСР подключение к LPT-порту почти не уступает по скорости подключению через ISA- контроллер. Это справедливо и при подключении устройств со стандартным интерфейсом шин к LPT-портам через преобразователи интерфейсов (например,LPT- IDE, LPT- SCSI, LPT- PCMCIA). Заметим, что винчестер IDE, подключенный через адаптер к LPT-порту, для системы может быть представлен как устройство SCSI (это логичнее с программной точки зрения).
В табл. 1.13 описано назначение выводов разъема LPT-порта в различных режимах и их соответствие битам регистров стандартного порта.
Глава 1. Параллельный интерфейс — LPT-порт
Таблица 1 | .13. Назначение выводов разъема LPT-порта и бит регистров в режимах SPP, ЕСР и ЕРР | ||||
Контакт | I/O | Бит1 | SPP | ECP | EPP |
1 | 0/I | CR.O\ | Strobe# | HostClk | Write» |
2 | 0/I | DR.O | DataO | Data 0 | DataO |
3 | 0/I | DR.1 | Datal | Datal | Datal |
4 | 0/I | DR. 2 | Data 2 | Data 2 | Data 2 |
5 | 0/I | DR.3 | DataS | DataS | DataS |
6 | 0/I | DR.4 | Data 4 | Data 4 | Data 4 |
7 | 0/I | DR.5 | Data S | Data S | Data S |
8 | 0/I | DR.6 | Data 6 | Data 6 | Data 6 |
9 | 0/I | DR.7 | Data 7 | Data 7 | Data 7 |
10 | I | SR.6 | Ack# | PeriphClk | INTR# |
11 | I | SR.A | Busy | PeriphAck | Wait# |
12 | I | SR.5 | PaperEnd | AckReverse* | __ 2 |
13 | I | SR.4 | Select | Xflag | —2 |
14 | 0/I | CR.1\ | Auto LF# | HostAck | DataStb* |
15 | I | SR.3 | Error» | PeriphRequest* | __ 2 |
16 | 0/I | CR.2 | lnit# | ReverseRequest* | Reset» |
17 | 0/I | CR.3\ | Select ln# | 1284Active | AddrStb# |
1 Символом «\» отмечены инвертированные сигналы (1 в регистре соответствует низкому уровню линии).
2 Определяется пользователем.
Литература:
ГукМ. Г93 Аппаратные интерфейсы ПК. Энциклопедия. — СПб.: Питер, 2002. — 528 с.: ил.
0 коммент.:
Отправить комментарий