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