|
||||
14 |
AUTOFEED# |
HostAck |
0 |
Индицирует тип команда/данные при передаче в прямом направлении. Используется в паре с PeriphClk для передачи в обратном направлении |
17 |
SELECTING |
1284Active |
О |
Высокий уровень указывает на обмен в режиме IEEE 1284. (В режиме SPP уровень низкий) |
16 |
INIT# |
ReverseRequest# |
О |
Низкий уровень переключает канал на передачу в обратном направлении |
10 |
ACK# |
PeriphClk |
I |
Используется в паре с HostAck для передачи в обратном направлении |
11 |
BUSY |
PeriphAck |
1 |
Используется в паре с HostClk для передачи в обратном направлении. Индицирует тип команда/ данные при передаче в обратном направлении |
12 |
PE |
AckReverse# |
I |
Переводится в низкий уровень как подтверждение сигналу ReverseRequestff |
13 |
SELECT |
Xflag* |
I |
Флаг расширяемости Extensibility flag |
15 |
ERROR» |
PeriphRequest#* |
I |
Устанавливается ПУ для указания на доступность (наличие) обратного канала передачи* |
2-9 |
Data[0:7] |
Data[0:7] |
I/O |
Двунаправленный канал данных |
* Сигналы действуют в последовательности согласования (см. ниже).
Адаптер ЕСР тоже генерирует внешние протокольные сигналы квитирования аппаратно.
Прямая передача данных на внешнем интерфейсе состоит из следующих шагов:
1. Хост помещает данные на шину канала и устанавливает признак цикла данных (высокий уровень) или команды (низкий уровень) на линии HostAck.
2. Хост устанавливает низкий уровень на линии HostClk, указывая на действительность данных.
3. ПУ отвечает установкой высокого уровня на линии PeriphAck.
4. Хост устанавливает высокий уровень линии HostClk, и этот перепад может использоваться для фиксации данных в ПУ.
5. ПУ устанавливает низкий уровень на линии PeriphAck для указания на готовность к приему следующего байта.
Поскольку передачи в ЕСР разделены FIFO-буферами, которые могут присутствовать на обеих сторонах интерфейса, важно понимать, на каком этапе данные можно будет считать переданными. Данные считается переданными на шаге 4, когда линия HostClk переходит в высокий уровень. В этот момент модифицируются счетчики переданных и принятых байт.
Обратная передача данных состоит из следующих шагов:
1. Хост запрашивает изменение направления канала, устанавливая низкий уровень на линии ReverseRequestff. 2 ПУ разрешает смену направления установкой низкого уровня на линии Ack-Reverse#.
3. ПУ помещает данные на шину канала и устанавливает признак цикла данных (высокий уровень) или команды (низкий уровень) на линии PeriphAck.
4. ПУ устанавливает низкий уровень на линии PeriphClk, указывая на действительность данных.
5. Хост отвечает установкой высокого уровня на линии HostAck.
6. ПУ устанавливает высокий уровень линии PeriphClk, и этот перепад может использоваться для фиксации данных хостом.
7. Хост устанавливает низкий уровень на линии HostAck для указания на готовность к приему следующего байта.
Согласование режимов IEEE 1284
Периферийные устройства в стандарте IEEE 1284 обычно не требуют от контроллера реализации всех режимов, предусмотренных стандартом. Для определения режимов и методов управления конкретным устройством стандарт предусматривает последовательность согласования (negotiation sequence) для установки требуемого режима интерфейса.
Во время фазы согласования контроллер выставляет на линии данных байт расширяемости (Extensibility byte), запрашивая подтверждение на перевод интерфейса в требуемый режим или прием идентификатора периферийного устройства (табл. 11). Идентификатор передается контроллеру в запрошенном режиме (любой режим обратного канала, кроме ЕРР). ПУ использует сигнал Xflag (Select в терминах SPP) для подтверждения запрошенного режима обратного канала, кроме полубайтного. Полубайтный режим поддерживается всеми устройствами IEEE 1284. Бит Extensibility Link request заложен для механизма определения дополнительных режимов в будущих расширениях стандарта.
Таблица. 11.
Значение бит байта расширяемости
Бит
Описание
Допустимые комбинации бит [7:0]
7
Request Extensibility Link — запрос для будущих расширений
1000 0000
6
Запрос режима ЕРР
0100 0000
5
Запрос режима ЕСР с RLE
ООН 0000
4
Запрос режима ЕСР Mode без RLE
0001 0000
3
Резерв
0000 1000
2
Запрос идентификатора устройства с ответом в режиме:
Nibble Mode (полубайтный)
0000 0100
Byte Mode (байтный)
0000 0101
ЕСР без RLE
0001 0100
ЕСР с RLE
0011 0100
1
Резерв
0000 0010
0
Запрос Byte Mode
0000 0001
None
Запрос Nibble Mode
0000 0000
Последовательность согласования состоит из следующих шагов:
1. Хост выводит байт расширяемости на линии данных.
2. Хост устанавливает высокий уровень сигнала Selecting и низкий — Auto-Feedft, что означает начало последовательности согласования.
3. ПУ 1284 ответит установкой низкого уровня сигнала Ackff и высокого — Errorft, РЕ и Select.
4. Хост устанавливает низкий уровень сигнала Strobeff для записи байта расширяемости в ПУ.
5. Хост устанавливает высокий уровень сигналов Strobeff и AutoFeedff.
6. ПУ отвечает установкой в низкий уровень сигналов РЕ и Errorff, если оно имеет обратный канал передачи данных. Если запрошенный режим поддерживается устройством, на линии Select устанавливается высокий уровень, если не поддерживается — низкий.
7. ПУ устанавливает высокий уровень на линии Ack# для указания на завершение последовательности согласования, после чего контроллер устанавливает требуемый (и разрешенный) режим работы.
Развитие стандарта IEEE 1284
Кроме основного стандарта IEEE 1284, который уже принят, в настоящее время в стадии проработки находятся новые стандарты, не отменяющие его, а определяющие дополнительные возможности. К ним относятся:
IEEE P1284.1 «Standard for Information Technology for Transport Independent Printer/Scanner Interface (TIP/SI)». Этот стандарт разрабатывается для управления и обслуживания сканеров и принтеров на основе протокола NPAP (Network Printing Alliance Protocol).
IEEE P1284.2 «Standard for Test, Measurement and Conformance to IEEE Std. 1284» — стандарт для тестирования портов, кабелей и устройств на совместимость с IEEE 1284.
IEEE P1284.3 «Standard for Interface and Protocol Extensions to IEEE Std-1284 Compliant Peripheral and Host Adapter Ports» — стандарт на драйверы и использование устройств прикладным программным обеспечением.
При использовании материалов активная ссылка на источник обязательна.