
Ieee 1284 (Параллельный порт)
ПУ в стандарте IEEE 1284 обычно не требуют от контроллера реализации всех режимов, предусмотренных стандартом. Для определения режимов и методов управления конкретным устройством стандарт предусматривает последовательность согласования (negotiation sequence). Последовательность построена так, что старые устройства, не рассчитанные на применение IEEE 1284, на нее не ответят, и контроллер останется в стандартном режиме. Периферия IEEE 1284 может сообщить о своих возможностях, и контроллер установит режим, удовлетворяющий и хост, и ПУ.
Во время фазы согласования контроллер выставляет на линии данных байт расширяемости (extensibility byte), запрашивая подтверждение на перевод интерфейса в требуемый режим или прием идентификатора ПУ (табл. 11). Идентификатор передается контроллеру в запрошенном режиме (любой режим обратного канала, кроме ЕРР). ПУ использует сигнал Xflag (Select в терминах SPP) для подтверждения запрошенного режима обратного канала, кроме полубайтного. Полубайтный режим поддерживается всеми устройствами IEEE 1284. Бит Extensibility Link request послужит для определения дополнительных режимов в будущих расширениях стандарта.
Таб. 11. Идентификатор ПУ
Бит |
Описание |
Допустимые комбинации |
|
|
бит [7:0] |
7 |
Request Extensibility Link - зарезервирован |
10000000 |
6 |
Запрос режима ЕРР |
01000000 |
5 |
Запрос режима ЕСР с RLE |
00110000 |
4 |
Запрос режима ЕСР без RLE |
00010000 |
3 |
Зарезервировано |
00001000 |
2 |
Запрос идентификатора устройства с ответом в режиме: |
|
|
полубайтный |
00000100 |
|
байтный |
00000101 |
|
ЕСР без RLE |
00010100 |
|
ЕСР с RLE |
00110100 |
1 |
Зарезервировано |
00000010 |
0 |
Запрос полубайтного режима |
00000001 |
none |
Запрос байтного режима |
00000000 |
Последовательность согласования (рис. 8) состоит из следующих шагов:
Хост выводит байт расширяемости на линии данных.
Хост устанавливает высокий уровень сигнала Selecting и низкий - AutoFeed#, что означает начало последовательности согласования.
ПУ отвечает установкой низкого уровня сигнала Ack# и высокого - Errorft, PaperEnd и Select. Устройство, "не понимающее" стандарта 1284, ответа не даст, и дальнейшие шаги не выполнятся.
Хост устанавливает низкий уровень сигнала Strobe# для записи байта расширяемости в ПУ.
Хост устанавливает высокий уровень сигналов Strobeft и AutoLF#.
ПУ отвечает установкой в низкий уровень сигналов PaperEnd и Еггог, если ПУ имеет обратный канал передачи данных. Если запрошенный режим поддерживается устройством, на линии Select устанавливается высокий уровень, если не поддерживается - низкий.
ПУ устанавливает высокий уровень на линии Ack# для указания на завершение последовательности согласования, после чего контроллер устанавливает требуемый режим работы.
Рис. 8. Последовательность согласования режимов IEEE 1284