Использование параллельных интерфейсов
1.3.1. Использование параллельных интерфейсов
Распространенным применением LPT-порта является под- ключение принтера и плоттера. Остановимся на аппаратных аспектах - режиме порта и кабеле подключения. Практически все принтеры могут работать с портом в режиме SPP, но при- менение расширенных режимов дает свои преимущества:
т Двунаправленный режим (Bi-Di) не повышает произво- дительность, но служит для сообщения о состоянии и па- раметрах принтера.
Скоростные режимы (Fast Centronics) повышают произво- дительность принтера, но могут потребовать качественного кабеля (см. далее). От принтера не требуется каких-либо дополнительных "интеллектуальных" способностей.
Режим ЕСР - потенциально самый эффективный, имеет системную поддержку во всех версиях Windows. На не- которых принтерах реализован не полностью (может от- сутствовать аппаратная компрессия). ЕСР поддерживают принтеры HP DeskJet моделей бхх, LaserJet 4 и далее, современные модели фирмы Lexmark. Требует примене- ния кабеля, по частотным свойствам соответствующего IEEE 1284.
Простейший вариант кабеля подключения принтера - 18-про- водный кабель с неперевитыми проводами. Он используется для работы в режиме SPP. При длине более 2 м желательно, чтобы хотя бы линии Strobe# и Busy были перевиты с от- дельными общими проводами. Для скоростных режимов мо- жет оказаться непригодным, причем сбои могут происходить нерегулярно и лишь при определенных последовательностях передаваемых кодов. Встречаются кабели Centronics, у кото- рых отсутствует связь контакта 17 разъема PC с контактом 36 разъема принтера. При попытке подключения таким кабелем принтера, работающего в стандарте 1284, появится сообще- ние о необходимости применения "двунаправленного кабе- ля". Принтер не может сообщить системе о поддержке рас- ширенных режимов, на что рассчитывают драйверы принтера.
Неплохие электрические свойства имеют ленточные кабели, у которых сигнальные цепи (управляющих сигналов) чере- дуются с общими проводами.
Но их применение в качестве внешнего интерфейса непрактично (нет второго защитного слоя изоляции, высокая уязвимость) и неэстетично (круг- лые кабели смотрятся лучше).
Идеальным вариантом являются кабели, в которых все сиг- нальные линии перевиты с общими проводами и заключены в общий экран - то, что требует IEEE 1248. Такие кабели гарантированно работают на скоростях до 2 Мбайт/с, их длина может достигать 10 м.
В табл. 1.12 приводится распайка кабеля подключения прин- тера с разъемом XI типа A (DB25-P) со стороны PC и Х2 типа В (Centronics-36) или типа С (миниатюрный) со сторо- ны принтера. Использование общих проводов (GND) зави- сит от качества кабеля (см. выше). В простейшем случае
(18-проводный кабель) все сигналы GND объединяются в один провод. Качественные кабели требуют отдельного об- ратного провода для каждой сигнальной линии, однако в разъемах типа А и В для этого недостаточно контактов (см. табл. 1.12, где в скобках указаны номера контактов разъема PC типа А, которым соответствуют обратные провода). В разъеме типа С обратный провод (GND) имеется для каж- дой сигнальной цепи; сигнальным контактам 1-17 этого разъема соответствуют контакты GND 19-35.
XI,разъем PC типа А |
Сигнал |
Х2, разъем PRN типа В |
Х2, разъем PRN типа С |
1 |
Strobe# |
1 |
15 |
2 |
DataO |
2 |
6 |
3 |
Data1 |
3 |
7 |
4 |
Data2 |
4 |
8 |
5 |
Data3 |
5 |
9 |
6 |
Data4 |
6 |
10 |
7 |
Data5 |
7 |
11 |
8 |
Data6 |
8 |
12 |
9 |
Data7 |
9 |
13 |
10 |
Ack# |
10 |
3 |
11 |
Busy |
11 |
1 |
12 |
PaperEnd |
12 |
5 |
13 |
Select |
13 |
2 |
14 |
AutoLF# |
14 |
17 |
15 |
Error* |
32 |
4 |
16 |
lnit# |
31 |
14 |
17 |
Selecting |
36 |
16 |
18 |
GND(1) |
19 |
33 |
19 |
GND (2 3) |
2021 |
2425 |
20 |
GND (4 5) |
2223 |
2627 |
21 |
GND (6 7) |
2425 |
2829 |
22 |
GND (8 9) |
2627 |
3031 |
23 |
GND (11 15) |
29 |
1922 |
24 |
GND (10 12 13) |
28 |
20 21 23 |
25 |
GND (14 16 17) |
30 |
32 34 35 |
Ряд отечественных ( и стран бывшего СЭВ) принтеров име- ет интерфейс ИРПР (IFSP в документации на принтеры ROBOTRON). Он является близким родственником интер- фейса Centronics, но со следующими отличиями:
as Линии данных инвертированы. Протокол квитирования несколько иной.
Ко всем входным линиям (на принтере) подключены пары согласующих резисторов: 220 Ом к питанию +5 В и 330 Ом к общему проводу. Это позволяет использовать длинные кабели, но перегружает большинство интерфейсных адап- теров PC.
Сигналы ошибки и конца бумаги отсутствуют.
Интерфейс ИРПР может быть программно реализован че- рез обычный LPT-порт, но для устранения перегрузки вы- ходных линий согласующие резисторы из принтера жела- тельно удалить. Порт, перегруженный по выходу, может преподносить всякого рода сюрпризы (естественно, непри- ятные и трудно диагностируемые).
Для связи двух компьютеров по параллельному интерфейсу применяются различные кабели в зависимости от режимов используемых портов. Самый простой и медленный - полу- байтный режим, работающий на всех портах. Для этого ре- жима в кабеле достаточно иметь 10 сигнальных и один об- щий провод. Распайка разъемов кабеля приведена в табл. 1.13. Связь двух PC данным кабелем поддерживается стандартным ПО типа Interink из MS-DOS или Norton Commander.
Для машин PS/2 с двунаправленным портом фирма IBM вы- пускала переходное устройство в комплекте с программой Data Migration Facility. Переходник устанавливался на разъем LPT- порта PS/2, а к его разъему Х2 типа Centronics присоединял- ся обычный принтерный кабель, подключаемый к LPT-порту любого PC. Так предлагалось решить проблему переноса фай- лов со старых компьютеров, оснащенных 5" дисководами, на компьютеры PS/2 с дисководами 3,5". Распайка такого пере- ходника приведена в табл. 1.14. Как видно, данный переход- ник нельзя использовать при связи через Interink или Norton Commander. Если обе соединяемые машины имеют двуна-
правленные порты, переходник обеспечивает симметричную двунаправленную связь.
По скорости обмена превосходит вышеописанное полубайтное соединение в 2 раза. Это соеди- нение не соответствует двунаправленному режиму IEEE 1284.
XI, разъем РС#1 |
Х2, разъем РС#2 |
||
Бит |
Контакт |
Контакт |
Бит |
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 |
XI |
Х2 |
||
Контакт |
Бит |
Бит |
Контакт |
1 |
CR.O |
SR.6 |
10 |
2 |
DR.O |
DR.O |
2 |
3 |
DR.1 |
DR.1 |
3 |
4 |
DR.2 |
DR.2 |
4 |
5 |
DR.3 |
DR.3 |
5 |
6 |
DR.4 |
DR.4 |
6 |
7 |
DR.5 |
DR.5 |
7 |
8 |
DR.6 |
DR.6 |
8 |
9 |
DR.7 |
DR.7 |
9 |
10 |
SR.6 |
CR.O |
1 |
12 |
SR.5 |
CR.3 |
36 |
17 |
CR.3 |
SR.5 |
12 |
18-25 |
GND |
GND |
19-30, 33 |
Высокоскоростная связь двух компьютеров может выпол- няться и в режиме ЕСР (режим ЕРР неудобен, поскольку требует синхронизации шинных циклов ввода/вывода двух компьютеров). В табл. 1.15 приведена распайка кабеля. В отличие от предыдущих таблиц, описывающих кабели для программно-управляемых режимов, в ней приведены имена сигналов, которые аппаратно генерируются адаптерами пор- тов. Этот же кабель может использоваться и для связи в байт- ном режиме. Такая связь поддерживается Windows 95.
Разъем XI |
Разъем Х2 |
||
Контакт |
Имя в ЕСР |
Имя в ЕСР |
Контакт |
1 |
HostClk |
PeriphClk |
10 |
14 |
HostAck |
PeriphAck |
11 |
17 |
1284Active |
PeriphRequest# |
15 |
16 |
ReverseRequest* |
AckReverse* |
12 |
10 |
PeriphClk |
HostClk |
1 |
11 |
PeriphAck |
MostAck |
14 |
12 |
AckReverse* |
ReverseRequest# |
16 |
13 |
Xflag |
/- |
- |
15 |
PeriphRequest# |
1284Active |
17 |
2-9 |
Data [0:7] |
Data [0:7] |
2-9 |
Подключение сканера к LPT- порту эффективно, только если порт обеспечивает хотя бы двунаправленный режим (Bi-Di), поскольку основной поток - ввод. Лучше использовать порт ЕСР, если этот режим поддерживается сканером (или ЕРР, что маловероятно).
Подключение внешних накопителей (lomega Zip Drive, CD- ROM и др.), адаптеров ЛВС и других симметричных уст- ройств ввода/вывода имеет свою специфику. В режиме SPP наряду с замедлением работы устройства заметна принци- пиальная асимметрия этого режима: чтение данных проис- ходит в два раза медленнее, чем (весьма небыстрая) запись. Применение двунаправленного режима (Bi-Di или PS/2 Type 1} устранит эту асимметрию - скорости сравняются. Только перейдя на ЕРР, можно получить нормальную ско-
рость работы. В режиме ЕРР подключение к LPT-порту по- чти не уступает по скорости подключению через ISA-кон- троллер. Это справедливо и при подключении устройств со стандартным интерфейсом шин к LPT-портам через преоб- разователи интерфейсов (например, LPT - IDE, LPT - SCSI, LPT - PCMCIA).
В табл. 1.16 описано назначение выводов разъема LPT-пор- та в различных режимах и их соответствие битам регистров стандартного порта.
Контакт |
I/O |
Бит* |
SPP |
ECP |
ЕРР |
1 |
0/1 |
CR.O\ |
Strobe# |
Hostdk |
Write# |
2 |
0/1 |
DR.0 |
DataO |
DataO |
DataO |
3 |
0/1 |
DR.1 |
Data-l |
Data1 |
Data1 |
4 |
0/1 |
DR.2 |
Data 2 |
Data 2 |
Data 2 |
5 |
0/1 |
DR.3 |
Data3 |
Data3 |
Data3 |
6 |
0/1 |
DR.4 |
Data 4 |
Data 4 |
Data 4 |
7 |
0/1 |
DR.5 |
Data 5 |
Data 5 |
Data 5 |
8 |
0/1 |
DR.6 |
Data 6 |
Data 6 |
Data 6 |
9 |
0/1 |
DR.7 |
Data 7 |
Data 7 |
Data 7 |
10 |
I |
SR.6 |
Ack# |
PeriphClk |
INTR# |
11 |
I |
SR.7\ |
Busy |
PeriphAck |
Wait" |
12 |
I |
SR.5 |
PaperEnd |
AckReveree* |
* |
13 |
I |
SR.4 |
Select |
Xflag |
** |
14 |
0/1 |
CR.1\ |
AutoLF# |
HostAck |
DataStb# |
15 |
I |
SR.3 |
Error" |
PeriphRequest# |
** |
16 |
0/1 |
CR2 |
hit" |
ReverseRequest* |
Reset* |
17 |
0/1 |
CR.3\ |
Selecting |
1284Active |
AddrStb# |
** - означает "определяется пользователем".