Таблица 1.2. Сигналы LPT-порта в полубайтном режиме ввода
Контакт |
Сигнал SPP |
I/O |
Бит |
Описание |
14 |
AutoFeed# |
O |
CR.1\ |
HostBusy — сигнал квитирования. Низкий уровень означает готовность к приему тетрады, высокий подтверждает прием тетрады |
17 |
SelectIn# |
O |
CR.3\ |
Высокий уровень указывает на обмен в режиме IEEE 1284 (в режиме SPP уровень низкий) |
10 |
Ack# |
I |
SR.6 |
PtrClk. Низкий уровень означает готовность тетрады, высокий — ответ на сигнал HostBusy |
11 |
Busy |
I |
SR.7 |
Прием бита данных 3, затем бита 7 |
12 |
РЕ |
I |
SR.5 |
Прием бита данных 2, затем бита 6 |
13 |
Select |
I |
SR.4 |
Прием бита данных 1, затем бита 5 |
15 |
Error# |
I |
SR.3 |
Прием бита данных 0, затем бита 4 |
Рис. 1.1. Прием данных в полубайтном режиме
Прием байта данных в полубайтном режиме состоит из следующих фаз:
1. Хост сигнализирует о готовности приема данных установкой низкого уровня на линии HostBusy
.
2. ПУ в ответ помещает тетраду на входные линии состояния.
3. ПУ сигнализирует о готовности тетрады установкой низкого уровня на линии PtrClk
.
4. Хост устанавливает высокий уровень на линии HostBusy, указывая на занятость приемом и обработкой тетрады.
5. ПУ отвечает установкой высокого уровня на линии PtrClk
.
6. Шаги 1–5 повторяются для второй тетрады.
Полубайтный режим сильно нагружает процессор, и поднять скорость обмена выше 50 Кбайт/с не удается. Безусловное его преимущество в том, что он работает на всех портах . Его применяют в тех случаях, когда поток данных невелик (например, для связи с принтерами). Однако при связи с адаптерами локальных сетей, внешними дисковыми накопителями и CD-ROM прием больших объемов данных требует изрядного терпения со стороны пользователя.
1.3.2. Двунаправленный байтный режим — Byte Mode
В этом режиме данные принимаются с использованием двунаправленного порта, у которого выходной буфер данных может отключаться установкой бита CR.5
=1. Как и предыдущие, режим является программно-управляемым — все сигналы квитирования анализируются и устанавливаются драйвером. Сигналы порта описаны в табл. 1.3, временные диаграммы — на рис. 1.2.
Таблица 1.3. Сигналы LPT-порта в байтном режима ввода-вывода
Контакт |
Сигнал SPP |
Имя в байтном режиме |
I/O |
Бит |
Описание |
1 |
Strobe# |
HostClk |
O |
CR.0\ |
Импульс (низкого уровня) подтверждает прием байта в конце каждого цикла |
14 |
AutoFeed# |
HostBusy |
О |
CR.1\ |
Сигнал квитирования. Низкий уровень означает готовность хоста принять байт; высокий уровень устанавливается по приему байта |
17 |
SelectIn# |
1284Active |
О |
CR.3\ |
Высокий уровень указывает на обмен в режиме IEEE 1284 (в режиме SPP уровень низкий) |
16 |
Init# |
Init# |
O |
CR.2 |
Не используется; установлен высокий уровень |
10 |
Ack# |
PtrClk |
I |
SR.6 |
Устанавливается в низкий уровень для индикации действительности данных на линиях Data[0:7]. В низкий уровень устанавливается в ответ на сигнал HostBusy |
11 |
Busy |
PtrBusy |
I |
SR.7\ |
Состояние занятости прямого канала |
12 |
PE |
AckDataReq¹ |
I |
SR.5 |
Устанавливается ПУ для указания на наличие обратного канала передачи |
13 |
Select |
Xflag¹ |
I |
SR.4 |
Флаг расширяемости |
15 |
Error# |
DataAvail#¹ |
I |
SR.3 |
Устанавливается ПУ для указания на наличие обратного канала передачи |
2-9 |
Data[0:7] |
Data[0:7] |
I/O |
DR[0:7] |
Двунаправленный (прямой и обратный) канал данных |
¹ Сигналы действуют в последовательности согласования (см. ниже).
Рис. 1.2. Прием данных в байтном режиме
Фазы приема байта данных перечислены ниже.
1. Хост сигнализирует о готовности приема данных установкой низкого уровня на линии HostBusy
.
2. ПУ в ответ помещает байт данных на линии Data[0:7]
.
3. ПУ сигнализирует о действительности байта установкой низкого уровня на линии PtrClk
.
4. Хост устанавливает высокий уровень на линии HostBusy
, указывая на занятость приемом и обработкой байта.
5. ПУ отвечает установкой высокого уровня на линии PtrClk
.
Читать дальше