Согласование режимов IEEE
ПУ в стандарте IEEE 1284 обычно не требуют от контроллера реализации всех предусмотренных этим стандартом режимов. Для определения режимов и методов управления конкретным устройством стандарт предусматривает последовательность согласования (negotiation sequence). Последовательность построена так, что старые устройства, не поддерживающие IEEE 1284, на нее не ответят, и контроллер останется в стандартном режиме. Периферия IEEE 1284 может сообщить о своих возможностях, и контроллер установит режим, удовлетворяющий и хост, и ПУ.
Во время фазы согласования контроллер выставляет на линии данных байт расширяемости (extensi bi 1 i ty byte), запрашивая подтверждение на перевод интерфейса в требуемый режим или прием идентификатора ПУ (табл. 1.9). Идентификатор передается контроллеру в запрошенном режиме (любой режим обратного канала, кроме ЕРР). ПУ использует сигнал Xflag (Select в терминах SPP) для подтверждения запрошенного режима обратного канала, кроме полубайтного, который поддерживается всеми устройствами IEEE 1284. Бит Extensibility Link request послужит для определения дополнительных режимов в будущих расширениях стандарта.
1.3. Стандарт IEEE 1284
37
Таблица 1.9. Биты в байте расширяемости
Бит ОписаниеДопустимые комбинации бит [7:0]
7 Request Extensibility Link — зарезервирован 1000 00006 Запрос режима ЕРР 0100 0000
5 Запрос режима ЕСР с RLE 00110000
4 Запрос режима ЕСР без RLE 00010000
3 Зарезервировано 00001000
2 Запрос идентификатора устройства с ответом в режиме:
полубайтный 0000 0100
байтный 0000 0101
ЕСР 6e3 RLE 00010100
ЕСРсRLE 00110100
1 Зарезервировано 0000 0010 .
0 Запрос полубайтного режима 0000 0001
попе Запрос байтного режима 0000 0000
Последовательность согласования (рис. 1.6) состоит из следующих шагов.
1. Хост выводит байт расширяемости на линии данных.
2. Хост устанавливает высокий уровень сигнала Selectln* и низкий — AutoFeed*, что означает начало последовательности согласования.
3. ПУ отвечает установкой низкого уровня сигнала Ack# и высокого — Error*,
PaperEnd и Select. Устройство, «не понимающее» стандарта 1284, ответа не
даст, и дальнейшие шаги не выполнятся.
38_____________________________ Глава 1. Параллельный интерфейс — LPT-порт
4. Хост устанавливает низкий уровень сигнала Strobe* для записи байта расширяемости в ПУ.
5. Хост устанавливает высокий уровень сигналов Strobe* и AutoLF*.
6. ПУ отвечает установкой в низкий уровень сигналов PAperEnd и Error*, если ПУ имеет обратный канал передачи данных. Если запрошенный режим поддерживается устройством, на линии Select устанавливается высокий уровень, если не поддерживается — низкий.
7. ПУ устанавливает высокий уровень на линии Ack# для указания на завершение последовательности согласования, после чего контроллер задает требуемый режим работы.